{"workflow":null,"planning":null,"id":"2d95a791-c71a-48e0-b7c4-68a6fda3273c","state":"completed","template":"shape:chain","objective":"Bankers In Control (BIC) on Robinhood Chain, paired with IMD. 10% of the supply seeds the BIC/IMD\npool, 10% goes to the swarm, and the remaining 80% (800,000,000 BIC) goes to CharterClaim in the\nlaunch transaction. No website.\n\nBuild one contract, CharterClaim, for holders of the Founding Charter NFT. It has no owner, no\nadmin functions and no way to withdraw tokens. It must be named exactly CharterClaim, because the\nlaunch sends the 80% to it by that name.\n\nConstants:\n- CHARTER = 0x69101f92427376FA80476A997d024cf9dC3EaE39 (Founding Charter on Robinhood Chain).\n- MAX_ID = 1032. Do not read nextId(), because new Charters keep being minted.\n- SHARE = 800,000,000 BIC / 1032 per Charter ID. INSTANT = 10% of SHARE, REST = SHARE - INSTANT.\n- The constructor takes only the BIC token ($token).\n\nclaim(uint256[] ids), the 10%:\n- For each id: require 1 <= id <= MAX_ID, CHARTER.ownerOf(id) == msg.sender, and that the id has\n  no claimant yet.\n- Record msg.sender as the id's claimant before paying, then pay INSTANT for each id in one\n  transfer.\n- Repeating an id in the same array must fail.\n\nclaimRest(uint256[] ids), the 90%:\n- Require CHARTER.balanceOf(msg.sender) == 0, meaning the wallet holds no Founding Charter at all.\n- For each id: require msg.sender is the id's recorded claimant and its REST has not been paid.\n- Mark each id paid before paying, then pay REST for each id in one transfer.\n- This still works if the Charter was later revoked or burned.\n\nEach id pays out once in total: INSTANT to whoever claims it while holding it, then REST to that\nsame claimant once they hold no Charter.\n\nShares of IDs that never exist or are never claimed stay locked in the contract forever.\n\nViews: claimant(id), instantClaimed(id), restClaimed(id), and claimable(id, account) returning the\ninstant and rest amounts that account could claim now.\nEvents: Claimed(id, account, amount, bool rest).\n\nToken name: Bankers In Control\nToken symbol: BIC","blockedReason":null,"createdAt":"2026-10-13T03:07:31.376Z","updatedAt":"2026-10-13T04:02:51.552Z","paidBy":"0xfc3c962fad2c1cc77f1a0d46e7b8a2de79a21774","via":"explorer.imd.fun","parentJobId":null,"project":{"id":"2d95a791-c71a-48e0-b7c4-68a6fda3273c","head":"ba2ba31d-7c61-4671-b719-ee75f9aae1ea","running":null,"versions":[{"jobId":"2d95a791-c71a-48e0-b7c4-68a6fda3273c","workflowId":null,"objective":"Bankers In Control (BIC) on Robinhood Chain, paired with IMD. 10% of the supply seeds the BIC/IMD\npool, 10% goes to the swarm, and the remaining 80% (800,000,000 BIC) goes to CharterClaim in the\nlaunch transaction. No website.\n\nBuild one contract, CharterClaim, for holders of the Founding Charter NFT. It has no owner, no\nadmin functions and no way to withdraw tokens. It must be named exactly CharterClaim, because the\nlaunch sends the 80% to it by that name.\n\nConstants:\n- CHARTER = 0x69101f92427376FA80476A997d024cf9dC3EaE39 (Founding Charter on Robinhood Chain).\n- MAX_ID = 1032. Do not read nextId(), because new Charters keep being minted.\n- SHARE = 800,000,000 BIC / 1032 per Charter ID. INSTANT = 10% of SHARE, REST = SHARE - INSTANT.\n- The constructor takes only the BIC token ($token).\n\nclaim(uint256[] ids), the 10%:\n- For each id: require 1 <= id <= MAX_ID, CHARTER.ownerOf(id) == msg.sender, and that the id has\n  no claimant yet.\n- Record msg.sender as the id's claimant before paying, then pay INSTANT for each id in one\n  transfer.\n- Repeating an id in the same array must fail.\n\nclaimRest(uint256[] ids), the 90%:\n- Require CHARTER.balanceOf(msg.sender) == 0, meaning the wallet holds no Founding Charter at all.\n- For each id: require msg.sender is the id's recorded claimant and its REST has not been paid.\n- Mark each id paid before paying, then pay REST for each id in one transfer.\n- This still works if the Charter was later revoked or burned.\n\nEach id pays out once in total: INSTANT to whoever claims it while holding it, then REST to that\nsame claimant once they hold no Charter.\n\nShares of IDs that never exist or are never claimed stay locked in the contract forever.\n\nViews: claimant(id), instantClaimed(id), restClaimed(id), and claimable(id, account) returning the\ninstant and rest amounts that account could claim now.\nEvents: Claimed(id, account, amount, bool rest).\n\nToken name: Bankers In Control\nToken symbol: BIC","baseCommit":"0243d7da4a4337ae8b16bcdf15bb4ead736fd68f","state":"completed","createdAt":"2026-10-13T03:07:31.376Z"},{"jobId":"ba2ba31d-7c61-4671-b719-ee75f9aae1ea","workflowId":null,"objective":"It should explain the project, how it works, and allow users to claim tokens. \n\nMake it sound fun, that the Bankers are taking over and it's a golden handcuff situation to burn charters.","baseCommit":"8221822a3749195df6b6b355a832d147ec98e3bf","state":"completed","createdAt":"2026-10-13T04:12:24.295Z"}]},"deliver":true,"host":false,"site":null,"launch":{"requested":true,"kind":"evm_project","id":"056c617a-2c6b-457d-8fb1-9e0d8a4c9469","status":"live","chainId":4663},"oracleRequestId":null,"delivery":{"repoUrl":"https://github.com/identity-md-launches/launch-1497-bankers-in-control","pullRequestUrl":"https://github.com/identity-md-launches/launch-1497-bankers-in-control/pull/1","commit":"8221822a3749195df6b6b355a832d147ec98e3bf","deliveredAt":"2026-10-13T04:03:14.591Z","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-13T03:29:47.101Z","verdict":null,"seat":{"tokenId":"377","agentId":"51452"},"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-13T03:24:26.880Z","verdict":null,"seat":{"tokenId":"963","agentId":"51534"},"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-13T04:02:51.552Z","verdict":null,"seat":{"tokenId":"1832","agentId":"51430"},"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-13T03:28:15.139Z","verdict":null,"seat":{"tokenId":"1014","agentId":"52681"},"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-13T03:29:03.417Z","verdict":null,"seat":{"tokenId":"999","agentId":"52287"},"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-13T03:23:22.098Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+327e1e9f","verifiedTreeHash":"e25c4abc955d60115d979eb4a318b6e5a81f6828","at":"2026-10-13T03:22:19.687Z","failedChecks":[]},"seat":{"tokenId":"1877","agentId":"52221"},"live":null},{"key":"manifest","role":"integrate","state":"accepted","attempt":2,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project"],"allowedPaths":["launch.json"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-13T03:25:07.113Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+327e1e9f","verifiedTreeHash":"87050753845c68563d43f3ead0642b294e2e8d1d","at":"2026-10-13T03:25:07.116Z","failedChecks":[]},"seat":{"tokenId":"302","agentId":"52022"},"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-13T03:53:04.579Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+327e1e9f","verifiedTreeHash":"bae842d30a6c596c363dac832d92944b86982965","at":"2026-10-13T03:53:04.580Z","failedChecks":[]},"seat":{"tokenId":"248","agentId":"50984"},"live":null}],"reviews":[{"status":"sent","chainId":1,"txHash":"0x0169bb5a45923046d008ca635d7826e873cf29df82f80a22e08f413810be0cc3","blockNumber":26206766,"sentAt":"2026-10-16T18:03:14.944Z","entries":[]},{"status":"sent","chainId":1,"txHash":"0x7a3c0390c54c25b7c3674a408974850f6d1a5f549516eff7e85327be52959d8c","blockNumber":26189922,"sentAt":"2026-10-14T09:44:25.181Z","entries":[{"nodeKey":"audit_economics","agentId":"51452","value":1,"role":"review:submission"},{"nodeKey":"audit_flow","agentId":"51534","value":1,"role":"review:submission"},{"nodeKey":"audit_judge","agentId":"51430","value":1,"role":"review:submission"},{"nodeKey":"audit_math","agentId":"52681","value":1,"role":"review:submission"},{"nodeKey":"audit_permissions","agentId":"52287","value":1,"role":"review:submission"},{"nodeKey":"build_contract_project","agentId":"52221","value":1,"role":"verification:checks"},{"nodeKey":"manifest","agentId":"52022","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"50984","value":1,"role":"verification:checks"}]}]}