Trait ethcore::trace::Tracer[][src]

pub trait Tracer: Send {
    type Output;
    fn prepare_trace_call(&self, params: &ActionParams) -> Option<Call>;
fn prepare_trace_create(&self, params: &ActionParams) -> Option<Create>;
fn prepare_trace_output(&self) -> Option<Bytes>;
fn trace_call(
        &mut self,
        call: Option<Call>,
        gas_used: U256,
        output: Option<Bytes>,
        subs: Vec<Self::Output>
    );
fn trace_create(
        &mut self,
        create: Option<Create>,
        gas_used: U256,
        code: Option<Bytes>,
        address: Address,
        subs: Vec<Self::Output>
    );
fn trace_failed_call(
        &mut self,
        call: Option<Call>,
        subs: Vec<Self::Output>,
        error: TraceError
    );
fn trace_failed_create(
        &mut self,
        create: Option<Create>,
        subs: Vec<Self::Output>,
        error: TraceError
    );
fn trace_suicide(
        &mut self,
        address: Address,
        balance: U256,
        refund_address: Address
    );
fn trace_reward(
        &mut self,
        author: Address,
        value: U256,
        reward_type: RewardType
    );
fn subtracer(&self) -> Self
    where
        Self: Sized
;
fn drain(self) -> Vec<Self::Output>; }

This trait is used by executive to build traces.

Associated Types

Data returned when draining the Tracer.

Required Methods

Prepares call trace for given params. Noop tracer should return None.

Prepares create trace for given params. Noop tracer should return None.

Prepare trace output. Noop tracer should return None.

Stores trace call info.

Stores trace create info.

Stores failed call trace.

Stores failed create trace.

Stores suicide info.

Stores reward info.

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

Important traits for Vec<u8>

Consumes self and returns all traces.

Implementors