{"workflow":null,"planning":null,"id":"0d76ba8d-53ca-4516-955a-de72bc596ae9","state":"completed","template":"shape:chain","objective":"Redeploy an already built and reviewed project: KING ($KING), a \"King of the Hill\" throne game on a Uniswap v4 hook, KING/ETH, and publish its website.\n\nSource: https://github.com/identity-md-launches/launch-814-custom-token-king-hill (launch 814). It passed every review, but its deploy was parked with \"Manifest: fee tier 3000 is not on the policy allowlist\": the launch factory now sets the pool's own trading fee (1.25%) itself.\n\nContracts:\n- Take the contracts and tests from that repository and keep every game rule, fee, address and parameter.\n- Change only what the new factory policy requires: launch.json must use the pool fee configuration the factory now expects (do not hardcode fee 3000), and the hook's beforeInitialize must accept that configuration instead of only LP fees 500/3000/10000. The factory's 1.25% pool fee is separate and on top of the hook's own fee.\n- Update the tests affected by this, run the full suite, and deploy on Robinhood Chain.\n\nWhat each contract does:\n- KING token: plain ERC-20, 1,000,000,000 supply, 18 decimals, minted once, no fees, limits, pausing or minting on transfers.\n- King hook: the Uniswap v4 hook on the KING/ETH pool. It takes the hook fee in ETH, splits it between the throne pool and the team, runs the throne game, pays the king's income and handles dethrone().\n- King router (if kept from the source): routes buys so the hook knows the real buyer and supports the \"must take the throne\" flag.\n\nGame rules (unchanged from the source, for the builders' check):\n- Hook fee 2.5% on every buy and sell, always in ETH, with anti-snipe starting at 25% and decaying linearly to 2.5% over 30 minutes.\n- Fee split: 92% to the throne pool, 8% to the team wallet 0x39E3414e7a43DE41675e9bEC52F7C9F6ae489CB6 (pull-based).\n- The game starts after anti-snipe. A single buy of at least the throne price takes the throne. Throne price: 1.2x the ETH the new king paid, then halves every hour down to a 0.01 ETH floor; empty throne = floor.\n- King income: 2% of the throne pool per hour, credited every second, claimable any time, also after losing the throne.\n- Holding rule: the king must keep the KING bought in the takeover. A sell by the king dethrones him at once; anyone can call dethrone() when balanceOf(king) is below that amount.\n- \"Must take the throne\" flag: if set and the buy is below the throne price at execution, the whole swap reverts.\n\nWhen the hook acts: on every swap in the KING/ETH pool, before and after the swap, to take the ETH fee and run the throne game. Never on plain transfers or liquidity changes.\n\nWho can call what: no owner. Anyone can buy, sell, take the throne, claim their own income, and call dethrone() when the king's balance is below the required amount. The team wallet only receives its 8% share by claiming it. Nobody can change any parameter.\n\nUpgrades and pausing: not upgradeable, not pausable.\n\nWebsite (required in this job):\n- Build a user-facing web app (frontend) for KING that reads the live contracts on Robinhood Chain and lets a connected wallet act on them.\n- Publish it as a usable website at a public URL: a static build (index.html in dist/) pinned to IPFS and served on imd.fun sites.\n- Pages: (1) Throne: current king, reign time, his income so far and per hour, throne price with countdown to the next halving, pool size, past kings with reign time and earnings. (2) Trade: buy with the \"must take the throne\" flag, normal buy and sell. (3) Claim and dethrone: claim own income, call dethrone() when the king's balance is below the required amount. (4) How it works, contract addresses with explorer links, and a \"Made by agents. Not audited by humans. Trade at your own risk.\" notice.\n- Keep all frontend files in a separate web/ folder so launch.json and the contract project stay valid.\n\nLaunch: all of the requester's share goes into liquidity (pool 90%, 0% to the requester), single-sided. Starting market cap 10 ETH.","blockedReason":null,"createdAt":"2026-10-06T18:24:09.820Z","updatedAt":"2026-10-06T19:14:51.857Z","paidBy":"0x39e3414e7a43de41675e9bec52f7c9f6ae489cb6","parentJobId":null,"project":{"id":"0d76ba8d-53ca-4516-955a-de72bc596ae9","head":"0d76ba8d-53ca-4516-955a-de72bc596ae9","running":null,"versions":[{"jobId":"0d76ba8d-53ca-4516-955a-de72bc596ae9","workflowId":null,"objective":"Redeploy an already built and reviewed project: KING ($KING), a \"King of the Hill\" throne game on a Uniswap v4 hook, KING/ETH, and publish its website.\n\nSource: https://github.com/identity-md-launches/launch-814-custom-token-king-hill (launch 814). It passed every review, but its deploy was parked with \"Manifest: fee tier 3000 is not on the policy allowlist\": the launch factory now sets the pool's own trading fee (1.25%) itself.\n\nContracts:\n- Take the contracts and tests from that repository and keep every game rule, fee, address and parameter.\n- Change only what the new factory policy requires: launch.json must use the pool fee configuration the factory now expects (do not hardcode fee 3000), and the hook's beforeInitialize must accept that configuration instead of only LP fees 500/3000/10000. The factory's 1.25% pool fee is separate and on top of the hook's own fee.\n- Update the tests affected by this, run the full suite, and deploy on Robinhood Chain.\n\nWhat each contract does:\n- KING token: plain ERC-20, 1,000,000,000 supply, 18 decimals, minted once, no fees, limits, pausing or minting on transfers.\n- King hook: the Uniswap v4 hook on the KING/ETH pool. It takes the hook fee in ETH, splits it between the throne pool and the team, runs the throne game, pays the king's income and handles dethrone().\n- King router (if kept from the source): routes buys so the hook knows the real buyer and supports the \"must take the throne\" flag.\n\nGame rules (unchanged from the source, for the builders' check):\n- Hook fee 2.5% on every buy and sell, always in ETH, with anti-snipe starting at 25% and decaying linearly to 2.5% over 30 minutes.\n- Fee split: 92% to the throne pool, 8% to the team wallet 0x39E3414e7a43DE41675e9bEC52F7C9F6ae489CB6 (pull-based).\n- The game starts after anti-snipe. A single buy of at least the throne price takes the throne. Throne price: 1.2x the ETH the new king paid, then halves every hour down to a 0.01 ETH floor; empty throne = floor.\n- King income: 2% of the throne pool per hour, credited every second, claimable any time, also after losing the throne.\n- Holding rule: the king must keep the KING bought in the takeover. A sell by the king dethrones him at once; anyone can call dethrone() when balanceOf(king) is below that amount.\n- \"Must take the throne\" flag: if set and the buy is below the throne price at execution, the whole swap reverts.\n\nWhen the hook acts: on every swap in the KING/ETH pool, before and after the swap, to take the ETH fee and run the throne game. Never on plain transfers or liquidity changes.\n\nWho can call what: no owner. Anyone can buy, sell, take the throne, claim their own income, and call dethrone() when the king's balance is below the required amount. The team wallet only receives its 8% share by claiming it. Nobody can change any parameter.\n\nUpgrades and pausing: not upgradeable, not pausable.\n\nWebsite (required in this job):\n- Build a user-facing web app (frontend) for KING that reads the live contracts on Robinhood Chain and lets a connected wallet act on them.\n- Publish it as a usable website at a public URL: a static build (index.html in dist/) pinned to IPFS and served on imd.fun sites.\n- Pages: (1) Throne: current king, reign time, his income so far and per hour, throne price with countdown to the next halving, pool size, past kings with reign time and earnings. (2) Trade: buy with the \"must take the throne\" flag, normal buy and sell. (3) Claim and dethrone: claim own income, call dethrone() when the king's balance is below the required amount. (4) How it works, contract addresses with explorer links, and a \"Made by agents. Not audited by humans. Trade at your own risk.\" notice.\n- Keep all frontend files in a separate web/ folder so launch.json and the contract project stay valid.\n\nLaunch: all of the requester's share goes into liquidity (pool 90%, 0% to the requester), single-sided. Starting market cap 10 ETH.","baseCommit":"0243d7da4a4337ae8b16bcdf15bb4ead736fd68f","state":"completed","createdAt":"2026-10-06T18:24:09.820Z"}]},"deliver":true,"host":false,"site":null,"launch":{"requested":true,"kind":"univ4_hook","id":"4154320f-384b-46d9-b178-81b32f838dbb","status":"live","chainId":4663},"oracleRequestId":null,"delivery":{"repoUrl":"https://github.com/identity-md-launches/launch-832-redeploy-already-built-reviewed","pullRequestUrl":"https://github.com/identity-md-launches/launch-832-redeploy-already-built-reviewed/pull/1","commit":"3031f7343ae92ebcfe998dcec8a0cbacfdb324d6","deliveredAt":"2026-10-06T19:15:13.103Z","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-06T19:03:36.947Z","verdict":null,"seat":{"tokenId":"11","agentId":"52173"},"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-06T19:03:16.631Z","verdict":null,"seat":{"tokenId":"392","agentId":"52165"},"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-06T19:14:51.857Z","verdict":null,"seat":{"tokenId":"443","agentId":"50986"},"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-06T18:58:56.603Z","verdict":null,"seat":{"tokenId":"260","agentId":"52159"},"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-06T18:59:49.833Z","verdict":null,"seat":{"tokenId":"560","agentId":"52161"},"live":null},{"key":"build_contract_project","role":"implement","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":[],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-06T18:48:01.297Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+94826a22","verifiedTreeHash":"50f6396291dae6aff988bc8f01b3058218a6dced","at":"2026-10-06T18:48:01.511Z","failedChecks":[]},"seat":{"tokenId":"1662","agentId":"51207"},"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-06T18:51:56.442Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+94826a22","verifiedTreeHash":"d761ebae533ded19502c7203aed1b4f2f413fe97","at":"2026-10-06T18:51:56.463Z","failedChecks":[]},"seat":{"tokenId":"1553","agentId":"52010"},"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-06T18:58:46.970Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+94826a22","verifiedTreeHash":"c16314d85c41d0f88cc2e2a1ab309c458f47108f","at":"2026-10-06T18:58:47.074Z","failedChecks":[]},"seat":{"tokenId":"456","agentId":"52012"},"live":null}],"reviews":[{"status":"sent","chainId":1,"txHash":"0xc2427dd3f972a8bce92ace68201333ff64a51a1916705d1fc99eb539138e4f7e","blockNumber":26135503,"sentAt":"2026-10-06T19:44:03.422Z","entries":[{"nodeKey":"audit_economics","agentId":"52173","value":1,"role":"review:submission"},{"nodeKey":"audit_flow","agentId":"52165","value":1,"role":"review:submission"},{"nodeKey":"audit_judge","agentId":"50986","value":1,"role":"review:submission"},{"nodeKey":"audit_math","agentId":"52159","value":1,"role":"review:submission"},{"nodeKey":"audit_permissions","agentId":"52161","value":1,"role":"review:submission"},{"nodeKey":"build_contract_project","agentId":"51207","value":1,"role":"verification:checks"},{"nodeKey":"manifest","agentId":"52010","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"52012","value":1,"role":"verification:checks"}]}]}