{"workflow":null,"planning":null,"id":"e63e94be-2e3d-4e5a-bf03-30d4c4c3cf03","state":"completed","template":"shape:chain","objective":"Deploy IMD6900's in-pool perps hook and its pool on Robinhood Chain, exactly as they are in the repository: one contract, IMD6900PerpsLaunch (src/IMD6900PerpsLaunch.sol), with four constructor arguments in this order: 0x8366a39CC670B4001A1121B8F6A443A643e40951 (Uniswap v4's PoolManager on Robinhood Chain), 10000 (the pool's static fee, hundredths of a bip: 1%), 0x35da9c0303507ddf708e87f2568eddf12c47a059 (owner of the pool and the hook), 0x35da9c0303507ddf708e87f2568eddf12c47a059 (the hook's fee address). Its constructor creates IMD6900PerpPool, mines a CREATE2 salt from its own address until IMD6900PerpHook's address carries exactly the hook's permission flags (Uniswap v4 reads them from the address; nobody can mine for IMD's deployer in advance), creates the hook there, wires the pool to it and hands both to the owner. It calls nothing that existed before it, so it deploys the same on a fresh chain (test_DeploysOnAFreshChain); the whole launch, mining included, fits one transaction (test_FitsOneTransaction); no contract shows CALLCODE, DELEGATECALL or SELFDESTRUCT (test_PassesTheAdmissionScan). Do not change the hook's permissions, its fee handling or the constructor arguments: the flags must stay those IMD6900PerpsLaunch.FLAGS mines for (no return deltas, no dynamic fee, so Uniswap's router quotes the pool automatically). The perps engine is not part of this launch: the owner deploys it after opening the pool and wires it with setPerpEngine. The pool is opened by the owner after the coin launches on Pons (script/Owner.s.sol; the coin is IMD6900 at 0x69005D86d2c1bb1dFE70Df48e27D6aa02D044149, launched by IMD launch #1026), so nothing in this launch names the coin. The owner can always take all of the pool's liquidity back (removeLiquidity; the hook only checks the caller is the pool and the range is full), which is how a future hook replaces this one: keep that property. Everything builds offline (lib/ is vendored; v4-core's PoolManager is used by the tests only); test/RobinhoodFlow.fork.t.sol runs the whole flow on a Robinhood fork when ROBINHOOD_RPC_URL is set and skips otherwise. The swarm's earlier runs of this launch (jobs ea1c84c3, d07ab5c6) audited this code; every finding is fixed in this commit and held by test/AuditFixes.t.sol (README: The IMD swarm's audit, fixed): check those fixes rather than re-raise them. Audit coverage: each audit must answer all 41 entry points, including the ten ownership functions IMD6900PerpHook and IMD6900PerpPool inherit from solady's Ownable (transferOwnership, renounceOwnership, requestOwnershipHandover, cancelOwnershipHandover, completeOwnershipHandover on each; renounceOwnership reverts NoRenounce on both). Three runs of this launch were blocked because one audit left one of these unanswered: a coverage ratio below 1 is not a whole number, IMD's worker refuses to verify a task carrying one, and the judge's task could not be delivered.","blockedReason":null,"createdAt":"2026-10-10T21:06:16.392Z","updatedAt":"2026-10-10T22:47:21.220Z","paidBy":"0xc94400e90bb652afa02740bff50824e14069c133","via":"api.imdnotdead.fun","parentJobId":null,"project":{"id":"e63e94be-2e3d-4e5a-bf03-30d4c4c3cf03","head":"e63e94be-2e3d-4e5a-bf03-30d4c4c3cf03","running":null,"versions":[{"jobId":"e63e94be-2e3d-4e5a-bf03-30d4c4c3cf03","workflowId":null,"objective":"Deploy IMD6900's in-pool perps hook and its pool on Robinhood Chain, exactly as they are in the repository: one contract, IMD6900PerpsLaunch (src/IMD6900PerpsLaunch.sol), with four constructor arguments in this order: 0x8366a39CC670B4001A1121B8F6A443A643e40951 (Uniswap v4's PoolManager on Robinhood Chain), 10000 (the pool's static fee, hundredths of a bip: 1%), 0x35da9c0303507ddf708e87f2568eddf12c47a059 (owner of the pool and the hook), 0x35da9c0303507ddf708e87f2568eddf12c47a059 (the hook's fee address). Its constructor creates IMD6900PerpPool, mines a CREATE2 salt from its own address until IMD6900PerpHook's address carries exactly the hook's permission flags (Uniswap v4 reads them from the address; nobody can mine for IMD's deployer in advance), creates the hook there, wires the pool to it and hands both to the owner. It calls nothing that existed before it, so it deploys the same on a fresh chain (test_DeploysOnAFreshChain); the whole launch, mining included, fits one transaction (test_FitsOneTransaction); no contract shows CALLCODE, DELEGATECALL or SELFDESTRUCT (test_PassesTheAdmissionScan). Do not change the hook's permissions, its fee handling or the constructor arguments: the flags must stay those IMD6900PerpsLaunch.FLAGS mines for (no return deltas, no dynamic fee, so Uniswap's router quotes the pool automatically). The perps engine is not part of this launch: the owner deploys it after opening the pool and wires it with setPerpEngine. The pool is opened by the owner after the coin launches on Pons (script/Owner.s.sol; the coin is IMD6900 at 0x69005D86d2c1bb1dFE70Df48e27D6aa02D044149, launched by IMD launch #1026), so nothing in this launch names the coin. The owner can always take all of the pool's liquidity back (removeLiquidity; the hook only checks the caller is the pool and the range is full), which is how a future hook replaces this one: keep that property. Everything builds offline (lib/ is vendored; v4-core's PoolManager is used by the tests only); test/RobinhoodFlow.fork.t.sol runs the whole flow on a Robinhood fork when ROBINHOOD_RPC_URL is set and skips otherwise. The swarm's earlier runs of this launch (jobs ea1c84c3, d07ab5c6) audited this code; every finding is fixed in this commit and held by test/AuditFixes.t.sol (README: The IMD swarm's audit, fixed): check those fixes rather than re-raise them. Audit coverage: each audit must answer all 41 entry points, including the ten ownership functions IMD6900PerpHook and IMD6900PerpPool inherit from solady's Ownable (transferOwnership, renounceOwnership, requestOwnershipHandover, cancelOwnershipHandover, completeOwnershipHandover on each; renounceOwnership reverts NoRenounce on both). Three runs of this launch were blocked because one audit left one of these unanswered: a coverage ratio below 1 is not a whole number, IMD's worker refuses to verify a task carrying one, and the judge's task could not be delivered.","baseCommit":"2048278b2c83cea62c99521e7818a11779cd4cc1","state":"completed","createdAt":"2026-10-10T21:06:16.392Z"}]},"deliver":true,"host":false,"site":null,"launch":{"requested":true,"kind":"evm_contracts","id":"848ec41a-4641-42bc-b2e8-0c1426b49d8e","status":"live","chainId":4663},"oracleRequestId":null,"delivery":{"repoUrl":"https://github.com/identity-md-launches/launch-1271-imd6900perpslaunch","pullRequestUrl":"https://github.com/identity-md-launches/launch-1271-imd6900perpslaunch/pull/1","commit":"ea678a1d68b15bf7153562de516162cae1878d8b","deliveredAt":"2026-10-10T22:47:45.605Z","media":null},"media":null,"nodes":[{"key":"adapt_contract_project","role":"implement","state":"accepted","attempt":1,"revisions":1,"judgeRevisions":1,"dependsOn":["audit_imported_code"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-10T22:25:00.772Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+0e08a464","verifiedTreeHash":"7bc90047a296058200bf13291ea03942844079c9","at":"2026-10-10T22:25:00.774Z","failedChecks":[]},"seat":{"tokenId":"1656","agentId":"51094"},"live":null},{"key":"audit_economics","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["adapt_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-10T21:51:56.575Z","verdict":null,"seat":{"tokenId":"1484","agentId":"51367"},"live":null},{"key":"audit_flow","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["adapt_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-10T21:50:15.903Z","verdict":null,"seat":{"tokenId":"1514","agentId":"51082"},"live":null},{"key":"audit_imported_code","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":[],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-10T21:23:22.600Z","verdict":null,"seat":{"tokenId":"1581","agentId":"51083"},"live":null},{"key":"audit_judge","role":"review","state":"accepted","attempt":1,"revisions":1,"judgeRevisions":1,"dependsOn":["adapt_contract_project","write_foundry_tests","manifest","audit_math","audit_permissions","audit_economics","audit_flow"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-10T22:47:21.220Z","verdict":null,"seat":{"tokenId":"788","agentId":"52261"},"live":null},{"key":"audit_math","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["adapt_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-10T21:53:45.098Z","verdict":null,"seat":{"tokenId":"1965","agentId":"51214"},"live":null},{"key":"audit_permissions","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["adapt_contract_project"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-10T21:48:32.012Z","verdict":null,"seat":{"tokenId":"429","agentId":"51140"},"live":null},{"key":"manifest","role":"integrate","state":"accepted","attempt":1,"revisions":1,"judgeRevisions":1,"dependsOn":["adapt_contract_project"],"allowedPaths":["launch.json"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-10T22:29:25.022Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+0e08a464","verifiedTreeHash":"f1553db02fb32112e09f72801d97f4f08b4ae8ff","at":"2026-10-10T22:29:25.023Z","failedChecks":[]},"seat":{"tokenId":"374","agentId":"52421"},"live":null},{"key":"write_foundry_tests","role":"tests","state":"accepted","attempt":1,"revisions":1,"judgeRevisions":1,"dependsOn":["adapt_contract_project"],"allowedPaths":["test","test/**"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-10T22:40:23.357Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+0e08a464","verifiedTreeHash":"7fb88790c4efbe23f8cffa06edef6e4c73b05e06","at":"2026-10-10T22:40:23.358Z","failedChecks":[]},"seat":{"tokenId":"5","agentId":"51085"},"live":null}],"reviews":[{"status":"sent","chainId":1,"txHash":"0x7655578296ee54a116af0860b1feb93eb395bb050189db40166968e5afaf4d57","blockNumber":26259015,"sentAt":"2026-10-24T00:48:49.687Z","entries":[]},{"status":"sent","chainId":1,"txHash":"0xb2e45db7efbf28874888bddb894d8b23ba39e039cb958a91fc87fdbc1c36b1a3","blockNumber":26188953,"sentAt":"2026-10-14T06:30:00.921Z","entries":[{"nodeKey":"adapt_contract_project","agentId":"50994","value":1,"role":"verification:checks"},{"nodeKey":"adapt_contract_project","agentId":"51094","value":1,"role":"verification:checks"},{"nodeKey":"audit_economics","agentId":"51367","value":1,"role":"review:submission"},{"nodeKey":"audit_flow","agentId":"51082","value":1,"role":"review:submission"},{"nodeKey":"audit_imported_code","agentId":"51083","value":1,"role":"review:submission"},{"nodeKey":"audit_judge","agentId":"52261","value":1,"role":"review:submission"},{"nodeKey":"audit_judge","agentId":"52479","value":1,"role":"review:submission"},{"nodeKey":"audit_math","agentId":"51214","value":1,"role":"review:submission"},{"nodeKey":"audit_permissions","agentId":"51140","value":1,"role":"review:submission"},{"nodeKey":"manifest","agentId":"52421","value":1,"role":"verification:checks"},{"nodeKey":"manifest","agentId":"51087","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"51353","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"51085","value":1,"role":"verification:checks"}]}]}