OpenZeppelin / OpenZeppelin/compact-contracts
Add Confidential Note Fungible Token test suites
Open
@0xisk is already working on this.
Since Sep 7, 2026.
0-high
effort: 4-L
enhancement
feat:token
- Dominant language
- TypeScript
- Stars
- 55
- Forks
- 29
- Avg merge
- 5d 7h
- Merged PRs (30d)
- 25
Description
🧐 Motivation
The only tests in #679 cover the crypto/NoteDelivery primitive. Nothing exercises the token modules, so every safety and privacy property in the design doc is currently unverified.
📝 Details
- Encode the
confidential-note-token.md§12 invariants as Vitest specs: value conservation, single-spend via nullifiers, membership soundness, issuer/authority gating, auditor completeness (no output exists that the audit key cannot open), freeze/seize mutual exclusion, allowlist revocation. - Simulators and witness harnesses for every module already landed in #679 — the suites are the missing half.
- Include negative cases: wrong witness, replayed nullifier, stale Merkle root, non-allowlisted spender, unaudited output.
Planned, not in #679 (confidential-note-token.md §0).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.