reth::core::primitives

Trait NodePrimitives

pub trait NodePrimitives:
    Send
    + Sync
    + Unpin
    + Clone
    + Default
    + Debug
    + PartialEq
    + Eq
    + 'static {
    type Block: Block<Header = Self::BlockHeader, Body = Self::BlockBody>;
    type BlockHeader: BlockHeader;
    type BlockBody: BlockBody<Transaction = Self::SignedTx, OmmerHeader = Self::BlockHeader>;
    type SignedTx: Send + Sync + Unpin + Clone + Debug + PartialEq + Eq + MaybeSerde + MaybeArbitrary + 'static;
    type TxType: Send + Sync + Unpin + Clone + Default + Debug + PartialEq + Eq + MaybeArbitrary + 'static;
    type Receipt: Send + Sync + Unpin + Clone + Default + Debug + PartialEq + Eq + MaybeSerde + MaybeArbitrary + 'static;
}
Expand description

Configures all the primitive types of the node.

Required Associated Types§

type Block: Block<Header = Self::BlockHeader, Body = Self::BlockBody>

Block primitive.

type BlockHeader: BlockHeader

Block header primitive.

type BlockBody: BlockBody<Transaction = Self::SignedTx, OmmerHeader = Self::BlockHeader>

Block body primitive.

type SignedTx: Send + Sync + Unpin + Clone + Debug + PartialEq + Eq + MaybeSerde + MaybeArbitrary + 'static

Signed version of the transaction type.

type TxType: Send + Sync + Unpin + Clone + Default + Debug + PartialEq + Eq + MaybeArbitrary + 'static

Transaction envelope type ID.

type Receipt: Send + Sync + Unpin + Clone + Default + Debug + PartialEq + Eq + MaybeSerde + MaybeArbitrary + 'static

A receipt.

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§