diff --git a/crates/optimism/node/src/node.rs b/crates/optimism/node/src/node.rs index 818df785b96..ed74a56b94f 100644 --- a/crates/optimism/node/src/node.rs +++ b/crates/optimism/node/src/node.rs @@ -102,7 +102,7 @@ pub type OpNodeComponentBuilder = ComponentsBu OpPoolBuilder, BasicPayloadServiceBuilder, OpNetworkBuilder, - OpExecutorBuilder<<::Types as NodeTypes>::ChainSpec>, + OpExecutorBuilder, OpConsensusBuilder, >; @@ -194,7 +194,7 @@ where OpPoolBuilder, BasicPayloadServiceBuilder, OpNetworkBuilder, - OpExecutorBuilder<::ChainSpec>, + OpExecutorBuilder, OpConsensusBuilder, >; @@ -561,35 +561,16 @@ impl OpAddOnsBuilder { } /// A regular optimism evm and executor builder. -#[derive(Debug, Copy)] +#[derive(Debug, Copy, Clone, Default)] #[non_exhaustive] -pub struct OpExecutorBuilder { - /// Marker for chain spec type. - _cs: PhantomData, - /// Marker for primitives type. - _p: PhantomData, -} - -impl Clone for OpExecutorBuilder { - fn clone(&self) -> Self { - Self::default() - } -} - -impl Default for OpExecutorBuilder { - fn default() -> Self { - Self { _cs: PhantomData, _p: PhantomData } - } -} +pub struct OpExecutorBuilder; -impl ExecutorBuilder for OpExecutorBuilder +impl ExecutorBuilder for OpExecutorBuilder where - Node: FullNodeTypes>, - ChainSpec: OpHardforks + Send + Sync, - Primitives: NodePrimitives, - OpEvmConfig: ConfigureEvm + 'static, + Node: FullNodeTypes>, { - type EVM = OpEvmConfig; + type EVM = + OpEvmConfig<::ChainSpec, ::Primitives>; async fn build_evm(self, ctx: &BuilderContext) -> eyre::Result { let evm_config = OpEvmConfig::new(ctx.chain_spec(), OpRethReceiptBuilder::default());