{"workflow":null,"planning":null,"id":"640b4951-f512-4415-ab2e-944462a2f5ba","state":"completed","template":"shape:chain","objective":"Build imd/acc on Sepolia (test run; contracts only, no token or pool): 0.5% trading cashback paid to traders as staked IMD (sIMD), funded from a project's existing fees. Owner: 0x4b91078b2374c956A65F7Af0999CaE0a935E6821\nDEPLOY (Sepolia, in this order):\n1. TestIMD: ERC20 \"Test IMD\"/tIMD, 18 dec, no premint. faucet() mints 10,000 tIMD to the caller, once per 24h per address.\n2. TestSIMD: a fork of POOL4 StakedIMD 0x9efa934d9fad4ae28c998a40195646b965a97247 (Ethereum). Asset TestIMD, owner $owner, name \"Test Staked IMD\"/tsIMD, logic unchanged; the owner keeps pause so integrators can test a failing vault.\n3. Stacker(TestIMD, TestSIMD): immutable; constructor requires sIMD.asset()==IMD, approves the vault once. No owner, admin or fee.\n\nSTACKER:\n- credit(trader, imdAmount) returns shares: pull imdAmount from msg.sender, call sIMD.deposit(imdAmount, trader), so the shares go straight to the trader. project = msg.sender. Trader 0 reverts; amount 0 returns 0, no event.\n- On-chain totals (IMD): traderStacked, projectStacked, stackedBy[project][trader], totalStacked; plus shares per trader and project.\n- event Stacked(address indexed project, address indexed trader, uint256 imd, uint256 shares).\n- IMD path only; the ETH batch route is v2.\n\nPAGE (static, IPFS label imd-acc-test, public RPCs):\n- Your stack: IMD stacked, points, sIMD held and its IMD value now, split per project.\n- Listed projects: a projects.json in the site ({address, name, fromBlock}; starts empty, PLEA's hook added later by a site update). Points and leaderboards count only Stacked events from listed projects at or after their fromBlock; others show as \"direct, no points\".\n- Leaderboards: top stackers and top listed projects by IMD stacked, from chunked Stacked logs.\n- Test tools: faucet, and \"stack to myself\" (approve + credit(self, x)), shown as direct.\n- The three addresses with explorer links.\n\nTESTS (Foundry): shares go only to the trader; totals and event match; many projects and traders; credit reverts cleanly when the vault is paused or allowance/balance is short (integrators use try/catch); faucet limit; fuzz; invariant: Stacker holds 0 IMD and 0 sIMD.\n\nDELIVER: the three addresses in the README; the PLEA job reuses them.","blockedReason":null,"createdAt":"2026-10-09T02:20:56.123Z","updatedAt":"2026-10-09T02:55:16.469Z","paidBy":"0xf8ad3f88b0e0d177aa8c5e6be1e13410fd41cdc7","parentJobId":null,"project":{"id":"640b4951-f512-4415-ab2e-944462a2f5ba","head":"5530dde0-f0f2-45c2-b18d-ea718fc458de","running":null,"versions":[{"jobId":"640b4951-f512-4415-ab2e-944462a2f5ba","workflowId":null,"objective":"Build imd/acc on Sepolia (test run; contracts only, no token or pool): 0.5% trading cashback paid to traders as staked IMD (sIMD), funded from a project's existing fees. Owner: 0x4b91078b2374c956A65F7Af0999CaE0a935E6821\nDEPLOY (Sepolia, in this order):\n1. TestIMD: ERC20 \"Test IMD\"/tIMD, 18 dec, no premint. faucet() mints 10,000 tIMD to the caller, once per 24h per address.\n2. TestSIMD: a fork of POOL4 StakedIMD 0x9efa934d9fad4ae28c998a40195646b965a97247 (Ethereum). Asset TestIMD, owner $owner, name \"Test Staked IMD\"/tsIMD, logic unchanged; the owner keeps pause so integrators can test a failing vault.\n3. Stacker(TestIMD, TestSIMD): immutable; constructor requires sIMD.asset()==IMD, approves the vault once. No owner, admin or fee.\n\nSTACKER:\n- credit(trader, imdAmount) returns shares: pull imdAmount from msg.sender, call sIMD.deposit(imdAmount, trader), so the shares go straight to the trader. project = msg.sender. Trader 0 reverts; amount 0 returns 0, no event.\n- On-chain totals (IMD): traderStacked, projectStacked, stackedBy[project][trader], totalStacked; plus shares per trader and project.\n- event Stacked(address indexed project, address indexed trader, uint256 imd, uint256 shares).\n- IMD path only; the ETH batch route is v2.\n\nPAGE (static, IPFS label imd-acc-test, public RPCs):\n- Your stack: IMD stacked, points, sIMD held and its IMD value now, split per project.\n- Listed projects: a projects.json in the site ({address, name, fromBlock}; starts empty, PLEA's hook added later by a site update). Points and leaderboards count only Stacked events from listed projects at or after their fromBlock; others show as \"direct, no points\".\n- Leaderboards: top stackers and top listed projects by IMD stacked, from chunked Stacked logs.\n- Test tools: faucet, and \"stack to myself\" (approve + credit(self, x)), shown as direct.\n- The three addresses with explorer links.\n\nTESTS (Foundry): shares go only to the trader; totals and event match; many projects and traders; credit reverts cleanly when the vault is paused or allowance/balance is short (integrators use try/catch); faucet limit; fuzz; invariant: Stacker holds 0 IMD and 0 sIMD.\n\nDELIVER: the three addresses in the README; the PLEA job reuses them.","baseCommit":"0243d7da4a4337ae8b16bcdf15bb4ead736fd68f","state":"completed","createdAt":"2026-10-09T02:20:56.123Z"},{"jobId":"5530dde0-f0f2-45c2-b18d-ea718fc458de","workflowId":null,"objective":"Continue imd/acc: host its test page against the live Sepolia launch (#1129). Deploy no contracts and change none.\n\nLive addresses (the launch's verified artifacts; use these, never placeholders):\n- TestIMD 0x2b69099e59b05901faa1dd164fabf098bf831e82\n- TestSIMD 0xf9e2eec3b610ec6781f7438ac5fb4bc049d81cc1\n- Stacker 0x293c7134ab8f6bf1d8ff44ed806575f8f1baf477\n- Stacker deploy block 11874601 (start of every log scan)\n\nStart from the existing static page in site/ and keep its scope:\n- site/config.json: fill addresses.testIMD/testSIMD/stacker and stackerDeployBlock 11874601. projects.json stays [] for now.\n- Your stack: IMD stacked, points, sIMD held and its IMD value now (convertToAssets), split per project.\n- Listed projects from projects.json {address, name, fromBlock}: points and leaderboards count only Stacked events from listed projects at or after their fromBlock; others show as \"direct, no points\".\n- Leaderboards: top stackers and top listed projects, from chunked Stacked logs.\n- Test tools: faucet (show the next allowed time from nextFaucetAt), and \"stack to myself\" (approve + credit(self, x)), shown as direct.\n- The three addresses with Sepolia explorer links, and the vault's paused/open state.\n- Wallet flow: connect, switch to Sepolia (11155111), per-button pending, success and error states; no horizontal scroll at 360px; light and dark.\n\nCheck it in a real browser against the live contracts: faucet, approve, credit, then the stack and leaderboard update. Update the README's address table with the three addresses. Host the page on IPFS with the label imd-acc-test.","baseCommit":"934fb40488bd8567ffee4f0b1f802bf078d081d9","state":"completed","createdAt":"2026-10-09T03:46:19.806Z"}]},"deliver":true,"host":false,"site":null,"launch":{"requested":true,"kind":"evm_contracts","id":"8e1fcd97-a3ff-4f90-adb8-3dc15b2dc2f1","status":"live","chainId":11155111},"oracleRequestId":null,"delivery":{"repoUrl":"https://github.com/identity-md-launches/launch-1129-build-imd-acc-sepolia-test","pullRequestUrl":"https://github.com/identity-md-launches/launch-1129-build-imd-acc-sepolia-test/pull/1","commit":"934fb40488bd8567ffee4f0b1f802bf078d081d9","deliveredAt":"2026-10-09T02:55:49.431Z","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-09T02:46:46.329Z","verdict":null,"seat":{"tokenId":"528","agentId":"51166"},"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-09T02:45:36.402Z","verdict":null,"seat":{"tokenId":"194","agentId":"51872"},"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-09T02:55:16.469Z","verdict":null,"seat":{"tokenId":"632","agentId":"52214"},"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-09T02:44:46.168Z","verdict":null,"seat":{"tokenId":"475","agentId":"51041"},"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-09T02:45:51.363Z","verdict":null,"seat":{"tokenId":"29","agentId":"51423"},"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-09T02:37:13.529Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+5d71dfd4","verifiedTreeHash":"86d98f69c318a3f25b0eb5a73a589ae52cba7c74","at":"2026-10-09T02:37:13.549Z","failedChecks":[]},"seat":{"tokenId":"158","agentId":"51474"},"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-09T02:38:32.986Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+5d71dfd4","verifiedTreeHash":"22def3c139f40079344fb4dabb788d6003e37575","at":"2026-10-09T02:38:33.006Z","failedChecks":[]},"seat":{"tokenId":"1489","agentId":"52251"},"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-09T02:53:24.207Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+5d71dfd4","verifiedTreeHash":"eb50b4c88f3211c2757cae2d86cc467baa18db72","at":"2026-10-09T02:53:24.211Z","failedChecks":[]},"seat":{"tokenId":"1160","agentId":"51881"},"live":null}],"reviews":[{"status":"queued","chainId":1,"txHash":null,"blockNumber":null,"sentAt":null,"entries":[{"nodeKey":"audit_economics","agentId":"51166","value":1,"role":"review:submission"},{"nodeKey":"audit_flow","agentId":"51872","value":1,"role":"review:submission"},{"nodeKey":"audit_judge","agentId":"52214","value":1,"role":"review:submission"},{"nodeKey":"audit_math","agentId":"51041","value":1,"role":"review:submission"},{"nodeKey":"audit_permissions","agentId":"51423","value":1,"role":"review:submission"},{"nodeKey":"build_contract_project","agentId":"51474","value":1,"role":"verification:checks"},{"nodeKey":"manifest","agentId":"52251","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"51881","value":1,"role":"verification:checks"}]}]}