Repository navigation
Dark Contracts 0.9.0: Hardened testnet release
The reviewed, hardened testnet release of Dark's on-chain components.
Contents
DarkVault: deposit, apply-pending, private transfer and withdraw over twisted-ElGamal ciphertexts; caps with immutable hard ceilings; a guardian that can pause and tighten caps, nothing else; an owner that acts only through a 48-hour timelock. No proxy, nodelegatecall, no upgrade path. Withdrawals can never be paused.DarkKeyRegistry: immutable, ownerless key registry proven withdark_register.DarkGrumpkin: clean-room Grumpkin arithmetic, differentially tested against@noble/curves.- Circuits:
dark_register,dark_transfer,dark_withdraw,dark_disclose_rangein Noir (UltraHonk, keccak transcript, zero-knowledge on), with the generated Solidity verifiers.
Deployment
Deployed to Robinhood Chain testnet (chain id 46630) on 2026-09-20. Addresses are listed in the README.
Assurance
- Hardened after internal adversarial review rounds covering the contracts, the circuits and the deployment process. An independent audit is the next step.
- The runtime codehash of every deployed verifier and library is pinned; the deploy script refuses anything that does not match.
scripts/check-verifier-bytecode.mjsrebuilds the deployed verifiers and their libraries from source and compares the bytecode byte-for-byte; the vault and the registry are pinned by codehash.- Dark's contracts, circuits and deployment record are MIT OR Apache-2.0; the bb-generated verifiers are Apache-2.0.