revm_inspector

Trait InspectorCtx

Source
pub trait InspectorCtx {
    type IT: InterpreterTypes;

    // Required methods
    fn step(&mut self, interp: &mut Interpreter<Self::IT>);
    fn step_end(&mut self, interp: &mut Interpreter<Self::IT>);
    fn initialize_interp(&mut self, interp: &mut Interpreter<Self::IT>);
    fn frame_start(
        &mut self,
        frame_input: &mut FrameInput,
    ) -> Option<FrameResult>;
    fn frame_end(&mut self, frame_output: &mut FrameResult);
    fn inspector_selfdestruct(
        &mut self,
        contract: Address,
        target: Address,
        value: U256,
    );
    fn inspector_log(&mut self, interp: &mut Interpreter<Self::IT>, log: &Log);
}

Required Associated Types§

Required Methods§

Source

fn step(&mut self, interp: &mut Interpreter<Self::IT>)

Source

fn step_end(&mut self, interp: &mut Interpreter<Self::IT>)

Source

fn initialize_interp(&mut self, interp: &mut Interpreter<Self::IT>)

Source

fn frame_start(&mut self, frame_input: &mut FrameInput) -> Option<FrameResult>

Source

fn frame_end(&mut self, frame_output: &mut FrameResult)

Source

fn inspector_selfdestruct( &mut self, contract: Address, target: Address, value: U256, )

Source

fn inspector_log(&mut self, interp: &mut Interpreter<Self::IT>, log: &Log)

Implementors§

Source§

impl<INSP, BLOCK, TX, SPEC, DB: Database, CHAIN> InspectorCtx for InspectorContext<INSP, BLOCK, TX, SPEC, DB, CHAIN>
where INSP: GetInspector<Inspector: Inspector<Context = Context<BLOCK, TX, SPEC, DB, CHAIN>, InterpreterTypes = EthInterpreter>>,