Skip to content

Commit 224c415

Browse files
committed
fix cfg env
1 parent eb5a2f7 commit 224c415

File tree

2 files changed

+31
-16
lines changed

2 files changed

+31
-16
lines changed

src/config.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,11 +300,16 @@ impl BuilderConfig {
300300
Ok(Quincey::new_remote(client, url, token))
301301
}
302302

303-
/// Create a [`SignetCfgEnv`] using this config.
304-
pub const fn cfg_env(&self) -> SignetCfgEnv {
303+
/// Create a rollup [`SignetCfgEnv`] using this config.
304+
pub const fn ru_cfg_env(&self) -> SignetCfgEnv {
305305
SignetCfgEnv { chain_id: self.ru_chain_id }
306306
}
307307

308+
/// Create a host [`SignetCfgEnv`] using this config.
309+
pub const fn host_cfg_env(&self) -> SignetCfgEnv {
310+
SignetCfgEnv { chain_id: self.host_chain_id }
311+
}
312+
308313
/// Memoizes the concurrency limit for the current system. Uses [`std::thread::available_parallelism`] if no
309314
/// value is set. If that for some reason fails, it returns the default concurrency limit.
310315
pub fn concurrency_limit(&self) -> usize {

src/tasks/block/sim.rs

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,13 @@ use tokio::{
2121
task::JoinHandle,
2222
};
2323
use tracing::{Instrument, Span, debug, instrument};
24-
use trevm::revm::{
25-
context::BlockEnv,
26-
database::{AlloyDB, WrapDatabaseAsync},
27-
inspector::NoOpInspector,
24+
use trevm::{
25+
Block,
26+
revm::{
27+
context::BlockEnv,
28+
database::{AlloyDB, WrapDatabaseAsync},
29+
inspector::NoOpInspector,
30+
},
2831
};
2932

3033
type HostAlloyDatabaseProvider = WrapDatabaseAsync<AlloyDB<Ethereum, HostProvider>>;
@@ -128,36 +131,43 @@ impl Simulator {
128131
constants: SignetSystemConstants,
129132
sim_items: SimCache,
130133
finish_by: Instant,
131-
block_env: BlockEnv,
134+
sim_env: SimEnv,
132135
) -> eyre::Result<BuiltBlock> {
133136
let concurrency_limit = self.config.concurrency_limit();
134-
let latest_block_number = BlockNumber::from(block_env.number.to::<u64>() - 1);
135-
let host_block_number = self.config.constants.rollup_block_to_host_block_num(latest_block_number);
136137

138+
let host_block_number = BlockNumber::from(sim_env.prev_host.number);
137139
let host_db = self.create_host_db(host_block_number).await;
140+
let mut host_block_env = BlockEnv::default();
141+
sim_env.prev_host.fill_block_env(&mut host_block_env);
138142
let host_env = HostEnv::<_, NoOpInspector>::new(
139143
host_db,
140144
constants.clone(),
141-
&self.config.cfg_env(),
142-
&block_env,
145+
&self.config.host_cfg_env(),
146+
&host_block_env,
143147
);
144148

145-
let rollup_db = self.create_rollup_db(latest_block_number);
149+
let rollup_block_number = BlockNumber::from(sim_env.prev_header.number);
150+
let rollup_db = self.create_rollup_db(rollup_block_number);
151+
let mut rollup_block_env = BlockEnv::default();
152+
sim_env.prev_header.fill_block_env(&mut rollup_block_env);
146153
let rollup_env = RollupEnv::<_, NoOpInspector>::new(
147154
rollup_db,
148155
constants,
149-
&self.config.cfg_env(),
150-
&block_env,
156+
&self.config.ru_cfg_env(),
157+
&rollup_block_env,
151158
);
152159

160+
// TODO
161+
let max_host_gas: u64 = 0;
162+
153163
let block_build = BlockBuild::new(
154164
rollup_env,
155165
host_env,
156166
finish_by,
157167
concurrency_limit,
158168
sim_items,
159169
self.config.rollup_block_gas_limit,
160-
block_env.gas_limit,
170+
max_host_gas,
161171
);
162172

163173
let built_block = block_build.build().in_current_span().await;
@@ -235,7 +245,7 @@ impl Simulator {
235245
let sim_cache = cache.clone();
236246

237247
let Ok(block) = self
238-
.handle_build(constants.clone(), sim_cache, finish_by, sim_env.block_env.clone())
248+
.handle_build(constants.clone(), sim_cache, finish_by, sim_env.clone())
239249
.instrument(span.clone())
240250
.await
241251
.inspect_err(|err| span_error!(span, %err, "error during block build"))

0 commit comments

Comments
 (0)