NodeTypes in reth_node_api - Rust

pub trait NodeTypes:
    Clone
    + Debug
    + Send
    + Sync
    + Unpin
    + 'static {
    type Primitives: NodePrimitives;
    type ChainSpec: EthChainSpec<Header = <Self::Primitives as NodePrimitives>::BlockHeader>;
    type Storage: Default + Send + Sync + Unpin + Debug + 'static;
    type Payload: PayloadTypes
       where <Self::Payload as PayloadTypes>::BuiltPayload: BuiltPayload<Primitives = Self::Primitives>;
}
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§

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.

Implementors§

Source§

impl<P, C, S, PL> NodeTypes for AnyNodeTypes<P, C, S, PL>

Source§

type Primitives = P

Source§

type ChainSpec = C

Source§

type Storage = S

Source§

type Payload = PL

Source§

impl<P, E, C, S, PL> NodeTypes for AnyNodeTypesWithEngine<P, E, C, S, PL>

Source§

type Primitives = P

Source§

type ChainSpec = C

Source§

type Storage = S

Source§

type Payload = PL

Source§

impl<Types, DB> NodeTypes for NodeTypesWithDBAdapter<Types, DB>

Source§

type Primitives = <Types as NodeTypes>::Primitives

Source§

type ChainSpec = <Types as NodeTypes>::ChainSpec

Source§

type Storage = <Types as NodeTypes>::Storage

Source§

type Payload = <Types as NodeTypes>::Payload