Releases: smallyunet/echosvm
Release list
v0.2.0
EchoSVM v0.2.0
EchoSVM v0.2.0 turns Anchor IDLs into bounded runtime diagnostics without
confusing declared metadata with observed execution.
Included
- Transaction programs may reference an Anchor IDL with
anchorIdl. - Explicit modern discriminators and legacy derived discriminators are
recognized without recompiling program sources. - Failed frames include decoded Anchor instruction names.
- Observed custom program errors are mapped to IDL names and messages.
- Rust 1.95 is pinned for reproducible local, CI, and release builds.
Honest boundary
An IDL is descriptive metadata, not execution proof. EchoSVM only emits an
Anchor diagnosis when the fixture program ID, instruction discriminator, and
runtime-observed custom error agree. These facts are labeled runtime-derived;
validator equivalence and historical Mainnet replay remain outside scope.
v0.1.0
EchoSVM v0.1.0
EchoSVM v0.1.0 turns bytecode compatibility into an executable, versioned
contract and adds a deliberately bounded Solana syscall surface for standalone
program inspection.
Included
echosvm conformanceruns 106 deterministic vectors across ALU32/64,
JMP32/64, memory operations, verifier rejection, runtime faults, and sBPF
version gates. JSON output followsechosvm.conformance.v1.echosvm compare <reference> <candidate>checks semantic execution fields
and classifies results asmatch,known-difference, orregressionusing
echosvm.compat.v1.--runtime solana-minimalexposes five explicit syscall families:
sol_log_64_, memcpy, memmove, memcmp, and memset.- Standalone results record their runtime profile, syscall arguments/results,
and emitted logs. - Transaction fixtures accept either one
instructionor a non-empty
instructionsarray for multi-instruction failures. - Transaction bytecode traces carry invocation ordinals, improving evidence
mapping when the same program executes more than once.
Honest boundary
solana-minimal is not the Agave runtime and does not provide CPI, PDA,
cryptographic, sysvar, allocator, or account-serialization syscalls. Programs
requiring full transaction semantics should use explain-run, which remains
LiteSVM/Agave-backed. The 106-vector report proves only its named instruction
families and version gates. V4 remains experimental; validator equivalence and
historical Mainnet replay are not claimed.
v0.0.4
EchoSVM v0.0.4
EchoSVM now connects source-aware causal evidence to the exact sBPF
instructions leading into a real local transaction failure.
Included
- Provenance and confidence on causal claims: runtime-observed,
runtime-derived, fixture-declared, or heuristic. - Correct parent-frame attribution when privilege checks reject a CPI before
callee entry. --trace-on-failureand--trace-limitfor bounded, in-memory LiteSVM
register traces attached to transaction frames.- Exact tail instructions for the bundled PDA mismatch, ending at
syscall sol_invoke_signed_rust. - Structured standalone halt kinds for instruction budget, access violation,
divide-by-zero, call depth, and unsupported instructions. - Seven focused conformance vectors covering v3 ALU64, JMP32, memory faults,
verifier failures, version gates, and deterministic traces. - Backward-compatible optional additions to the v1 case, evidence, and
execution schemas.
Honest boundary
PDA seeds and tentative failed-state values remain declared fixture
expectations and are now labeled as such. EchoSVM does not claim validator
equivalence, complete sBPF compatibility, or historical Mainnet replay. V4 is
still experimental; the new compatibility claims are bounded to the published
vectors.
v0.0.3
EchoSVM v0.0.3
EchoSVM now connects real local Solana transaction execution to causal
evidence.
Included
explain-runexecutesechosvm.transaction.v1fixtures with LiteSVM.- Multi-program SBF loading, explicit accounts, instruction metas, and data.
- Runtime-derived errors, invocation frames, compute units, and post-state.
- PDA derivation checks and explicit labeling when a CPI is rejected before
the callee starts. - Generated
echosvm.case.v1and analyzedechosvm.evidence.v1JSON. - A real SBF fixture where an incorrect PDA authority rejects a CPI and rolls
back a preceding account write. - A regression proving the corrected PDA enters the child and commits state.
- The v0.0.2 standalone ELF/raw sBPF interpreter remains available.
Honest boundary
PDA seeds and tentative failed-state values are declared fixture expectations
in v0.0.3; they are validated against runtime execution but are not recovered
from arbitrary bytecode. EchoSVM does not claim validator equivalence or
historical Mainnet replay.
v0.0.2
EchoSVM v0.0.2
EchoSVM now loads and executes sBPF bytecode locally. This release corrects the
initial product boundary: execution is the core, and explanation is built on
the resulting instruction evidence.
Included
runfor Solana ELF files or raw sBPF bytecode.tracefor disassembled instructions and before/after register state.disasmfor static bytecode inspection.- Automatic ELF detection and explicit V0-V4 selection for raw programs.
- Instruction budgets, mutable input memory, structured errors, and
echosvm.execution.v1JSON. - A real V0 ELF execution fixture plus arithmetic, branch, memory, verifier,
and budget tests. - The original captured-case evidence commands remain available.
Honest boundary
This is a standalone bytecode interpreter, not a full Solana transaction
runtime. Core Solana syscalls, account serialization, CPI, PDA signing,
transaction rollback, and chain state are not implemented yet.
See the README for installation and the complete v0.0.2 scope.
v0.0.1
EchoSVM v0.0.1
The first public EchoSVM release turns captured Solana execution facts into
deterministic causal evidence.
Included
- A Rust CLI with explain, demo, validate, and schema commands.
- Versioned echosvm.case.v1 and echosvm.evidence.v1 contracts.
- First-violation selection, CPI failure propagation, account rollback
detection, and compute-unit summaries. - A runnable Vault PDA signer mismatch case.
- An interactive GitHub Pages explanation of the same evidence.
Honest boundary
This release is an offline evidence compiler. It does not execute sBPF or claim
full Solana runtime equivalence. Runtime capture adapters are planned for later
releases.
See the README for installation and the complete v0.0.1 scope.