Skip to content

Releases: smallyunet/echosvm

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 23 Aug 09:10
v0.2.0
297013b

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

Choose a tag to compare

@github-actions github-actions released this 22 Aug 07:56
v0.1.0
cf38cac

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 conformance runs 106 deterministic vectors across ALU32/64,
    JMP32/64, memory operations, verifier rejection, runtime faults, and sBPF
    version gates. JSON output follows echosvm.conformance.v1.
  • echosvm compare <reference> <candidate> checks semantic execution fields
    and classifies results as match, known-difference, or regression using
    echosvm.compat.v1.
  • --runtime solana-minimal exposes 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 instruction or a non-empty
    instructions array 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

Choose a tag to compare

@github-actions github-actions released this 22 Aug 07:25
v0.0.4
ad23a5a

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-failure and --trace-limit for 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

Choose a tag to compare

@github-actions github-actions released this 22 Aug 05:31
v0.0.3
b61d7fb

EchoSVM v0.0.3

EchoSVM now connects real local Solana transaction execution to causal
evidence.

Included

  • explain-run executes echosvm.transaction.v1 fixtures 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.v1 and analyzed echosvm.evidence.v1 JSON.
  • 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

Choose a tag to compare

@github-actions github-actions released this 21 Aug 08:36
v0.0.2
70f3130

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

  • run for Solana ELF files or raw sBPF bytecode.
  • trace for disassembled instructions and before/after register state.
  • disasm for static bytecode inspection.
  • Automatic ELF detection and explicit V0-V4 selection for raw programs.
  • Instruction budgets, mutable input memory, structured errors, and
    echosvm.execution.v1 JSON.
  • 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

Choose a tag to compare

@github-actions github-actions released this 21 Aug 07:49
v0.0.1
14a84a1

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.