Skip to content

Commit c988b70

Browse files
committed
adapt Base dispatch to upstream ExecutorBuilder refactor
1 parent ca59c5d commit c988b70

8 files changed

Lines changed: 45 additions & 17 deletions

File tree

crates/cast/src/cmd/call.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,7 @@ impl CallArgs {
291291
config,
292292
evm_opts,
293293
auth_preflight,
294+
ExecutorBuilder::<foundry_evm::core::evm::BaseEvmNetwork>::new(),
294295
)
295296
.await;
296297
}

crates/cast/src/cmd/run.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,11 @@ impl RunArgs {
221221
#[cfg(feature = "base")]
222222
if evm_opts.networks.is_base() {
223223
return self
224-
.run_with_evm::<foundry_evm::core::evm::BaseEvmNetwork>(config, evm_opts)
224+
.run_with_evm(
225+
config,
226+
evm_opts,
227+
ExecutorBuilder::<foundry_evm::core::evm::BaseEvmNetwork>::new(),
228+
)
225229
.await;
226230
}
227231

crates/chisel/src/args.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ pub async fn run_command(args: Chisel) -> Result<()> {
8080
args,
8181
config,
8282
evm_opts,
83+
ExecutorBuilder::<foundry_evm::core::evm::BaseEvmNetwork>::new(),
8384
local_networks,
8485
local_chain_id,
8586
))

crates/evm/evm/src/executors/builder.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
use crate::{executors::Executor, inspectors::InspectorStackBuilder};
22
use alloy_primitives::Address;
3+
#[cfg(feature = "base")]
4+
use foundry_evm_core::evm::BaseEvmNetwork;
35
#[cfg(feature = "optimism")]
46
use foundry_evm_core::evm::OpEvmNetwork;
57
use foundry_evm_core::{
@@ -128,6 +130,15 @@ impl ExecutorBuilder<EthEvmNetwork> {
128130
}
129131
}
130132

133+
#[cfg(feature = "base")]
134+
impl ExecutorBuilder<BaseEvmNetwork> {
135+
/// Creates the default Base executor builder.
136+
#[inline]
137+
pub fn new() -> Self {
138+
Self::default()
139+
}
140+
}
141+
131142
#[cfg(feature = "optimism")]
132143
impl ExecutorBuilder<OpEvmNetwork> {
133144
/// Creates the default OP executor builder.

crates/forge/src/cmd/test/mod.rs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2731,14 +2731,17 @@ impl TestArgs {
27312731
}
27322732
#[cfg(feature = "base")]
27332733
NetworkDispatchKind::Base => {
2734-
self.build_and_run_tests::<foundry_evm::core::evm::BaseEvmNetwork>(
2734+
// Boxed to keep this arm's future out of `dispatch_network`'s frame, which the
2735+
// extra network would otherwise push past `clippy::large_stack_frames`.
2736+
Box::pin(self.build_and_run_tests::<foundry_evm::core::evm::BaseEvmNetwork>(
27352737
config,
27362738
evm_opts,
27372739
output,
27382740
filter,
27392741
execution,
27402742
resolved_fork,
2741-
)
2743+
ExecutorBuilder::<foundry_evm::core::evm::BaseEvmNetwork>::new(),
2744+
))
27422745
.await
27432746
}
27442747
#[cfg(feature = "monad")]
@@ -2805,7 +2808,11 @@ impl TestArgs {
28052808
#[cfg(feature = "base")]
28062809
NetworkDispatchKind::Base => self
28072810
.build_fuzz_minimize_runner::<foundry_evm::core::evm::BaseEvmNetwork>(
2808-
config, evm_opts, output, options,
2811+
config,
2812+
evm_opts,
2813+
output,
2814+
options,
2815+
ExecutorBuilder::<foundry_evm::core::evm::BaseEvmNetwork>::new(),
28092816
)
28102817
.await
28112818
.map(|runner| fuzz_minimize_replay(runner, filter)),

crates/forge/src/mutation/runner.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -647,6 +647,7 @@ fn compile_and_test(
647647
rerun_failures,
648648
selected_sources_relative,
649649
isolate,
650+
ExecutorBuilder::<foundry_evm::core::evm::BaseEvmNetwork>::new(),
650651
);
651652
}
652653
#[cfg(feature = "monad")]

crates/script/src/lib.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -427,9 +427,11 @@ impl ScriptArgs {
427427

428428
#[cfg(feature = "base")]
429429
if evm_opts.networks.is_base() {
430-
return Box::pin(
431-
self.run_generic_script::<foundry_evm::core::evm::BaseEvmNetwork>(config, evm_opts),
432-
)
430+
return Box::pin(self.run_generic_script::<foundry_evm::core::evm::BaseEvmNetwork>(
431+
config,
432+
evm_opts,
433+
ExecutorBuilder::<foundry_evm::core::evm::BaseEvmNetwork>::new(),
434+
))
433435
.await;
434436
}
435437

crates/verify/src/bytecode.rs

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -253,55 +253,56 @@ impl VerifyBytecodeArgs {
253253

254254
match network {
255255
NetworkVariant::Ethereum => {
256-
self.run_with_network_and_config::<EthEvmNetwork>(
256+
Box::pin(self.run_with_network_and_config::<EthEvmNetwork>(
257257
config,
258258
endpoint_identity,
259259
network_was_inferred,
260260
replay_block_transactions::<EthEvmNetwork>,
261261
ExecutorBuilder::<EthEvmNetwork>::new(),
262-
)
262+
))
263263
.await
264264
}
265265
#[cfg(feature = "base")]
266266
NetworkVariant::Base => {
267-
self.run_with_network_and_config::<BaseEvmNetwork>(
267+
Box::pin(self.run_with_network_and_config::<BaseEvmNetwork>(
268268
config,
269269
endpoint_identity,
270270
network_was_inferred,
271271
replay_block_transactions::<BaseEvmNetwork>,
272-
)
272+
ExecutorBuilder::<BaseEvmNetwork>::new(),
273+
))
273274
.await
274275
}
275276
#[cfg(feature = "optimism")]
276277
NetworkVariant::Optimism => {
277-
self.run_with_network_and_config::<OpEvmNetwork>(
278+
Box::pin(self.run_with_network_and_config::<OpEvmNetwork>(
278279
config,
279280
endpoint_identity,
280281
network_was_inferred,
281282
replay_block_transactions::<OpEvmNetwork>,
282283
ExecutorBuilder::<OpEvmNetwork>::new(),
283-
)
284+
))
284285
.await
285286
}
286287
NetworkVariant::Tempo => {
287-
self.run_with_network_and_config::<TempoEvmNetwork>(
288+
Box::pin(self.run_with_network_and_config::<TempoEvmNetwork>(
288289
config,
289290
endpoint_identity,
290291
network_was_inferred,
291292
replay_block_transactions::<TempoEvmNetwork>,
292293
ExecutorBuilder::<TempoEvmNetwork>::new(),
293-
)
294+
))
294295
.await
295296
}
296297
#[cfg(feature = "monad")]
297298
NetworkVariant::Monad => {
298-
self.run_with_network_and_config::<MonadEvmNetwork>(
299+
Box::pin(self.run_with_network_and_config::<MonadEvmNetwork>(
299300
config,
300301
endpoint_identity,
301302
network_was_inferred,
302303
replay_monad_block_transactions,
303304
ExecutorBuilder::<MonadEvmNetwork>::new(),
304-
)
305+
))
305306
.await
306307
}
307308
}

0 commit comments

Comments
 (0)