{"assessments":[],"deployments":[],"fuzz":[],"identity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"interpretation":"Records acceptance and evidence. Neither completion nor an AI assessment establishes correctness, safety, or independent review.","jobId":"5a26ddee-092b-498c-b219-d71f04749989","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"6d1c9dcc5144ac883650d8b4081d61433f0e63049dd139bc47d8f0416137da5c","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","tools":[]},"key":"audit_economics","kind":"code","role":"review","skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"78341f3ff0db52c9bd4cc0545e4a50533b6a7258bf8fd5a0803b593cd44d76c6","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","tools":[]},"key":"audit_flow","kind":"code","role":"review","skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"ae94404a550617e0b59f96080fbf300ad4346bf68362cd5c11b5aef801eba458","dependsOn":["build_contract_project","write_foundry_tests","manifest","audit_math","audit_permissions","audit_economics","audit_flow"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"af3aa01159bbf354f621cafa5c0006f6169e0938a8b015be508b7377dbf165bc","skillId":"audit-judge","tools":[]},"key":"audit_judge","kind":"code","role":"review","skillHash":"af3aa01159bbf354f621cafa5c0006f6169e0938a8b015be508b7377dbf165bc","skillId":"audit-judge","state":"accepted"},{"acceptedSubmissionHash":"5e7bf84d40d1d3a94bb52a3e7e0ba6d40fcc539051ef6942c03713d25e285afc","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","tools":[]},"key":"audit_math","kind":"code","role":"review","skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"fc118f3c72dd4f47db8aa1ac42fdc640d571a789adfc76296049c279fecf6e4e","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","tools":[]},"key":"audit_permissions","kind":"code","role":"review","skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"9e7f0d845ba6617923577633d9483b6aaeb8f7ef978e75588c0709a48ec736ae","dependsOn":[],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"816fe39c7efd64504a19175b0f4dd9186d61069f37a22684c90358a18c60bddc","skillId":"build-contract-project","tools":[]},"key":"build_contract_project","kind":"code","role":"implement","skillHash":"816fe39c7efd64504a19175b0f4dd9186d61069f37a22684c90358a18c60bddc","skillId":"build-contract-project","state":"accepted"},{"acceptedSubmissionHash":"143f77c7e9cc4130d4502df2ea6b985b2cc4d8c08399fe35271c1d32ada984ac","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"ebf7e8162304c80d83db99311709890cd4bd5dd57eb43b75e5cf9785d7ccb016","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"ab3f8f2aa4e7f3b3ada558c0dcf522ba733ca3df3b1da92c707a0fe305816d5f","skillId":"write-foundry-tests","tools":[]},"key":"write_foundry_tests","kind":"code","role":"tests","skillHash":"ab3f8f2aa4e7f3b3ada558c0dcf522ba733ca3df3b1da92c707a0fe305816d5f","skillId":"write-foundry-tests","state":"accepted"}],"objective":"A custom token: Pleaimd (PLEA).\nToken name: Pleaimd\nToken symbol: PLEA\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.\nWhat it does: meme token on uniswap v4 built by the swarm","parentJobId":null,"planHash":"7a743213186e9b6153f93d1d4dc3d5790243ecca44de72f75931555259beef76","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"5a26ddee-092b-498c-b219-d71f04749989","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2572-pleaimd"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"53916","feedbackHash":"145529aa25f99eab6a2ad8b11463744c5f98bf82a04aa9fe4c0d4da478babfa9","nodeKey":"audit_economics","submissionHash":"6d1c9dcc5144ac883650d8b4081d61433f0e63049dd139bc47d8f0416137da5c","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51875","feedbackHash":"c16a639ee6eba83672710b0a17129229a6c675f351faa43fb773b3c05b87d5b6","nodeKey":"audit_flow","submissionHash":"78341f3ff0db52c9bd4cc0545e4a50533b6a7258bf8fd5a0803b593cd44d76c6","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51043","feedbackHash":"9e954a293a143b1767dcc63c939b8e479189437fa4d356ae732c954e328e0aed","nodeKey":"audit_judge","submissionHash":"ae94404a550617e0b59f96080fbf300ad4346bf68362cd5c11b5aef801eba458","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"50962","feedbackHash":"82e734e2e314b8b1b566df145c6b246967caac24a48800dab6f3124e64f8e529","nodeKey":"audit_math","submissionHash":"5e7bf84d40d1d3a94bb52a3e7e0ba6d40fcc539051ef6942c03713d25e285afc","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52481","feedbackHash":"540ad9d708b15d1866c7655d3078ce77c695bc2d851b8054e75b164285376219","nodeKey":"audit_permissions","submissionHash":"fc118f3c72dd4f47db8aa1ac42fdc640d571a789adfc76296049c279fecf6e4e","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52591","feedbackHash":"a61029f0e00e1f2f5fa6800f1c17d5ea680b2179cb657cfe4505112eaa3fbb08","nodeKey":"build_contract_project","submissionHash":"9e7f0d845ba6617923577633d9483b6aaeb8f7ef978e75588c0709a48ec736ae","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52340","feedbackHash":"6f7346c4a31d5dbce10970f3229de87d137a3f619bbb863b221f38d1b1ab0f12","nodeKey":"manifest","submissionHash":"143f77c7e9cc4130d4502df2ea6b985b2cc4d8c08399fe35271c1d32ada984ac","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52342","feedbackHash":"2ce81bbd2ecd6d55dd90460757f2083e15233ccb398c00df002c9f442cdd5971","nodeKey":"write_foundry_tests","submissionHash":"ebf7e8162304c80d83db99311709890cd4bd5dd57eb43b75e5cf9785d7ccb016","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"e1614ac4d0e2a2770df6b83f330d3336442bdad41aa684da10b3f6126949dae2","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":"a5ecee23862f9108fd8324b1c91d3dc73a68aba4be1e59a4c1304baff08bfa34","device":"d317cdd61f845fb5","findings":[],"hash":"143f77c7e9cc4130d4502df2ea6b985b2cc4d8c08399fe35271c1d32ada984ac","nodeId":"6b285dab-c2df-4130-b7cc-747203289d41","outcome":"completed","summary":"Created [launch.json](/home/imd/.identitymd/work/5a26ddee-092b-498c-b219-d71f04749989/6b285dab-c2df-4130-b7cc-747203289d41/launch.json) matching Pleaimd’s constructor, exact supply, pool settings, and economics.\n\n`forge build` succeeded; all 27 local tests passed with the supplied fuzz seed. Only `launch.json` is included in the deliverable changes.","treeHash":"08425bda0f72db10b9d983a47916c5a2df757efe","usage":{"cachedInputTokens":234112,"inputTokens":24582,"model":"gpt-6-astra","outputTokens":2620,"runtime":"codex","turns":4,"wallClockMs":96261}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"3f6a9bdd601cb99f","findings":[],"hash":"5e7bf84d40d1d3a94bb52a3e7e0ba6d40fcc539051ef6942c03713d25e285afc","nodeId":"da6a0375-fe53-4028-9a27-83e290dce64b","outcome":"completed","summary":"Nothing remains to request. The findings file is written and valid, the scratch directory is removed, and the working tree holds nothing else. The review is complete.\n\nThe math audit of the Pleaimd (PLEA) token found no defects. The findings file at `.imd-findings.json` holds an empty findings list and eight coverage rows, all marked `holds`.\n\nWhat I checked, against the Math Precision, Boundary and Numerical Gap guides:\n\n- **Supply constant** is exactly 10^27 base units. The literal compiles to a constant with no runtime arithmetic, and that constant appears in the bytecode. It fits in both uint128 and int128, so Uniswap v4 balance deltas cannot overflow for any launch flow.\n- **transfer and transferFrom** inherit OpenZeppelin v5.1.0 unchanged. The unchecked subtraction and addition only run after the balance and allowance checks, so no wrap is reachable. Scratch tests exercised amounts of zero, the full supply, supply plus one, and max uint, plus self-transfers and self-transferFrom.\n- **Allowance boundaries** behave as documented. Only an allowance of exactly max uint is infinite. Max minus one is decremented. A revert on balance or receiver restores the allowance atomically.\n- **approve** is a pure storage overwrite with no arithmetic. Zero spender reverts.\n- **Boundary guide steps** found nothing to enumerate. The compiled ABI exposes only the ERC-20 surface plus the supply constant. There is no external call, no payable function, no receive or fallback, no bytes decoding, and no sentinel branch that performs a mint or burn.\n- **Vendored dependencies** match upstream OpenZeppelin v5.1.0 byte for byte. I compared sha256 hashes of all five files against the raw files at the release tag.\n- **Static analysis lead** about the large numeric literal is a style note only. The value evaluates exactly and is not a defect.\n\nTest results:\n\n| Suite | Result |\n| --- | --- |\n| Project tests (26 unit and fuzz, 1 invariant) | all passed |\n| Scratch edge tests (10, including two 1000-run fuzzes) | all passed |\n\nCoverage rows were written for all three listed entry points, the constructor, and four invariants. No files in the repository were changed. The scratch test directory and temporary download directories were deleted.","treeHash":null,"usage":{"cachedInputTokens":667794,"inputTokens":50,"model":"claude-fable-5-1","outputTokens":14066,"runtime":"claude","turns":31,"wallClockMs":242203}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"505a745a77612e11","findings":[],"hash":"6d1c9dcc5144ac883650d8b4081d61433f0e63049dd139bc47d8f0416137da5c","nodeId":"487b6537-70d4-4609-8ac9-8c67514f9725","outcome":"completed","summary":"The review is complete. The economics audit found no defects, and the findings file records an empty list with nine coverage rows.\n\n**What was reviewed.** The token in `src/Pleaimd.sol` is an unmodified OpenZeppelin v5.1.0 ERC20 with one constructor mint of exactly 10^27 base units to the deployer. I checked it against the Economic Security, Invariant and Flow Gap guides, plus the launch floor in the protected harness.\n\n**What holds, with evidence.**\n- All three entry points behave as plain ERC-20: exact delivery, no fee, burn, tax, exemption list or external call. Reverts are atomic with ERC-6093 errors.\n- Supply cannot grow or be moved by a privileged hand. The ABI exposes no mint, burn, owner, pause, blacklist or upgrade function, and fourteen common admin selectors called from the factory all revert.\n- Launch flows arrive whole: ten percent to the distributor and on to a claimant, twenty percent pulled by a manager-style transferFrom, seventy percent to the requester, then a buy and sell round trip, with supply conserved throughout.\n- The compiled runtime contains no reachable DELEGATECALL, CALLCODE, SELFDESTRUCT, CALL or STATICCALL, has no receive or fallback, and is under the EIP-170 size limit.\n- The five vendored OpenZeppelin files are byte-identical to the v5.1.0 release.\n- The project's own 27 tests, including the 128-run invariant suite, pass under the pinned fuzz seed, and formatting is clean.\n\n**Not a defect, noted for the author.** Tokens sent to the token contract's own address are accepted and unrecoverable. This is standard ERC-20 behaviour and the README already documents it.\n\n**Out of reach.** The real Uniswap v4 seed and swap cannot be run here because v4-core is not vendored. The protected harness covers that at launch verification. No launch.json exists yet in this tree, so the only manifest facts checkable now are empty constructor arguments and the supply of 10^27.\n\nThe scratch test was removed after running, so no tracked file changed.","treeHash":null,"usage":{"cachedInputTokens":444810,"inputTokens":226,"model":"claude-fable-5-1","outputTokens":11686,"runtime":"claude","turns":22,"wallClockMs":165293}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"672c29f92850efe0","findings":[],"hash":"78341f3ff0db52c9bd4cc0545e4a50533b6a7258bf8fd5a0803b593cd44d76c6","nodeId":"f8c4fec7-0c64-4795-90e7-a65d2c73295f","outcome":"completed","summary":"Review complete. No defects found. The findings file holds an empty list and a nine-row coverage record, and the working tree is otherwise clean (git status shows only the ignored outputs; the scratch test was removed).\n\n**What the code is.** `src/Pleaimd.sol` is a 15-line wrapper over unmodified OpenZeppelin v5.1.0 ERC20. The constructor mints 1e27 units to msg.sender once, takes no arguments and no value, and nothing else is overridden. The only state-changing entry points are approve, transfer and transferFrom.\n\n**What I checked in my area.**\n- Execution Trace: traced each entry point through the vendored ERC20. Zero-address sentinels revert on both sender and receiver, balance underflow is checked before the unchecked writes, transferFrom spends allowance and moves balance in one frame so a revert restores both, and the max-allowance branch behaves as documented. Allowance residuals after a revert and the max-minus-one case were exercised in a scratch test.\n- Periphery: diffed every vendored OpenZeppelin file and its LICENSE against the upstream v5.1.0 tag. All byte-identical. No delegatecall, callcode or selfdestruct in source or in the reachable runtime, confirmed by replicating the protected harness opcode walk.\n- First Principles: the deployer assumption holds under CREATE2 from a factory contract (supply lands on the factory, not tx.origin). Decimals, name, symbol and supply match the stated manifest values. There is no path that changes supply after construction in either direction, since burns to the zero address revert.\n\n**Other checks.** Build, `forge fmt --check` and the project's 27 tests pass with the README's fuzz seed. A scratch test reproduced the launch flows (10% to distributor, 20% to pool, 70% to the requester address, then a claim) and every amount arrived whole. The aderyn large-numeric-literal lead is style only and was not reported.\n\n**Not reached.** The Uniswap v4 seed and swap in the protected harness need v4-core and launch helpers that are not in this repository, so I could not run them locally. A plain ERC20 with no transfer hooks gives no mechanism for those to fail, but that remains the verifier's run to confirm.","treeHash":null,"usage":{"cachedInputTokens":672148,"inputTokens":354,"model":"claude-fable-5-1","outputTokens":12157,"runtime":"claude","turns":29,"wallClockMs":222217}},{"artifacts":[],"attempt":1,"bundleHash":"f94796811bc83eb3998497f294287d6db37f89cadf24e284a1a3d7a0e72917d7","device":"75816c4fc9cac7f3","findings":[],"hash":"9e7f0d845ba6617923577633d9483b6aaeb8f7ef978e75588c0709a48ec736ae","nodeId":"8e917a05-aeef-4d17-82da-f8397e4d13ef","outcome":"completed","summary":"Implemented Pleaimd (PLEA): 1 billion tokens, 18 decimals, minted once to the deployer. Standard ERC-20 behavior with no taxes or administrative controls.\n\nVendored dependencies and documented deployment parameters and responsibilities.\n\nVerified with Solidity 0.8.26:\n\n- `forge build` passed.\n- `forge test` passed: 27 tests, using the specified fuzz seed.\n- `forge fmt --check` passed.","treeHash":"de167e8083d4f03ebe763deb0fe6d493e29eb701","usage":{"cachedInputTokens":467200,"inputTokens":37193,"model":"gpt-6.1-sol","outputTokens":9105,"runtime":"codex","turns":4,"wallClockMs":226855}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"2565f234b0a569e9","findings":[],"hash":"ae94404a550617e0b59f96080fbf300ad4346bf68362cd5c11b5aef801eba458","nodeId":"87b63e45-1f76-4b25-91af-7cedfaaceef4","outcome":"completed","summary":"The review is complete. The findings file is valid JSON and no tracked file was changed.\n\n**Result: no defects.** Pleaimd is an unmodified OpenZeppelin v5.1.0 ERC-20 with a zero-argument constructor that mints exactly the manifest supply to msg.sender. All four specialists reported nothing, and I confirmed that by reproduction rather than by agreement.\n\nWhat I verified:\n\n- **The three entry points** approve, transfer and transferFrom are the stock OpenZeppelin implementations. I traced each path by hand, including the zero-address, insufficient-balance and insufficient-allowance reverts, and the unlimited-allowance case.\n- **Vendored dependency integrity.** All five OpenZeppelin files in lib are byte-identical to the upstream v5.1.0 tag.\n- **Launch floor.** No reachable DELEGATECALL, CALLCODE or SELFDESTRUCT in the compiled runtime. Creation and runtime sizes are far under the protocol limits. No mint, owner, pause, blacklist or initialize function exists in the ABI, so no privileged call can grow the supply or freeze a holder.\n- **Deployability.** The constructor needs nothing the manifest does not give, so a CREATE2 deploy at any salt succeeds.\n- **Manifest.** launch.json uses only schema keys, has lowercase addresses, and its name, symbol, decimals, contract name and totalSupply all match the compiled contract.\n- **Project tests.** All 43 tests pass with the documented fuzz seed.\n\nThe aderyn large-numeric-literal lead is a style note. The literal evaluates to the correct supply, so it is not a defect.\n\nThe coverage record in `.imd-findings.json` answers all three entry points as holds, plus five invariant rows covering fixed supply, deployability, opcode safety, dependency integrity and manifest consistency.","treeHash":null,"usage":{"cachedInputTokens":359855,"inputTokens":322,"model":"claude-fable-5-1","outputTokens":7186,"runtime":"claude","turns":11,"wallClockMs":126047}},{"artifacts":[],"attempt":1,"bundleHash":"5a9b19b79c4a39b363bc15b121fae7b1ad2f7eb10c114a714cc891ba9c169600","device":"cd2c3a8d55620566","findings":[],"hash":"ebf7e8162304c80d83db99311709890cd4bd5dd57eb43b75e5cf9785d7ccb016","nodeId":"84d9c71e-e537-46ea-a4b5-7b2f0b5df1ab","outcome":"completed","summary":"Completed changes only under `test/`, adding failure-path and fuzz tests and strengthening stateful invariants.\n\nValidation passed with the required seed:\n- `forge build`\n- All 43 tests\n- 24,576 randomized invariant calls\n\nNo defects found. Live Uniswap v4 integration was not run locally; that remains covered by the external launch harness.","treeHash":"dac3dc1b7aa103031904142fff1354f6cd0ed2aa","usage":{"cachedInputTokens":956160,"inputTokens":77656,"model":"gpt-6-astra","outputTokens":15008,"runtime":"codex","turns":6,"wallClockMs":482907}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"a4e285247c6f8aed","findings":[],"hash":"fc118f3c72dd4f47db8aa1ac42fdc640d571a789adfc76296049c279fecf6e4e","nodeId":"0ec7c9e4-d2c1-4599-b1c4-79765715298e","outcome":"completed","summary":"The review is complete. The findings file at the repository root holds an empty finding list and a six-row coverage record, and the working tree is otherwise unchanged.\n\n**Result: no defects in the permissions area.** Pleaimd is a bare OpenZeppelin v5.1.0 ERC20 with no owner, no modifiers, no initializer, and no privileged selectors. The three entry points are all unprivileged and scoped to the caller.\n\nWhat I verified:\n\n- **Permission map is empty.** The compiled ABI exposes only the constructor, a public constant, six view functions, approve, transfer and transferFrom. There is no receive or fallback, and probes for owner, mint, burn, pause, blacklist, freeze, initialize and transferOwnership all revert from both the deployer and an attacker.\n- **No inconsistent guards.** Balances are written only through the inherited update path reached by transfer, transferFrom and the constructor. Allowances are written only by approve and by allowance spending, both keyed on the caller. No writer has a weaker guard than another.\n- **Deployer has no bypass.** With a holder funded, the deployer's transferFrom reverts with insufficient allowance, and the holder can still transfer after every privileged-selector probe. An attacker approving a spender writes only the attacker's own row.\n- **No asymmetry between branches.** transfer and transferFrom share one update path with no exempt, tax, or caller-class branch. Trust-gap seams need a privileged actor and none exists.\n- **Base contract is genuine.** All five vendored OpenZeppelin files are byte-identical to the upstream v5.1.0 tag, so nothing hidden is inherited.\n- **Static-analysis lead** about the large numeric literal is the supply constant, which equals the documented 10^27 base units. It is style only.\n\nChecks run: the existing 27 project tests plus a five-test scratch probe suite, all passing. The scratch tests were removed afterwards. No launch.json exists in the tree yet, so manifest review was not applicable.","treeHash":null,"usage":{"cachedInputTokens":385954,"inputTokens":258,"model":"claude-fable-5-1","outputTokens":8369,"runtime":"claude","turns":17,"wallClockMs":187422}}],"verification":[{"checks":[{"durationMs":1069,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 990.15ms\nCompiler run successful!\n","passed":true},{"durationMs":780,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 26 tests for test/Pleaimd.t.sol:PleaimdTest\n[PASS] testFuzz_delegatedTransfer(uint256,uint256) (runs: 1000, μ: 162890, ~: 164812)\nLogs:\n  Bound result 3146211857174405\n  Bound result 1\n\n[PASS] testFuzz_insufficientBalanceIsAtomic(uint256) (runs: 1000, μ: 69079, ~: 69424)\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129639955\n\n[PASS] testFuzz_transferConservesSupply(address,uint256) (runs: 1000, μ: 92829, ~: 93153)\nLogs:\n  Bound result 19902583281854164404594276\n\n[PASS] test_approveDoesNotRequireBalanceOrMoveFunds() (gas: 88891)\n[PASS] test_approveEmitsAndOverwritesAndRevokes() (gas: 182816)\n[PASS] test_approveZeroSpenderReverts() (gas: 30453)\n[PASS] test_constructorEmitsSingleMint() (gas: 9185)\n[PASS] test_create2MintsToFactoryAndLaunchDistributionIsExact() (gas: 622714)\n[PASS] test_deployerCannotSpendHolderBalanceWithoutApproval() (gas: 97076)\n[PASS] test_infiniteAllowanceIsNotDecremented() (gas: 128933)\n[PASS] test_metadataAndInitialSupply() (gas: 84215)\n[PASS] test_noAdministrativeOrSupplyChangingEntrypoints() (gas: 549911)\n[PASS] test_selfTransferDoesNotChangeBalance() (gas: 41144)\n[PASS] test_selfTransferStillRequiresBalance() (gas: 35908)\n[PASS] test_transferEmitsAndDeliversExactAmount() (gas: 91506)\n[PASS] test_transferEntireSupply() (gas: 75763)\n[PASS] test_transferFromAboveAllowanceIsAtomic() (gas: 115644)\n[PASS] test_transferFromAboveBalanceRestoresAllowance() (gas: 113524)\n[PASS] test_transferFromCannotUseAnotherSpendersAllowance() (gas: 103080)\n[PASS] test_transferFromConsumesFiniteAllowanceAndEmitsTransfer() (gas: 202073)\n[PASS] test_transferFromToZeroRestoresAllowance() (gas: 103759)\n[PASS] test_transferFromZeroSenderReverts() (gas: 35341)\n[PASS] test_transferInsufficientBalanceReverts() (gas: 44821)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71971)\n[PASS] test_zeroTransferEmitsWithoutBalance() (gas: 50476)\n[PASS] test_zeroTransferFromWithoutAllowance() (gas: 66200)\nSuite result: ok. 26 passed; 0 failed; 0 skipped; finished in 32.52ms (94.41ms CPU time)\n\nRan 1 test for test/Pleaimd.invariant.t.sol:PleaimdInvariantTest\n[PASS] invariant_supplyAndBalancesAreConserved() (runs: 128, calls: 8192, reverts: 0)\n\n╭--------------+--------------+-------+---------+----------╮\n| Contract     | Selector     | Calls | Reverts | Discards |\n+==========================================================+\n| TokenHandler | approve      | 2692  | 0       | 0        |\n|--------------+--------------+-------+---------+----------|\n| TokenHandler | transfer     | 2742  | 0       | 0        |\n|--------------+--------------+-------+---------+----------|\n| TokenHandler | transferFrom | 2758  | 0       | 0        |\n╰--------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 4538\n  Bound result 7\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 999999999999999999999995454\n  Bound result 20\n  Bound result 0\n  Bound result 744994965461314203320403687\n  Bound result 5\n  Bound result 5\n  Bound result 174074777462104007243856174\n  Bound result 1159\n  Bound result 0\n  Bound result 0\n  Bound result 2601\n  Bound result 2496\n  Bound result 690\n  Bound result 60000000000000000000\n  Bound result 13\n  Bound result 2\n  Bound result 262\n  Bound result 5144\n  Bound result 0\n  Bound result 2\n  Bound result 0\n  Bound result 3\n  Bound result 9\n  Bound result 9\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 678.58ms (677.25ms CPU time)\n\nRan 2 test suites in 679.99ms (711.11ms CPU time): 27 tests passed, 0 failed, 0 skipped (27 total tests)\n","passed":true},{"durationMs":54,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Pleaimd.approve(address,uint256)\",\"Pleaimd.transfer(address,uint256)\",\"Pleaimd.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"README.md\":115,\"foundry.toml\":18,\"launch.json\":20,\"remappings.txt\":2,\"src/Pleaimd.sol\":15,\"test/Pleaimd.invariant.t.sol\":74,\"test/Pleaimd.t.sol\":295},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"143f77c7e9cc4130d4502df2ea6b985b2cc4d8c08399fe35271c1d32ada984ac","verifiedTreeHash":"08425bda0f72db10b9d983a47916c5a2df757efe","verifierVersion":"0.1.0+fa479356"},{"checks":[{"durationMs":1801,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.69s\nCompiler run successful!\n","passed":true},{"durationMs":1118,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 26 tests for test/Pleaimd.t.sol:PleaimdTest\n[PASS] testFuzz_delegatedTransfer(uint256,uint256) (runs: 1000, μ: 162890, ~: 164812)\nLogs:\n  Bound result 615811401\n  Bound result 53715\n\n[PASS] testFuzz_insufficientBalanceIsAtomic(uint256) (runs: 1000, μ: 69079, ~: 69424)\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129640502\n\n[PASS] testFuzz_transferConservesSupply(address,uint256) (runs: 1000, μ: 92829, ~: 93153)\nLogs:\n  Bound result 382125854175532105612747766\n\n[PASS] test_approveDoesNotRequireBalanceOrMoveFunds() (gas: 88891)\n[PASS] test_approveEmitsAndOverwritesAndRevokes() (gas: 182816)\n[PASS] test_approveZeroSpenderReverts() (gas: 30453)\n[PASS] test_constructorEmitsSingleMint() (gas: 9185)\n[PASS] test_create2MintsToFactoryAndLaunchDistributionIsExact() (gas: 622714)\n[PASS] test_deployerCannotSpendHolderBalanceWithoutApproval() (gas: 97076)\n[PASS] test_infiniteAllowanceIsNotDecremented() (gas: 128933)\n[PASS] test_metadataAndInitialSupply() (gas: 84215)\n[PASS] test_noAdministrativeOrSupplyChangingEntrypoints() (gas: 549911)\n[PASS] test_selfTransferDoesNotChangeBalance() (gas: 41144)\n[PASS] test_selfTransferStillRequiresBalance() (gas: 35908)\n[PASS] test_transferEmitsAndDeliversExactAmount() (gas: 91506)\n[PASS] test_transferEntireSupply() (gas: 75763)\n[PASS] test_transferFromAboveAllowanceIsAtomic() (gas: 115644)\n[PASS] test_transferFromAboveBalanceRestoresAllowance() (gas: 113524)\n[PASS] test_transferFromCannotUseAnotherSpendersAllowance() (gas: 103080)\n[PASS] test_transferFromConsumesFiniteAllowanceAndEmitsTransfer() (gas: 202073)\n[PASS] test_transferFromToZeroRestoresAllowance() (gas: 103759)\n[PASS] test_transferFromZeroSenderReverts() (gas: 35341)\n[PASS] test_transferInsufficientBalanceReverts() (gas: 44821)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71971)\n[PASS] test_zeroTransferEmitsWithoutBalance() (gas: 50476)\n[PASS] test_zeroTransferFromWithoutAllowance() (gas: 66200)\nSuite result: ok. 26 passed; 0 failed; 0 skipped; finished in 27.00ms (79.49ms CPU time)\n\nRan 1 test for test/Pleaimd.invariant.t.sol:PleaimdInvariantTest\n[PASS] invariant_supplyAndBalancesAreConserved() (runs: 128, calls: 8192, reverts: 0)\n\n╭--------------+--------------+-------+---------+----------╮\n| Contract     | Selector     | Calls | Reverts | Discards |\n+==========================================================+\n| TokenHandler | approve      | 2692  | 0       | 0        |\n|--------------+--------------+-------+---------+----------|\n| TokenHandler | transfer     | 2742  | 0       | 0        |\n|--------------+--------------+-------+---------+----------|\n| TokenHandler | transferFrom | 2758  | 0       | 0        |\n╰--------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 4538\n  Bound result 7\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 999999999999999999999995454\n  Bound result 20\n  Bound result 0\n  Bound result 744994965461314203320403687\n  Bound result 5\n  Bound result 5\n  Bound result 174074777462104007243856174\n  Bound result 1159\n  Bound result 0\n  Bound result 0\n  Bound result 2601\n  Bound result 2496\n  Bound result 690\n  Bound result 60000000000000000000\n  Bound result 13\n  Bound result 2\n  Bound result 262\n  Bound result 5144\n  Bound result 0\n  Bound result 2\n  Bound result 0\n  Bound result 3\n  Bound result 9\n  Bound result 64\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 967.09ms (965.64ms CPU time)\n\nRan 2 test suites in 969.63ms (994.10ms CPU time): 27 tests passed, 0 failed, 0 skipped (27 total tests)\n","passed":true},{"durationMs":64,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Pleaimd.approve(address,uint256)\",\"Pleaimd.transfer(address,uint256)\",\"Pleaimd.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"README.md\":115,\"foundry.toml\":18,\"remappings.txt\":2,\"src/Pleaimd.sol\":15,\"test/Pleaimd.invariant.t.sol\":74,\"test/Pleaimd.t.sol\":295},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":1191,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":507,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/Pleaimd.sol:10: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"9e7f0d845ba6617923577633d9483b6aaeb8f7ef978e75588c0709a48ec736ae","verifiedTreeHash":"de167e8083d4f03ebe763deb0fe6d493e29eb701","verifierVersion":"0.1.0+fa479356"},{"checks":[{"durationMs":1566,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.48s\nCompiler run successful!\n","passed":true},{"durationMs":10237,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 15 tests for test/Pleaimd.adversarial.t.sol:PleaimdAdversarialTest\n[PASS] testFuzz_failedTransferFromRestoresFiniteAllowanceAndCanBeRetried(uint256,uint256) (runs: 1000, μ: 411545, ~: 411955)\nLogs:\n  Bound result 20417\n  Bound result 999999999999999999999983406\n\n[PASS] testFuzz_ownerAndSpenderAllowancesAreIndependent(uint256) (runs: 1000, μ: 444510, ~: 444368)\nLogs:\n  Bound result 100000000000000000000\n\n[PASS] testFuzz_replacingApprovalDoesNotAddToTheOldPermission(uint256,uint256) (runs: 1000, μ: 232254, ~: 232604)\nLogs:\n  Bound result 100000000000000000000\n\n[PASS] testFuzz_splitDelegatedTransferMatchesSingleDirectTransfer(uint256,uint256) (runs: 1000, μ: 284829, ~: 286699)\nLogs:\n  Bound result 14147\n  Bound result 8608\n\n[PASS] testFuzz_transfersRoundTripWithPreexistingBalances(uint256,uint256) (runs: 1000, μ: 308708, ~: 310049)\nLogs:\n  Bound result 1596\n  Bound result 4\n\n[PASS] test_approvalToZeroIsInvalidEvenForRevocation() (gas: 108347)\n[PASS] test_contractHolderReceivesApprovesAndReturnsExactSupply() (gas: 482647)\n[PASS] test_delegatedSelfTransferConsumesAllowanceAndEmits() (gas: 158765)\n[PASS] test_infiniteApprovalCanBeReplacedRevokedAndGrantedAgain() (gas: 412336)\n[PASS] test_maxMinusOneAllowanceIsFinite() (gas: 206653)\n[PASS] test_maximumTransferIsRejectedWithoutOverflowOrAllowanceLoss() (gas: 156542)\n[PASS] test_oneBaseUnitCanMoveAndReturnWithoutRounding() (gas: 210776)\n[PASS] test_ownerCallingTransferFromStillNeedsSelfApproval() (gas: 192323)\n[PASS] test_zeroReceiverRejectsZeroAndFullAmountWithInfiniteApproval() (gas: 149836)\n[PASS] test_zeroTransferFromEmitsAndPreservesAnExistingAllowance() (gas: 139610)\nSuite result: ok. 15 passed; 0 failed; 0 skipped; finished in 87.22ms (432.87ms CPU time)\n\nRan 26 tests for test/Pleaimd.t.sol:PleaimdTest\n[PASS] testFuzz_delegatedTransfer(uint256,uint256) (runs: 1000, μ: 162914, ~: 164812)\nLogs:\n  Bound result 403816107138894159974114434\n  Bound result 91457038235736173909968727\n\n[PASS] testFuzz_insufficientBalanceIsAtomic(uint256) (runs: 1000, μ: 69090, ~: 69424)\nLogs:\n  Bound result 52952165123967077740548543882669\n\n[PASS] testFuzz_transferConservesSupply(address,uint256) (runs: 1000, μ: 92952, ~: 93153)\nLogs:\n  Bound result 35304667299268731350844182\n\n[PASS] test_approveDoesNotRequireBalanceOrMoveFunds() (gas: 88891)\n[PASS] test_approveEmitsAndOverwritesAndRevokes() (gas: 182816)\n[PASS] test_approveZeroSpenderReverts() (gas: 30453)\n[PASS] test_constructorEmitsSingleMint() (gas: 9185)\n[PASS] test_create2MintsToFactoryAndLaunchDistributionIsExact() (gas: 622714)\n[PASS] test_deployerCannotSpendHolderBalanceWithoutApproval() (gas: 97076)\n[PASS] test_infiniteAllowanceIsNotDecremented() (gas: 128933)\n[PASS] test_metadataAndInitialSupply() (gas: 84215)\n[PASS] test_noAdministrativeOrSupplyChangingEntrypoints() (gas: 549911)\n[PASS] test_selfTransferDoesNotChangeBalance() (gas: 41144)\n[PASS] test_selfTransferStillRequiresBalance() (gas: 35908)\n[PASS] test_transferEmitsAndDeliversExactAmount() (gas: 91506)\n[PASS] test_transferEntireSupply() (gas: 75763)\n[PASS] test_transferFromAboveAllowanceIsAtomic() (gas: 115644)\n[PASS] test_transferFromAboveBalanceRestoresAllowance() (gas: 113524)\n[PASS] test_transferFromCannotUseAnotherSpendersAllowance() (gas: 103080)\n[PASS] test_transferFromConsumesFiniteAllowanceAndEmitsTransfer() (gas: 202073)\n[PASS] test_transferFromToZeroRestoresAllowance() (gas: 103759)\n[PASS] test_transferFromZeroSenderReverts() (gas: 35341)\n[PASS] test_transferInsufficientBalanceReverts() (gas: 44821)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71971)\n[PASS] test_zeroTransferEmitsWithoutBalance() (gas: 50476)\n[PASS] test_zeroTransferFromWithoutAllowance() (gas: 66200)\nSuite result: ok. 26 passed; 0 failed; 0 skipped; finished in 87.24ms (264.14ms CPU time)\n\nRan 2 tests for test/Pleaimd.invariant.t.sol:PleaimdInvariantTest\n[PASS] invariant_supplyAndBalancesAreConserved() (runs: 256, calls: 24576, reverts: 0)\n\n╭--------------+----------------------------+-------+---------+----------╮\n| Contract     | Selector                   | Calls | Reverts | Discards |\n+========================================================================+\n| TokenHandler | approve                    | 2235  | 0       | 0        |\n|--------------+----------------------------+-------+---------+----------|\n| TokenHandler | approveBoundary            | 2249  | 0       | 0        |\n|--------------+----------------------------+-------+---------+----------|\n| TokenHandler | rejectDelegatedOverBalance | 2251  | 0       | 0        |\n|--------------+----------------------------+-------+---------+----------|\n| TokenHandler | rejectOverAllowance        | 2099  | 0       | 0        |\n|--------------+----------------------------+-------+---------+----------|\n| TokenHandler | rejectOverspend            | 2275  | 0       | 0        |\n|--------------+----------------------------+-------+---------+----------|\n| TokenHandler | rejectZeroRecipient        | 2272  | 0       | 0        |\n|--------------+----------------------------+-------+---------+----------|\n| TokenHandler | rejectZeroSpender          | 2130  | 0       | 0        |\n|--------------+----------------------------+-------+---------+----------|\n| TokenHandler | revokeAndReject            | 2296  | 0       | 0        |\n|--------------+----------------------------+-------+---------+----------|\n| TokenHandler | transfer                   | 2243  | 0       | 0        |\n|--------------+----------------------------+-------+---------+----------|\n| TokenHandler | transferAll                | 2331  | 0       | 0        |\n|--------------+----------------------------+-------+---------+----------|\n| TokenHandler | transferFrom               | 2195  | 0       | 0        |\n╰--------------+----------------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 5017\n  Bound result 200000000000000000000000004\n  Bound result 1776933482\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007911352713081\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639932\n  Bound result 3900\n  Bound result 6916\n  Bound result 6919\n  Bound result 1\n  Bound result 2784\n  Bound result 5\n  Bound result 115792089237316195423570985008687907853269984665640364039457584007913129649029\n  Bound result 281360562920039991006252264\n  Bound result 9849\n  Bound result 0\n  Bound result 0\n  Bound result 624642510198282594017767118692334226029967798694\n  Bound result 9\n  Bound result 8190\n  Bound result 1460609908155819134181283070040663745455627430\n  Bound result 826447999330717220517677587599332867541302222062492722247373280560188745867\n  Bound result 0\n  Bound result 7\n  Bound result 6888\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129633070\n  Bound result 115792089237316195423570985008687907853269984665640164039457584007913129637405\n  Bound result 0\n  Bound result 9096\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129631113\n  Bound result 62135917667825411547574959468110470093336883\n  Bound result 20\n  Bound result 115792089237316195423570985008687907853269984665640364039580584007913129639935\n  Bound result 772\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640164039457584007913129644951\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 10\n  Bound result 4582\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129635361\n  Bound result 200000000000000000000000772\n  Bound result 9772\n  Bound result 40000000000000000000\n  Bound result 8873\n  Bound result 442049978449929568847598886893515975479460382\n  Bound result 115792089237316195423570985008687465803291534736071716440570690492920854995811\n  Bound result 799999999999999999999999217\n  Bound result 9\n  Bound result 12\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639934\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935\n  Bound result 115792089237316195423570985008687907853269984665640364039457584007913129639257\n  Bound result 100000000000000000000\n  Bound result 0\n  Bound result 101\n  Bound result 1301\n  Bound result 10\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129638643\n  Bound result 706980729\n  Bound result 4355706912820441\n  Bound result 6\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 57949455032319649038833040692605305809261768856443258876930786901385656771056\n  Bound result 115685268409993092769475888632165204088016431618394610325053594213054945737769\n  Bound result 90\n  Bound result 94\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129638657\n\n[PASS] test_handlerExercisesPositiveAmountsAndEveryRejection() (gas: 10195374)\nLogs:\n  Bound result 1\n  Bound result 1\n  Bound result 1\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935\n  Bound result 0\n  Bound result 1\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935\n  Bound result 1\n  Bound result 0\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 10.13s (10.14s CPU time)\n\nRan 3 test suites in 10.13s (10.31s CPU time): 43 tests passed, 0 failed, 0 skipped (43 total tests)\n","passed":true},{"durationMs":65,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Pleaimd.approve(address,uint256)\",\"Pleaimd.transfer(address,uint256)\",\"Pleaimd.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"README.md\":115,\"foundry.toml\":18,\"remappings.txt\":2,\"src/Pleaimd.sol\":15,\"test/Pleaimd.adversarial.t.sol\":313,\"test/Pleaimd.invariant.t.sol\":258,\"test/Pleaimd.t.sol\":295,\"test/README.md\":57},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"ebf7e8162304c80d83db99311709890cd4bd5dd57eb43b75e5cf9785d7ccb016","verifiedTreeHash":"dac3dc1b7aa103031904142fff1354f6cd0ed2aa","verifierVersion":"0.1.0+fa479356"}]}