Skip to content

Commit c8f01de

Browse files
lean-appleklkvr
andauthored
refactor: replace generics with Node types for OpExecutorBuilder (#16601)
Co-authored-by: Arsenii Kulikov <[email protected]>
1 parent dc7cb6e commit c8f01de

File tree

1 file changed

+8
-27
lines changed

1 file changed

+8
-27
lines changed

crates/optimism/node/src/node.rs

Lines changed: 8 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ pub type OpNodeComponentBuilder<Node, Payload = OpPayloadBuilder> = ComponentsBu
102102
OpPoolBuilder,
103103
BasicPayloadServiceBuilder<Payload>,
104104
OpNetworkBuilder,
105-
OpExecutorBuilder<<<Node as FullNodeTypes>::Types as NodeTypes>::ChainSpec>,
105+
OpExecutorBuilder,
106106
OpConsensusBuilder,
107107
>;
108108

@@ -194,7 +194,7 @@ where
194194
OpPoolBuilder,
195195
BasicPayloadServiceBuilder<OpPayloadBuilder>,
196196
OpNetworkBuilder,
197-
OpExecutorBuilder<<N::Types as NodeTypes>::ChainSpec>,
197+
OpExecutorBuilder,
198198
OpConsensusBuilder,
199199
>;
200200

@@ -561,35 +561,16 @@ impl<NetworkT> OpAddOnsBuilder<NetworkT> {
561561
}
562562

563563
/// A regular optimism evm and executor builder.
564-
#[derive(Debug, Copy)]
564+
#[derive(Debug, Copy, Clone, Default)]
565565
#[non_exhaustive]
566-
pub struct OpExecutorBuilder<ChainSpec = OpChainSpec, Primitives = OpPrimitives> {
567-
/// Marker for chain spec type.
568-
_cs: PhantomData<ChainSpec>,
569-
/// Marker for primitives type.
570-
_p: PhantomData<Primitives>,
571-
}
572-
573-
impl<ChainSpec, Primitives> Clone for OpExecutorBuilder<ChainSpec, Primitives> {
574-
fn clone(&self) -> Self {
575-
Self::default()
576-
}
577-
}
578-
579-
impl<ChainSpec, Primitives> Default for OpExecutorBuilder<ChainSpec, Primitives> {
580-
fn default() -> Self {
581-
Self { _cs: PhantomData, _p: PhantomData }
582-
}
583-
}
566+
pub struct OpExecutorBuilder;
584567

585-
impl<Node, ChainSpec, Primitives> ExecutorBuilder<Node> for OpExecutorBuilder<ChainSpec, Primitives>
568+
impl<Node> ExecutorBuilder<Node> for OpExecutorBuilder
586569
where
587-
Node: FullNodeTypes<Types: NodeTypes<ChainSpec = ChainSpec, Primitives = Primitives>>,
588-
ChainSpec: OpHardforks + Send + Sync,
589-
Primitives: NodePrimitives,
590-
OpEvmConfig<ChainSpec, Primitives>: ConfigureEvm<Primitives = Primitives> + 'static,
570+
Node: FullNodeTypes<Types: NodeTypes<ChainSpec: OpHardforks, Primitives = OpPrimitives>>,
591571
{
592-
type EVM = OpEvmConfig<ChainSpec, Primitives>;
572+
type EVM =
573+
OpEvmConfig<<Node::Types as NodeTypes>::ChainSpec, <Node::Types as NodeTypes>::Primitives>;
593574

594575
async fn build_evm(self, ctx: &BuilderContext<Node>) -> eyre::Result<Self::EVM> {
595576
let evm_config = OpEvmConfig::new(ctx.chain_spec(), OpRethReceiptBuilder::default());

0 commit comments

Comments
 (0)