Skip to main content

MainBuilder

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".

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>