fhevm-router
fhevm-router
Use this router when you are working on Zama FHEVM and need the smallest correct next step.
Use this router when the task has not yet been narrowed to a more specific local skill. Only rely
on specialist cookbook modules that are actually present in this repo's skills/ directory —
do not route to a module that has not been installed.
Specialist modules in this cookbook:
oz-erc7984-confidential-tokensfhevm-privacy-constraintsfhevm-acl-lifecyclefhevm-control-flowfhevm-encrypted-inputsfhevm-user-decryptionfhevm-public-decryptionfhevm-frontend-integrationfhevm-arithmetic-ops
More from z-korp/fhevm-cookbook
fhevm-testing
Use when writing, structuring, or debugging tests for FHEVM contracts. Covers mocked mode vs real protocol, Hardhat decrypt helpers, input encryption in tests, and the false-confidence gap between local and testnet behavior.
11fhevm-acl-lifecycle
Use when granting, auditing, or debugging ACL permissions on encrypted handles in FHEVM. Covers FHE.allow, FHE.allowThis, FHE.allowTransient, and the critical rule that new handles do not inherit prior persistent ACL grants.
11fhevm-control-flow
Use when replacing if/else, require, or any conditional logic that depends on encrypted values in FHEVM. Covers FHE.select as the inline branching primitive, fallback semantics on encrypted conditions, and async public decryption when logic must branch back to plaintext state.
11oz-utils-safemath
Use when you need overflow-safe encrypted arithmetic on euint64 values. Covers the OpenZeppelin FHESafeMath library (tryIncrease, tryDecrease, tryAdd, trySub), uninitialized-handle semantics, and when to prefer it over raw FHE.add / FHE.sub.
11fhevm-public-decryption
Use when implementing two-step public decryption for state-changing operations in FHEVM. Covers makePubliclyDecryptable, off-chain proof retrieval, onchain verification with checkSignatures, and the critical single-step unwrap bug.
11fhevm-cross-contract
Use when passing encrypted handles between contracts, designing multi-contract FHE flows, or debugging handle-not-accessible errors at contract boundaries. Covers allowTransient, allow, permission chains, and factory patterns.
11