Trait ethcore::trace::VMTracer
[−]
[src]
pub trait VMTracer: Send { fn prepare_subtrace(&self, code: &[u8]) -> Self where Self: Sized; fn done_subtrace(&mut self, sub: Self) where Self: Sized; fn drain(self) -> Option<VMTrace>; fn trace_prepare_execute(&mut self,
_pc: usize,
_instruction: u8,
_gas_cost: &U256)
-> bool { ... } fn trace_executed(&mut self,
_gas_used: U256,
_stack_push: &[U256],
_mem_diff: Option<(usize, &[u8])>,
_store_diff: Option<(U256, U256)>) { ... } }
Used by executive to build VM traces.
Required Methods
fn prepare_subtrace(&self, code: &[u8]) -> Self where Self: Sized
Spawn subtracer which will be used to trace deeper levels of execution.
fn done_subtrace(&mut self, sub: Self) where Self: Sized
Spawn subtracer which will be used to trace deeper levels of execution.
fn drain(self) -> Option<VMTrace>
Consumes self and returns the VM trace.
Provided Methods
fn trace_prepare_execute(&mut self,
_pc: usize,
_instruction: u8,
_gas_cost: &U256)
-> bool
_pc: usize,
_instruction: u8,
_gas_cost: &U256)
-> bool
Trace the preparation to execute a single instruction.
@returns true if trace_executed
should be called.
fn trace_executed(&mut self,
_gas_used: U256,
_stack_push: &[U256],
_mem_diff: Option<(usize, &[u8])>,
_store_diff: Option<(U256, U256)>)
_gas_used: U256,
_stack_push: &[U256],
_mem_diff: Option<(usize, &[u8])>,
_store_diff: Option<(U256, U256)>)
Trace the finalised execution of a single instruction.
Implementors
impl VMTracer for ExecutiveVMTracer
impl VMTracer for NoopVMTracer