Type Alias MainnetEvm

Source
pub type MainnetEvm<CTX, INSP = ()> = Evm<CTX, INSP, EthInstructions<EthInterpreter, CTX>, EthPrecompiles, EthFrame<EthInterpreter>>;
Expand description

Type alias for a mainnet EVM instance with standard Ethereum components.

Aliased Type§

pub struct MainnetEvm<CTX, INSP = ()> {
    pub ctx: CTX,
    pub inspector: INSP,
    pub instruction: EthInstructions<EthInterpreter, CTX>,
    pub precompiles: EthPrecompiles,
    pub frame_stack: FrameStack<EthFrame>,
}

Fields§

§ctx: CTX

[context_interface::ContextTr] of the EVM it is used to fetch data from database.

§inspector: INSP

Inspector of the EVM it is used to inspect the EVM. Its trait are defined in revm-inspector crate.

§instruction: EthInstructions<EthInterpreter, CTX>

Instructions provider of the EVM it is used to execute instructions. InstructionProvider trait is defined in revm-handler crate.

§precompiles: EthPrecompiles

Precompile provider of the EVM it is used to execute precompiles. PrecompileProvider trait is defined in revm-handler crate.

§frame_stack: FrameStack<EthFrame>

Frame that is going to be executed.