Skip to main content

Ledger and Proof Server

Ledger and Proof Server is a component of the Midnight infrastructure that enables zero-knowledge proof generation, transaction verification, and privacy-preserving transaction processing.

Link to related documentation


22 January 2025

Midnight 3.0.6 Ledger and Proof Server release notes

Learn about the latest updates and improvements to the Midnight Ledger and Proof Server, including new features, bug fixes, and breaking changes designed to enhance functionality and stability.

New Features

  • Introduced coinCommitment and coinNullifier functions.
  • Introduced API separating keys from Zswap local state to Zswap packages.
  • Catch breaking change in midnight-storage-0.3, where the serialization shape of Map changed. This required minor version bumps on all types with nested Map structures.

Breaking Changes

  • Some data structures are no longer directly constructable due to added private fields:
    • Transaction is no longer a public structured enum. Its components have been extracted into StandardTransaction and ClaimMintTransaction, which are now private.
    • ContractCall, ContractDeploy, and MaintenanceUpdate are now private.
    • Use the transaction-construction feature and its methods to construct transactions.
  • Changes in midnight-storage-0.3 affected serialization, requiring updates for types with nested Map structures.

Bug Fixes

  • Fixed a security bug in Schnorr proofs using incorrect information in in-memory environments.
  • Removed various instances of triggerable panics in the ledger.
  • Removed vulnerability in balance checking (breaking change for a minority of transactions).
  • Fixed Schnorr proofs not surviving serialization.
  • Fixed a security-related issue with Schnorr proofs in in-memory environments.
  • Fixed transaction re-serialization issues.
  • Fixed WASM checkProofData endpoint.
  • Fixed WASM API fees endpoint.
  • Fixed maintenance update Schnorr proofs not persisting after serialization.
  • Fixed debug logging removal from the proof server.

Artifacts