reth_evm::execute

Trait BlockExecutionStrategyFactory

Source
pub trait BlockExecutionStrategyFactory:
    Send
    + Sync
    + Clone
    + Unpin
    + 'static {
    type Primitives: NodePrimitives;
    type Strategy<DB: Database<Error: Into<ProviderError> + Display>>: BlockExecutionStrategy<DB = DB, Primitives = Self::Primitives, Error = BlockExecutionError>;

    // Required method
    fn create_strategy<DB>(&self, db: DB) -> Self::Strategy<DB>
       where DB: Database<Error: Into<ProviderError> + Display>;
}
Expand description

A strategy factory that can create block execution strategies.

Required Associated Types§

Source

type Primitives: NodePrimitives

Primitive types used by the strategy.

Source

type Strategy<DB: Database<Error: Into<ProviderError> + Display>>: BlockExecutionStrategy<DB = DB, Primitives = Self::Primitives, Error = BlockExecutionError>

Associated strategy type.

Required Methods§

Source

fn create_strategy<DB>(&self, db: DB) -> Self::Strategy<DB>
where DB: Database<Error: Into<ProviderError> + Display>,

Creates a strategy using the give database.

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<EvmConfig> BlockExecutionStrategyFactory for EthExecutionStrategyFactory<EvmConfig>
where EvmConfig: Clone + Unpin + Sync + Send + 'static + ConfigureEvm<Header = Header, Transaction = TransactionSigned>,

impl<EvmConfig> BlockExecutionStrategyFactory for OpExecutionStrategyFactory<EvmConfig>
where EvmConfig: Clone + Unpin + Sync + Send + 'static + ConfigureEvm<Header = Header, Transaction = OpTransactionSigned>,