Struct evm_adapters::call_tracing::CallTraceArena[][src]

pub struct CallTraceArena {
    pub arena: Vec<CallTraceNode>,
    pub entry: usize,
}
Expand description

An arena of CallTraceNodes

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.

Prints child calls and logs in order

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

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