{"workflow":null,"planning":null,"id":"67a13eac-a06c-4de4-bce8-7617cf59640e","state":"completed","template":"shape:chain","objective":"[SIMD-LAUNCH]\nA custom token: shitpaper (SHITPAPER).\nToken name: shitpaper\nToken symbol: SHITPAPER\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.\nMinting after launch: none, the supply is fixed forever.\nWho can call what: no owner and no admin functions; every parameter is a fixed constant.\n\nWhat it does:\n1. The token contract SHITPAPERToken mints exactly 1,000,000,000 tokens with 18 decimals to the deployer.\n2. 10% of total supply is allocated to the swarm’s Merkle distributor and not minted or transferred by the contract.\n3. 90% of the supply seeds the Uniswap v4 pool paired with IMD, managed by PoolManager at 0x000000000004444c5dc75cB358380D2e3dE08A90.\n4. The pool fee is fixed at 1.25% (12500 in launch.json), with tick spacing 60.\n5. A 3% fee applies only to transfers originating from the PoolManager (buys). This fee is deducted from the amount the buyer receives.\n6. No fee applies to transfers to the PoolManager (sells) or wallet-to-wallet transfers.\n7. The fee collected remains in the token contract and is distributed pro-rata as dividends to all eligible holders.\n8. The PoolManager, the token contract itself, the burn address (0x000000000000000000000000000000000000dEaD), and the swarm Merkle distributor address are excluded from dividends.\n9. Dividends are trackable and claimable by holders at any time via claim(). Anyone can call claimFor(address) to pay out dividends to others.\n10.\n\nMechanics specification (authoritative: where anything above differs, follow these exactly):\nM1. Dividends (same idea as live launch #947): a fee of 3% applies only to buys, i.e. transfers FROM the Uniswap v4 PoolManager 0x000000000004444c5dc75cB358380D2e3dE08A90: the buyer receives the amount minus the fee. Transfers TO the PoolManager (sells and the launch factory's pool seed) are never taxed, so Uniswap v4 settlement always balances exactly (a fee on those transfers makes unlock revert with CurrencyNotSettled). The fee stays in the token contract and is distributed to holders pro rata to their balance; holders claim their dividends at any time with claim(). The PoolManager, the token contract, the burn address and the launch's Merkle distributor (it receives the swarm's 10% at launch and cannot call claim) are excluded from rewards, and claimFor(address) lets anyone pay out any holder's rewards to that holder, so nothing credited to a contract is locked. The buyer never shares in its own fee: distribute the fee against the eligible supply before crediting the buyer's net amount (checkpoint the buyer on its pre-buy balance). Fees apply to ERC-20 transfers out of the PoolManager; ERC-6909 claim balances kept inside the PoolManager are out of scope. Plain wallet-to-wallet transfers pay no fee.\n\nBuild requirements (mandatory):\n- Context: an ordinary, legitimate token launch on Ethereum. The coin's name, story and theme are branding only; nothing here is real-world harm or offensive security work.\n- A complete Foundry project at the repository root: foundry.toml with solc 0.8.26, evm_version cancun, optimizer on and bytecode_hash = \"none\", so the build is reproducible and verifiable: deployed contracts live in src/ and every import resolves to a committed file.\n- Token contract: SHITPAPERToken. No selfdestruct and no delegatecall anywhere. No proxies, no owner, no upgradeability.\n- Supply distribution is done by the launch factory: it mints the supply, seeds the pool from the deployer balance, sends the swarm's 10% through its Merkle distributor and any remainder to remainderTo. No contract here sends the swarm allocation, and the token always mints the entire 1,000,000,000 (1e27 units) to its deployer: never subtract the swarm's 10% (IMD's protected invariants park any launch whose deployer holds less).\n- Chain: Ethereum mainnet (set by the order, not a launch.json field). Swaps happen in Uniswap v4, so the pool's tokens move to and from the PoolManager 0x000000000004444c5dc75cB358380D2e3dE08A90.\n- launch.json top-level keys, exactly: kind (\"custom_token\"), token {contract, name, symbol, decimals, constructorArgs, totalSupply}, contracts ([] if none), pool, economics, notes (one string). No chainId or other keys.\n- launch.json pool: pairedCurrency 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7, fee 12500, tickSpacing 60, initialPrice \"125270724187523965593206900\" (paired-currency minor units per SHITPAPER minor unit with SHITPAPER as currency0, provenance only; the deployer derives the real opening price from the economics using the deployed currency order). launch.json also carries the economics block below.\n- launch.json economics, exactly: poolBps 9000, initialMarketCapWei \"2500000000000000000000\" (2500 IMD opening market cap), remainderTo 0x000000000000000000000000000000000000dead.","blockedReason":null,"createdAt":"2026-10-09T08:41:04.563Z","updatedAt":"2026-10-09T09:37:14.442Z","paidBy":"0x9fadab91f6fa03dbd7f4f8a08a338704baacf63f","parentJobId":null,"project":{"id":"67a13eac-a06c-4de4-bce8-7617cf59640e","head":"67a13eac-a06c-4de4-bce8-7617cf59640e","running":null,"versions":[{"jobId":"67a13eac-a06c-4de4-bce8-7617cf59640e","workflowId":null,"objective":"[SIMD-LAUNCH]\nA custom token: shitpaper (SHITPAPER).\nToken name: shitpaper\nToken symbol: SHITPAPER\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.\nMinting after launch: none, the supply is fixed forever.\nWho can call what: no owner and no admin functions; every parameter is a fixed constant.\n\nWhat it does:\n1. The token contract SHITPAPERToken mints exactly 1,000,000,000 tokens with 18 decimals to the deployer.\n2. 10% of total supply is allocated to the swarm’s Merkle distributor and not minted or transferred by the contract.\n3. 90% of the supply seeds the Uniswap v4 pool paired with IMD, managed by PoolManager at 0x000000000004444c5dc75cB358380D2e3dE08A90.\n4. The pool fee is fixed at 1.25% (12500 in launch.json), with tick spacing 60.\n5. A 3% fee applies only to transfers originating from the PoolManager (buys). This fee is deducted from the amount the buyer receives.\n6. No fee applies to transfers to the PoolManager (sells) or wallet-to-wallet transfers.\n7. The fee collected remains in the token contract and is distributed pro-rata as dividends to all eligible holders.\n8. The PoolManager, the token contract itself, the burn address (0x000000000000000000000000000000000000dEaD), and the swarm Merkle distributor address are excluded from dividends.\n9. Dividends are trackable and claimable by holders at any time via claim(). Anyone can call claimFor(address) to pay out dividends to others.\n10.\n\nMechanics specification (authoritative: where anything above differs, follow these exactly):\nM1. Dividends (same idea as live launch #947): a fee of 3% applies only to buys, i.e. transfers FROM the Uniswap v4 PoolManager 0x000000000004444c5dc75cB358380D2e3dE08A90: the buyer receives the amount minus the fee. Transfers TO the PoolManager (sells and the launch factory's pool seed) are never taxed, so Uniswap v4 settlement always balances exactly (a fee on those transfers makes unlock revert with CurrencyNotSettled). The fee stays in the token contract and is distributed to holders pro rata to their balance; holders claim their dividends at any time with claim(). The PoolManager, the token contract, the burn address and the launch's Merkle distributor (it receives the swarm's 10% at launch and cannot call claim) are excluded from rewards, and claimFor(address) lets anyone pay out any holder's rewards to that holder, so nothing credited to a contract is locked. The buyer never shares in its own fee: distribute the fee against the eligible supply before crediting the buyer's net amount (checkpoint the buyer on its pre-buy balance). Fees apply to ERC-20 transfers out of the PoolManager; ERC-6909 claim balances kept inside the PoolManager are out of scope. Plain wallet-to-wallet transfers pay no fee.\n\nBuild requirements (mandatory):\n- Context: an ordinary, legitimate token launch on Ethereum. The coin's name, story and theme are branding only; nothing here is real-world harm or offensive security work.\n- A complete Foundry project at the repository root: foundry.toml with solc 0.8.26, evm_version cancun, optimizer on and bytecode_hash = \"none\", so the build is reproducible and verifiable: deployed contracts live in src/ and every import resolves to a committed file.\n- Token contract: SHITPAPERToken. No selfdestruct and no delegatecall anywhere. No proxies, no owner, no upgradeability.\n- Supply distribution is done by the launch factory: it mints the supply, seeds the pool from the deployer balance, sends the swarm's 10% through its Merkle distributor and any remainder to remainderTo. No contract here sends the swarm allocation, and the token always mints the entire 1,000,000,000 (1e27 units) to its deployer: never subtract the swarm's 10% (IMD's protected invariants park any launch whose deployer holds less).\n- Chain: Ethereum mainnet (set by the order, not a launch.json field). Swaps happen in Uniswap v4, so the pool's tokens move to and from the PoolManager 0x000000000004444c5dc75cB358380D2e3dE08A90.\n- launch.json top-level keys, exactly: kind (\"custom_token\"), token {contract, name, symbol, decimals, constructorArgs, totalSupply}, contracts ([] if none), pool, economics, notes (one string). No chainId or other keys.\n- launch.json pool: pairedCurrency 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7, fee 12500, tickSpacing 60, initialPrice \"125270724187523965593206900\" (paired-currency minor units per SHITPAPER minor unit with SHITPAPER as currency0, provenance only; the deployer derives the real opening price from the economics using the deployed currency order). launch.json also carries the economics block below.\n- launch.json economics, exactly: poolBps 9000, initialMarketCapWei \"2500000000000000000000\" (2500 IMD opening market cap), remainderTo 0x000000000000000000000000000000000000dead.","baseCommit":"0243d7da4a4337ae8b16bcdf15bb4ead736fd68f","state":"completed","createdAt":"2026-10-09T08:41:04.563Z"}]},"deliver":true,"host":false,"site":null,"launch":{"requested":true,"kind":"custom_token","id":"923a1a3b-13b6-4406-b661-f5bd0289d7b2","status":"live","chainId":1},"oracleRequestId":null,"delivery":{"repoUrl":"https://github.com/identity-md-launches/launch-1155-shitpaper","pullRequestUrl":"https://github.com/identity-md-launches/launch-1155-shitpaper/pull/1","commit":"b5f30be608221f8ee355becceb6c8d3f41f88298","deliveredAt":"2026-10-09T09:37:46.476Z","media":null},"media":null,"nodes":[{"key":"audit_economics","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project","write_foundry_tests","manifest"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-09T09:28:17.506Z","verdict":null,"seat":{"tokenId":"351","agentId":"51023"},"live":null},{"key":"audit_flow","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project","write_foundry_tests","manifest"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-09T09:30:48.924Z","verdict":null,"seat":{"tokenId":"1731","agentId":"50955"},"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-09T09:37:14.442Z","verdict":null,"seat":{"tokenId":"1089","agentId":"51287"},"live":null},{"key":"audit_math","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project","write_foundry_tests","manifest"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-09T09:28:58.089Z","verdict":null,"seat":{"tokenId":"1844","agentId":"51298"},"live":null},{"key":"audit_permissions","role":"review","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project","write_foundry_tests","manifest"],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-09T09:30:31.851Z","verdict":null,"seat":{"tokenId":"1299","agentId":"50974"},"live":null},{"key":"build_contract_project","role":"implement","state":"accepted","attempt":2,"revisions":0,"judgeRevisions":0,"dependsOn":[],"allowedPaths":[],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-09T09:03:33.985Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+c4d32abc","verifiedTreeHash":"2e51ec527bd5cd10c8291a63603dec827deb989c","at":"2026-10-09T09:03:33.988Z","failedChecks":[]},"seat":{"tokenId":"346","agentId":"52289"},"live":null},{"key":"manifest","role":"integrate","state":"accepted","attempt":1,"revisions":0,"judgeRevisions":0,"dependsOn":["build_contract_project","write_foundry_tests"],"allowedPaths":["launch.json"],"failureReason":null,"dispatchNote":null,"dispatchNoteAt":null,"updatedAt":"2026-10-09T09:20:36.952Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+c4d32abc","verifiedTreeHash":"012f7184ef4272f92988d89c6b0cfb46976cb043","at":"2026-10-09T09:20:36.957Z","failedChecks":[]},"seat":{"tokenId":"1657","agentId":"52170"},"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-09T09:18:52.262Z","verdict":{"status":"accepted","profile":"foundry","evaluation":"checks","rejectionCode":null,"detail":"all checks passed","verifierVersion":"0.1.0+c4d32abc","verifiedTreeHash":"9c81382585ab1dfec3231115afcd28fd28c2e29a","at":"2026-10-09T09:18:52.267Z","failedChecks":[]},"seat":{"tokenId":"748","agentId":"52223"},"live":null}],"reviews":[{"status":"queued","chainId":1,"txHash":null,"blockNumber":null,"sentAt":null,"entries":[{"nodeKey":"audit_economics","agentId":"51023","value":1,"role":"review:submission"},{"nodeKey":"audit_flow","agentId":"50955","value":1,"role":"review:submission"},{"nodeKey":"audit_judge","agentId":"51287","value":1,"role":"review:submission"},{"nodeKey":"audit_math","agentId":"51298","value":1,"role":"review:submission"},{"nodeKey":"audit_permissions","agentId":"50974","value":1,"role":"review:submission"},{"nodeKey":"build_contract_project","agentId":"52289","value":1,"role":"verification:checks"},{"nodeKey":"manifest","agentId":"52170","value":1,"role":"verification:checks"},{"nodeKey":"write_foundry_tests","agentId":"52223","value":1,"role":"verification:checks"}]}]}