Trait cfx_executor::observer::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,
contract: &Address,
target: &Address,
value: U256
) { ... }
}
Provided Methods§
fn do_trace_opcode(&self, _enabled: &mut bool)
sourcefn initialize_interp(&mut self, gas_limit: U256)
fn initialize_interp(&mut self, gas_limit: U256)
Called before the interpreter is initialized.
sourcefn step(&mut self, interp: &dyn InterpreterInfo)
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]).
sourcefn step_end(&mut self, interp: &dyn InterpreterInfo)
fn step_end(&mut self, interp: &dyn InterpreterInfo)
Called after step
when the instruction has been executed.
sourcefn log(&mut self, address: &Address, topics: &Vec<H256>, data: &[u8])
fn log(&mut self, address: &Address, topics: &Vec<H256>, data: &[u8])
Called when a log is emitted.
sourcefn selfdestruct(&mut self, contract: &Address, target: &Address, value: U256)
fn selfdestruct(&mut self, 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,
impl OpcodeTracer for ()where
U256: Clone,
source§fn initialize_interp(&mut self, gas_limit: U256)
fn initialize_interp(&mut self, gas_limit: U256)
Called before the interpreter is initialized.
source§fn step(&mut self, interp: &dyn InterpreterInfo)
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)
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])
fn log(&mut self, address: &Address, topics: &Vec<H256>, data: &[u8])
Called when a log is emitted.
source§fn selfdestruct(&mut self, contract: &Address, target: &Address, value: U256)
fn selfdestruct(&mut self, contract: &Address, target: &Address, value: U256)
Called when a contract has been self-destructed with funds transferred to target.
fn do_trace_opcode(&self, _enabled: &mut bool)
source§impl<T: OpcodeTracer + ?Sized> OpcodeTracer for &mut T
impl<T: OpcodeTracer + ?Sized> OpcodeTracer for &mut T
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, contract: &Address, target: &Address, value: U256)
source§impl<TupleElement0: OpcodeTracer> OpcodeTracer for (TupleElement0,)where
U256: Clone,
impl<TupleElement0: OpcodeTracer> OpcodeTracer for (TupleElement0,)where
U256: Clone,
source§fn initialize_interp(&mut self, gas_limit: U256)
fn initialize_interp(&mut self, gas_limit: U256)
Called before the interpreter is initialized.
source§fn step(&mut self, interp: &dyn InterpreterInfo)
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)
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])
fn log(&mut self, address: &Address, topics: &Vec<H256>, data: &[u8])
Called when a log is emitted.
source§fn selfdestruct(&mut self, contract: &Address, target: &Address, value: U256)
fn selfdestruct(&mut self, contract: &Address, target: &Address, value: U256)
Called when a contract has been self-destructed with funds transferred to target.
fn do_trace_opcode(&self, _enabled: &mut bool)
source§impl<TupleElement0: OpcodeTracer, TupleElement1: OpcodeTracer> OpcodeTracer for (TupleElement0, TupleElement1)where
U256: Clone,
impl<TupleElement0: OpcodeTracer, TupleElement1: OpcodeTracer> OpcodeTracer for (TupleElement0, TupleElement1)where
U256: Clone,
source§fn initialize_interp(&mut self, gas_limit: U256)
fn initialize_interp(&mut self, gas_limit: U256)
Called before the interpreter is initialized.
source§fn step(&mut self, interp: &dyn InterpreterInfo)
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)
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])
fn log(&mut self, address: &Address, topics: &Vec<H256>, data: &[u8])
Called when a log is emitted.
source§fn selfdestruct(&mut self, contract: &Address, target: &Address, value: U256)
fn selfdestruct(&mut self, contract: &Address, target: &Address, value: U256)
Called when a contract has been self-destructed with funds transferred to target.
fn do_trace_opcode(&self, _enabled: &mut bool)
source§impl<TupleElement0: OpcodeTracer, TupleElement1: OpcodeTracer, TupleElement2: OpcodeTracer> OpcodeTracer for (TupleElement0, TupleElement1, TupleElement2)where
U256: Clone,
impl<TupleElement0: OpcodeTracer, TupleElement1: OpcodeTracer, TupleElement2: OpcodeTracer> OpcodeTracer for (TupleElement0, TupleElement1, TupleElement2)where
U256: Clone,
source§fn initialize_interp(&mut self, gas_limit: U256)
fn initialize_interp(&mut self, gas_limit: U256)
Called before the interpreter is initialized.
source§fn step(&mut self, interp: &dyn InterpreterInfo)
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)
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])
fn log(&mut self, address: &Address, topics: &Vec<H256>, data: &[u8])
Called when a log is emitted.
source§fn selfdestruct(&mut self, contract: &Address, target: &Address, value: U256)
fn selfdestruct(&mut self, contract: &Address, target: &Address, value: U256)
Called when a contract has been self-destructed with funds transferred to target.