pub trait NodeComponents<T>:
Clone
+ Unpin
+ Send
+ Sync
+ 'staticwhere
T: FullNodeTypes,{
type Pool: TransactionPool + Unpin;
type Evm: ConfigureEvm<Header = Header>;
type Executor: BlockExecutorProvider;
type Consensus: Consensus + Clone + Unpin + 'static;
type Network: FullNetwork;
type EngineValidator: EngineValidator<<<T as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine>;
// Required methods
fn pool(&self) -> &Self::Pool;
fn evm_config(&self) -> &Self::Evm;
fn block_executor(&self) -> &Self::Executor;
fn consensus(&self) -> &Self::Consensus;
fn network(&self) -> &Self::Network;
fn payload_builder(
&self,
) -> &PayloadBuilderHandle<<<T as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine>;
fn engine_validator(&self) -> &Self::EngineValidator;
}
Expand description
An abstraction over the components of a node, consisting of:
- evm and executor
- transaction pool
- network
- payload builder.
Required Associated Types§
sourcetype Pool: TransactionPool + Unpin
type Pool: TransactionPool + Unpin
The transaction pool of the node.
sourcetype Evm: ConfigureEvm<Header = Header>
type Evm: ConfigureEvm<Header = Header>
The node’s EVM configuration, defining settings for the Ethereum Virtual Machine.
sourcetype EngineValidator: EngineValidator<<<T as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine>
type EngineValidator: EngineValidator<<<T as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine>
Validator for the engine API.
Required Methods§
sourcefn evm_config(&self) -> &Self::Evm
fn evm_config(&self) -> &Self::Evm
Returns the node’s evm config.
sourcefn block_executor(&self) -> &Self::Executor
fn block_executor(&self) -> &Self::Executor
Returns the node’s executor type.
sourcefn payload_builder(
&self,
) -> &PayloadBuilderHandle<<<T as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine>
fn payload_builder( &self, ) -> &PayloadBuilderHandle<<<T as FullNodeTypes>::Types as NodeTypesWithEngine>::Engine>
Returns the handle to the payload builder service.
sourcefn engine_validator(&self) -> &Self::EngineValidator
fn engine_validator(&self) -> &Self::EngineValidator
Returns the engine validator.
Object Safety§
This trait is not object safe.