Skip to content

amaci: harden signup/tally validation and clean up unused state#20

Open
99Kies wants to merge 10 commits into
mainfrom
fix/security-c01-l01-l06
Open

amaci: harden signup/tally validation and clean up unused state#20
99Kies wants to merge 10 commits into
mainfrom
fix/security-c01-l01-l06

Conversation

@99Kies

@99Kies 99Kies commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator
  • enforce pubkey uniqueness across all signup modes (unified SIGNUPED check)
  • reject finalizing a zero-signup round with non-zero results; otherwise enforce a strict tally-commitment match
  • use saturating_sub for elapsed-time calculations to avoid underflow
  • restore start_time < end_time validation at instantiate
  • cap StaticWhitelist by whitelist size so it works under the production circuit
  • persist voice credit balance on key rotation (AddNewKey)
  • remove unused state maps and the always-zero state-idx query/bindings
  • add GetVkeys query and regenerate schema
  • correct Uint32to96 high-chunk constant and add high-chunk coverage
  • use Num2Bits_strict for canonical bit decomposition in ElGamal decrypt

- enforce pubkey uniqueness across all signup modes (unified SIGNUPED check)
- reject finalizing a zero-signup round with non-zero results; otherwise
  enforce a strict tally-commitment match
- use saturating_sub for elapsed-time calculations to avoid underflow
- restore start_time < end_time validation at instantiate
- cap StaticWhitelist by whitelist size so it works under the production circuit
- persist voice credit balance on key rotation (AddNewKey)
- remove unused state maps and the always-zero state-idx query/bindings
- add GetVkeys query and regenerate schema
- correct Uint32to96 high-chunk constant and add high-chunk coverage
- use Num2Bits_strict for canonical bit decomposition in ElGamal decrypt
@vercel

vercel Bot commented Jun 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
maci Ready Ready Preview, Comment Jun 18, 2026 6:41am

Request Review

99Kies and others added 4 commits June 12, 2026 10:29
Extract round verification into an event-driven pipeline (core/pipeline.ts)
shared by the terminal renderer and a new local HTTP server with SSE.
'maci ui' serves a static web UI (no new runtime deps, 127.0.0.1 only)
for round verification and circuit registry browsing.
- Update vkeys for both 2-1-1-5 (test) and 9-4-3-125 (production)
  circuits in contracts/amaci/src/circuit_params.rs
- Sync vkeys and zkeyUrl (v3/v4 → v5) in packages/cli/src/core/circuits.ts,
  update SHA256 hashes for both tar archives
- Update S3 download URLs and internal tar paths (v4 → v5) in
  e2e/scripts/downloadZkeys.ts and packages/circuits/ts/generate-logs.ts
- Refresh e2e/circuits/vkeys-amaci-2-1-1-5.json with v5 vkey values
- Regenerate logs.json for amaci and registry contract tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants