Trait InspectEvm

pub trait InspectEvm: ExecuteEvm {
    type Inspector;

    // Required methods
    fn set_inspector(&mut self, inspector: Self::Inspector);
    fn inspect_replay(&mut self) -> Self::Output;

    // Provided methods
    fn inspect_replay_with_inspector(
        &mut self,
        inspector: Self::Inspector,
    ) -> Self::Output { ... }
    fn inspect_replay_with_tx(&mut self, tx: Self::Tx) -> Self::Output { ... }
    fn inspect(
        &mut self,
        tx: Self::Tx,
        inspector: Self::Inspector,
    ) -> Self::Output { ... }
}

Required Associated Types§

Required Methods§

fn set_inspector(&mut self, inspector: Self::Inspector)

fn inspect_replay(&mut self) -> Self::Output

Provided Methods§

fn inspect_replay_with_inspector( &mut self, inspector: Self::Inspector, ) -> Self::Output

fn inspect_replay_with_tx(&mut self, tx: Self::Tx) -> Self::Output

fn inspect(&mut self, tx: Self::Tx, inspector: Self::Inspector) -> Self::Output

Implementations on Foreign Types§

§

impl<CTX, INSP, PRECOMPILE> InspectEvm for OpEvm<CTX, INSP, EthInstructions<EthInterpreter, CTX>, PRECOMPILE>
where CTX: OpContextTr + ContextSetters, <CTX as ContextTr>::Journal: JournalExt, INSP: Inspector<CTX>, PRECOMPILE: PrecompileProvider<CTX, Output = InterpreterResult>,

§

type Inspector = INSP

§

fn set_inspector( &mut self, inspector: <OpEvm<CTX, INSP, EthInstructions<EthInterpreter, CTX>, PRECOMPILE> as InspectEvm>::Inspector, )

§

fn inspect_replay( &mut self, ) -> <OpEvm<CTX, INSP, EthInstructions<EthInterpreter, CTX>, PRECOMPILE> as ExecuteEvm>::Output

Implementors§

§

impl<CTX, INSP, PRECOMPILES> InspectEvm for Evm<CTX, INSP, EthInstructions<EthInterpreter, CTX>, PRECOMPILES>
where CTX: ContextSetters + ContextTr, <CTX as ContextTr>::Journal: JournalTr<FinalOutput = JournalOutput> + JournalExt, INSP: Inspector<CTX>, PRECOMPILES: PrecompileProvider<CTX, Output = InterpreterResult>,

§

type Inspector = INSP