Trait FullNodeComponents
pub trait FullNodeComponents:
FullNodeTypes
+ Clone
+ 'static {
type Pool: TransactionPool + Unpin
where <Self::Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <<Self::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>;
type Evm: ConfigureEvm<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 consensus(&self) -> &Self::Consensus;
fn network(&self) -> &Self::Network;
fn payload_builder_handle(
&self,
) -> &PayloadBuilderHandle<<Self::Types as NodeTypes>::Payload>;
fn provider(&self) -> &Self::Provider;
fn task_executor(&self) -> &TaskExecutor;
}
Expand description
Encapsulates all types and components of the node.
Required Associated Types§
type Pool: TransactionPool + Unpin
where
<Self::Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <<Self::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>
type Pool: TransactionPool + Unpin where <Self::Pool as TransactionPool>::Transaction: PoolTransaction<Consensus = <<Self::Types as NodeTypes>::Primitives as NodePrimitives>::SignedTx>
The transaction pool of the node.
type 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.
type Consensus: FullConsensus<<Self::Types as NodeTypes>::Primitives, Error = ConsensusError> + Clone + Unpin + 'static
type Consensus: FullConsensus<<Self::Types as NodeTypes>::Primitives, Error = ConsensusError> + Clone + Unpin + 'static
The consensus type of the node.
type Network: FullNetwork
type Network: FullNetwork
Network API.
Required Methods§
fn evm_config(&self) -> &Self::Evm
fn evm_config(&self) -> &Self::Evm
Returns the node’s evm config.
fn payload_builder_handle(
&self,
) -> &PayloadBuilderHandle<<Self::Types as NodeTypes>::Payload>
fn payload_builder_handle( &self, ) -> &PayloadBuilderHandle<<Self::Types as NodeTypes>::Payload>
Returns the handle to the payload builder service handling payload building requests from the engine.
fn task_executor(&self) -> &TaskExecutor
fn task_executor(&self) -> &TaskExecutor
Returns an executor handle to spawn tasks.
This can be used to spawn critical, blocking tasks or register tasks that should be
terminated gracefully. See also TaskSpawner
.
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.