Expand description
Shared vocabulary types for the SolDB workspace.
Every other crate agrees on the types defined here: TransactionTrace and its
TraceSteps are what an execution backend produces and what the debugger, the
serializer, and the frontends consume. This crate deliberately has no soldb
dependencies so that it can stay the single type boundary in the graph.
These types are also a serialization contract. They round-trip through serde into
trace files and into the web-facing JSON document, so adding a field is additive and
needs #[serde(default)], while renaming or removing one is a breaking change.
TraceCapabilities describes what the selected backend was actually able to
record. Frontends should branch on those flags rather than on the backend name, so a
new backend does not require changes further up the stack.
Structs§
- Account
Change - Contract
Creation - Execution
Call - Execution
Log - Function
Call - GasSummary
- Root
Kind - The kind of the top-level call that starts at
entry_step. - Step
Snapshot - The machine state one step captured.
- Step
Snapshot Ref - A borrowed view of one step’s captured machine state.
- Storage
Change - Trace
Artifacts - Trace
Capabilities - Trace
Step - One recorded EVM step.
- Transaction
Trace - A complete recording of one execution.
- Word
Interner - Hands out one
Wordper distinct value, so repeated stack words are stored once.
Enums§
Type Aliases§
- Soldb
Result - Word
- One machine word as a backend spelled it, shared between the steps that hold it.