{"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":"1842371b-c584-4bc8-8788-3da2e2cdca96","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"33dbe5897267cbe85abedc83a2d714688e5e3d2a054408dd8d4f7d39c0c81ebf","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":"616eeee61d45aa6c69b27d62dfc939f09cd4a45c5145c1a47f7fd8ca25539aea","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":"0da2ce134c0c40c12262b89d5ed6a53a9bc849da2d824b5279d553841f2a964a","dependsOn":["build_contract_project","write_foundry_tests","manifest","audit_math","audit_permissions","audit_economics","audit_flow"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"3014f1ea5961918ca059453a484bf4c8bcbbfc2248dbe31d94ac7c5cdf8f50bd","skillId":"audit-judge","tools":[]},"key":"audit_judge","kind":"code","role":"review","skillHash":"3014f1ea5961918ca059453a484bf4c8bcbbfc2248dbe31d94ac7c5cdf8f50bd","skillId":"audit-judge","state":"accepted"},{"acceptedSubmissionHash":"5fa0174f31678e805f21f538f98030b4f360d4af76a5ce3a5b67d1528e62a0d2","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":"3bc8bd6448cf83538422023ed3ada9c1550ba610bed116110e40fa9e8ba06e66","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":"37f902ae7f99a00d7a5d8b96475952242d54c10901a3ebc0f3c46ba53027d13e","dependsOn":[],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"587567a5ef71546b5973ceaf6ef1dbbd590f49503b5ac9a6973ed86b89584857","skillId":"build-contract-project","tools":[]},"key":"build_contract_project","kind":"code","role":"implement","skillHash":"587567a5ef71546b5973ceaf6ef1dbbd590f49503b5ac9a6973ed86b89584857","skillId":"build-contract-project","state":"accepted"},{"acceptedSubmissionHash":"6a3aa7ed1a5150d711865b1d42d91ff4d5d19ef0e95820a57568fa24ee070cf9","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"a54af8308eeec43166d1f5ef9d32c7a074412d43012a97a165c8a04f7d77fff5","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"73431852439ad3a343f3d2b7db1c43cd363b9f48f9bb51497374a0cf6d50b223","skillId":"write-foundry-tests","tools":[]},"key":"write_foundry_tests","kind":"code","role":"tests","skillHash":"73431852439ad3a343f3d2b7db1c43cd363b9f48f9bb51497374a0cf6d50b223","skillId":"write-foundry-tests","state":"accepted"}],"objective":"A custom token: Swarm Pepes (SPEPE).\nToken name: Swarm Pepes\nToken symbol: SPEPE\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.","parentJobId":null,"planHash":"32d31367ac00e5c5278d0662f4fa703aa5d7a1a72d9a0f909169d853851828b3","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"1842371b-c584-4bc8-8788-3da2e2cdca96","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-1039-swarm-pepes"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"51139","feedbackHash":"49edaccc235dd9b2cf9d964fa80d27fe18533e57adc9c2f9350e8e1726cd7177","nodeKey":"audit_economics","submissionHash":"33dbe5897267cbe85abedc83a2d714688e5e3d2a054408dd8d4f7d39c0c81ebf","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51319","feedbackHash":"04017c1355ca5a3161f4648054994925395a022f61973a3c126a577bb2dfe091","nodeKey":"audit_flow","submissionHash":"616eeee61d45aa6c69b27d62dfc939f09cd4a45c5145c1a47f7fd8ca25539aea","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52287","feedbackHash":"65002d68f21f40f1d413e3ca482e636028a3b8af3ed9a9647afd6fdba4b4dfe7","nodeKey":"audit_judge","submissionHash":"0da2ce134c0c40c12262b89d5ed6a53a9bc849da2d824b5279d553841f2a964a","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52220","feedbackHash":"4449123eaa86ebef7c7c74ab890329aeac1acaee72d3315d4dd7f2c85298e52e","nodeKey":"audit_math","submissionHash":"5fa0174f31678e805f21f538f98030b4f360d4af76a5ce3a5b67d1528e62a0d2","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52179","feedbackHash":"35c5e7a1195959d63bb3854d73c4d63d58c4157134e57d0a62b06ac268ab5aa4","nodeKey":"audit_permissions","submissionHash":"3bc8bd6448cf83538422023ed3ada9c1550ba610bed116110e40fa9e8ba06e66","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52172","feedbackHash":"3473358663202188643c69402134855e63c22e8b0bde21459055be952deda3c0","nodeKey":"build_contract_project","submissionHash":"37f902ae7f99a00d7a5d8b96475952242d54c10901a3ebc0f3c46ba53027d13e","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51178","feedbackHash":"1792b5f2bb8e57b1d06219b77b4734daf1649acffa963126a4aad6057e120949","nodeKey":"manifest","submissionHash":"6a3aa7ed1a5150d711865b1d42d91ff4d5d19ef0e95820a57568fa24ee070cf9","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52221","feedbackHash":"47f2ecf776955459cbb2adae94030d16cca8b62bcc2116dd682ca2b8e0fbd8a3","nodeKey":"write_foundry_tests","submissionHash":"a54af8308eeec43166d1f5ef9d32c7a074412d43012a97a165c8a04f7d77fff5","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"0ba820952b953b7f03d6cb280c21df15efc6dfcf009bc61d3ad8b8d5b8eebdf0","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":null,"device":"99c6d0bcc495ad61","findings":[],"hash":"0da2ce134c0c40c12262b89d5ed6a53a9bc849da2d824b5279d553841f2a964a","nodeId":"b0311ac8-b81f-4035-b5ba-423c7561b1a2","outcome":"completed","summary":"The review is complete. The findings file holds an empty list and nine coverage rows, and the tree is otherwise unchanged. Nothing further is needed.\n\n**Outcome: no defects found.** The five specialists reported nothing, and I reproduced nothing against the code either. `.imd-findings.json` is written with `{\"findings\": []}` and a coverage record answering all three entry points plus five invariant rows.\n\n**What the token is.** `src/SwarmPepes.sol` is a 12-line contract: it inherits OpenZeppelin ERC20 and mints the fixed supply to the deployer in the constructor. It adds no functions of its own.\n\n**What I verified.**\n- The vendored OpenZeppelin files are byte-identical to upstream v5.0.2. I fetched the five files and ran a recursive diff, which was empty. No git submodule exists.\n- A scratch test deployed the token from a contract and confirmed the supply equals the manifest's 1e27, the deployer holds all of it, decimals are 18, and name and symbol match.\n- An opcode scan of the compiled runtime found no DELEGATECALL, CALLCODE, SELFDESTRUCT, or any external call. There is no fallback or receive, and mint and burn selectors revert.\n- The project's own suite passes: 32 tests including a 256-run invariant campaign with no reverts.\n- The manifest's `initialPrice` equals the exact integer square root of the cap-to-supply ratio scaled by 2^96, so the provenance figure is correct.\n\n**Static-analysis lead dropped.** Aderyn's large-numeric-literal note is a style remark. The literal uses digit separators and evaluates to exactly the manifest supply.\n\n**Trust assumptions.** There are none: no owner, no roles, no pause, no upgrade path. The standard ERC-20 approve front-running property applies, as it does to every OpenZeppelin v5 token, and is not a defect in this code.","treeHash":null,"usage":{"cachedInputTokens":632305,"inputTokens":386,"model":"claude-fable-5-1","outputTokens":7608,"runtime":"claude","turns":13,"wallClockMs":142085}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"8d26cb1a4eaeb75a","findings":[],"hash":"33dbe5897267cbe85abedc83a2d714688e5e3d2a054408dd8d4f7d39c0c81ebf","nodeId":"6d91dae3-f1c9-4de1-966f-620ead415b39","outcome":"completed","summary":"The review is complete. The findings file is written and valid, the scratch directory is removed, and the working tree is clean.\n\n**Result: no defects found in the economics area.** The file `.imd-findings.json` holds an empty findings list and nine coverage rows.\n\n**What the token is.** A single contract that inherits the unmodified OpenZeppelin v5.0.2 ERC20 and mints the whole supply to the deployer in an argument-free constructor. There is no owner, mint, burn, pause, blacklist, fee, hook, initializer or proxy.\n\n**What I verified**\n\n- **Entry points.** All three listed functions trace to stock OpenZeppelin code with no overrides. Each marked `holds`.\n- **Supply invariants.** The only mint is in the constructor and equals exactly 1,000,000,000 tokens at 18 decimals. Sum of balances equals total supply under fuzzing. Privileged-signature probes from the factory address all revert and leave supply unchanged.\n- **Launch flows.** A scratch Foundry test deployed the token through a CREATE2 factory probe, moved the ten percent swarm share, claimed it, had a manager probe pull the seed via allowance, forwarded the remainder, and ran a trader buy and sell. Every leg moved the exact amount with zero residual allowance, fuzzed across pool shares of 1 to 9000 basis points.\n- **Dependency integrity.** The five vendored OpenZeppelin files are byte-identical to a tagged v5.0.2 git checkout found elsewhere on disk. No submodule is present.\n- **Existing suite.** The project's 18 tests pass.\n\n**One row marked unreached.** The runtime opcode scan for DELEGATECALL, CALLCODE and SELFDESTRUCT. It is outside the economics area, no scripting runtime was available to scan the bytes, and the protected test already performs that check. The source contains no assembly, delegatecall or selfdestruct.\n\n**Static analysis leads.** Slither reported nothing. Aderyn's large-numeric-literal note is the supply constant, which matches the manifest supply exactly and is not a defect.\n\n**Not reported.** The standard ERC-20 approve race and tokens sent to the token's own address are inherent to the standard, documented in the README, and not defects of this implementation.","treeHash":null,"usage":{"cachedInputTokens":653028,"inputTokens":322,"model":"claude-fable-5-1","outputTokens":11186,"runtime":"claude","turns":19,"wallClockMs":184449}},{"artifacts":[],"attempt":1,"bundleHash":"c4769b6fb1f107480304bc6639205d00c232d9553e9d6e1b40485df32dd12356","device":"7a2710990fabf59a","findings":[],"hash":"37f902ae7f99a00d7a5d8b96475952242d54c10901a3ebc0f3c46ba53027d13e","nodeId":"eb77b5a0-a30b-4740-b1fa-32178219efd3","outcome":"completed","summary":"Implemented [SwarmPepes.sol](src/SwarmPepes.sol): 1 billion SPEPE, 18 decimals, minted once to the deployer.\n\nVendored dependencies support offline builds. [README.md](README.md) documents assumptions, deployment, and responsibilities.\n\nPassed with Solidity 0.8.26:\n\n- `forge build`\n- `forge test` — 18 tests, including fuzz tests\n- `forge fmt --check`","treeHash":"03cb42f7d7f03249af71fee3b38cdf46f69c1514","usage":{"cachedInputTokens":157184,"inputTokens":28175,"model":"gpt-6.1-sol","outputTokens":5239,"runtime":"codex","turns":4,"wallClockMs":153540}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"02f22d6f13810ca8","findings":[],"hash":"3bc8bd6448cf83538422023ed3ada9c1550ba610bed116110e40fa9e8ba06e66","nodeId":"b0a25463-464d-46ee-ac3f-8afa42765f1c","outcome":"completed","summary":"The review is complete. The findings file is in place at the repository root, the scratch directory is removed, and no source or configuration file was changed.\n\n**Result: no defects in the Access Control, Trust Gap or Asymmetry areas.** The file `.imd-findings.json` holds an empty findings list and 11 coverage rows.\n\n**What was checked**\n\n- **Permission model.** The token has no owner, roles, modifiers, initializer, proxy, `receive` or `fallback`. The compiled ABI exposes exactly three state-changing functions, all unrestricted by design of ERC-20. A bytecode scan found no CALL-family, DELEGATECALL, CALLCODE or SELFDESTRUCT opcodes.\n- **Entry points.** `approve`, `transfer` and `transferFrom` were traced through the vendored OpenZeppelin code. Each writes only the caller's own balance or allowance, `from == address(0)` reverts even at zero value, and the factory cannot pull a holder's tokens without allowance.\n- **Constructor and launch flow.** The argument-free constructor mints exactly 1e27 minor units once to `msg.sender`, which is the factory under CREATE2. With no transfer rules, the swarm share, a claim and pool flows move exact amounts. A scratch test confirmed this plus the revert of unknown selectors and any ETH sent to the token.\n- **Dependency integrity.** All five vendored OpenZeppelin files hash byte-identical to upstream v5.0.2 and are tracked as ordinary git files, not a submodule.\n- **Static analysis leads.** Slither reported nothing. The aderyn large-literal note is style only, and the existing test asserts the supply equals one billion tokens.\n\n**Trust assumption recorded, not a defect.** The deployer holds the whole supply at construction. The token gives it no power beyond an ordinary holder's, so distribution correctness rests on the factory and launch policy.\n\n**Not reported as findings.** The standard ERC-20 approve replacement race is inherent to the requested design and already documented in the README. The existing 18-test suite passes.","treeHash":null,"usage":{"cachedInputTokens":734794,"inputTokens":290,"model":"claude-fable-5-1","outputTokens":13791,"runtime":"claude","turns":32,"wallClockMs":198390}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"4ca9ed4f0937da89","findings":[],"hash":"5fa0174f31678e805f21f538f98030b4f360d4af76a5ce3a5b67d1528e62a0d2","nodeId":"0e560750-e456-4bea-a34f-31bb05c07a2b","outcome":"completed","summary":"I found no math-precision, boundary or numerical-gap defects in Swarm Pepes (SPEPE). `.imd-findings.json` holds an empty findings list and a coverage record. All 18 tests in the existing suite pass, and I changed no other files.\n\n**What I checked:**\n- **The token itself:** `src/SwarmPepes.sol` is a plain OpenZeppelin v5 ERC20. Its only addition is a constant `INITIAL_SUPPLY = 1_000_000_000 * 10 ** 18`, which works out to exactly 1e27. The constructor mints that once to the deployer, and decimals are 18, matching the brief.\n- **`transfer` / `transferFrom`:**\n  - The balance is checked before the unchecked subtraction.\n  - Adding to the recipient can't overflow, because all balances together equal the total supply (1e27, far below 2^256).\n  - There is no fee, tax or rounding, so the amount sent is exactly the amount received.\n  - An allowance is checked before it is reduced, and the maximum allowance stays unlimited, as standard.\n- **`approve`:** It stores the value as given, with no arithmetic, and rejects zero addresses.\n- **Launch splits:** 1e27 divides evenly by 10,000. So the swarm's 10% (1e26) and any pool share in basis points come out exact, with nothing lost to rounding.\n- **Supply growth:** There is no mint or burn function after the constructor, so the supply can't grow.\n\n**Static-analysis lead:** The aderyn \"large numeric literal\" warning at line 8 is about style only; the value is correct.\n\n**Coverage:** All three entry points (`approve`, `transfer`, `transferFrom`) are marked `holds`, plus rows for the supply, exact-split and fixed-supply invariants.\n\n**Outside my area:** The protected launch test imports `src/LaunchLiquidity.sol`, `PoolInitializationGuard` and `HookFlags`, and also uses Uniswap v4-core. None of these are in this tree: `src/` has only `SwarmPepes.sol`, and `lib/` has only OpenZeppelin. As written it couldn't compile here, so I didn't run it, and the seed and swap flow is unverified in this review. I assume the verifier supplies those files, but that's worth confirming.","treeHash":null,"usage":{"cachedInputTokens":217441,"inputTokens":10,"model":"claude-opus-5-5","outputTokens":2412,"runtime":"claude","turns":5,"wallClockMs":25782}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"8eebc53449bafe7b","findings":[],"hash":"616eeee61d45aa6c69b27d62dfc939f09cd4a45c5145c1a47f7fd8ca25539aea","nodeId":"8e3fbd33-1bed-42e3-92e2-45df0e1a256b","outcome":"completed","summary":"The review is complete. `.imd-findings.json` holds an empty findings list and seven coverage rows, and the only change to the tree is that file.\n\n**Result: no defects found.** The token in `src/SwarmPepes.sol` is a thirteen-line contract inheriting an unmodified OpenZeppelin v5.0.2 ERC20, with a no-argument constructor that mints the whole supply to the deploying caller once. Every failure mode in the Execution Trace, Periphery and First Principles guides was checked against it and none applies.\n\n**What I verified**\n- **Execution Trace.** Traced approve, transfer and transferFrom through Context, `_transfer`, `_update` and `_spendAllowance`. Zero sender, zero recipient and zero spender revert. Insufficient balance or allowance reverts with no partial state. The allowance decrement sits in `unchecked` only after the bound check, and the infinite allowance path is the documented max-uint sentinel. No external calls, callbacks, stale reads or reentry points exist.\n- **Periphery.** The six vendored OpenZeppelin files match upstream v5.0.2 byte for byte by sha256. There is no git submodule, and the build runs with no network.\n- **First Principles.** The supply literal equals exactly 1e27, which the aderyn lead flagged only for size. Deploying through a factory contract leaves the entire supply with the factory. The ABI exposes only the ten standard selectors plus the supply constant. A bytecode scan found no DELEGATECALL, CALLCODE, SELFDESTRUCT, CREATE or CALL opcodes. The contract rejects ether, unknown selectors and empty calldata.\n- **Launch floor.** The protected test could not run here because v4-core and LaunchLiquidity are not in this tree. I reproduced its token-side assertions in a scratch test, since deleted: the ten percent share arrives at the distributor whole, a claim leaves it whole, approve/transferFrom from an arbitrary address moves exact amounts, decimals is 18, and supply stays constant.\n\n**Noted, not reported.** The standard ERC20 approve-overwrite race exists exactly as in every OpenZeppelin token and is documented in the README. It is a property of the requested standard design rather than a defect in this code, so it is not a finding.\n\n**Coverage.** All three listed entry points are marked `holds`, with four additional rows for the supply, admin-surface, vendored-library and launch-flow invariants. Nothing was left unreached.","treeHash":null,"usage":{"cachedInputTokens":480890,"inputTokens":226,"model":"claude-fable-5-1","outputTokens":11963,"runtime":"claude","turns":27,"wallClockMs":175338}},{"artifacts":[],"attempt":1,"bundleHash":"99994416f2b0eb6b29c2d83a47aff396d581cec554f88a911ad72854ee733b0b","device":"41ff1f83c6e68e78","findings":[],"hash":"6a3aa7ed1a5150d711865b1d42d91ff4d5d19ef0e95820a57568fa24ee070cf9","nodeId":"2a4bec5e-cd2b-4e0f-9cdf-16c019641f21","outcome":"completed","summary":"Created [launch.json](/Users/hyperstition/.identitymd/work/1842371b-c584-4bc8-8788-3da2e2cdca96/2a4bec5e-cd2b-4e0f-9cdf-16c019641f21/launch.json) with the exact supply, economics, paired currency, and empty constructor arguments.\n\nChecked manifest constraints and compiled ABI. `forge build` succeeded; all 18 tests passed. Only `launch.json` changed outside permitted scratch output.","treeHash":"5041e3f61bceeed02a7a26d39ac07e32a3ebd4ad","usage":{"cachedInputTokens":141568,"inputTokens":30121,"model":"gpt-6-astra","outputTokens":3043,"runtime":"codex","turns":3,"wallClockMs":102577}},{"artifacts":[],"attempt":1,"bundleHash":"031da500570a550c1c39185292be815938298eb1b3e015a60c7026d272993976","device":"2ca00c67242c649b","findings":[],"hash":"a54af8308eeec43166d1f5ef9d32c7a074412d43012a97a165c8a04f7d77fff5","nodeId":"1ecd9bab-de98-49d1-a8e2-ad694fa9753c","outcome":"completed","summary":"Added failure-path and fuzz tests plus three multi-actor invariants covering supply, balances, and allowances.\n\nOffline verification passed: `forge build` and `forge test`, with 32 tests and 32,768 invariant calls.\n\nNo defects found. Only files under `test/` were added.","treeHash":"dad693c9d1a5372f4369a906c79a6624904411ce","usage":{"cachedInputTokens":941184,"inputTokens":73006,"model":"gpt-6-astra","outputTokens":13196,"runtime":"codex","turns":6,"wallClockMs":452544}}],"verification":[{"checks":[{"durationMs":278,"exitCode":0,"name":"build","output":"Compiling 7 files with Solc 0.8.26\nSolc 0.8.26 finished in 235.53ms\nCompiler run successful!\n","passed":true},{"durationMs":44,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 18 tests for test/SwarmPepes.t.sol:SwarmPepesTest\n[PASS] testApprovalCanBeReplacedAndRevoked() (gas: 143029)\n[PASS] testApproveAndTransferFromConsumeAllowance() (gas: 133215)\n[PASS] testApproveZeroSpenderReverts() (gas: 30475)\n[PASS] testConstructorMintsToContractDeployerAndEmitsEvent() (gas: 191765)\n[PASS] testDeployerCannotSpendHolderTokensWithoutApproval() (gas: 134183)\n[PASS] testFullSupplyCanMoveAndReturn() (gas: 112925)\n[PASS] testFuzzDelegatedTransfer(uint256,uint256) (runs: 256, μ: 136533, ~: 138698)\n[PASS] testFuzzTransfersConserveSupply(uint256,uint256) (runs: 256, μ: 158337, ~: 160355)\n[PASS] testInfiniteAllowanceUsesStandardERC20Semantics() (gas: 112877)\n[PASS] testInsufficientAllowanceRevertsWithoutStateChange() (gas: 100028)\n[PASS] testInsufficientBalanceReverts() (gas: 37440)\n[PASS] testMetadataAndInitialSupply() (gas: 45202)\n[PASS] testNoMintBurnOrAdministrativeEntrypoints() (gas: 331737)\n[PASS] testTransferEmitsEventAndDeliversExactAmount() (gas: 79505)\n[PASS] testTransferFromBalanceFailureRestoresAllowance() (gas: 90588)\n[PASS] testTransferFromToZeroRestoresAllowance() (gas: 95410)\n[PASS] testTransferToZeroReverts() (gas: 34479)\n[PASS] testZeroAndSelfTransfersPreserveBalances() (gas: 72111)\nSuite result: ok. 18 passed; 0 failed; 0 skipped; finished in 6.13ms (13.38ms CPU time)\n\nRan 1 test suite in 6.75ms (6.13ms CPU time): 18 tests passed, 0 failed, 0 skipped (18 total tests)\n","passed":true},{"durationMs":18,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"SwarmPepes.approve(address,uint256)\",\"SwarmPepes.transfer(address,uint256)\",\"SwarmPepes.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"README.md\":74,\"foundry.toml\":12,\"remappings.txt\":1,\"src/SwarmPepes.sol\":13,\"test/SwarmPepes.t.sol\":203},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":347,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":204,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/SwarmPepes.sol:8: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"37f902ae7f99a00d7a5d8b96475952242d54c10901a3ebc0f3c46ba53027d13e","verifiedTreeHash":"03cb42f7d7f03249af71fee3b38cdf46f69c1514","verifierVersion":"0.1.0+ad90ce4c"},{"checks":[{"durationMs":352,"exitCode":0,"name":"build","output":"Compiling 7 files with Solc 0.8.26\nSolc 0.8.26 finished in 285.31ms\nCompiler run successful!\n","passed":true},{"durationMs":58,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 18 tests for test/SwarmPepes.t.sol:SwarmPepesTest\n[PASS] testApprovalCanBeReplacedAndRevoked() (gas: 143029)\n[PASS] testApproveAndTransferFromConsumeAllowance() (gas: 133215)\n[PASS] testApproveZeroSpenderReverts() (gas: 30475)\n[PASS] testConstructorMintsToContractDeployerAndEmitsEvent() (gas: 191765)\n[PASS] testDeployerCannotSpendHolderTokensWithoutApproval() (gas: 134183)\n[PASS] testFullSupplyCanMoveAndReturn() (gas: 112925)\n[PASS] testFuzzDelegatedTransfer(uint256,uint256) (runs: 256, μ: 136188, ~: 138698)\n[PASS] testFuzzTransfersConserveSupply(uint256,uint256) (runs: 256, μ: 157940, ~: 160355)\n[PASS] testInfiniteAllowanceUsesStandardERC20Semantics() (gas: 112877)\n[PASS] testInsufficientAllowanceRevertsWithoutStateChange() (gas: 100028)\n[PASS] testInsufficientBalanceReverts() (gas: 37440)\n[PASS] testMetadataAndInitialSupply() (gas: 45202)\n[PASS] testNoMintBurnOrAdministrativeEntrypoints() (gas: 331737)\n[PASS] testTransferEmitsEventAndDeliversExactAmount() (gas: 79505)\n[PASS] testTransferFromBalanceFailureRestoresAllowance() (gas: 90588)\n[PASS] testTransferFromToZeroRestoresAllowance() (gas: 95410)\n[PASS] testTransferToZeroReverts() (gas: 34479)\n[PASS] testZeroAndSelfTransfersPreserveBalances() (gas: 72111)\nSuite result: ok. 18 passed; 0 failed; 0 skipped; finished in 8.02ms (20.19ms CPU time)\n\nRan 1 test suite in 8.66ms (8.02ms CPU time): 18 tests passed, 0 failed, 0 skipped (18 total tests)\n","passed":true},{"durationMs":19,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"SwarmPepes.approve(address,uint256)\",\"SwarmPepes.transfer(address,uint256)\",\"SwarmPepes.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"README.md\":74,\"foundry.toml\":12,\"launch.json\":20,\"remappings.txt\":1,\"src/SwarmPepes.sol\":13,\"test/SwarmPepes.t.sol\":203},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"6a3aa7ed1a5150d711865b1d42d91ff4d5d19ef0e95820a57568fa24ee070cf9","verifiedTreeHash":"5041e3f61bceeed02a7a26d39ac07e32a3ebd4ad","verifierVersion":"0.1.0+ad90ce4c"},{"checks":[{"durationMs":610,"exitCode":0,"name":"build","output":"Compiling 11 files with Solc 0.8.26\nSolc 0.8.26 finished in 563.55ms\nCompiler run successful!\n","passed":true},{"durationMs":9795,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 18 tests for test/SwarmPepes.t.sol:SwarmPepesTest\n[PASS] testApprovalCanBeReplacedAndRevoked() (gas: 143029)\n[PASS] testApproveAndTransferFromConsumeAllowance() (gas: 133215)\n[PASS] testApproveZeroSpenderReverts() (gas: 30475)\n[PASS] testConstructorMintsToContractDeployerAndEmitsEvent() (gas: 191765)\n[PASS] testDeployerCannotSpendHolderTokensWithoutApproval() (gas: 134183)\n[PASS] testFullSupplyCanMoveAndReturn() (gas: 112925)\n[PASS] testFuzzDelegatedTransfer(uint256,uint256) (runs: 256, μ: 136674, ~: 138710)\n[PASS] testFuzzTransfersConserveSupply(uint256,uint256) (runs: 256, μ: 158387, ~: 160373)\n[PASS] testInfiniteAllowanceUsesStandardERC20Semantics() (gas: 112877)\n[PASS] testInsufficientAllowanceRevertsWithoutStateChange() (gas: 100028)\n[PASS] testInsufficientBalanceReverts() (gas: 37440)\n[PASS] testMetadataAndInitialSupply() (gas: 45202)\n[PASS] testNoMintBurnOrAdministrativeEntrypoints() (gas: 331737)\n[PASS] testTransferEmitsEventAndDeliversExactAmount() (gas: 79505)\n[PASS] testTransferFromBalanceFailureRestoresAllowance() (gas: 90588)\n[PASS] testTransferFromToZeroRestoresAllowance() (gas: 95410)\n[PASS] testTransferToZeroReverts() (gas: 34479)\n[PASS] testZeroAndSelfTransfersPreserveBalances() (gas: 72111)\nSuite result: ok. 18 passed; 0 failed; 0 skipped; finished in 40.27ms (80.20ms CPU time)\n\nRan 12 tests for test/SwarmPepes.Adversarial.t.sol:SwarmPepesAdversarialTest\n[PASS] testAllowanceCannotBeUsedByAnotherSpenderOrForAnotherOwner() (gas: 162239)\n[PASS] testFuzzDelegatedSelfTransferPreservesBalanceButConsumesAllowance(uint256,bool) (runs: 1000, μ: 134057, ~: 133989)\n[PASS] testFuzzFailedTransferFromRestoresFiniteOrInfiniteAllowance(uint256,bool) (runs: 1000, μ: 189037, ~: 190338)\n[PASS] testFuzzTransferFromOverAllowanceIsAtomic(uint256,uint256) (runs: 1000, μ: 131833, ~: 132175)\n[PASS] testFuzzTransferOverBalanceIsAtomic(uint256,uint256) (runs: 1000, μ: 124347, ~: 124601)\n[PASS] testFuzzTransfersRoundTripWithoutFees(uint256) (runs: 1000, μ: 151169, ~: 151467)\n[PASS] testInfiniteAllowanceCanBeReplacedAndRevokedAfterSpending() (gas: 301545)\n[PASS] testMaximumMinusOneAllowanceIsFinite() (gas: 143330)\n[PASS] testMaximumTransferAmountsRevertWithoutArithmeticPanic() (gas: 162732)\n[PASS] testOneWeiThenRemainingSupplyCanBeSpentExactlyOnce() (gas: 246872)\n[PASS] testZeroAmountDoesNotMakeZeroAddressesValid() (gas: 180933)\n[PASS] testZeroTransfersEmitEventsWithoutBalanceOrAllowance() (gas: 145820)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 40.29ms (197.36ms CPU time)\n\nRan 2 tests for test/SwarmPepes.Invariant.t.sol:SwarmPepesInvariantTest\n[PASS]\nSwarmPepesInvariantTest invariants:\n[PASS] invariant_allowancesMatchApprovalAndSpendingHistory\n[PASS] invariant_eachHolderMatchesTransferHistory\n[PASS] invariant_supplyIsFixedAndBalancesConserveIt\n SwarmPepesInvariantTest invariants (runs: 256, calls: 32768, reverts: 0)\n\n╭--------------+------------------------------+-------+---------+----------╮\n| Contract     | Selector                     | Calls | Reverts | Discards |\n+==========================================================================+\n| SPEPEHandler | approve                      | 3622  | 0       | 0        |\n|--------------+------------------------------+-------+---------+----------|\n| SPEPEHandler | approveAndTransferFrom       | 3639  | 0       | 0        |\n|--------------+------------------------------+-------+---------+----------|\n| SPEPEHandler | invalidAddress               | 3576  | 0       | 0        |\n|--------------+------------------------------+-------+---------+----------|\n| SPEPEHandler | revokeAndAttemptSpend        | 3650  | 0       | 0        |\n|--------------+------------------------------+-------+---------+----------|\n| SPEPEHandler | transfer                     | 3747  | 0       | 0        |\n|--------------+------------------------------+-------+---------+----------|\n| SPEPEHandler | transferFrom                 | 3701  | 0       | 0        |\n|--------------+------------------------------+-------+---------+----------|\n| SPEPEHandler | transferFromTooMuchAllowance | 3624  | 0       | 0        |\n|--------------+------------------------------+-------+---------+----------|\n| SPEPEHandler | transferFromTooMuchBalance   | 3503  | 0       | 0        |\n|--------------+------------------------------+-------+---------+----------|\n| SPEPEHandler | transferTooMuch              | 3706  | 0       | 0        |\n╰--------------+------------------------------+-------+---------+----------╯\n\n[PASS] testHandlerExercisesSuccessfulAndRejectedCalls() (gas: 10990547)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 9.75s (9.75s CPU time)\n\nRan 3 test suites in 9.75s (9.83s CPU time): 32 tests passed, 0 failed, 0 skipped (32 total tests)\n","passed":true},{"durationMs":21,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"SwarmPepes.approve(address,uint256)\",\"SwarmPepes.transfer(address,uint256)\",\"SwarmPepes.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"README.md\":74,\"foundry.toml\":12,\"remappings.txt\":1,\"src/SwarmPepes.sol\":13,\"test/SwarmPepes.Adversarial.t.sol\":214,\"test/SwarmPepes.Invariant.t.sol\":128,\"test/SwarmPepes.t.sol\":203,\"test/helpers/SPEPEHandler.sol\":189,\"test/helpers/SPEPETestSupport.sol\":28},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"a54af8308eeec43166d1f5ef9d32c7a074412d43012a97a165c8a04f7d77fff5","verifiedTreeHash":"dad693c9d1a5372f4369a906c79a6624904411ce","verifierVersion":"0.1.0+ad90ce4c"}]}