reth_node_builder

Trait FullProvider

pub trait FullProvider<N>:
    DatabaseProviderFactory<DB = <N as NodeTypesWithDB>::DB>
    + NodePrimitivesProvider<Primitives = <N as NodeTypes>::Primitives>
    + StaticFileProviderFactory
    + BlockReaderIdExt<Transaction = <<N as NodeTypes>::Primitives as NodePrimitives>::SignedTx, Block = <<N as NodeTypes>::Primitives as NodePrimitives>::Block, Receipt = <<N as NodeTypes>::Primitives as NodePrimitives>::Receipt, Header = <<N as NodeTypes>::Primitives as NodePrimitives>::BlockHeader>
    + AccountReader
    + StateProviderFactory
    + EvmEnvProvider
    + ChainSpecProvider<ChainSpec = <N as NodeTypes>::ChainSpec>
    + ChangeSetReader
    + CanonStateSubscriptions
    + ForkChoiceSubscriptions<Header = <<N as NodeTypes>::Primitives as NodePrimitives>::BlockHeader>
    + StageCheckpointReader
    + Clone
    + Unpin
    + 'static
where N: NodeTypesWithDB,
{ }
Expand description

Helper trait to unify all provider traits for simplicity.

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§

§

impl<T, N> FullProvider<N> for T
where T: BlockReaderIdExt<Transaction = <<N as NodeTypes>::Primitives as NodePrimitives>::SignedTx, Block = <<N as NodeTypes>::Primitives as NodePrimitives>::Block, Receipt = <<N as NodeTypes>::Primitives as NodePrimitives>::Receipt, Header = <<N as NodeTypes>::Primitives as NodePrimitives>::BlockHeader> + DatabaseProviderFactory<DB = <N as NodeTypesWithDB>::DB> + NodePrimitivesProvider<Primitives = <N as NodeTypes>::Primitives> + AccountReader + StateProviderFactory + EvmEnvProvider + ChainSpecProvider<ChainSpec = <N as NodeTypes>::ChainSpec> + ChangeSetReader + CanonStateSubscriptions + ForkChoiceSubscriptions<Header = <<N as NodeTypes>::Primitives as NodePrimitives>::BlockHeader> + StaticFileProviderFactory + StageCheckpointReader + Clone + Unpin + 'static, N: NodeTypesWithDB,