pub trait FullNodeComponents:
FullNodeTypes
+ Clone
+ 'static {
type Pool: TransactionPool<Transaction: PoolTransaction<Consensus = TxTy<Self::Types>>> + Unpin;
type Evm: ConfigureEvm<Primitives = <Self::Types as NodeTypes>::Primitives>;
type Executor: BlockExecutorProvider<Primitives = <Self::Types as NodeTypes>::Primitives>;
type Consensus: FullConsensus<<Self::Types as NodeTypes>::Primitives, Error = ConsensusError> + Clone + Unpin + 'static;
type Network: FullNetwork;
// 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_handle(
&self,
) -> &PayloadBuilderHandle<<Self::Types as NodeTypesWithEngine>::Engine>;
fn provider(&self) -> &Self::Provider;
fn task_executor(&self) -> &TaskExecutor;
}
Expand description
Encapsulates all types and components of the node.
Required Associated Types§
Sourcetype Pool: TransactionPool<Transaction: PoolTransaction<Consensus = TxTy<Self::Types>>> + Unpin
type Pool: TransactionPool<Transaction: PoolTransaction<Consensus = TxTy<Self::Types>>> + Unpin
The transaction pool of the node.
Sourcetype Evm: ConfigureEvm<Primitives = <Self::Types as NodeTypes>::Primitives>
type Evm: ConfigureEvm<Primitives = <Self::Types as NodeTypes>::Primitives>
The node’s EVM configuration, defining settings for the Ethereum Virtual Machine.
Sourcetype Executor: BlockExecutorProvider<Primitives = <Self::Types as NodeTypes>::Primitives>
type Executor: BlockExecutorProvider<Primitives = <Self::Types as NodeTypes>::Primitives>
The type that knows how to execute blocks.
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_handle(
&self,
) -> &PayloadBuilderHandle<<Self::Types as NodeTypesWithEngine>::Engine>
fn payload_builder_handle( &self, ) -> &PayloadBuilderHandle<<Self::Types as NodeTypesWithEngine>::Engine>
Returns the handle to the payload builder service handling payload building requests from the engine.
Sourcefn task_executor(&self) -> &TaskExecutor
fn task_executor(&self) -> &TaskExecutor
Returns handle to runtime.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.