mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
feat: add engine validator addon (#12905)
This commit is contained in:
@ -1,7 +1,11 @@
|
||||
//! Optimism Node types config.
|
||||
|
||||
use std::sync::Arc;
|
||||
|
||||
use crate::{
|
||||
args::RollupArgs,
|
||||
engine::OpEngineValidator,
|
||||
txpool::{OpTransactionPool, OpTransactionValidator},
|
||||
OpEngineTypes,
|
||||
};
|
||||
use alloy_consensus::Header;
|
||||
use reth_basic_payload_builder::{BasicPayloadJobGenerator, BasicPayloadJobGeneratorConfig};
|
||||
use reth_chainspec::{EthChainSpec, EthereumHardforks, Hardforks};
|
||||
@ -17,7 +21,7 @@ use reth_node_builder::{
|
||||
PayloadServiceBuilder, PoolBuilder, PoolBuilderConfigOverrides,
|
||||
},
|
||||
node::{FullNodeTypes, NodeTypes, NodeTypesWithEngine},
|
||||
rpc::{EngineValidatorBuilder, RethRpcAddOns, RpcAddOns, RpcHandle},
|
||||
rpc::{EngineValidatorAddOn, EngineValidatorBuilder, RethRpcAddOns, RpcAddOns, RpcHandle},
|
||||
BuilderContext, Node, NodeAdapter, NodeComponentsBuilder, PayloadBuilderConfig,
|
||||
};
|
||||
use reth_optimism_chainspec::OpChainSpec;
|
||||
@ -42,13 +46,7 @@ use reth_transaction_pool::{
|
||||
TransactionValidationTaskExecutor,
|
||||
};
|
||||
use reth_trie_db::MerklePatriciaTrie;
|
||||
|
||||
use crate::{
|
||||
args::RollupArgs,
|
||||
engine::OpEngineValidator,
|
||||
txpool::{OpTransactionPool, OpTransactionValidator},
|
||||
OpEngineTypes,
|
||||
};
|
||||
use std::sync::Arc;
|
||||
|
||||
/// Storage implementation for Optimism.
|
||||
#[derive(Debug, Default, Clone)]
|
||||
@ -260,6 +258,18 @@ where
|
||||
}
|
||||
}
|
||||
|
||||
impl<N> EngineValidatorAddOn<N> for OpAddOns<N>
|
||||
where
|
||||
N: FullNodeComponents<Types: NodeTypes<ChainSpec = OpChainSpec>>,
|
||||
OpEngineValidator: EngineValidator<<N::Types as NodeTypesWithEngine>::Engine>,
|
||||
{
|
||||
type Validator = OpEngineValidator;
|
||||
|
||||
async fn engine_validator(&self, ctx: &AddOnsContext<'_, N>) -> eyre::Result<Self::Validator> {
|
||||
OpEngineValidatorBuilder::default().build(ctx).await
|
||||
}
|
||||
}
|
||||
|
||||
/// A regular optimism evm and executor builder.
|
||||
#[derive(Debug, Default, Clone, Copy)]
|
||||
#[non_exhaustive]
|
||||
|
||||
Reference in New Issue
Block a user