You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Arithmetic: PoEVerify(n) — SNARK-friendly proof-of-exponentiation verification (constrains result = base^exponent in the field; n-bit exponent, no big-int); for field-based accumulators (e.g. witness^element = A). 14 dedicated tests (edge cases, max exponent, 0^0, 1^exp, failure cases).
Hashing: PoseidonEncrypt() — symmetric encryption: ciphertext = plaintext + Poseidon(key); decryption off-chain (plaintext = ciphertext − Poseidon(key)). One Poseidon(1) per encrypt; use unique key per message or key+nonce. 6 tests.
Identity & credentials: IdentityCommitment() — Semaphore-style commitment = Poseidon(identity, secret). SemaphoreMembership(levels) — prove (identity, secret) in allowlist tree (leaves = Poseidon(1)(commitment)); use with Nullifier for double-signaling prevention. 5 tests.
Set membership: AccumulatorMembership(n) — field-based accumulator membership: constrains witness^member = accumulator (wraps PoEVerify). Build A = g^(product of set elements); witness for element e is g^(product/e). 5 tests.