Struct evm_adapters::call_tracing::CallTraceArena [−][src]
pub struct CallTraceArena {
pub arena: Vec<CallTraceNode>,
pub entry: usize,
}
Expand description
An arena of CallTraceNode
s
Fields
arena: Vec<CallTraceNode>
The arena of nodes
entry: usize
The entry index, denoting the first node’s index in the arena
Implementations
Pushes a new trace into the arena, returning the trace that was passed in with updated values
Updates the values in the calltrace held by the arena based on the passed in trace
Updates identified_contracts
for future use so that after an evm.reset_state()
, we
already know which contract corresponds to which address.
idx
is the call arena index to start at. Generally this will be 0, but if you want to
update a subset of the tree, you can pass in a different index
contracts
are the known contracts of (name => (abi, runtime_code)). It is used to identify
a deployed contract.
identified_contracts
are the identified contract addresses built up from comparing
deployed contracts against contracts
evm
is the evm that we used so that we can grab deployed code if needed. A lot of times,
the evm state is reset so we wont have any code but it can be useful if we want to
pretty print right after a test.
Updates all children nodes by recursing into update_identified
Pretty print a CallTraceArena
idx
is the call arena index to start at. Generally this will be 0, but if you want to
print a subset of the tree, you can pass in a different index
contracts
are the known contracts of (name => (abi, runtime_code)). It is used to identify
a deployed contract.
identified_contracts
are the identified contract addresses built up from comparing
deployed contracts against contracts
evm
is the evm that we used so that we can grab deployed code if needed. A lot of times,
the evm state is reset so we wont have any code but it can be useful if we want to
pretty print right after a test.
For a user, left
input should generally be ""
. Left is used recursively
to build the tree print out structure and is built up as we recurse down the tree.
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for CallTraceArena
impl Send for CallTraceArena
impl Sync for CallTraceArena
impl Unpin for CallTraceArena
impl UnwindSafe for CallTraceArena
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more