OpenZeppelin / OpenZeppelin/compact-contracts

Add Confidential Note Fungible Token test suites

Open
#742 0 comments 0 reactions 1 assignee View on GitHub

@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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.