{"workflow":null,"planning":null,"id":"703944b1-8946-4995-945a-3f61749f8545","state":"completed","template":"shape:chain","objective":"Hash Frog: browser-mined PoW NFT + HFROG launch token. Launch kind univ4_hook on Ethereum mainnet, paired with IMD: the factory's standard token and pool with our hook, plus our NFT (with burn vault) and staking contracts. Deploy in the launch, then host a site on the live addresses. No owner, admin, upgrade or pause in our contracts.\n\nNFT \"Hash Frog\" (HASHFROG)\n- Cap 2,000 ever minted; burned ids never reused.\n- Mine: keccak256(minter, nonce, lastSeed, blockhash(refBlock)) < target; refBlock within last 64 blocks; lastSeed = previous frog's seed (fixed genesis for #1).\n- ~60/hour: retarget every 8 mints toward 60 s per mint (max 4x harder / 2x easier). Hard cap: max 60 mints in any rolling 3,600 s window; if full, revert with a clear error.\n- One per tx, price exactly 0.0019 ETH. Forward in the same tx via call (hackathon needs ~40k gas): 85% to 0x56e8c9bd511718508f7410aee3e8a693588b38f0, 15% to 0x789C9aDDa69a5880fe70eb4FBC8147F2a54B6363. A failed send is credited and anyone can flush() it later; ETH can go nowhere else.\n- Fully on-chain original frog art (your style), all traits from the seed, a few rares and 1-of-1s; no copies of existing characters or collections.\n\nToken \"HFROG\" (HFROG): the launch's standard token, as the launch deploys it.\n- Our hook adds 1.5% on buys and 1.5% on sells, taken in IMD, on top of the launch's pool fee. Of every hook fee: 60% to HFROG stakers, 25% to the frog vault, 15% to 0x789C9aDDa69a5880fe70eb4FBC8147F2a54B6363. No anti-snipe.\n- Frog vault: holds IMD from the hook. buyback(): anyone, at most once per 60 s and at most 100 IMD per call, swaps vault IMD into HFROG through the pool; the HFROG stays in the vault.\n\nBurn: a frog holder burns a frog and receives vault HFROG / frogs not yet burned (and the same share of any unswapped IMD). The vault pays out only through burns; nobody can withdraw it.\n\nStaking: stake HFROG, earn IMD pro rata (accumulator, claim anytime); fees with no stakers are held for the first stakers; unstake delay 24 h, no rewards during the delay.\n\nSite: browser miner (WebGPU, WASM/CPU fallback; hashrate, difficulty, ETA, free slots this hour), mint, gallery from tokenURI, buy/sell HFROG vs IMD, burn (shows what one frog burns into now), buyback, stake/unstake/claim, stats (minted/2,000, vault balance, ETH to hackathon and team, IMD to stakers).\n\nTests: <=2,000 mints; <=60 per 3,600 s; solution bound to minter; reused lastSeed fails; wrong price reverts; 85/15 exact, flush works; burn pays exactly its pro-rata share, vault never negative, no withdrawal; buyback limits hold; hook 1.5% each way split 60/25/15; staking pays out what the hook paid in; nothing moves funds elsewhere. Mainnet fork: buy and sell through the real PoolManager with the hook; hackathon contract accepts ETH. Independent review.","blockedReason":null,"createdAt":"2026-10-07T09:16:33.143Z","updatedAt":"2026-10-07T11:26:46.269Z","paidBy":"0x789c9adda69a5880fe70eb4fbc8147f2a54b6363","parentJobId":null,"project":{"id":"703944b1-8946-4995-945a-3f61749f8545","head":"e480798c-e638-4c81-8978-dc6c10fff074","running":null,"versions":[{"jobId":"703944b1-8946-4995-945a-3f61749f8545","workflowId":null,"objective":"Hash Frog: browser-mined PoW NFT + HFROG launch token. Launch kind univ4_hook on Ethereum mainnet, paired with IMD: the factory's standard token and pool with our hook, plus our NFT (with burn vault) and staking contracts. Deploy in the launch, then host a site on the live addresses. No owner, admin, upgrade or pause in our contracts.\n\nNFT \"Hash Frog\" (HASHFROG)\n- Cap 2,000 ever minted; burned ids never reused.\n- Mine: keccak256(minter, nonce, lastSeed, blockhash(refBlock)) < target; refBlock within last 64 blocks; lastSeed = previous frog's seed (fixed genesis for #1).\n- ~60/hour: retarget every 8 mints toward 60 s per mint (max 4x harder / 2x easier). Hard cap: max 60 mints in any rolling 3,600 s window; if full, revert with a clear error.\n- One per tx, price exactly 0.0019 ETH. Forward in the same tx via call (hackathon needs ~40k gas): 85% to 0x56e8c9bd511718508f7410aee3e8a693588b38f0, 15% to 0x789C9aDDa69a5880fe70eb4FBC8147F2a54B6363. A failed send is credited and anyone can flush() it later; ETH can go nowhere else.\n- Fully on-chain original frog art (your style), all traits from the seed, a few rares and 1-of-1s; no copies of existing characters or collections.\n\nToken \"HFROG\" (HFROG): the launch's standard token, as the launch deploys it.\n- Our hook adds 1.5% on buys and 1.5% on sells, taken in IMD, on top of the launch's pool fee. Of every hook fee: 60% to HFROG stakers, 25% to the frog vault, 15% to 0x789C9aDDa69a5880fe70eb4FBC8147F2a54B6363. No anti-snipe.\n- Frog vault: holds IMD from the hook. buyback(): anyone, at most once per 60 s and at most 100 IMD per call, swaps vault IMD into HFROG through the pool; the HFROG stays in the vault.\n\nBurn: a frog holder burns a frog and receives vault HFROG / frogs not yet burned (and the same share of any unswapped IMD). The vault pays out only through burns; nobody can withdraw it.\n\nStaking: stake HFROG, earn IMD pro rata (accumulator, claim anytime); fees with no stakers are held for the first stakers; unstake delay 24 h, no rewards during the delay.\n\nSite: browser miner (WebGPU, WASM/CPU fallback; hashrate, difficulty, ETA, free slots this hour), mint, gallery from tokenURI, buy/sell HFROG vs IMD, burn (shows what one frog burns into now), buyback, stake/unstake/claim, stats (minted/2,000, vault balance, ETH to hackathon and team, IMD to stakers).\n\nTests: <=2,000 mints; <=60 per 3,600 s; solution bound to minter; reused lastSeed fails; wrong price reverts; 85/15 exact, flush works; burn pays exactly its pro-rata share, vault never negative, no withdrawal; buyback limits hold; hook 1.5% each way split 60/25/15; staking pays out what the hook paid in; nothing moves funds elsewhere. Mainnet fork: buy and sell through the real PoolManager with the hook; hackathon contract accepts ETH. Independent review.","baseCommit":"0243d7da4a4337ae8b16bcdf15bb4ead736fd68f","state":"completed","createdAt":"2026-10-07T09:16:33.143Z"},{"jobId":"e480798c-e638-4c81-8978-dc6c10fff074","workflowId":null,"objective":"Build and host the Hash Frog site against the live launch #892 on Ethereum mainnet. Read every address and ABI from the deployment; do not redeploy anything.\n\nContracts: HashFrog NFT 0x4f4d32e6d6dfa931b5bcd00d7a3052fefaa3fc37, HFROG token 0xbe349c4e13fc788db48e11152ae83c3b902b0b98, HashFrogHook 0x26e7ee8e1c6c679ca42fdc7dac3b1058fd1120cc, FrogStaking 0xfd622dc60ccc599287841eba39e8d92139033131, plus FrogRouter from the deployment.\n\nPages and features:\n- Mine: browser miner on WebGPU with a WASM/CPU fallback, using exactly the contract's hash rule and current target. Shows hashrate, current difficulty, expected time to a solution, and how many mint slots are free in the current rolling hour. When a solution is found, the connected wallet submits it with exactly 0.0019 ETH. Clear messages for: window full, stale seed/refBlock (keep mining on the new seed), wrong network.\n- Gallery: every frog rendered from tokenURI (on-chain), with traits; frog detail page.\n- Trade: buy/sell HFROG against IMD through the pool (FrogRouter), with a quote, slippage setting and the total fee shown.\n- Burn: pick a frog, show what it burns into right now (vault share), burn.\n- Vault: vault balance, a buyback() button, and its cooldown.\n- Stake: stake/unstake HFROG, the 24 h unstake delay countdown, claim IMD.\n- Stats: frogs minted / 2,000, ETH sent to the hackathon (0x56e8c9bd511718508f7410aee3e8a693588b38f0), ETH sent to the team, IMD paid to stakers, HFROG price.\n- Links to every contract on Etherscan and to the source repository.\n\nLook: dark, pixel-art feel that matches the on-chain frogs, readable on phones. Wallet connect for injected wallets and WalletConnect. Static export, no backend.\n\nBefore publishing: on mainnet, read the live target, the free slots and tokenURI of a sample seed, get a nonzero buy quote, and eth_call a mint with a fake solution to confirm the revert reason is shown correctly.","baseCommit":"6ab918606c37cd353db6128b2c3e834082324af6","state":"completed","createdAt":"2026-10-07T11:48:08.799Z"}]},"deliver":true,"host":false,"site":null,"launch":{"requested":true,"kind":"univ4_hook","id":"d9de490d-6104-4c49-8ce3-8194a1cba46c","status":"live","chainId":1},"oracleRequestId":null,"delivery":{"repoUrl":"https://github.com/identity-md-launches/launch-892-hash-frog-browser-mined-pow","pullRequestUrl":"https://github.com/identity-md-launches/launch-892-hash-frog-browser-mined-pow/pull/1","commit":"6ab918606c37cd353db6128b2c3e834082324af6","deliveredAt":"2026-10-07T11:27:05.017Z","media":null},"media":null,"nodes":[{"key":"audit_economics","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T10:55:29.837Z","verdict":null,"seat":{"tokenId":"1299","agentId":"50974"},"live":null},{"key":"audit_flow","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T11:04:01.692Z","verdict":null,"seat":{"tokenId":"76","agentId":"52292"},"live":null},{"key":"audit_judge","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project","write_foundry_tests","manifest","audit_math","audit_permissions","audit_economics","audit_flow"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T11:26:46.269Z","verdict":null,"seat":{"tokenId":"880","agentId":"51081"},"live":null},{"key":"audit_math","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T10:57:17.700Z","verdict":null,"seat":{"tokenId":"420","agentId":"50939"},"live":null},{"key":"audit_permissions","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T11:08:10.039Z","verdict":null,"seat":{"tokenId":"351","agentId":"51023"},"live":null},{"key":"build_contract_project","role":"implement","state":"accepted","attempt":3,"revisions":0,"judgeRevisions":0,"dependsOn":[],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T10:42:50.471Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+be003835","verifiedTreeHash":"bec15f5ea5c12d5bec35f610f707678d53a43703","at":"2026-10-07T10:42:50.474Z","failedChecks":[]},"seat":{"tokenId":"180","agentId":"51188"},"live":null},{"key":"manifest","role":"integrate","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":["launch.json"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T10:48:46.311Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+be003835","verifiedTreeHash":"1c5b029854bb95d161f48845c9dfb3c97c82cdef","at":"2026-10-07T10:48:46.313Z","failedChecks":[]},"seat":{"tokenId":"658","agentId":"51200"},"live":null},{"key":"write_foundry_tests","role":"tests","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":["test","test/**"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T11:05:13.157Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+be003835","verifiedTreeHash":"09296d0d67b09505e5fd7cf81909e89fa83e3e31","at":"2026-10-07T11:05:13.164Z","failedChecks":[]},"seat":{"tokenId":"20","agentId":"52184"},"live":null}],"reviews":[{"status":"sent","chainId":1,"txHash":"0x361023aefa17a01920956243afa8bb7033ef9793d240c9d82f2246eddf4c1e15","blockNumber":26140203,"sentAt":"2026-10-07T11:27:28.605Z","entries":[{"nodeKey":"audit_economics","agentId":"50974","value":1,"role":"review:submission"},{"nodeKey":"audit_flow","agentId":"52292","value":1,"role":"review:submission"},{"nodeKey":"audit_judge","agentId":"51081","value":1,"role":"review:submission"},{"nodeKey":"audit_math","agentId":"50939","value":1,"role":"review:submission"},{"nodeKey":"audit_permissions","agentId":"51023","value":1,"role":"review:submission"},{"nodeKey":"build_contract_project","agentId":"51188","value":1,"role":"verification:checks"},{"nodeKey":"manifest","agentId":"51200","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"52184","value":1,"role":"verification:checks"}]}]}