pub trait FullNodeComponents:
FullNodeTypes
+ Clone
+ 'static {
type Pool: TransactionPool + Unpin;
type Evm: ConfigureEvm<Header = Header>;
type Executor: BlockExecutorProvider;
type Consensus: Consensus + Clone + Unpin + 'static;
type Network: FullNetwork;
type PayloadBuilder: PayloadBuilder + Clone;
// 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) -> &Self::PayloadBuilder;
fn provider(&self) -> &Self::Provider;
fn task_executor(&self) -> &TaskExecutor;
}
Expand description
Encapsulates all types and components of the node.
Required Associated Types§
Sourcetype Evm: ConfigureEvm<Header = Header>
type Evm: ConfigureEvm<Header = Header>
The node’s EVM configuration, defining settings for the Ethereum Virtual Machine.
Sourcetype Network: FullNetwork
type Network: FullNetwork
Network API.
Sourcetype PayloadBuilder: PayloadBuilder + Clone
type PayloadBuilder: PayloadBuilder + Clone
Builds new 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(&self) -> &Self::PayloadBuilder
fn payload_builder(&self) -> &Self::PayloadBuilder
Returns the handle to the payload builder service.
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.