Trait ethcore::trace::VMTracer [] [src]

pub trait VMTracer: Send {
    type Output;
    fn prepare_subtrace(&self, code: &[u8]) -> Self
    where
        Self: Sized
;
fn done_subtrace(&mut self, sub: Self)
    where
        Self: Sized
;
fn drain(self) -> Option<Self::Output>; fn trace_next_instruction(
        &mut self,
        _pc: usize,
        _instruction: u8,
        _current_gas: U256
    ) -> bool { ... }
fn trace_prepare_execute(
        &mut self,
        _pc: usize,
        _instruction: u8,
        _gas_cost: U256
    ) { ... }
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.

Associated Types

Data returned when draining the VMTracer.

Required Methods

Spawn subtracer which will be used to trace deeper levels of execution.

Finalize subtracer.

Consumes self and returns the VM trace.

Provided Methods

Trace the progression of interpreter to next instruction. If tracer returns false it won't be called again. @returns true if trace_prepare_execute and trace_executed should be called.

Trace the preparation to execute a single valid instruction.

Trace the finalised execution of a single valid instruction.

Implementors