Trait vapcore_trace::VMTracer[][src]

pub trait VMTracer: Send {
    type Output;
    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,
        _mem_written: Option<(usize, usize)>,
        _store_written: Option<(U256, U256)>
    ) { ... }
fn trace_failed(&mut self) { ... }
fn trace_executed(
        &mut self,
        _gas_used: U256,
        _stack_push: &[U256],
        _mem: &[u8]
    ) { ... }
fn prepare_subtrace(&mut self, _code: &[u8]) { ... }
fn done_subtrace(&mut self) { ... } }

Used by executive to build VM traces.

Associated Types

type Output[src]

Data returned when draining the VMTracer.

Loading content...

Required methods

fn drain(self) -> Option<Self::Output>[src]

Consumes self and returns the VM trace.

Loading content...

Provided methods

fn trace_next_instruction(
    &mut self,
    _pc: usize,
    _instruction: u8,
    _current_gas: U256
) -> bool
[src]

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.

fn trace_prepare_execute(
    &mut self,
    _pc: usize,
    _instruction: u8,
    _gas_cost: U256,
    _mem_written: Option<(usize, usize)>,
    _store_written: Option<(U256, U256)>
)
[src]

Trace the preparation to execute a single valid instruction.

fn trace_failed(&mut self)[src]

Trace the execution failure of a single instruction.

fn trace_executed(&mut self, _gas_used: U256, _stack_push: &[U256], _mem: &[u8])[src]

Trace the finalised execution of a single valid instruction.

fn prepare_subtrace(&mut self, _code: &[u8])[src]

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

fn done_subtrace(&mut self)[src]

Finalize subtracer.

Loading content...

Implementors

impl VMTracer for ExecutiveVMTracer[src]

type Output = VMTrace

impl VMTracer for NoopVMTracer[src]

Loading content...