{"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":"f577eab3-90d1-45ac-baf3-62e142981057","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"6dd8e4a2cf58a577bdcd9fd02f26d462106f910f8daedda7edcc5b5d6ed65fd2","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":"e5ac4f7aea5378e24a84f2784ffd49b524bd8e3d47700c92a9bee8370a81874c","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":"12519527df7b91490bc0ff87d83e09357b0b7ada8c4a4b15112c5ebe771a2ca4","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":"007006346a8b734cc7720cb021ad39289cfd0c4cca54b5291e6343403046db47","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":"20e917d5035cb109ff524451cc3b3e056f63d0ed99b9829810f6cff6ef2f870d","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":"b5b0baad6ff5498f3366ce5c60ea1dc0a49a17ff4764b0ed4b72cdd2d8746adc","dependsOn":[],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"d59561da3b378461b7c749f6bd5084477d44993aa94972ddea90f542535751df","skillId":"build-contract-project","tools":[]},"key":"build_contract_project","kind":"code","role":"implement","skillHash":"d59561da3b378461b7c749f6bd5084477d44993aa94972ddea90f542535751df","skillId":"build-contract-project","state":"accepted"},{"acceptedSubmissionHash":"74bd7685aeb9fd59df9037110ecff4fab9d834e18cb9e079d001ae286ad25615","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"074663c52a36b24ee48095244ca04f046e0209dcaccb6e70100cb9c4e432a4cb","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"4c76766b00591dfe982fe85d3de589fdb2f810e5137c301155d1c5e36a1d3b23","skillId":"write-foundry-tests","tools":[]},"key":"write_foundry_tests","kind":"code","role":"tests","skillHash":"4c76766b00591dfe982fe85d3de589fdb2f810e5137c301155d1c5e36a1d3b23","skillId":"write-foundry-tests","state":"accepted"}],"objective":"A custom token: Swarmpeg (SWARMPEG).\nToken name: Swarmpeg\nToken symbol: SWARMPEG\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.","parentJobId":null,"planHash":"0472d9d18b5f8ff578bcad798ad1bd600cf5e09c2f4204644b0421367a50d620","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"f577eab3-90d1-45ac-baf3-62e142981057","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2100-swarmpeg"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"52628","feedbackHash":"215fffe62a919960e473f7dc278cd3f9295e7aa218766091ecb89d61bd67dd25","nodeKey":"audit_economics","submissionHash":"6dd8e4a2cf58a577bdcd9fd02f26d462106f910f8daedda7edcc5b5d6ed65fd2","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51163","feedbackHash":"6ce3c9df5be5c76930ed5fe342e5e5f250cae60fe9c56eafb33b5b5534f11b5a","nodeKey":"audit_flow","submissionHash":"e5ac4f7aea5378e24a84f2784ffd49b524bd8e3d47700c92a9bee8370a81874c","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"54149","feedbackHash":"293220330b6ac28d36afac946aab69112c5c1f58e2866b6bb7542e3af8235023","nodeKey":"audit_judge","submissionHash":"12519527df7b91490bc0ff87d83e09357b0b7ada8c4a4b15112c5ebe771a2ca4","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52678","feedbackHash":"cf4fd9f3e0acc0636aa921c6ba8f25fc988263d761727e3727e413a441adbf3e","nodeKey":"audit_math","submissionHash":"007006346a8b734cc7720cb021ad39289cfd0c4cca54b5291e6343403046db47","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"53934","feedbackHash":"740d4e4806826898e85f5c0d29920287ecc799aa06d57878a4c56cea3c6d0bb4","nodeKey":"audit_permissions","submissionHash":"20e917d5035cb109ff524451cc3b3e056f63d0ed99b9829810f6cff6ef2f870d","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51157","feedbackHash":"45dece7e2156bca30e61c83435f1f7de89696cebd500d9d0331bbefc4ff87d6a","nodeKey":"build_contract_project","submissionHash":"b5b0baad6ff5498f3366ce5c60ea1dc0a49a17ff4764b0ed4b72cdd2d8746adc","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51488","feedbackHash":"f91c88f9ee08ec9d4aa46a3710b97ba6a8a12ef30688814e449df8386519fa20","nodeKey":"manifest","submissionHash":"74bd7685aeb9fd59df9037110ecff4fab9d834e18cb9e079d001ae286ad25615","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"50968","feedbackHash":"aee6016f15af241ee8d8738a233358cf65a0f756e730ece38d5838f5b95733bb","nodeKey":"write_foundry_tests","submissionHash":"074663c52a36b24ee48095244ca04f046e0209dcaccb6e70100cb9c4e432a4cb","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"abac08cb31257f0655dd2c48dc2d2bf1f74fe1bcbc101c109bd9fd72079797e0","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":null,"device":"96eeb8eb2acdbbf1","findings":[],"hash":"007006346a8b734cc7720cb021ad39289cfd0c4cca54b5291e6343403046db47","nodeId":"77d5e9e0-059f-4bc3-92af-e2aa1f6b6528","outcome":"completed","summary":"The review is complete. No tracked files changed, and the findings file validates.\n\n**Result: no defects in the math area.** The findings list in `.imd-findings.json` is empty, with seven coverage rows: one for each of the three ABI entry points and four for the invariants and boundaries I checked.\n\n**What I checked**\n\n- **Math Precision.** The token is a 17-line wrapper over OpenZeppelin 5.1.0 ERC20. There is no division, fixed-point scale, downcast, decimals conversion or multiplication chain anywhere. The supply literal is a compile-time constant equal to exactly 1e27, which is the aderyn large-literal lead resolved as informational. The only checked addition is the constructor mint. The unchecked balance arithmetic in OpenZeppelin's update function is guarded by the preceding insufficient-balance check and bounded by the fixed supply.\n- **Boundary.** The enumeration the guide asks for is empty: no external calls, no payable, receive or fallback, no sentinel-address branches, no bytes decoding. A 1-wei send and an unknown selector both revert. Zero amount, exact full balance, full balance plus one, and maximum uint256 all behave as the ERC-20 contract specifies.\n- **Numerical Gap.** Conservation of supply holds exactly because nothing rounds. Infinite allowance is never decremented, max-minus-one decrements exactly, exact allowance spends to zero, and a balance shortfall reverts the whole call without consuming allowance.\n- **Dependency integrity.** I downloaded the OpenZeppelin v5.1.0 archive to a temp directory, confirmed its hash matches DEPENDENCIES.md, and diffed the five vendored files. All are byte-identical to upstream.\n\n**Evidence.** The project's own 37 tests pass. My 15-test scratch probe covering the inputs above passed and has been removed, as has the temp download. Nothing outside the area rose to a severe finding: supply is minted to the deployer so a factory deploy holds it whole, and decimals return 18 as the manifest requires.","treeHash":null,"usage":{"cachedInputTokens":570951,"inputTokens":322,"model":"claude-fable-5-1","outputTokens":9512,"runtime":"claude","turns":15,"wallClockMs":173085}},{"artifacts":[],"attempt":1,"bundleHash":"022640ab194009d1f926c78c622039e05b7fa8f190fd81d4c1d0d9d9890d48a1","device":"228636b860e0212c","findings":[],"hash":"074663c52a36b24ee48095244ca04f046e0209dcaccb6e70100cb9c4e432a4cb","nodeId":"31369c34-6654-46c3-9d98-65fd83e8444f","outcome":"completed","summary":"Added 14 boundary and failure-path tests and expanded stateful invariants across eight actions.\n\nValidation passed offline: `forge build` and all 51 tests using the supplied seed, including 16,384 invariant calls.\n\nOnly `test/` changed. No implementation defects found.","treeHash":"ad760df691ceb284397ae6e2020c932b3d4d873a","usage":{"cachedInputTokens":1097728,"inputTokens":85535,"model":"gpt-6-astra","outputTokens":14460,"runtime":"codex","turns":6,"wallClockMs":415951}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"06d00e98fbdd1ee9","findings":[],"hash":"12519527df7b91490bc0ff87d83e09357b0b7ada8c4a4b15112c5ebe771a2ca4","nodeId":"c1ef866e-e839-42f8-81bb-bbd416d1a12c","outcome":"completed","summary":"The review is complete. No defects were found, and the findings file records a clean result with full coverage.\n\n**What I checked**\n\n- The token is a 17-line contract: OpenZeppelin ERC20 plus a constructor that mints the whole supply to the deployer. There are no owner, mint, burn, pause or fee paths in the ABI, and no fallback or receive.\n- All five vendored OpenZeppelin files are byte-identical to upstream v5.1.0. I fetched the originals and compared SHA-256 hashes, so there is no tampering in the dependency where a defect could have hidden.\n- I traced approve, transfer and transferFrom through the vendored ERC20 and reproduced each in a scratch Foundry test: CREATE2 deployment with no constructor arguments, supply landing on the deployer, exact-amount transfers, allowance exhaustion, and the zero-address and insufficient-balance reverts. The scratch directory was removed afterwards.\n- The project's own suite passes: 51 tests plus a 256-run invariant with no reverts.\n- Creation code is about 2.6 KB and runtime about 1.75 KB, far below both deployment limits. The runtime contains no DELEGATECALL, CALLCODE or SELFDESTRUCT.\n- launch.json is consistent with the code: empty constructorArgs, totalSupply equal to what the constructor mints, decimals 18, an 8-character contract name, lowercase addresses and only schema keys.\n\n**Specialist findings and static analysis**\n\nAll four specialists and the test writer reported nothing, so there was nothing to reproduce or merge. The one aderyn line, a large numeric literal at line 10, is a style note: the expression evaluates to exactly 10^27 at compile time, which I asserted against totalSupply.\n\n**Output**\n\nThe findings file at the repository root holds an empty findings list and six coverage rows, all marked holds: the three listed entry points, the constructor and supply invariant, deployability and manifest consistency, and the aderyn lead. No repository files were changed.","treeHash":null,"usage":{"cachedInputTokens":471506,"inputTokens":290,"model":"claude-fable-5-1","outputTokens":6090,"runtime":"claude","turns":10,"wallClockMs":100800}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"5dd3af20ad7ac0c2","findings":[],"hash":"20e917d5035cb109ff524451cc3b3e056f63d0ed99b9829810f6cff6ef2f870d","nodeId":"113ce3cb-9c77-4eca-bc66-1b041a8e3f67","outcome":"completed","summary":"The review is complete. The findings file is written with an empty findings list and nine coverage rows.\n\n**Result: no defects found in the Access Control, Trust Gap and Asymmetry areas.**\n\nWhat I checked and how:\n\n- **Source and dependencies.** The token at `src/Swarmpeg.sol` is a 17-line contract inheriting OpenZeppelin ERC20 with a constructor-only mint of exactly 10^27 base units to msg.sender. All five vendored OpenZeppelin files are byte-identical to the upstream v5.1.0 archive, whose hash matches the one recorded in DEPENDENCIES.md.\n- **Access control.** The compiled ABI exposes only approve, transfer and transferFrom as state-changing functions. There is no owner, role, initializer, proxy, delegatecall, selfdestruct, pause, blacklist or burn path. I ran an independent scratch Foundry test confirming the deployer cannot move a holder's balance without allowance, that fourteen common privileged selectors revert from the deployer, and that native ETH payments revert.\n- **Asymmetry.** Both transfer paths funnel into one unmodified `_update`; approve and allowance share one slot; finite allowances decrement and the max allowance stays sticky as documented; self-transfer and full-balance branches conserve supply. The missing burn side of mint/burn is the intended fixed supply.\n- **Trust gap.** With no privileged actor, setter, fee recipient or price formula, no seam between the three lenses exists.\n- **Static-analysis lead.** The aderyn large-numeric-literal note on line 10 evaluates to exactly 10^27 and is a readability remark, not a defect.\n\nThe existing suite of 37 tests, including fuzz and invariant tests, passes with the project's seed. The scratch test directory was removed, so the working tree holds only `.imd-findings.json` as new content.","treeHash":null,"usage":{"cachedInputTokens":472590,"inputTokens":226,"model":"claude-fable-5-1","outputTokens":11136,"runtime":"claude","turns":29,"wallClockMs":176090}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"764cd99b4c628a47","findings":[],"hash":"6dd8e4a2cf58a577bdcd9fd02f26d462106f910f8daedda7edcc5b5d6ed65fd2","nodeId":"fd73db5e-4e73-4a38-9ea7-79c8fe54c0aa","outcome":"completed","summary":"The review is complete. No defects were found in the economics area, and the findings file records an empty list with full coverage.\n\n**What I checked.** The token at `src/Swarmpeg.sol` is a bare OpenZeppelin 5.1.0 ERC-20 with one constructor mint of 1e27 units to msg.sender and no overrides, no owner, and no external calls. I diffed the five vendored OpenZeppelin files against the upstream v5.1.0 release archive. They are byte-identical and the archive hash matches DEPENDENCIES.md. The project build and all 37 tests pass with the documented fuzz seed.\n\n**Economic Security guide.** Every failure mode on the list needs an external dependency, a non-standard token behaviour, a price-dependent operation, or a shared cap. This token has none of them. It makes zero outbound calls, is not fee-on-transfer, rebasing, pausable or blacklisting, and reverts rather than returning false.\n\n**Invariant guide.** The conservation law sum of balances equals total supply holds because the only mint is in the constructor and the ABI exposes no mint, burn or rebase. The project's stateful invariant test and a scratch fuzz across eight holders both confirm it. Allowance coupling follows standard OpenZeppelin semantics with atomic rollback on balance failure.\n\n**Flow Gap guide.** The seams all require a periphery interaction inside the audited code. The token has none. I instead exercised the periphery from the outside in a scratch test: factory to distributor, distributor to claimant, factory to a pool-manager stand-in using the exact Uniswap v4 low-level transfer and return-data check, and a trader buy and sell. Every leg moved exactly the stated amount.\n\n**Documented behaviours, not defects.** The standard ERC-20 approve race and tokens stranded at the token's own address are both properties of the plain ERC-20 the brief requested, and the README records them. I listed them as trust assumptions in the coverage rows rather than as findings.\n\n**Coverage.** All three entry points hold. Four invariant rows hold. One row is unreached: no launch.json exists in the tree yet, so the manifest and opening price could not be checked. The static-analysis lead about the large numeric literal was verified as exactly 1e27.\n\nThe scratch test under test/scratch/ is gitignored and no tracked file was changed.","treeHash":null,"usage":{"cachedInputTokens":615109,"inputTokens":258,"model":"claude-fable-5-1","outputTokens":11957,"runtime":"claude","turns":26,"wallClockMs":190851}},{"artifacts":[],"attempt":1,"bundleHash":"c175c8c093696fa2eaa549d41719c10b4272e6d7e8bf1ae161ae2c84e5451110","device":"5835e48821d8827d","findings":[],"hash":"74bd7685aeb9fd59df9037110ecff4fab9d834e18cb9e079d001ae286ad25615","nodeId":"ae21a663-864c-42a2-8a50-7fa796f40511","outcome":"completed","summary":"I wrote `launch.json` for the Swarmpeg custom token launch. It is the only file added or changed.\n\n**What the manifest describes**\n\n- Token contract `Swarmpeg`, name Swarmpeg, symbol SWARMPEG, 18 decimals, empty constructorArgs. The accepted constructor takes no parameters and mints the whole supply once to msg.sender.\n- totalSupply is the constant the constructor mints, 10^27 minor units, as a decimal string.\n- No application contracts. The accepted tree contains only `src/Swarmpeg.sol`.\n- pool and economics copied exactly from the launch reference: IMD pair address, fee 12500, tick spacing 60, the one-to-one initialPrice, and the requester's economics object verbatim.\n- notes explain the token's fixed supply, lack of admin powers and the absence of application contracts.\n\n**Checks**\n\n- The JSON parses and uses only the schema's top-level keys.\n- `forge build` succeeds.\n- `forge test` with the verifier's fuzz seed passed all 37 tests.\n- `git status` shows only the new `launch.json`.","treeHash":"c3a58ee5d8c31b752fa389523296d3e4dc3b9fde","usage":{"cachedInputTokens":155919,"inputTokens":130,"model":"claude-fable-5-1","outputTokens":2361,"runtime":"claude","turns":8,"wallClockMs":59436}},{"artifacts":[],"attempt":1,"bundleHash":"58f15250e4eb23593fa57fe86ea011928fe49c98b5af3116f3f5b28ec9f466ed","device":"a6d6df9f16a14651","findings":[],"hash":"b5b0baad6ff5498f3366ce5c60ea1dc0a49a17ff4764b0ed4b72cdd2d8746adc","nodeId":"c8bec070-14ab-4d6c-a8e7-00198167f9c7","outcome":"completed","summary":"Implemented Swarmpeg (SWARMPEG): 1,000,000,000 tokens, 18 decimals, minted once to the deployer.\n\nIncluded vendored dependencies, deployment documentation, and success/failure, fuzz, and invariant tests.\n\nValidation passed:\n- `forge build`\n- `forge test` — 37 tests, using the supplied seed\n- `forge fmt --check`","treeHash":"8b143f19f94f9d8c9b78a31450932677ec5540eb","usage":{"cachedInputTokens":685056,"inputTokens":52607,"model":"gpt-6-astra","outputTokens":15561,"runtime":"codex","turns":6,"wallClockMs":374647}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"8af9903f4ad1eed0","findings":[],"hash":"e5ac4f7aea5378e24a84f2784ffd49b524bd8e3d47700c92a9bee8370a81874c","nodeId":"3531edb1-6ede-4416-975a-30c1de25a2e7","outcome":"completed","summary":"The review is complete. No defects were substantiated, and `.imd-findings.json` holds an empty findings list with seven coverage rows. The tracked tree is unchanged, and the scratch test directory was removed.\n\n**What I checked, against the Execution Trace, Periphery and First Principles guides**\n\n- **Execution flow of all three entry points.** `approve`, `transfer` and `transferFrom` go straight into the unmodified OpenZeppelin 5.1.0 ERC-20. Zero-address sender, receiver and spender revert. Insufficient balance or allowance reverts before any write. Amounts arrive exactly, with no fee, burn, callback or external call. Unlimited allowance is the standard `type(uint256).max` sentinel and finite allowances decrement.\n- **Periphery.** All five vendored OpenZeppelin files were compared byte-for-byte against the upstream v5.1.0 tag and are identical. `Context` returns `msg.sender`, `decimals()` returns 18.\n- **First principles and deployment.** The constructor takes no arguments, makes no external calls, and mints exactly 10^27 base units to `msg.sender`. A scratch test deploying through a CREATE2 factory confirmed the factory receives the entire supply and the caller and `tx.origin` receive nothing. The 10%, 80%, 10% launch transfers and a trader round trip through a pool-manager address move exactly what they say.\n- **Attack surface.** The compiled ABI exposes only the three listed functions as state-changing. There is no receive or fallback, no owner, pause, blacklist, mint or burn path. Creation and runtime bytecode contain no DELEGATECALL, CALLCODE or SELFDESTRUCT.\n- **Static analysis lead.** The aderyn large-numeric-literal note on line 10 was verified harmless. The constant equals the decimal literal in the manifest's supply.\n\n**Verification run**\n\n| Check | Result |\n| --- | --- |\n| `forge build` (solc 0.8.26) | success |\n| Project suite with pinned fuzz seed | 37 passed, 0 failed |\n| `forge fmt --check` | clean |\n| Scratch review tests | 2 passed |\n\nOne observation that is not a defect: the README names Ethereum chain 1 as the target chain. The chain is a launch policy decision, not a manifest or token field, so it is noted here only for the judge.","treeHash":null,"usage":{"cachedInputTokens":1037176,"inputTokens":482,"model":"claude-fable-5-1","outputTokens":10310,"runtime":"claude","turns":19,"wallClockMs":228056}}],"verification":[{"checks":[{"durationMs":1494,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.42s\nCompiler run successful!\n","passed":true},{"durationMs":4862,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 14 tests for test/Swarmpeg.adversarial.t.sol:SwarmpegAdversarialTest\n[PASS] testFuzz_ApprovalsDoNotFollowTokensToAnotherHolder(uint256,uint256) (runs: 1024, μ: 444355, ~: 444543)\nLogs:\n  Bound result 95\n  Bound result 3\n\n[PASS] testFuzz_CompetingSpendersShareBalanceButNotAllowance(uint256) (runs: 1024, μ: 422726, ~: 422469)\nLogs:\n  Bound result 999999999999999999999999999\n\n[PASS] testFuzz_FailedSpendCanBeRetriedAfterFunding(uint256,uint256,bool) (runs: 1024, μ: 334615, ~: 334777)\nLogs:\n  Bound result 904697446229305003824454909\n  Bound result 57509933612617559611373893\n\n[PASS] testFuzz_RevocationSurvivesBalanceMovingOutAndBack(uint256) (runs: 1024, μ: 333410, ~: 333206)\nLogs:\n  Bound result 493392898458354221343556939\n\n[PASS] testFuzz_SplitSpendsCannotReuseExhaustedAllowance(uint256,uint256) (runs: 1024, μ: 298345, ~: 300986)\nLogs:\n  Bound result 99126957811832102092885280\n  Bound result 87972203236264583543136363\n\n[PASS] test_FundedOriginCannotAuthorizeCallerTransfersOrApprovals() (gas: 154267)\n[PASS] test_MaximumMinusOneAllowanceIsFinite() (gas: 206937)\n[PASS] test_OneWeiTransferRoundTrip() (gas: 143063)\n[PASS] test_SelfTransfersStillRequireSufficientBalance() (gas: 223008)\n[PASS] test_TransferFromUsesCallerAllowanceRatherThanOrigin() (gas: 225759)\n[PASS] test_UnlimitedApprovalCanBeReducedThenRevoked() (gas: 351593)\n[PASS] test_WholeSupplySentToTokenRemainsInSupply() (gas: 92303)\n[PASS] test_ZeroSpenderRejectedForZeroAndMaximumApproval() (gas: 114940)\n[PASS] test_ZeroTransferToZeroCannotConsumeAnyKindOfAllowance() (gas: 429083)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 106.04ms (522.68ms CPU time)\n\nRan 36 tests for test/Swarmpeg.t.sol:SwarmpegTest\n[PASS] testFuzz_OverdrawRevertsWithoutChangingBalances(uint256,uint256) (runs: 1024, μ: 127421, ~: 127610)\nLogs:\n  Bound result 13\n  Bound result 21861\n\n[PASS] testFuzz_TransferConservesSupply(address,uint256) (runs: 1024, μ: 93099, ~: 93786)\nLogs:\n  Bound result 297764936750987130115644176\n\n[PASS] testFuzz_TransferFromFailureRollsBackAllowance(uint256,uint256) (runs: 1024, μ: 196672, ~: 196922)\nLogs:\n  Bound result 13\n  Bound result 21861\n\n[PASS] testFuzz_TransferFromRespectsAllowance(uint256,uint256) (runs: 1024, μ: 149129, ~: 161213)\nLogs:\n  Bound result 3\n\n[PASS] testFuzz_TransfersOutAndBackPreserveSupply(uint256,uint256) (runs: 1024, μ: 195421, ~: 197306)\nLogs:\n  Bound result 13\n  Bound result 7\n\n[PASS] test_ApprovalBelongsOnlyToCaller() (gas: 143043)\n[PASS] test_ApprovalCanBeReplacedAndRevoked() (gas: 157209)\n[PASS] test_ApproveEmitsEventAndDoesNotMoveTokens() (gas: 88787)\n[PASS] test_ConstructorEmitsExactlyOneMint() (gas: 9670)\n[PASS] test_Create2MintsToFactoryRatherThanTransactionOrigin() (gas: 306453)\n[PASS] test_DeployerCannotSpendHolderTokensWithoutApproval() (gas: 158310)\n[PASS] test_LaunchDistributionClaimsAndPoolTransfersAreExact() (gas: 645354)\n[PASS] test_MaximumAllowanceRemainsUnchangedAcrossSpends() (gas: 210194)\n[PASS] test_MetadataAndInitialSupply() (gas: 107606)\n[PASS] test_NativeCurrencyPaymentReverts() (gas: 36799)\n[PASS] test_RevertWhenApprovingZeroSpender() (gas: 37574)\n[PASS] test_RevertWhenTransferAmountIsMaximumUint() (gas: 42479)\n[PASS] test_RevertWhenTransferExceedsBalance() (gas: 67792)\n[PASS] test_RevertWhenTransferFromExceedsAllowance() (gas: 116116)\n[PASS] test_RevertWhenTransferFromExceedsBalancePreservesAllowance() (gas: 113966)\n[PASS] test_RevertWhenTransferFromHasNoAllowance() (gas: 45248)\n[PASS] test_RevertWhenTransferFromToZeroPreservesAllowance() (gas: 114508)\n[PASS] test_RevertWhenTransferFromZeroAddress() (gas: 52274)\n[PASS] test_RevertWhenTransferToZeroAddress() (gas: 71926)\n[PASS] test_RuntimeContainsNoForbiddenOpcodesAndFitsDeploymentLimit() (gas: 1038946)\n[PASS] test_SelfTransferPreservesBalance() (gas: 51464)\n[PASS] test_TransferEntireBalance() (gas: 138778)\n[PASS] test_TransferFromByHolderStillNeedsAllowance() (gas: 35769)\n[PASS] test_TransferFromCanExhaustAllowance() (gas: 162061)\n[PASS] test_TransferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 162697)\n[PASS] test_TransferFromToSelfSpendsAllowanceWithoutChangingBalance() (gas: 109974)\n[PASS] test_TransferMovesExactAmountAndEmitsEvent() (gas: 93572)\n[PASS] test_TransfersDoNotCallRecipient() (gas: 170276)\n[PASS] test_UnsupportedMintBurnAndAdminCallsRevert() (gas: 1112954)\n[PASS] test_ZeroTransferFromEmptyAccountEmitsEvent() (gas: 73332)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 68929)\nSuite result: ok. 36 passed; 0 failed; 0 skipped; finished in 106.04ms (479.42ms CPU time)\n\nRan 1 test for test/Swarmpeg.invariant.t.sol:SwarmpegInvariantTest\n[PASS] invariant_SupplyBalancesAndAllowancesMatchModel() (runs: 256, calls: 16384, reverts: 0)\n\n╭-----------------+-----------------------+-------+---------+----------╮\n| Contract        | Selector              | Calls | Reverts | Discards |\n+======================================================================+\n| SwarmpegHandler | approve               | 2028  | 0       | 0        |\n|-----------------+-----------------------+-------+---------+----------|\n| SwarmpegHandler | approveAndSpend       | 2077  | 0       | 0        |\n|-----------------+-----------------------+-------+---------+----------|\n| SwarmpegHandler | donateToToken         | 2156  | 0       | 0        |\n|-----------------+-----------------------+-------+---------+----------|\n| SwarmpegHandler | rejectInvalidEndpoint | 1999  | 0       | 0        |\n|-----------------+-----------------------+-------+---------+----------|\n| SwarmpegHandler | revoke                | 2011  | 0       | 0        |\n|-----------------+-----------------------+-------+---------+----------|\n| SwarmpegHandler | transfer              | 2063  | 0       | 0        |\n|-----------------+-----------------------+-------+---------+----------|\n| SwarmpegHandler | transferFrom          | 1999  | 0       | 0        |\n|-----------------+-----------------------+-------+---------+----------|\n| SwarmpegHandler | transferFullBalance   | 2051  | 0       | 0        |\n╰-----------------+-----------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 999999999999999998\n  Bound result 0\n  Bound result 0\n  Bound result 99\n  Bound result 0\n  Bound result 7081\n  Bound result 7736\n  Bound result 7736\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 7990\n  Bound result 0\n  Bound result 999999998999999999999984831\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 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 999999998999999999999984832\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 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 999999998999999999999984832\n  Bound result 0\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.77s (4.77s CPU time)\n\nRan 3 test suites in 4.77s (4.98s CPU time): 51 tests passed, 0 failed, 0 skipped (51 total tests)\n","passed":true},{"durationMs":42,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Swarmpeg.approve(address,uint256)\",\"Swarmpeg.transfer(address,uint256)\",\"Swarmpeg.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.md\":19,\"README.md\":67,\"SECURITY_REVIEW.md\":19,\"foundry.toml\":19,\"remappings.txt\":2,\"src/Swarmpeg.sol\":17,\"test/README.md\":37,\"test/Swarmpeg.adversarial.t.sol\":292,\"test/Swarmpeg.invariant.t.sol\":197,\"test/Swarmpeg.t.sol\":459},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"074663c52a36b24ee48095244ca04f046e0209dcaccb6e70100cb9c4e432a4cb","verifiedTreeHash":"ad760df691ceb284397ae6e2020c932b3d4d873a","verifierVersion":"0.1.0+c3fba9eb"},{"checks":[{"durationMs":2427,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 2.28s\nCompiler run successful!\n","passed":true},{"durationMs":7451,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 36 tests for test/Swarmpeg.t.sol:SwarmpegTest\n[PASS] testFuzz_OverdrawRevertsWithoutChangingBalances(uint256,uint256) (runs: 1024, μ: 127461, ~: 127592)\nLogs:\n  Bound result 24576\n  Bound result 21861\n\n[PASS] testFuzz_TransferConservesSupply(address,uint256) (runs: 1024, μ: 93042, ~: 93786)\nLogs:\n  Bound result 1000000000000000000000000000\n\n[PASS] testFuzz_TransferFromFailureRollsBackAllowance(uint256,uint256) (runs: 1024, μ: 196709, ~: 196874)\nLogs:\n  Bound result 99126957811832102092885279\n  Bound result 129040352287409794839079313676334454571\n\n[PASS] testFuzz_TransferFromRespectsAllowance(uint256,uint256) (runs: 1024, μ: 148547, ~: 161213)\nLogs:\n  Bound result 71868262671608802890355472\n\n[PASS] testFuzz_TransfersOutAndBackPreserveSupply(uint256,uint256) (runs: 1024, μ: 195508, ~: 197306)\nLogs:\n  Bound result 413909798398480944360947280\n  Bound result 293179999105243134977\n\n[PASS] test_ApprovalBelongsOnlyToCaller() (gas: 143043)\n[PASS] test_ApprovalCanBeReplacedAndRevoked() (gas: 157209)\n[PASS] test_ApproveEmitsEventAndDoesNotMoveTokens() (gas: 88787)\n[PASS] test_ConstructorEmitsExactlyOneMint() (gas: 9670)\n[PASS] test_Create2MintsToFactoryRatherThanTransactionOrigin() (gas: 306453)\n[PASS] test_DeployerCannotSpendHolderTokensWithoutApproval() (gas: 158310)\n[PASS] test_LaunchDistributionClaimsAndPoolTransfersAreExact() (gas: 645354)\n[PASS] test_MaximumAllowanceRemainsUnchangedAcrossSpends() (gas: 210194)\n[PASS] test_MetadataAndInitialSupply() (gas: 107606)\n[PASS] test_NativeCurrencyPaymentReverts() (gas: 36799)\n[PASS] test_RevertWhenApprovingZeroSpender() (gas: 37574)\n[PASS] test_RevertWhenTransferAmountIsMaximumUint() (gas: 42479)\n[PASS] test_RevertWhenTransferExceedsBalance() (gas: 67792)\n[PASS] test_RevertWhenTransferFromExceedsAllowance() (gas: 116116)\n[PASS] test_RevertWhenTransferFromExceedsBalancePreservesAllowance() (gas: 113966)\n[PASS] test_RevertWhenTransferFromHasNoAllowance() (gas: 45248)\n[PASS] test_RevertWhenTransferFromToZeroPreservesAllowance() (gas: 114508)\n[PASS] test_RevertWhenTransferFromZeroAddress() (gas: 52274)\n[PASS] test_RevertWhenTransferToZeroAddress() (gas: 71926)\n[PASS] test_RuntimeContainsNoForbiddenOpcodesAndFitsDeploymentLimit() (gas: 1038946)\n[PASS] test_SelfTransferPreservesBalance() (gas: 51464)\n[PASS] test_TransferEntireBalance() (gas: 138778)\n[PASS] test_TransferFromByHolderStillNeedsAllowance() (gas: 35769)\n[PASS] test_TransferFromCanExhaustAllowance() (gas: 162061)\n[PASS] test_TransferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 162697)\n[PASS] test_TransferFromToSelfSpendsAllowanceWithoutChangingBalance() (gas: 109974)\n[PASS] test_TransferMovesExactAmountAndEmitsEvent() (gas: 93572)\n[PASS] test_TransfersDoNotCallRecipient() (gas: 170276)\n[PASS] test_UnsupportedMintBurnAndAdminCallsRevert() (gas: 1112954)\n[PASS] test_ZeroTransferFromEmptyAccountEmitsEvent() (gas: 73332)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 68929)\nSuite result: ok. 36 passed; 0 failed; 0 skipped; finished in 72.48ms (369.36ms CPU time)\n\nRan 1 test for test/Swarmpeg.invariant.t.sol:SwarmpegInvariantTest\n[PASS] invariant_SupplyBalancesAndAllowancesMatchModel() (runs: 256, calls: 16384, reverts: 0)\n\n╭-----------------+--------------+-------+---------+----------╮\n| Contract        | Selector     | Calls | Reverts | Discards |\n+=============================================================+\n| SwarmpegHandler | approve      | 5441  | 0       | 0        |\n|-----------------+--------------+-------+---------+----------|\n| SwarmpegHandler | transfer     | 5410  | 0       | 0        |\n|-----------------+--------------+-------+---------+----------|\n| SwarmpegHandler | transferFrom | 5533  | 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 0\n  Bound result 0\n  Bound result 0\n  Bound result 95\n  Bound result 0\n  Bound result 0\n  Bound result 26946\n  Bound result 0\n  Bound result 478\n  Bound result 1000000000000000000\n  Bound result 4269\n  Bound result 5529\n  Bound result 8\n  Bound result 0\n  Bound result 3\n  Bound result 0\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 7.30s (7.29s CPU time)\n\nRan 2 test suites in 7.30s (7.37s CPU time): 37 tests passed, 0 failed, 0 skipped (37 total tests)\n","passed":true},{"durationMs":72,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Swarmpeg.approve(address,uint256)\",\"Swarmpeg.transfer(address,uint256)\",\"Swarmpeg.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.md\":19,\"README.md\":67,\"SECURITY_REVIEW.md\":19,\"foundry.toml\":19,\"launch.json\":24,\"remappings.txt\":2,\"src/Swarmpeg.sol\":17,\"test/Swarmpeg.invariant.t.sol\":107,\"test/Swarmpeg.t.sol\":459},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"74bd7685aeb9fd59df9037110ecff4fab9d834e18cb9e079d001ae286ad25615","verifiedTreeHash":"c3a58ee5d8c31b752fa389523296d3e4dc3b9fde","verifierVersion":"0.1.0+c3fba9eb"},{"checks":[{"durationMs":1233,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.16s\nCompiler run successful!\n","passed":true},{"durationMs":4155,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 36 tests for test/Swarmpeg.t.sol:SwarmpegTest\n[PASS] testFuzz_OverdrawRevertsWithoutChangingBalances(uint256,uint256) (runs: 1024, μ: 127461, ~: 127592)\nLogs:\n  Bound result 95\n  Bound result 2\n\n[PASS] testFuzz_TransferConservesSupply(address,uint256) (runs: 1024, μ: 93042, ~: 93786)\nLogs:\n  Bound result 345181961212025513229595195\n\n[PASS] testFuzz_TransferFromFailureRollsBackAllowance(uint256,uint256) (runs: 1024, μ: 196709, ~: 196874)\nLogs:\n  Bound result 242\n  Bound result 18110\n\n[PASS] testFuzz_TransferFromRespectsAllowance(uint256,uint256) (runs: 1024, μ: 148547, ~: 161213)\nLogs:\n  Bound result 293179999105243134977\n\n[PASS] testFuzz_TransfersOutAndBackPreserveSupply(uint256,uint256) (runs: 1024, μ: 195508, ~: 197306)\nLogs:\n  Bound result 249378452403471734908146893\n  Bound result 113864160087356875238360541\n\n[PASS] test_ApprovalBelongsOnlyToCaller() (gas: 143043)\n[PASS] test_ApprovalCanBeReplacedAndRevoked() (gas: 157209)\n[PASS] test_ApproveEmitsEventAndDoesNotMoveTokens() (gas: 88787)\n[PASS] test_ConstructorEmitsExactlyOneMint() (gas: 9670)\n[PASS] test_Create2MintsToFactoryRatherThanTransactionOrigin() (gas: 306453)\n[PASS] test_DeployerCannotSpendHolderTokensWithoutApproval() (gas: 158310)\n[PASS] test_LaunchDistributionClaimsAndPoolTransfersAreExact() (gas: 645354)\n[PASS] test_MaximumAllowanceRemainsUnchangedAcrossSpends() (gas: 210194)\n[PASS] test_MetadataAndInitialSupply() (gas: 107606)\n[PASS] test_NativeCurrencyPaymentReverts() (gas: 36799)\n[PASS] test_RevertWhenApprovingZeroSpender() (gas: 37574)\n[PASS] test_RevertWhenTransferAmountIsMaximumUint() (gas: 42479)\n[PASS] test_RevertWhenTransferExceedsBalance() (gas: 67792)\n[PASS] test_RevertWhenTransferFromExceedsAllowance() (gas: 116116)\n[PASS] test_RevertWhenTransferFromExceedsBalancePreservesAllowance() (gas: 113966)\n[PASS] test_RevertWhenTransferFromHasNoAllowance() (gas: 45248)\n[PASS] test_RevertWhenTransferFromToZeroPreservesAllowance() (gas: 114508)\n[PASS] test_RevertWhenTransferFromZeroAddress() (gas: 52274)\n[PASS] test_RevertWhenTransferToZeroAddress() (gas: 71926)\n[PASS] test_RuntimeContainsNoForbiddenOpcodesAndFitsDeploymentLimit() (gas: 1038946)\n[PASS] test_SelfTransferPreservesBalance() (gas: 51464)\n[PASS] test_TransferEntireBalance() (gas: 138778)\n[PASS] test_TransferFromByHolderStillNeedsAllowance() (gas: 35769)\n[PASS] test_TransferFromCanExhaustAllowance() (gas: 162061)\n[PASS] test_TransferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 162697)\n[PASS] test_TransferFromToSelfSpendsAllowanceWithoutChangingBalance() (gas: 109974)\n[PASS] test_TransferMovesExactAmountAndEmitsEvent() (gas: 93572)\n[PASS] test_TransfersDoNotCallRecipient() (gas: 170276)\n[PASS] test_UnsupportedMintBurnAndAdminCallsRevert() (gas: 1112954)\n[PASS] test_ZeroTransferFromEmptyAccountEmitsEvent() (gas: 73332)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 68929)\nSuite result: ok. 36 passed; 0 failed; 0 skipped; finished in 42.54ms (212.03ms CPU time)\n\nRan 1 test for test/Swarmpeg.invariant.t.sol:SwarmpegInvariantTest\n[PASS] invariant_SupplyBalancesAndAllowancesMatchModel() (runs: 256, calls: 16384, reverts: 0)\n\n╭-----------------+--------------+-------+---------+----------╮\n| Contract        | Selector     | Calls | Reverts | Discards |\n+=============================================================+\n| SwarmpegHandler | approve      | 5441  | 0       | 0        |\n|-----------------+--------------+-------+---------+----------|\n| SwarmpegHandler | transfer     | 5410  | 0       | 0        |\n|-----------------+--------------+-------+---------+----------|\n| SwarmpegHandler | transferFrom | 5533  | 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 0\n  Bound result 0\n  Bound result 0\n  Bound result 95\n  Bound result 0\n  Bound result 0\n  Bound result 26946\n  Bound result 0\n  Bound result 478\n  Bound result 1000000000000000000\n  Bound result 4269\n  Bound result 5529\n  Bound result 8\n  Bound result 0\n  Bound result 3\n  Bound result 0\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.07s (4.07s CPU time)\n\nRan 2 test suites in 4.07s (4.11s CPU time): 37 tests passed, 0 failed, 0 skipped (37 total tests)\n","passed":true},{"durationMs":35,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Swarmpeg.approve(address,uint256)\",\"Swarmpeg.transfer(address,uint256)\",\"Swarmpeg.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.md\":19,\"README.md\":67,\"SECURITY_REVIEW.md\":19,\"foundry.toml\":19,\"remappings.txt\":2,\"src/Swarmpeg.sol\":17,\"test/Swarmpeg.invariant.t.sol\":107,\"test/Swarmpeg.t.sol\":459},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":414,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":197,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/Swarmpeg.sol:10: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"b5b0baad6ff5498f3366ce5c60ea1dc0a49a17ff4764b0ed4b72cdd2d8746adc","verifiedTreeHash":"8b143f19f94f9d8c9b78a31450932677ec5540eb","verifierVersion":"0.1.0+c3fba9eb"}]}