Expand description
A Proxy in this context is an environmental trait implementor meant to be used for capturing EVM trace events sent to a Host function from the Runtime. Works like:
- Runtime Api call
usingenvironmental. - Runtime calls a Host function with some scale-encoded Evm event.
- Host function emits an additional event to this Listener.
- Proxy listens for the event and format the actual trace response.
There are two proxy types: Raw and CallList.
Raw- used for opcode-level traces.CallList- used for block tracing (stack of call stacks) and custom tracing outputs.
The EVM event types may contain references and not implement Encode/Decode. This module provide mirror types and conversion into them from the original events.
Re-exports§
pub use self::evm::EvmEvent;pub use gasometer::GasometerEvent;pub use runtime::RuntimeEvent;
Modules§
Structs§
- Context
- Step
Event Filter - Allow to configure which data of the Step event we want to keep or discard. Not discarding the data requires cloning the data in the runtime which have a significant cost for each step.
Enums§
Traits§
- Listener
- Main trait to proxy emitted messages. Used 2 times :