reth::api

Trait NodeTypes

pub trait NodeTypes:
    Send
    + Sync
    + Unpin
    + 'static {
    type Primitives: NodePrimitives;
    type ChainSpec: EthChainSpec;
    type StateCommitment: StateCommitment;
}
Expand description

The type that configures the essential types of an Ethereum-like node.

This includes the primitive types of a node and chain specification.

This trait is intended to be stateless and only define the types of the node.

Required Associated Types§

type Primitives: NodePrimitives

The node’s primitive types, defining basic operations and structures.

type ChainSpec: EthChainSpec

The type used for configuration of the EVM.

type StateCommitment: StateCommitment

The type used to perform state commitment operations.

Implementations on Foreign Types§

Source§

impl NodeTypes for EthereumNode

Implementors§

Source§

impl<N, C, AO> NodeTypes for AnyNode<N, C, AO>
where N: FullNodeTypes, C: Send + Sync + Unpin + 'static, AO: Send + Sync + Unpin + Clone + 'static,

§

impl<P, C, S> NodeTypes for AnyNodeTypes<P, C, S>
where P: NodePrimitives + Send + Sync + Unpin + 'static, C: EthChainSpec + 'static, S: StateCommitment,

§

type Primitives = P

§

type ChainSpec = C

§

type StateCommitment = S

§

impl<P, E, C, S> NodeTypes for AnyNodeTypesWithEngine<P, E, C, S>
where P: NodePrimitives + Send + Sync + Unpin + 'static, E: EngineTypes + Send + Sync + Unpin, C: EthChainSpec + 'static, S: StateCommitment,

§

type Primitives = P

§

type ChainSpec = C

§

type StateCommitment = S

§

impl<Types, DB> NodeTypes for NodeTypesWithDBAdapter<Types, DB>
where Types: NodeTypes, DB: Send + Sync + Unpin + 'static,