원클릭으로
zama-s2-bounty-skills
zama-s2-bounty-skills에는 BootNodeDev에서 수집한 skills 10개가 있으며, 저장소 수준 직업 범위와 사이트 내 skill 상세 페이지를 제공합니다.
이 저장소의 skills
Used when building React frontends (Vite or Next.js App Router) that integrate with FHEVM confidential smart contracts. Covers the @zama-fhe/* SDK stack, ZamaProvider wiring, encrypt and decrypt hooks, ERC-7984 wrap and unwrap flows, and Next.js SSR or bundler configuration.
Use when scaffolding a new FHEVM workspace -- contracts, Next.js frontend, or Vite frontend. Copies the canonical bundled template (project/ or templates/frontend-{next,vite}/) into a target directory and customizes package metadata, env-var defaults, and the Sepolia RPC URL via an interactive AskUserQuestion wizard.
Used when reviewing, debugging, auditing, or pre-commit-checking FHEVM Solidity or client code. Catalogues the v0.11-era breaking renames (TFHE→FHE, SepoliaZamaFHEVMConfig→ZamaEthereumConfig, ConfidentialFungibleToken→ERC7984, TFHESafeMath→FHESafeMath, tokenURI→contractURI, isUserAllowed→canTransact), the removed FHE.requestDecryption API, deprecated fhevmjs, and high-frequency footguns (missing FHE.allowThis after state writes, view functions returning encrypted types, .env-based Hardhat secrets). Triggers on FHEVM code review, anti-pattern, audit, migration from pre-v0.9/v0.11, pre-commit check, ACLNotAllowed, EmptyDecryptionProof, or DeclarationError.
Used when writing, refactoring, or reviewing FHEVM Solidity contracts against the @fhevm/solidity@0.11.x API. Covers encrypted types (ebool, euint8..256, eaddress), FHE operations (arithmetic, comparison, FHE.select), the ACL lifecycle (FHE.allow, allowThis, allowTransient, isSenderAllowed, makePubliclyDecryptable), and the input-proof flow (externalEuint* + FHE.fromExternal). Triggers on FHEVM contract patterns, encrypted types, FHE.* library calls, ACL permissions, input proofs, ciphertext handles, ZamaEthereumConfig, or writing a confidential counter / voting / auction / vault contract.
Used when implementing or debugging FHEVM decryption flows — user decryption (sdk.userDecrypt with the signer/keypair bound at instance creation) and public decryption (v0.9 three-step pattern: FHE.makePubliclyDecryptable on-chain → off-chain sdk.publicDecrypt → on-chain FHE.checkSignatures). Targets `@zama-fhe/sdk@3.0.0` (provider-agnostic; relayer-sdk is a transitive dep, not a direct install). Explicitly covers the removal of the deprecated FHE.requestDecryption oracle-callback API. Triggers on prompts mentioning userDecrypt, publicDecrypt, makePubliclyDecryptable, checkSignatures, EIP-712 decryption, reencrypt (legacy term), or the v0.9 migration of decryption.
Used when writing, refactoring, or reviewing FHEVM Solidity contracts that implement or extend ERC-7984 confidential tokens. Covers the IERC7984 interface (confidentialBalanceOf, confidentialTransfer, setOperator), FHESafeMath (tryIncrease, tryDecrease, tryAdd, trySub), the v0.4.0 extensions (Freezable, Restricted, Rwa, Omnibus, ObserverAccess, Votes, ERC7984ERC20Wrapper), the v0.4.0 finance/governance/utils/interfaces directories (VestingWalletConfidential, VotesConfidential, HandleAccessManager, IERC7984Rwa), the operator pattern that replaces approve/allowance, the euint64 supply ceiling and default-6-decimals trap, the v0.4 breaking change that switched unwrap request IDs from euint64 to bytes32, and the 2-step async-decrypt swap pattern for confidential AMMs (FHE.div plaintext-divisor constraint). Explicitly NOT for confidential NFTs — ERC-7984 is fungibles-only; ERC-721 + eaddress is the alternate route. Triggers on ERC7984, ERC-7984, IERC7984, confidentialBalanceOf, confidentialTransfer, setOperator, F
Used when an AI coding agent needs a mental model of the Zama Confidential Blockchain Protocol — FHEVM architecture, the four off-chain components (coprocessor, KMS threshold network, gateway, relayer), the on-chain contracts (ACL, FHEVMExecutor, KMSVerifier, InputVerifier), the ZKPoK-bound encrypted-input flow, and the v0.9+ async decryption pattern. Triggers on prompts mentioning FHEVM, confidential smart contracts, FHE on-chain, Zama protocol, coprocessor, KMS, relayer, gateway, input proofs, ciphertext handles, or how confidential transactions flow end-to-end.
Used when an AI coding agent needs to bootstrap a Hardhat workspace for FHEVM confidential contracts. Walks from zero to a working project pinned to @fhevm/solidity@0.11.1, @fhevm/hardhat-plugin@0.4.2, @fhevm/mock-utils@0.4.2, and OpenZeppelin confidential-contracts@0.4.x. Covers the hardhat vars secret workflow (no .env), Node runtime requirements, and the exact compile / test / deploy / test:sepolia command sequence. Triggers on FHEVM setup, project bootstrap, Hardhat environment initialization, installing @fhevm/* packages, hardhat vars, or deploying a first confidential contract.
Used when running Slither, Aderyn, or Semgrep on an FHEVM project, or when setting up static analysis in CI. Covers the canonical slither . invocation (never npx slither), the ZamaConfig source-map crash workaround, known FHEVM false-positive detectors, FHE-specific Semgrep rules, and when to prefer Aderyn or Halmos. Triggers on Slither crash on ZamaConfig, source code appears to be out of sync, slither-analyzer install, npx slither, aderyn ., semgrep FHE rules, Halmos on rate limiters, or adding static analysis to a Hardhat CI workflow for confidential contracts.
Used when writing or debugging Mocha / Hardhat tests for FHEVM contracts. Covers the fhevm.isMock gate pattern, encrypted input creation via fhevm.createEncryptedInput + FHE.fromExternal, test-time decryption via fhevm.userDecryptEuint and fhevm.publicDecrypt, EIP-712 PublicDecryptVerification proofs using the mock KMS private key, Sepolia timeout / retry conventions, and the three-gate deployment checklist (mock → Sepolia → pre-mainnet review). Triggers on @fhevm/hardhat-plugin, @fhevm/mock-utils, hre.fhevm, createEncryptedInput, userDecryptEuint, publicDecrypt, EmptyDecryptionProof in tests, or writing a first Hardhat test for an FHEVM contract.