Skip to content

v1.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Oct 11:50
· 23 commits to main since this release
4a43d8b

PulseVM v1.0.0

PulseVM v1.0.0 is the official 1.0 release and the first stable release capable of running XPR Network's Mainnet state on Metal Blockchain.

This milestone completes the end-to-end path for importing XPR state, restoring it into Arena, replaying and validating canonical XPR history, following live irreversible blocks, and serving applications through PulseVM JSON-RPC, nodeos-compatible HTTP endpoints, and SHiP.

Important

PulseVM v1.0.0 uses rpcchainvm protocol 45 and is tested against MetalGo v1.14.2-tahoe. MetalGo v1.13.5 uses protocol 43 and is not compatible with this release.

XPR Mainnet readiness

  • Added a Leap 5 portable snapshot reader and the XPR chainbase export/import pipeline.
  • Imports accounts, permissions, contract code and ABIs, contract tables and indexes, resource state, producer schedules, protocol features, and deferred transactions.
  • Restores imported state into Arena using validated migration checkpoints and manifests.
  • Binds each imported checkpoint to its target genesis, preventing nodes from silently starting with mismatched state.
  • Adds reproducible state fingerprints, streamed validation, parity checks, and five-node replay gates.
  • Replays canonical XPR Mainnet history with block, signature, transaction, authorization, receipt, schedule, and resource-accounting validation.
  • Supports resumable full-history replay, durable checkpoints, and continuous following of newly available irreversible blocks.
  • Exposes replayed state and history to Hyperion through SHiP.

Major work landed through #53, #61, #118, and #119.

Antelope and XPR compatibility

  • Added protocol-feature scheduling, validation, persistence, activation, and upgrade safeguards.
  • Added XPR-compatible WASM host functions and protocol-gated behavior.
  • Added R1 and WebAuthn authority, signature, import, recovery, and required-key support.
  • Added activated mod_exp, alt_bn128_add, alt_bn128_mul, and alt_bn128_pair cryptographic intrinsics.
  • Completed deferred-transaction execution, retirement, authorization, failure handling, and sidecar support.
  • Improved producer-schedule activation, action receipts, transaction serialization, RAM billing, and historical Leap replay parity.
  • Added nodeos-compatible /v1/chain/* HTTP endpoints while preserving the existing PulseVM JSON-RPC API.
  • Accepts legacy EOS public-key formats and common nodeos request representations.

See protocol features, XPR host functions, R1 and WebAuthn support, and the nodeos compatibility layer.

Security and consensus hardening

  • Enforces transaction authorization while validating peer-produced blocks.
  • Adds deterministic metering for bulk-memory operations and strict WASM memory and table limits.
  • Hardens ABI decoding against unbounded allocation and malformed recursive input.
  • Validates state roots during state sync.
  • Fixes resource-quota bypasses and strengthens mempool admission.
  • Enforces K1 signature canonicality, rejects duplicate recovered keys, and limits transaction signature counts.
  • Prevents dangling permission links and invalid permission deletion.
  • Preserves context-free transaction data and opaque authority keys.
  • Hardens wallet encryption and updates project dependencies.

Notable security work includes #70, #72, #73, #75, #82, #83, and #87.

Performance and operations

  • Pipelines block authentication and batches replay I/O, durability, and authorization work.
  • Reuses audited WASM instances, persists compiled artifacts, and precompiles replay batches.
  • Reduces mempool lock contention and improves expiry pruning.
  • Adds node-local subjective billing for failed transactions.
  • Adds per-table RAM profiling and optional continuous contract RAM metrics.
  • Adds EC2 setup, replay supervision, archive catch-up, validation, and recovery tooling.
  • Adds coverage enforcement and expanded unit, replay, and end-to-end testing.
  • Provides release binaries for Linux AMD64 and ARM64, built against Ubuntu 22.04 for glibc 2.35 compatibility.

Operator notes

  • Use MetalGo v1.14.2-tahoe or another build supporting rpcchainvm protocol 45.
  • Imported checkpoints must be accompanied by their matching manifest.
  • Never use XPR Mainnet production authorities for local testing. Use the provided test-authority tool to create a disposable checkpoint copy.
  • Continuous contract RAM monitoring is opt-in and disabled by default.
  • This release provides the VM capability to run XPR Mainnet state. A production migration or cutover must still use a validated export and an operator-approved governance and system-contract rollout.

Licensing

PulseVM is now distributed under the PulseVM Business License 1.0. Non-commercial use, modification, and distribution are permitted. Commercial use requires prior written permission from Metallicus, Inc. Review the LICENSE before deploying.

Contributors

Thank you to everyone who contributed to this milestone:

Full Changelog: v0.7.1...v1.0.0