From f47b2249a6134285b244db365e9b7fb6f6317ff5 Mon Sep 17 00:00:00 2001 From: Andreas Bigger Date: Wed, 7 Jan 2026 17:16:40 -0500 Subject: [PATCH] chore(runner): remove cloning by directly applying extensions --- crates/rpc/tests/eip7702_tests.rs | 2 +- crates/runner/src/extensions/canon.rs | 6 +++--- crates/runner/src/extensions/extension.rs | 2 +- crates/runner/src/extensions/rpc.rs | 8 ++++---- crates/runner/src/extensions/tracing.rs | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/crates/rpc/tests/eip7702_tests.rs b/crates/rpc/tests/eip7702_tests.rs index 85875c9a..e4ab15c9 100644 --- a/crates/rpc/tests/eip7702_tests.rs +++ b/crates/rpc/tests/eip7702_tests.rs @@ -35,7 +35,7 @@ impl TestSetup { // Deploy Minimal7702Account contract let deploy_data = Minimal7702Account::BYTECODE.to_vec(); - let (account_deploy_tx, account_contract_address, _) = + let (account_deploy_tx, account_contract_address, _account_deploy_hash) = deployer.create_deployment_tx(Bytes::from(deploy_data), 0)?; Ok(Self { harness, account_contract_address, account_deploy_tx }) diff --git a/crates/runner/src/extensions/canon.rs b/crates/runner/src/extensions/canon.rs index 3329059f..a482346f 100644 --- a/crates/runner/src/extensions/canon.rs +++ b/crates/runner/src/extensions/canon.rs @@ -30,10 +30,10 @@ impl FlashblocksCanonExtension { impl BaseNodeExtension for FlashblocksCanonExtension { /// Applies the extension to the supplied builder. - fn apply(&self, builder: OpBuilder) -> OpBuilder { - let flashblocks = self.config.clone(); + fn apply(self: Box, builder: OpBuilder) -> OpBuilder { + let flashblocks = self.config; let flashblocks_enabled = flashblocks.is_some(); - let flashblocks_cell = self.cell.clone(); + let flashblocks_cell = self.cell; builder.install_exex_if(flashblocks_enabled, "flashblocks-canon", move |mut ctx| { let flashblocks_cell = flashblocks_cell.clone(); diff --git a/crates/runner/src/extensions/extension.rs b/crates/runner/src/extensions/extension.rs index 7b515f3e..979d9945 100644 --- a/crates/runner/src/extensions/extension.rs +++ b/crates/runner/src/extensions/extension.rs @@ -9,7 +9,7 @@ use crate::{BaseNodeConfig, extensions::OpBuilder}; /// A node builder extension that can apply additional wiring to the builder. pub trait BaseNodeExtension: Send + Sync + Debug { /// Applies the extension to the supplied builder. - fn apply(&self, builder: OpBuilder) -> OpBuilder; + fn apply(self: Box, builder: OpBuilder) -> OpBuilder; } /// An extension that can be constructed from [`BaseNodeConfig`]. diff --git a/crates/runner/src/extensions/rpc.rs b/crates/runner/src/extensions/rpc.rs index 164a3af5..86bfedd3 100644 --- a/crates/runner/src/extensions/rpc.rs +++ b/crates/runner/src/extensions/rpc.rs @@ -42,11 +42,11 @@ impl BaseRpcExtension { impl BaseNodeExtension for BaseRpcExtension { /// Applies the extension to the supplied builder. - fn apply(&self, builder: OpBuilder) -> OpBuilder { - let flashblocks_cell = self.flashblocks_cell.clone(); - let flashblocks = self.flashblocks.clone(); + fn apply(self: Box, builder: OpBuilder) -> OpBuilder { + let flashblocks_cell = self.flashblocks_cell; + let flashblocks = self.flashblocks; let metering_enabled = self.metering_enabled; - let sequencer_rpc = self.sequencer_rpc.clone(); + let sequencer_rpc = self.sequencer_rpc; builder.extend_rpc_modules(move |ctx| { if metering_enabled { diff --git a/crates/runner/src/extensions/tracing.rs b/crates/runner/src/extensions/tracing.rs index 666f7a0f..c53a608e 100644 --- a/crates/runner/src/extensions/tracing.rs +++ b/crates/runner/src/extensions/tracing.rs @@ -24,7 +24,7 @@ impl TransactionTracingExtension { impl BaseNodeExtension for TransactionTracingExtension { /// Applies the extension to the supplied builder. - fn apply(&self, builder: OpBuilder) -> OpBuilder { + fn apply(self: Box, builder: OpBuilder) -> OpBuilder { let tracing = self.config; builder.install_exex_if(tracing.enabled, "tracex", move |ctx| async move { Ok(tracex_exex(ctx, tracing.logs_enabled))