Trait OpcodeTracer

Source
pub trait OpcodeTracer {
    // Provided methods
    fn do_trace_opcode(&self, _enabled: &mut bool) { ... }
    fn initialize_interp(&mut self, gas_limit: U256) { ... }
    fn step(&mut self, interp: &dyn InterpreterInfo) { ... }
    fn step_end(&mut self, interp: &dyn InterpreterInfo) { ... }
    fn log(&mut self, address: &Address, topics: &Vec<H256>, data: &[u8]) { ... }
    fn selfdestruct(
        &mut self,
        space: Space,
        contract: &Address,
        target: &Address,
        value: U256,
    ) { ... }
}

Provided Methods§

Source

fn do_trace_opcode(&self, _enabled: &mut bool)

Source

fn initialize_interp(&mut self, gas_limit: U256)

Called before the interpreter is initialized.

Source

fn step(&mut self, interp: &dyn InterpreterInfo)

Called on each step of the interpreter.

Information about the current execution, including the memory, stack and more is available on interp (see [Interpreter]).

Source

fn step_end(&mut self, interp: &dyn InterpreterInfo)

Called after step when the instruction has been executed.

Source

fn log(&mut self, address: &Address, topics: &Vec<H256>, data: &[u8])

Called when a log is emitted.

Source

fn selfdestruct( &mut self, space: Space, contract: &Address, target: &Address, value: U256, )

Called when a contract has been self-destructed with funds transferred to target.

Implementations on Foreign Types§

Source§

impl OpcodeTracer for ()
where U256: Clone, Space: Clone,

Source§

fn initialize_interp(&mut self, gas_limit: U256)

Called before the interpreter is initialized.

Source§

fn step(&mut self, interp: &dyn InterpreterInfo)

Called on each step of the interpreter.

Information about the current execution, including the memory, stack and more is available on interp (see [Interpreter]).

Source§

fn step_end(&mut self, interp: &dyn InterpreterInfo)

Called after step when the instruction has been executed.

Source§

fn log(&mut self, address: &Address, topics: &Vec<H256>, data: &[u8])

Called when a log is emitted.

Source§

fn selfdestruct( &mut self, space: Space, contract: &Address, target: &Address, value: U256, )

Called when a contract has been self-destructed with funds transferred to target.

Source§

fn do_trace_opcode(&self, _enabled: &mut bool)

Source§

impl<T: OpcodeTracer + ?Sized> OpcodeTracer for &mut T

Source§

fn do_trace_opcode(&self, _enabled: &mut bool)

Source§

fn initialize_interp(&mut self, gas_limit: U256)

Source§

fn step(&mut self, interp: &dyn InterpreterInfo)

Source§

fn step_end(&mut self, interp: &dyn InterpreterInfo)

Source§

fn log(&mut self, address: &Address, topics: &Vec<H256>, data: &[u8])

Source§

fn selfdestruct( &mut self, space: Space, contract: &Address, target: &Address, value: U256, )

Source§

impl<TupleElement0: OpcodeTracer> OpcodeTracer for (TupleElement0,)
where U256: Clone, Space: Clone,

Source§

fn initialize_interp(&mut self, gas_limit: U256)

Called before the interpreter is initialized.

Source§

fn step(&mut self, interp: &dyn InterpreterInfo)

Called on each step of the interpreter.

Information about the current execution, including the memory, stack and more is available on interp (see [Interpreter]).

Source§

fn step_end(&mut self, interp: &dyn InterpreterInfo)

Called after step when the instruction has been executed.

Source§

fn log(&mut self, address: &Address, topics: &Vec<H256>, data: &[u8])

Called when a log is emitted.

Source§

fn selfdestruct( &mut self, space: Space, contract: &Address, target: &Address, value: U256, )

Called when a contract has been self-destructed with funds transferred to target.

Source§

fn do_trace_opcode(&self, _enabled: &mut bool)

Source§

impl<TupleElement0: OpcodeTracer, TupleElement1: OpcodeTracer> OpcodeTracer for (TupleElement0, TupleElement1)
where U256: Clone, Space: Clone,

Source§

fn initialize_interp(&mut self, gas_limit: U256)

Called before the interpreter is initialized.

Source§

fn step(&mut self, interp: &dyn InterpreterInfo)

Called on each step of the interpreter.

Information about the current execution, including the memory, stack and more is available on interp (see [Interpreter]).

Source§

fn step_end(&mut self, interp: &dyn InterpreterInfo)

Called after step when the instruction has been executed.

Source§

fn log(&mut self, address: &Address, topics: &Vec<H256>, data: &[u8])

Called when a log is emitted.

Source§

fn selfdestruct( &mut self, space: Space, contract: &Address, target: &Address, value: U256, )

Called when a contract has been self-destructed with funds transferred to target.

Source§

fn do_trace_opcode(&self, _enabled: &mut bool)

Source§

impl<TupleElement0: OpcodeTracer, TupleElement1: OpcodeTracer, TupleElement2: OpcodeTracer> OpcodeTracer for (TupleElement0, TupleElement1, TupleElement2)
where U256: Clone, Space: Clone,

Source§

fn initialize_interp(&mut self, gas_limit: U256)

Called before the interpreter is initialized.

Source§

fn step(&mut self, interp: &dyn InterpreterInfo)

Called on each step of the interpreter.

Information about the current execution, including the memory, stack and more is available on interp (see [Interpreter]).

Source§

fn step_end(&mut self, interp: &dyn InterpreterInfo)

Called after step when the instruction has been executed.

Source§

fn log(&mut self, address: &Address, topics: &Vec<H256>, data: &[u8])

Called when a log is emitted.

Source§

fn selfdestruct( &mut self, space: Space, contract: &Address, target: &Address, value: U256, )

Called when a contract has been self-destructed with funds transferred to target.

Source§

fn do_trace_opcode(&self, _enabled: &mut bool)

Implementors§