{"workflow":{"id":"7e29e35e-3903-4f25-9cf9-5331156b42df","objective":"Hash Frog: browser-mined PoW NFT + HFROG token (evm_project, Ethereum mainnet, paired with IMD). One Foundry project: token, Uniswap v4 hook, NFT with burn vault, staking. Deploy in the launch, then host a site on the live addresses. No owner, admin, upgrade or pause.\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), supply 1,000,000,000\n- 70% seeds the factory's v4 pool with IMD; fee tier per factory policy.\n- 20% (200,000,000) is the NFT burn vault. If policy allows, send it straight to the vault; else the vault has a one-way fund() (deposit only). Burns revert \"vault not funded\" until it holds 100,000.\n- Hook: 1.5% buy and 1.5% sell, taken in IMD; 85% to stakers, 15% to 0x789C9aDDa69a5880fe70eb4FBC8147F2a54B6363. No anti-snipe.\n\nBurn: frog holder burns a frog, receives exactly 100,000 HFROG from the vault. Vault pays out only via burns; unused part stays locked forever.\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, 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 100,000, vault never negative, no withdrawal; hook 1.5% each way split 85/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.","status":"blocked","brief":"# Approved workflow\n\nHash Frog: browser-mined PoW NFT + HFROG token (evm_project, Ethereum mainnet, paired with IMD). One Foundry project: token, Uniswap v4 hook, NFT with burn vault, staking. Deploy in the launch, then host a site on the live addresses. No owner, admin, upgrade or pause.\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), supply 1,000,000,000\n- 70% seeds the factory's v4 pool with IMD; fee tier per factory policy.\n- 20% (200,000,000) is the NFT burn vault. If policy allows, send it straight to the vault; else the vault has a one-way fund() (deposit only). Burns revert \"vault not funded\" until it holds 100,000.\n- Hook: 1.5% buy and 1.5% sell, taken in IMD; 85% to stakers, 15% to 0x789C9aDDa69a5880fe70eb4FBC8147F2a54B6363. No anti-snipe.\n\nBurn: frog holder burns a frog, receives exactly 100,000 HFROG from the vault. Vault pays out only via burns; unused part stays locked forever.\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, 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 100,000, vault never negative, no withdrawal; hook 1.5% each way split 85/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.\n\nThe requester chose this release: source code published to GitHub, website hosted on IPFS, contracts deployed on chain.\n\nHash Frog: browser-mined PoW NFT + HFROG token (evm_project, Ethereum mainnet, paired with IMD). One Foundry project: token, Uniswap v4 hook, NFT with burn vault, staking. Deploy in the launch, then host a site on the live addresses. No owner, admin, upgrade or pause.\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), supply 1,000,000,000\n- 70% seeds the factory's v4 pool with IMD; fee tier per factory policy.\n- 20% (200,000,000) is the NFT burn vault. If policy allows, send it straight to the vault; else the vault has a one-way fund() (deposit only). Burns revert \"vault not funded\" until it holds 100,000.\n- Hook: 1.5% buy and 1.5% sell, taken in IMD; 85% to stakers, 15% to 0x789C9aDDa69a5880fe70eb4FBC8147F2a54B6363. No anti-snipe.\n\nBurn: frog holder burns a frog, receives exactly 100,000 HFROG from the vault. Vault pays out only via burns; unused part stays locked forever.\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, 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 100,000, vault never negative, no withdrawal; hook 1.5% each way split 85/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.\n","briefDigest":"744ea2fc52664e0e0c4d72cf56b1e2461a55984a919afb82fe6e70efdc1f4f9d"},"planning":null,"id":"93af998e-00cd-4598-b03b-65ef417b004c","state":"blocked","template":"shape:chain","objective":"WORKFLOW CONTRACT STAGE CONTEXT: the stage produces implemented and tested contracts, ABI documentation and an independently reviewed launch.json. Each assignment contributes only within its own role and write scope. Source-producing assignments own implementation, tests and ABI exports at docs/abi/<Contract>.json where their scope permits. The generated manifest assignment writes only launch.json. Review assignments inspect accepted source and manifest and return findings without editing files; they do not implement contracts or generate ABI files. Use the supplied canonical manifest guidance: policy and signed artifact linkage belong to services, while concrete source, constructor, policy or authorization conflicts remain review findings. Services publish source, attest, admit and deploy after this stage, then start the frontend. Read .imd/reads/workflow.md for the complete approved requirements and apply them to your assigned contribution; later service outcomes are not prerequisites of this assignment.","blockedReason":"node build_contract_project: runtime_error","createdAt":"2026-10-07T08:46:27.526Z","updatedAt":"2026-10-07T08:55:03.748Z","paidBy":"0x789c9adda69a5880fe70eb4fbc8147f2a54b6363","parentJobId":null,"project":{"id":"93af998e-00cd-4598-b03b-65ef417b004c","head":"93af998e-00cd-4598-b03b-65ef417b004c","running":null,"versions":[{"jobId":"93af998e-00cd-4598-b03b-65ef417b004c","workflowId":"7e29e35e-3903-4f25-9cf9-5331156b42df","objective":"Hash Frog: browser-mined PoW NFT + HFROG token (evm_project, Ethereum mainnet, paired with IMD). One Foundry project: token, Uniswap v4 hook, NFT with burn vault, staking. Deploy in the launch, then host a site on the live addresses. No owner, admin, upgrade or pause.\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), supply 1,000,000,000\n- 70% seeds the factory's v4 pool with IMD; fee tier per factory policy.\n- 20% (200,000,000) is the NFT burn vault. If policy allows, send it straight to the vault; else the vault has a one-way fund() (deposit only). Burns revert \"vault not funded\" until it holds 100,000.\n- Hook: 1.5% buy and 1.5% sell, taken in IMD; 85% to stakers, 15% to 0x789C9aDDa69a5880fe70eb4FBC8147F2a54B6363. No anti-snipe.\n\nBurn: frog holder burns a frog, receives exactly 100,000 HFROG from the vault. Vault pays out only via burns; unused part stays locked forever.\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, 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 100,000, vault never negative, no withdrawal; hook 1.5% each way split 85/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":"blocked","createdAt":"2026-10-07T08:46:27.526Z"}]},"deliver":true,"host":false,"site":null,"launch":{"requested":true,"kind":"evm_project","id":null,"status":null,"chainId":1},"oracleRequestId":null,"delivery":null,"media":null,"nodes":[{"key":"audit_economics","role":"review","state":"waiting","attempt":0,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T08:46:27.526Z","verdict":null,"seat":null,"live":null},{"key":"audit_flow","role":"review","state":"waiting","attempt":0,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T08:46:27.526Z","verdict":null,"seat":null,"live":null},{"key":"audit_judge","role":"review","state":"waiting","attempt":0,"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-07T08:46:27.526Z","verdict":null,"seat":null,"live":null},{"key":"audit_math","role":"review","state":"waiting","attempt":0,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T08:46:27.526Z","verdict":null,"seat":null,"live":null},{"key":"audit_permissions","role":"review","state":"waiting","attempt":0,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T08:46:27.526Z","verdict":null,"seat":null,"live":null},{"key":"build_contract_project","role":"implement","state":"failed","attempt":3,"revisions":0,"judgeRevisions":0,"dependsOn":[],"allowedPaths":[],"failureReason":"runtime_error","dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T08:55:03.748Z","verdict":null,"seat":null,"live":null},{"key":"manifest","role":"integrate","state":"waiting","attempt":0,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":["launch.json"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T08:46:27.526Z","verdict":null,"seat":null,"live":null},{"key":"write_foundry_tests","role":"tests","state":"waiting","attempt":0,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":["test","test/**"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-07T08:46:27.526Z","verdict":null,"seat":null,"live":null}],"reviews":[{"status":"sent","chainId":1,"txHash":"0x9ca177828ff720980d0f5bcdf89ed35c6215f0edd1b000a7a92bc31c41366105","blockNumber":26139449,"sentAt":"2026-10-07T08:55:37.687Z","entries":[]}]}