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.
Release 3.0.6LATEST
22 January 2025
Summary
- Introduced
coinCommitment
andcoinNullifier
functions. - Introduced API separating keys from Zswap local state to Zswap packages.
- Catch breaking change in
midnight-storage-0.3
, where the serialization shape ofMap
changed. This required minor version bumps on all types with nestedMap
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 intoStandardTransaction
andClaimMintTransaction
, which are now private. ContractCall
,ContractDeploy
, andMaintenanceUpdate
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 nestedMap
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.