Trait MainBuilder

pub trait MainBuilder: Sized {
    type Context;

    // Required methods
    fn build_mainnet(
        self,
    ) -> Evm<Self::Context, (), EthInstructions<EthInterpreter, Self::Context>, EthPrecompiles, EthFrame>;
    fn build_mainnet_with_inspector<INSP>(
        self,
        inspector: INSP,
    ) -> Evm<Self::Context, INSP, EthInstructions<EthInterpreter, Self::Context>, EthPrecompiles, EthFrame>;
}
Expand description

Trait for building mainnet EVM instances from contexts.

Required Associated Types§

type Context

The context type that will be used in the EVM.

Required Methods§

fn build_mainnet( self, ) -> Evm<Self::Context, (), EthInstructions<EthInterpreter, Self::Context>, EthPrecompiles, EthFrame>

Builds a mainnet EVM instance without an inspector.

fn build_mainnet_with_inspector<INSP>( self, inspector: INSP, ) -> Evm<Self::Context, INSP, EthInstructions<EthInterpreter, Self::Context>, EthPrecompiles, EthFrame>

Builds a mainnet EVM instance with the provided inspector.

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<BLOCK, TX, CFG, DB, JOURNAL, CHAIN> MainBuilder for Context<BLOCK, TX, CFG, DB, JOURNAL, CHAIN>
where BLOCK: Block, TX: Transaction, CFG: Cfg, DB: Database, JOURNAL: JournalTr<Database = DB>,

§

type Context = Context<BLOCK, TX, CFG, DB, JOURNAL, CHAIN>