pub trait Tracer: Send {
type Output;
fn prepare_trace_call(
&mut self,
params: &ActionParams,
depth: usize,
is_builtin: bool
);
fn prepare_trace_create(&mut self, params: &ActionParams);
fn done_trace_call(&mut self, gas_used: U256, output: &[u8]);
fn done_trace_create(
&mut self,
gas_used: U256,
code: &[u8],
address: Address
);
fn done_trace_failed(&mut self, error: &VmError);
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 drain(self) -> Vec<Self::Output>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
;
}
Expand description
This trait is used by executive to build traces.
Associated Types
Required methods
fn prepare_trace_call(
&mut self,
params: &ActionParams,
depth: usize,
is_builtin: bool
)
fn prepare_trace_call(
&mut self,
params: &ActionParams,
depth: usize,
is_builtin: bool
)
Prepares call trace for given params. Would panic if prepare/done_trace are not balanced.
fn prepare_trace_create(&mut self, params: &ActionParams)
fn prepare_trace_create(&mut self, params: &ActionParams)
Prepares create trace for given params. Would panic if prepare/done_trace are not balanced.
Finishes a successful call trace. Would panic if prepare/done_trace are not balanced.
Finishes a successful create trace. Would panic if prepare/done_trace are not balanced.
fn done_trace_failed(&mut self, error: &VmError)
fn done_trace_failed(&mut self, error: &VmError)
Finishes a failed trace. Would panic if prepare/done_trace are not balanced.
fn trace_suicide(
&mut self,
address: Address,
balance: U256,
refund_address: Address
)
fn trace_suicide(
&mut self,
address: Address,
balance: U256,
refund_address: Address
)
Stores suicide info.
fn trace_reward(
&mut self,
author: Address,
value: U256,
reward_type: RewardType
)
fn trace_reward(
&mut self,
author: Address,
value: U256,
reward_type: RewardType
)
Stores reward info.