Skip to main content

Crate soldb_core

Crate soldb_core 

Source
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§

AccountChange
ContractCreation
ExecutionCall
ExecutionLog
FunctionCall
GasSummary
RootKind
The kind of the top-level call that starts at entry_step.
StepSnapshot
The machine state one step captured.
StepSnapshotRef
A borrowed view of one step’s captured machine state.
StorageChange
TraceArtifacts
TraceCapabilities
TraceStep
One recorded EVM step.
TransactionTrace
A complete recording of one execution.
WordInterner
Hands out one Word per distinct value, so repeated stack words are stored once.

Enums§

SoldbError

Type Aliases§

SoldbResult
Word
One machine word as a backend spelled it, shared between the steps that hold it.