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


Release 3.0.6LATEST

22 January 2025

Summary

  • 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.
  • 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.
  • 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.