{"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":"5cde81e3-2ab0-4034-a229-848e7d50a5e6","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"086578634be64082899bd03e31b089ff22a7e3cfb9843f4f8d458edf550b0023","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":"727334218eefaab716756731542e2ed3a5ad3c697e964a6c8cf18696786f65b9","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":"56523f2e0a21b97ea472f5be2d9e775c9eeb48cb1231fcccfc627dee2305ab7f","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":"438cef6ddee6d570c4d5bef73e680d79c6037b920c3e3d20945d05da25cc57f3","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":"e2bb1ca6b0550c0b5fe791f2f3d45f25053dbb7e7c985cece23ea7016b528602","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":"91b0ae6e2bbd5ad560e81ba8ad55e45e2503b2de0147996cb269b1b5931dd407","dependsOn":[],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"6b8d2c2ebd3301cff2be8edb1e1cc6ba65c858c02fe7247be81722b969842265","skillId":"build-contract-project","tools":[]},"key":"build_contract_project","kind":"code","role":"implement","skillHash":"6b8d2c2ebd3301cff2be8edb1e1cc6ba65c858c02fe7247be81722b969842265","skillId":"build-contract-project","state":"accepted"},{"acceptedSubmissionHash":"9b23599c1816b151e20ce8daf90bd5b61c82c7c65ffc0de259e9bcd9fed57ca1","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"19dee7d47debc1b45e8d9d089ea6d1571402ee84ebfd891286d631bbb11b9107","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: Crypto Market Evolution (CME).\nToken name: Crypto Market Evolution\nToken symbol: CME\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.","parentJobId":null,"planHash":"385f8a43f2ddbd6115a2cd528597f2cf6bfa0bb52b5a064cfad9f931d96fd21b","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"5cde81e3-2ab0-4034-a229-848e7d50a5e6","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-1781-crypto-market-evolution"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"52686","feedbackHash":"fcded44a7123ac1b5143e2a6004e4d2a36fe7e770ff1fc6d6184664781f13aa6","nodeKey":"audit_economics","submissionHash":"086578634be64082899bd03e31b089ff22a7e3cfb9843f4f8d458edf550b0023","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51039","feedbackHash":"b0eb1888983c9f44e1260f220ad1ca4998a165fc3aee1aad7e35314ad08f8029","nodeKey":"audit_flow","submissionHash":"727334218eefaab716756731542e2ed3a5ad3c697e964a6c8cf18696786f65b9","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51070","feedbackHash":"3be2ed77fd4b54736a01c8c5f1bcc711f8d1162c7298af179afa535a027d20f8","nodeKey":"audit_judge","submissionHash":"56523f2e0a21b97ea472f5be2d9e775c9eeb48cb1231fcccfc627dee2305ab7f","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52019","feedbackHash":"bcb4ccf8bb5467dd15b3ef0334d9fd8ed6ba9d0e43d8a9cbd90a690fdee02280","nodeKey":"audit_math","submissionHash":"438cef6ddee6d570c4d5bef73e680d79c6037b920c3e3d20945d05da25cc57f3","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51229","feedbackHash":"5e576f87abbdcaaad5d6e0845c99cd715fa73a862ab5663502e810554d8d0fe7","nodeKey":"audit_permissions","submissionHash":"e2bb1ca6b0550c0b5fe791f2f3d45f25053dbb7e7c985cece23ea7016b528602","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51353","feedbackHash":"4145d8c46c74c6955c42c74f34bc93dbd1cee6fc614e01830217c7e802e7ae81","nodeKey":"build_contract_project","submissionHash":"91b0ae6e2bbd5ad560e81ba8ad55e45e2503b2de0147996cb269b1b5931dd407","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52626","feedbackHash":"22e575f7970fa45fc552c0633c74314a76edde69bfd85cefed93a344a95c5ac1","nodeKey":"manifest","submissionHash":"9b23599c1816b151e20ce8daf90bd5b61c82c7c65ffc0de259e9bcd9fed57ca1","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51244","feedbackHash":"21db412aa7198e0bb60bbdbd174847f3384e1e8950a0a2ae84ddfee2aefef899","nodeKey":"write_foundry_tests","submissionHash":"19dee7d47debc1b45e8d9d089ea6d1571402ee84ebfd891286d631bbb11b9107","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"ed651f102e38c74c3b60afcfbae8de792fd0671538051214e7f7d270dd553e5d","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":null,"device":"8a05ec1ea94411ea","findings":[{"citation":"resolved","description":"README.md (lines 50-55) and DEPENDENCIES.md (lines 12-17) name `sha256sum -c dependencies.sha256` as the release check that proves the vendored dependencies are unmodified upstream copies ('Source files were copied without modification'). On the committed tree (git status clean at HEAD 6b2e6b9) that check fails for seven files under lib/forge-std/src/: StdAssertions.sol, StdJson.sol, StdToml.sol, Vm.sol, console.sol, interfaces/IERC7540.sol and interfaces/IMulticall3.sol. Root cause: the hashes recorded in dependencies.sha256 are the hashes of the upstream forge-std v1.9.7 bytes (verified: upstream Vm.sol at commit 77041d2 hashes to 9068805b..., exactly the recorded value), but the committed files were subsequently reflowed by this project's `forge fmt` (foundry.toml sets `[fmt] line_length = 120` with no `ignore` for lib/, and `forge fmt --check` passes on the tree while it reports the upstream copy of Vm.sol as needing reformatting). The differences are whitespace-only: after stripping spaces, tabs and newlines each of the seven files hashes identically to upstream, so no test semantics changed. The OpenZeppelin production dependency (ERC20.sol, IERC20.sol, IERC20Metadata.sol, Context.sol, draft-IERC6093.sol, LICENSE) is byte-identical to upstream commit dbb6104 and its hashes verify. Impact: the project's own provenance statement is false for the test library and the documented check cannot be used as written; anyone following the README's check list gets a failure and cannot distinguish this benign reformat from a real tampering. No on-chain or economic impact. Fix (author's choice, both minimal): (a) exclude vendored code from formatting with `[fmt] ignore = [\"lib/**\"]` in foundry.toml and restore the seven files to their upstream bytes, or (b) regenerate dependencies.sha256 from the committed files and amend DEPENDENCIES.md to say the forge-std files are formatted copies.","line":54,"path":"README.md","reproduction":"From the repository root on the committed tree: `git status --short` prints nothing. Run `sha256sum -c dependencies.sha256`. Expected (per README.md:54 and DEPENDENCIES.md:17): every line OK. Actual: `lib/forge-std/src/StdAssertions.sol: FAILED`, `lib/forge-std/src/StdJson.sol: FAILED`, `lib/forge-std/src/StdToml.sol: FAILED`, `lib/forge-std/src/Vm.sol: FAILED`, `lib/forge-std/src/console.sol: FAILED`, `lib/forge-std/src/interfaces/IERC7540.sol: FAILED`, `lib/forge-std/src/interfaces/IMulticall3.sol: FAILED`, `sha256sum: WARNING: 7 computed checksums did NOT match`, exit status 1. Confirming the cause: `sha256sum lib/forge-std/src/Vm.sol` prints a1b1c829..., while `grep Vm.sol dependencies.sha256` prints 9068805b..., which is the sha256 of upstream forge-std v1.9.7 src/Vm.sol at commit 77041d2ce690e692d6e03cc812b57d1ddaa4d505; `diff` of the two shows only multi-line function signatures reflowed onto one line (e.g. `getDeployment(...) external view returns (address deployedAddress);`), and `tr -d ' \\t\\n' < file | sha256sum` gives the same digest for the vendored and upstream copies of all seven files.","severity":"low","snippet":"sha256sum -c dependencies.sha256","title":"Documented dependency integrity check fails on the committed tree: 7 forge-std files were reformatted after dependencies.sha256 was written"}],"hash":"086578634be64082899bd03e31b089ff22a7e3cfb9843f4f8d458edf550b0023","nodeId":"5bb0c124-6af2-4749-a5c9-7b9ef3e9ca03","outcome":"completed","summary":"The review is complete and the findings file is written and validated.\n\n**Outcome.** The token is clean in my area. CMEToken is a plain OpenZeppelin v5.0.2 ERC-20 with one constructor mint of exactly 10^27 base units to the deployer, no constructor arguments, and no owner, mint, burn, tax, pause, blacklist, hook or callback path. Build passes and all 33 project tests pass, including the 256-run stateful invariant suite with zero reverts.\n\n**What I verified against the Economic Security, Invariant and Flow Gap guides:**\n- Supply conservation: the only mint is in the constructor, no burn is reachable, and the compiled ABI has only the nine standard functions plus the constant. Total supply cannot change after deployment.\n- Launch flows: every transfer moves the exact amount, so the swarm share, the single-sided seed through the PoolManager, the remainder forwarding, claims, and trader buys and sells all arrive whole. The protected floor tests have nothing to fail on.\n- Approvals: standard replace semantics, zero-spender revert, unlimited allowance untouched, finite allowance decremented, rollback atomic with balances.\n- Dependencies: all six vendored OpenZeppelin files are byte-identical to upstream commit dbb6104, which I fetched and diffed.\n- No DELEGATECALL, CALLCODE or SELFDESTRUCT in the 1752-byte runtime. Decimals are 18.\n\n**One low finding reported.** The documented integrity check `sha256sum -c dependencies.sha256` fails on the committed tree for seven forge-std files. The recorded hashes match upstream v1.9.7 bytes, but the committed copies were reflowed by the project's formatter, since foundry.toml does not exclude the lib directory from formatting. The differences are whitespace only, the files are test-only, and there is no on-chain impact, but the provenance claim in DEPENDENCIES.md is false as written. The suggested fix is either to exclude vendored code from formatting and restore the upstream bytes, or to regenerate the hash file.\n\n**Coverage.** All three entry points are marked holds, with five additional invariant rows: supply conservation, constructor mint to the factory, absence of privileged powers, unmodified production dependency, and the dependency hash check, which carries the finding. Nothing in my area was left unreached. The static analysis lead about the large numeric literal was checked and is not a defect: the literal equals 10^27 exactly.\n\nNo files in the repository were changed other than the findings file. The scratch directory used for the upstream comparison was outside the repository and has been removed.","treeHash":null,"usage":{"cachedInputTokens":578200,"inputTokens":258,"model":"claude-fable-5-1","outputTokens":16082,"runtime":"claude","turns":26,"wallClockMs":250977}},{"artifacts":[],"attempt":1,"bundleHash":"4d5cc72be0fe4ac816ab3bf883d074c9bc5702275a4c8f78eccc67a3cee40b61","device":"73d25b5e0857cef5","findings":[],"hash":"19dee7d47debc1b45e8d9d089ea6d1571402ee84ebfd891286d631bbb11b9107","nodeId":"3c008a48-4c0e-4ba5-9b83-2c776168ca4b","outcome":"completed","summary":"Added 17 adversarial tests covering failure paths, boundary values, allowance rollback, and caller isolation. Expanded stateful testing to four invariants across nine handler actions.\n\nOffline build and full test suite pass with the required seed, including 16,384 invariant calls. Only `test/` changed. No implementation defects were found.","treeHash":"688d26753784f55f958382e8024fde91888ed399","usage":{"cachedInputTokens":975360,"inputTokens":90640,"model":"gpt-6-astra","outputTokens":12980,"runtime":"codex","turns":6,"wallClockMs":307401}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"87645bda72145989","findings":[],"hash":"224445c6c79457b4d3057c9065b014f4628ec9cf23d928a58c913a9043cddb88","nodeId":"b11f9df8-9bc9-4e86-902f-b85eeaf9a1a0","outcome":"failed","summary":"codex-devin wrapper: unhandled option --strict-config","treeHash":null,"usage":{"cachedInputTokens":0,"inputTokens":0,"model":"gpt-6-astra","outputTokens":0,"runtime":"codex","turns":0,"wallClockMs":94}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"be3be4cc237417f9","findings":[{"citation":"resolved","description":"Outside the assigned math area; reported because it is concrete and the README names it as a release check. README.md line 54 and DEPENDENCIES.md line 17 instruct running `sha256sum -c dependencies.sha256`, and DEPENDENCIES.md lines 12-13 state the vendored sources were \"copied without modification\" from forge-std v1.9.7 (commit 77041d2ce690e692d6e03cc812b57d1ddaa4d505). On the committed tree (git status clean, HEAD 6b2e6b9) that command reports 7 FAILED and exits 1: lib/forge-std/src/Vm.sol, StdAssertions.sol, StdJson.sol, StdToml.sol, console.sol, interfaces/IERC7540.sol and interfaces/IMulticall3.sol. I fetched the seven files from upstream at that commit: every recorded hash in dependencies.sha256 equals the upstream file, so the record is right and the tree's copies are what changed. After stripping all whitespace the vendored and upstream files hash identically, and the diffs are only multi-line signatures joined to one line (<= 120 columns, matching this project's [fmt] line_length = 120), i.e. the files were run through `forge fmt` after being hashed. `forge fmt --check` passes on the tree, consistent with that. Production impact: none. forge-std is test-only, and the production dependency (OpenZeppelin v5.0.2, commit dbb6104ce834628e473d2173bbc9d47f81a9eec3) is byte-identical to upstream for all six vendored files, which I verified the same way. The defect is that the provenance claim and the published verification step are false as committed, so a reviewer following the README cannot confirm the vendored tree. Minimal fix, without touching lib/: regenerate dependencies.sha256 from the tree (`sha256sum lib/forge-std/... lib/openzeppelin-contracts/... > dependencies.sha256`, same file order) and amend DEPENDENCIES.md to say the forge-std sources were reformatted with the project's forge fmt settings (whitespace only) after copying; or, if the deployer tooling permits, restore the seven byte-exact v1.9.7 files so the existing record holds.","line":18,"path":"dependencies.sha256","reproduction":"State: the committed tree at HEAD 6b2e6b9 with no working-tree changes. Run from the repository root: `sha256sum -c dependencies.sha256; echo exit=$?`. Expected (per README.md:54 and DEPENDENCIES.md:17): every line `OK`, exit 0. Actual: `lib/forge-std/src/StdAssertions.sol: FAILED`, `lib/forge-std/src/StdJson.sol: FAILED`, `lib/forge-std/src/StdToml.sol: FAILED`, `lib/forge-std/src/Vm.sol: FAILED`, `lib/forge-std/src/console.sol: FAILED`, `lib/forge-std/src/interfaces/IERC7540.sol: FAILED`, `lib/forge-std/src/interfaces/IMulticall3.sol: FAILED`, `sha256sum: WARNING: 7 computed checksums did NOT match`, exit=1. Concrete values: `sha256sum lib/forge-std/src/Vm.sol` gives a1b1c82924aecf0f38b53192fd1e801cccc1e1fd2ecd6b2301e4f4c4ab102a15 while dependencies.sha256:18 records 9068805b59ac1d0ea03a8fa1f15ae49c094e0c6c852a2500e0dd112f264b2cb1, which is the sha256 of https://raw.githubusercontent.com/foundry-rs/forge-std/77041d2ce690e692d6e03cc812b57d1ddaa4d505/src/Vm.sol. `diff <upstream Vm.sol> lib/forge-std/src/Vm.sol` shows 50 changed lines, all line-wrapping; `tr -d ' \\t\\n\\r' < each | sha256sum` is equal for both copies of all seven files.","severity":"low","snippet":"9068805b59ac1d0ea03a8fa1f15ae49c094e0c6c852a2500e0dd112f264b2cb1  lib/forge-std/src/Vm.sol","title":"Documented dependency check fails: seven vendored forge-std files no longer match dependencies.sha256 (reformatted v1.9.7, whitespace-only)"}],"hash":"438cef6ddee6d570c4d5bef73e680d79c6037b920c3e3d20945d05da25cc57f3","nodeId":"2b9d6a73-d85e-460b-8d5e-07da9edf582f","outcome":"completed","summary":"The review is complete. The findings file is at the repository root and the scratch probe is removed, so the tree holds nothing but `.imd-findings.json`, which git deliberately excludes.\n\n**Result for the assigned area: no defects.** The token is a 19-line wrapper around an unmodified OpenZeppelin v5.0.2 ERC-20, and its entire arithmetic surface is one compile-time constant, one checked addition in the constructor, and the library's guarded subtractions. I checked every failure mode in the Math Precision, Boundary and Numerical Gap guides against it:\n\n- **Math precision.** There is no division, multiplication at runtime, scale conversion, or narrowing cast anywhere. The supply constant evaluates exactly to 10^27, which the aderyn \"large literal\" lead merely restyles. The unchecked subtractions in balance and allowance spending are each preceded by the exact revert guard they rely on.\n- **Boundary.** The token makes no external calls, has no payable, receive or fallback function, and decodes no bytes. The only sentinel branches are the zero-address checks. I walked both sides of each: no external path can reach the mint or burn branch after construction, including the zero-value `transferFrom` from the zero address, which reverts on the approver check.\n- **Numerical gap.** Sum of balances equals total supply exactly with no drift, since nothing rounds. The infinite-allowance sentinel at the maximum value is the documented design and max-minus-one still decrements. The launch split of 10/88/2 percent leaves no remainder at this supply.\n\nI substantiated each trace with a scratch Foundry probe of 14 edge cases, all passing, and the existing 33-test suite passes with the documented seed. I also fetched upstream and confirmed all six vendored OpenZeppelin files are byte-identical to the claimed commit, so the inherited code is the audited library.\n\n**One low finding outside the area.** The README and DEPENDENCIES.md direct readers to run the dependency checksum verification, and it fails on the committed tree with seven forge-std files not matching. The recorded hashes equal upstream v1.9.7 exactly. The tree's copies are those same files reformatted to this project's 120-column format setting, with whitespace-only differences. There is no production impact because forge-std is test-only, but the provenance claim and the published check are false as committed. The fix is to regenerate the checksum record and correct the \"copied without modification\" wording, which touches nothing under lib.\n\n**Coverage.** All three entry points, approve, transfer and transferFrom, are recorded as holds with their traced reasons, plus seven invariant rows covering the constant, fixed supply, balance conservation, decimals and launch arithmetic, the empty boundary inventory, and both provenance checks. Nothing was left unreached.","treeHash":null,"usage":{"cachedInputTokens":916918,"inputTokens":322,"model":"claude-fable-5-1","outputTokens":28056,"runtime":"claude","turns":31,"wallClockMs":413050}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"89214b73ec1e0b7b","findings":[{"citation":"resolved","description":"README.md line 54 lists `sha256sum -c dependencies.sha256` as one of the four build-and-check commands, and DEPENDENCIES.md lines 12-13 state that the vendored sources were 'copied without modification from archives of the commits above'. On the committed tree (HEAD 58ca572, `git status --porcelain` empty) that check fails for seven forge-std files: lib/forge-std/src/StdAssertions.sol, StdJson.sol, StdToml.sol, Vm.sol, console.sol, interfaces/IERC7540.sol and interfaces/IMulticall3.sol. I reproduced the cause independently: (1) I fetched all 36 recorded files from raw.githubusercontent.com at the pinned commits (forge-std 77041d2ce690e692d6e03cc812b57d1ddaa4d505, which the GitHub tag v1.9.7 resolves to; OpenZeppelin dbb6104ce834628e473d2173bbc9d47f81a9eec3, which tag v5.0.2 resolves to) and ran dependencies.sha256 against those copies: all 36 lines OK, so every recorded hash is the correct upstream hash and the tree's copies are what changed. (2) `cmp` shows the seven committed files differ from upstream only in line wrapping (Vm.sol: 2,369 lines vendored vs 2,397 upstream; StdAssertions.sol 685 vs 669; StdJson.sol 277 vs 283; StdToml.sol 277 vs 283; console.sol 1,552 vs 1,560; IERC7540.sol 144 vs 150; IMulticall3.sol 70 vs 73) and each is byte-identical to upstream after `tr -d ' \\t\\r\\n'`. (3) `forge fmt --check` on the upstream copy of Vm.sol exits 1 under this project's `[fmt] line_length = 120`, while it exits 0 on the vendored copy, so the files were run through the project's formatter after being hashed; lib/, dependencies.sha256 and DEPENDENCIES.md all arrived in the same builder commit 6b2e6b9. The six production OpenZeppelin v5.0.2 files (ERC20.sol, IERC20.sol, IERC20Metadata.sol, Context.sol, draft-IERC6093.sol, LICENSE) are byte-identical to upstream and their hashes verify, and all 50 tests pass, so there is no on-chain or economic impact. The defect is that the integrity gate the project tells reviewers and deployers to run fails on a clean checkout and the provenance statement is false for the test-only library; a reader cannot distinguish this benign reformat from a tampered test library without re-deriving upstream themselves. The specialists' reported line counts for Vm.sol (1,847 vs 1,819) were wrong; the counts above are from the tree and the fetched upstream file. Minimal fix without touching lib/ or foundry.toml (which the submission rules forbid): regenerate dependencies.sha256 from the committed tree in the same file order (`sha256sum <the 36 paths> > dependencies.sha256`) and amend DEPENDENCIES.md to say the forge-std sources were reformatted with the project's forge fmt settings (whitespace only) after being copied. Alternatively, if the deployer tooling permits changing lib/, restore the seven files byte-for-byte from the v1.9.7 archive so the existing record and statement hold.","line":18,"path":"dependencies.sha256","reproduction":"State: the committed tree at HEAD 58ca572 with no working-tree changes (`git status --porcelain` prints nothing). Input: from the repository root run `sha256sum -c dependencies.sha256; echo exit=$?`. Expected (per README.md:54 and DEPENDENCIES.md:12-17): every one of the 36 lines prints `OK` and the exit code is 0. Actual: `lib/forge-std/src/StdAssertions.sol: FAILED`, `lib/forge-std/src/StdJson.sol: FAILED`, `lib/forge-std/src/StdToml.sol: FAILED`, `lib/forge-std/src/Vm.sol: FAILED`, `lib/forge-std/src/console.sol: FAILED`, `lib/forge-std/src/interfaces/IERC7540.sol: FAILED`, `lib/forge-std/src/interfaces/IMulticall3.sol: FAILED`, `sha256sum: WARNING: 7 computed checksums did NOT match`, exit=1. Confirming the cause: `sha256sum lib/forge-std/src/Vm.sol` prints a1b1c82924aecf0f38b53192fd1e801cccc1e1fd2ecd6b2301e4f4c4ab102a15, while dependencies.sha256 line 18 records 9068805b59ac1d0ea03a8fa1f15ae49c094e0c6c852a2500e0dd112f264b2cb1, which is the sha256 of https://raw.githubusercontent.com/foundry-rs/forge-std/77041d2ce690e692d6e03cc812b57d1ddaa4d505/src/Vm.sol; `diff <that upstream file> lib/forge-std/src/Vm.sol` shows only multi-line signatures joined onto one line (first hunk: `getDeployment(string calldata contractName, uint64 chainId) external view returns (address deployedAddress);`), and `tr -d ' \\t\\r\\n' < <file> | sha256sum` is equal for the vendored and upstream copies of all seven files. `forge fmt --check <upstream Vm.sol>` run from the repository root exits 1; `forge fmt --check lib/forge-std/src/Vm.sol` exits 0. After the fix (regenerated dependencies.sha256), the same command prints 36 OK lines and exits 0.","severity":"low","snippet":"9068805b59ac1d0ea03a8fa1f15ae49c094e0c6c852a2500e0dd112f264b2cb1  lib/forge-std/src/Vm.sol","title":"Documented dependency integrity check fails: seven vendored forge-std files were reformatted by forge fmt after dependencies.sha256 was written, so `sha256sum -c dependencies.sha256` reports 7 FAILED "},{"citation":"resolved","description":"README.md lines 70-71 describe the suite as 'Six fuzz tests run 1,024 cases each. Three stateful invariants run 256 sequences of 64 calls each'. That was accurate for the builder commit 6b2e6b9 (five testFuzz_ functions in test/CMEToken.t.sol, one in test/CMETokenLaunch.t.sol, three invariant_ functions in test/CMETokenInvariant.t.sol). The later accepted commit 28a036b added test/CMETokenAdversarial.t.sol with five more testFuzz_ functions and added invariant_metadataRemainsUnchanged to test/CMETokenInvariant.t.sol, but did not update the README. The tree now has 11 fuzz tests and 4 invariants (50 tests in total, all passing). Documentation only; no behavioural impact. Fix: update README.md lines 70-73 to the current counts (eleven fuzz tests at 1,024 runs, four invariants at 256 runs of depth 64) and mention the adversarial suite.","line":70,"path":"README.md","reproduction":"State: the committed tree at HEAD 58ca572. Input: from the repository root run `grep -c 'function testFuzz_' test/*.t.sol` and `grep -c 'function invariant_' test/*.t.sol`. Expected (per README.md:70-71): totals of 6 fuzz tests and 3 invariants. Actual: test/CMEToken.t.sol 5, test/CMETokenAdversarial.t.sol 5, test/CMETokenLaunch.t.sol 1 (total 11 fuzz tests); test/CMETokenInvariant.t.sol 4 invariants. `forge test` likewise reports four invariants under CMETokenInvariantTest and 50 tests total. `git show 28a036b --stat` shows the adversarial file and the invariant change with no README change.","severity":"info","snippet":"absent administrative functions, and rejected native-currency calls. Six fuzz tests","title":"README test-suite description is stale after the accepted adversarial-test commit: it says six fuzz tests and three stateful invariants, the tree has eleven and four"}],"hash":"56523f2e0a21b97ea472f5be2d9e775c9eeb48cb1231fcccfc627dee2305ab7f","nodeId":"f2b08b14-2bf8-4053-a5a1-6bac848f7a8c","outcome":"completed","summary":"The findings file is in place and excluded from git by the repository's own exclude rules, as intended. No source, test or configuration file was changed. The review is complete.\n\n**Outcome:** one low finding kept, one info note added, no code defects in the token.\n\n**Specialist findings.** All four specialists reported the same root cause, so I merged them into one low finding. I reproduced it independently rather than trusting their text:\n\n- Running the README's check `sha256sum -c dependencies.sha256` on the clean tree fails for seven forge-std files and exits 1.\n- I fetched all 36 recorded files from GitHub at the pinned commits (the tags v1.9.7 and v5.0.2 resolve to exactly those commits). Every recorded hash equals the upstream file, so the hash file is correct and the tree's copies are what changed.\n- The seven files are byte-identical to upstream after whitespace stripping, and the project's own `forge fmt --check` rejects the upstream copy while accepting the vendored one. The formatter reflowed them after they were hashed, inside the same builder commit.\n- The six production OpenZeppelin files are byte-identical to upstream, so there is no on-chain impact. The specialists' line counts for Vm.sol were wrong, and I corrected them in the finding.\n- The suggested fix stays inside the submission rules: regenerate the hash file from the tree and amend DEPENDENCIES.md to say forge-std was reformatted. Touching `lib/` is only an option if the tooling allows it.\n\n**Own pass.** The token is a bare OpenZeppelin v5.0.2 ERC-20 that mints 1e27 units to the deployer. I traced approve, transfer and transferFrom through the vendored library, scanned the compiled runtime for forbidden and call-family opcodes, checked the sizes against the deployment limits, validated launch.json's keys, types and values against the manifest rules, and confirmed the paired currency has code with symbol IMD on Ethereum mainnet. All 50 tests pass with the README seed. The aderyn large-literal lead is a style lint over a literal that equals the manifest supply, so it was dropped. The only extra item is an info note: the README still describes six fuzz tests and three invariants, but the later accepted adversarial-test commit raised those to eleven and four.\n\n**Coverage.** All three entry points are answered as holds, with nine further rows for invariants, the manifest, dependency integrity, static-analysis leads and the specialist merge. No proof test was needed since nothing reached high severity.","treeHash":null,"usage":{"cachedInputTokens":1048436,"inputTokens":290,"model":"claude-fable-5-1","outputTokens":30163,"runtime":"claude","turns":45,"wallClockMs":428723}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"9ab27edcfd62be02","findings":[{"citation":"resolved","description":"DEPENDENCIES.md states every vendored file was copied without modification from forge-std v1.9.7 (commit 77041d2ce690e692d6e03cc812b57d1ddaa4d505), and README.md line 54 lists `sha256sum -c dependencies.sha256` as one of the four build-and-check commands. On the committed tree (HEAD 6b2e6b9, `git status` clean, `git diff HEAD -- lib` empty) that command fails for seven forge-std files: lib/forge-std/src/StdAssertions.sol, StdJson.sol, StdToml.sol, Vm.sol, console.sol, interfaces/IERC7540.sol and interfaces/IMulticall3.sol. The hashes recorded in dependencies.sha256 are the correct upstream hashes (e.g. Vm.sol upstream sha256 9068805b...2cb1 matches the recorded line), so the vendored files are what diverged: each differs from the pinned upstream file only in line wrapping (long function signatures were re-wrapped as a formatter does), and all seven are byte-identical to upstream once whitespace is stripped. The production dependency is unaffected: all five vendored OpenZeppelin v5.0.2 files and its LICENSE were fetched from commit dbb6104ce834628e473d2173bbc9d47f81a9eec3 and are byte-identical, and CMEToken compiles and all 33 tests pass. Impact is limited to the deliverable's verification story: the reproducibility check the project itself prescribes cannot pass, the provenance claim in DEPENDENCIES.md is false for these files, and a reviewer following the README cannot distinguish this cosmetic drift from a tampered test library without doing the upstream diff themselves. Fix: either restore the seven files byte-for-byte from the pinned commit (so the existing hash file passes), or regenerate dependencies.sha256 from the committed files and amend DEPENDENCIES.md to say the forge-std copies were reformatted. Do not touch foundry.toml or remappings.txt for this.","line":12,"path":"DEPENDENCIES.md","reproduction":"State: the committed tree as is (HEAD 6b2e6b9). Input: run the README's check command from the repository root: `sha256sum -c dependencies.sha256`. Expected (per DEPENDENCIES.md/README.md): every line prints OK and the exit code is 0. Actual: `lib/forge-std/src/StdAssertions.sol: FAILED`, `lib/forge-std/src/StdJson.sol: FAILED`, `lib/forge-std/src/StdToml.sol: FAILED`, `lib/forge-std/src/Vm.sol: FAILED`, `lib/forge-std/src/console.sol: FAILED`, `lib/forge-std/src/interfaces/IERC7540.sol: FAILED`, `lib/forge-std/src/interfaces/IMulticall3.sol: FAILED`, `sha256sum: WARNING: 7 computed checksums did NOT match`, exit code 1. Confirming the cause: `sha256sum lib/forge-std/src/Vm.sol` gives a1b1c829...2a15 while the recorded (and upstream v1.9.7) value is 9068805b...2cb1; `curl` of raw.githubusercontent.com/foundry-rs/forge-std/77041d2ce690e692d6e03cc812b57d1ddaa4d505/src/Vm.sol and `diff` against the vendored file shows only re-wrapped signatures (upstream 1847 lines vs vendored 1819), and the two are identical after `sed 's/[[:space:]]//g'`.","severity":"low","snippet":"used only by tests. Source files were copied without modification from archives","title":"Vendored forge-std files fail the project's own dependency integrity check (sha256sum -c dependencies.sha256 reports 7 FAILED)"}],"hash":"727334218eefaab716756731542e2ed3a5ad3c697e964a6c8cf18696786f65b9","nodeId":"df8377cb-8046-4651-805f-a9bf9ca00619","outcome":"completed","summary":"The review is complete and the findings file is written and validated. The working tree is otherwise untouched.\n\n**Outcome.** The token itself holds across my area. The one substantiated defect is a low-severity integrity issue in the periphery, recorded in `.imd-findings.json`.\n\n**What I covered**\n\n- **Execution Trace.** Traced `approve`, `transfer` and `transferFrom` from the ABI into the vendored OpenZeppelin v5.0.2 code. Zero-address paths revert, balance and allowance checks precede the unchecked arithmetic, every flow credits the exact amount, and a revert in either step of `transferFrom` rolls back both. No sentinel paths, external calls, callbacks or partial state updates exist.\n- **Periphery.** The five OpenZeppelin files and the licence are byte-identical to upstream commit dbb6104. Seven forge-std files are not identical to the pinned commit.\n- **First Principles.** The constructor takes no arguments and mints exactly 10^27 units once to its immediate creator, which under the factory's CREATE2 is the factory. The compiled ABI has only the three listed state-changing functions, no receive or fallback, no constructor inputs, and the runtime passes the forbidden-opcode scan. Decimals, name and symbol match the brief.\n\n**The finding.** The README lists `sha256sum -c dependencies.sha256` as a build check and DEPENDENCIES.md says every vendored file was copied unmodified. On the committed tree that command fails for seven forge-std files. The recorded hashes are the correct upstream ones. The vendored copies were re-wrapped by a formatter and are identical to upstream once whitespace is stripped. Impact is confined to the deliverable's reproducibility claim, since forge-std is test-only, so I rated it low and gave the exact command, output and hash comparison as the reproduction.\n\n**Checks run.** The suite passed with the README's fuzz seed, 33 tests plus three invariants. `forge fmt --check` is clean. Slither and aderyn reported nothing actionable, and the one aderyn style note about the large literal is not a defect.\n\n**Coverage record.** Nine rows: the three entry points, the constructor, the supply and admin-surface invariants, both vendored-dependency checks, and the launch flows. All hold except the forge-std row, which points at finding 1. I did not run a live Uniswap v4 swap, since the protected harness and v4-core are not in this tree; the coverage row says so.","treeHash":null,"usage":{"cachedInputTokens":785017,"inputTokens":290,"model":"claude-fable-5-1","outputTokens":17363,"runtime":"claude","turns":35,"wallClockMs":291091}},{"artifacts":[],"attempt":2,"bundleHash":"db88a7f391a355d007b7573edfbfb5cc529c062714848160217444351c955bda","device":"60f85cbc35c28a7e","findings":[],"hash":"91b0ae6e2bbd5ad560e81ba8ad55e45e2503b2de0147996cb269b1b5931dd407","nodeId":"b11f9df8-9bc9-4e86-902f-b85eeaf9a1a0","outcome":"completed","summary":"Implemented CME with **1,000,000,000 tokens and 18 decimals**, minted once to the deployer. Dependencies are vendored for offline builds; assumptions, deployment parameters, and operational responsibilities are documented in `README.md`.\n\nVerified with Solidity **0.8.26**:\n\n- `forge build` passed.\n- `forge test` passed: **33 tests**, using the required fuzz seed.\n- `forge fmt --check` passed.","treeHash":"6b350bf9677e490bed323ca572ebe8a5ec11784e","usage":{"cachedInputTokens":632448,"inputTokens":66010,"model":"gpt-6-astra","outputTokens":16898,"runtime":"codex","turns":5,"wallClockMs":354471}},{"artifacts":[],"attempt":1,"bundleHash":"fdb40c9c5aba510d9fab613f2978faf28d27d04d5ad2b34bb6003d4d1f080078","device":"790f4e545968ee92","findings":[],"hash":"9b23599c1816b151e20ce8daf90bd5b61c82c7c65ffc0de259e9bcd9fed57ca1","nodeId":"87f19aec-7da4-4cc4-9283-fea382bf08a7","outcome":"completed","summary":"The manifest is written and verified. The only change in the tree is the new launch.json.\n\n**What launch.json says**\n\n- Token contract CMEToken, name Crypto Market Evolution, symbol CME, 18 decimals, no constructor arguments, which matches the accepted source where the constructor takes nothing and mints the INITIAL_SUPPLY constant to msg.sender.\n- totalSupply is 1000000000000000000000000000, exactly one billion tokens in minor units.\n- No application contracts, matching the accepted tree, which contains only the token.\n- Pool and economics are copied verbatim from the launch reference: IMD as the paired currency, fee 12500, tick spacing 60, the one-to-one initialPrice, and the requester's 8800 bps, 2,500 IMD opening cap and remainder address.\n- Notes describe only the token present in the tree and run to about 1,100 characters.\n\n**Checks run**\n\n- The JSON parses, uses only the schema's six top-level keys, and the economics object compares equal to the job's verbatim value.\n- `forge build` compiled cleanly with Solidity 0.8.26.\n- `forge test` with the verifier's fuzz seed passed all 33 tests across the three existing suites.\n- `git status` shows launch.json as the sole new file. No configuration, library or source file was touched.","treeHash":"aef01a593b7cd4b26b0e14bdb459b924f57db02e","usage":{"cachedInputTokens":163666,"inputTokens":130,"model":"claude-fable-5-1","outputTokens":2811,"runtime":"claude","turns":8,"wallClockMs":69005}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"4199bf0c80a9d6cf","findings":[{"citation":"resolved","description":"README.md line 54 lists `sha256sum -c dependencies.sha256` as one of the four build-and-check commands, and DEPENDENCIES.md line 12 states the vendored sources were 'copied without modification' from forge-std v1.9.7 (commit 77041d2). On the committed tree the check fails for seven files: lib/forge-std/src/StdAssertions.sol, StdJson.sol, StdToml.sol, Vm.sol, console.sol, interfaces/IERC7540.sol and interfaces/IMulticall3.sol. The recorded hashes equal the upstream v1.9.7 file hashes (verified by fetching each file at that commit), while the committed files have been re-wrapped by `forge fmt` (line_length 120). Stripping all whitespace, each committed file is identical to upstream, so the drift is formatting only and affects the test-only dependency, not the production token or its bytecode. The OpenZeppelin v5.0.2 files that the token compiles against were independently verified byte-identical to upstream commit dbb6104 and their hashes pass. Impact: the integrity gate the project tells reviewers and deployers to run reports FAILED on a clean checkout, and the provenance claim in DEPENDENCIES.md is false as written; a reader cannot tell a benign reformat from a tampered test library without re-deriving upstream themselves. Fix: either restore the seven files byte-for-byte from the v1.9.7 archive (so the provenance statement holds), or regenerate dependencies.sha256 from the committed tree and amend DEPENDENCIES.md to say the forge-std sources were reformatted with `forge fmt`. Outside the assigned permissions area; reported because it is a concrete, reproducible failure of a documented check.","line":5,"path":"dependencies.sha256","reproduction":"State: clean checkout of commit 6b2e6b9 (`git status --porcelain` is empty). Run from the repository root: `sha256sum -c dependencies.sha256`. Expected (per README.md:54 and DEPENDENCIES.md:12): every line prints OK and the exit code is 0. Actual: 'lib/forge-std/src/StdAssertions.sol: FAILED' and six more FAILED lines, 'sha256sum: WARNING: 7 computed checksums did NOT match', exit code 1. Confirm the cause: `sha256sum lib/forge-std/src/StdAssertions.sol` prints 3fbf4a025b4fc94e... while line 5 of dependencies.sha256 records d4c89eec70d267de..., which is the hash of upstream src/StdAssertions.sol at forge-std commit 77041d2ce690e692d6e03cc812b57d1ddaa4d505; `tr -d ' \\t\\r\\n'` of both files gives the same digest, so the only difference is line wrapping.","severity":"low","snippet":"d4c89eec70d267dec6188461fbc74d3dc8c47e518d176a23417533a232ed9780  lib/forge-std/src/StdAssertions.sol","title":"Documented dependency integrity check fails: seven vendored forge-std files do not match dependencies.sha256"}],"hash":"e2bb1ca6b0550c0b5fe791f2f3d45f25053dbb7e7c985cece23ea7016b528602","nodeId":"a49ee77f-190d-4ff7-977b-e7c1e67d6d01","outcome":"completed","summary":"The review is complete and the findings file is written and validated. Nothing else is needed.\n\n**Outcome: the permissions area is clean. One low finding, outside the area, is reported.**\n\nThe token is a stock OpenZeppelin v5.0.2 ERC20 with a single constructor mint and no arguments. I verified the five vendored OpenZeppelin files byte-for-byte against upstream commit dbb6104, so the permission model is exactly the standard one.\n\n**Access Control, Trust Gap and Asymmetry coverage**\n\n- **Permission map:** no owner, roles, modifiers, initializer, proxy or delegatecall. The compiled ABI exposes only approve, transfer and transferFrom as state-changing calls, plus views. Runtime has no DELEGATECALL, CALLCODE or SELFDESTRUCT.\n- **Inconsistent guards:** balances are written only by the constructor mint and by transfers scoped to msg.sender or a holder-granted allowance. Allowances are written only by the owner's own approve and by the spender's own decrement. No weaker writer exists.\n- **Confused deputy:** the factory holds the whole supply after deployment but nothing lets a third party spend it without an allowance the factory grants. The existing suite and the protected floor both exercise this.\n- **Asymmetry pairs:** transfer versus transferFrom share one path. The unlimited allowance not decrementing is the documented OpenZeppelin behaviour. There is no admin variant, no fee branch and no burn counterpart to the mint, so no mirror can be missing.\n- **Trust gap seams:** with no privileged actor and no economic formula in the token, none of the four seams apply. The only trust assumption is that the factory distributes what it is minted, which the README states.\n\n**Finding 1, low:** the repo's documented integrity check fails on a clean checkout.\n\n```\nsha256sum -c dependencies.sha256\nsha256sum: WARNING: 7 computed checksums did NOT match\n```\n\nThe seven files are all in forge-std, which is test-only. Each is identical to upstream v1.9.7 once whitespace is stripped, so the drift is a `forge fmt` re-wrap, not tampering. The hash list and the \"copied without modification\" claim in DEPENDENCIES.md are nevertheless wrong as written. The fix is to restore the files byte-for-byte or regenerate the hash list and amend the provenance note.\n\n**Not reached:** nothing in the assigned area. No proof test was written because the only finding is low severity. The working tree is unchanged apart from the findings file, which is listed in git's local exclude list.","treeHash":null,"usage":{"cachedInputTokens":711116,"inputTokens":354,"model":"claude-fable-5-1","outputTokens":13979,"runtime":"claude","turns":29,"wallClockMs":233158}}],"verification":[{"checks":[{"durationMs":1893,"exitCode":0,"name":"build","output":"Compiling 29 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.81s\nCompiler run successful!\n","passed":true},{"durationMs":6407,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 4 tests for test/CMETokenLaunch.t.sol:CMETokenLaunchTest\n[PASS] testFuzz_create2MintsToFactoryWithoutConstructorArguments(bytes32) (runs: 1024, μ: 298110, ~: 298210)\n[PASS] test_deploymentMintsToImmediateCaller() (gas: 27358)\n[PASS] test_launchDistributionClaimsAndPoolTransfersAreExact() (gas: 666672)\n[PASS] test_transfersToContractsDoNotInvokeCallbacks() (gas: 182457)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 107.48ms (109.36ms CPU time)\n\nRan 17 tests for test/CMETokenAdversarial.t.sol:CMETokenAdversarialTest\n[PASS] testFuzz_approvalReplacementAndRepetitionLeaveBalancesUntouched(uint256,uint256) (runs: 1024, μ: 305669, ~: 306170)\n[PASS] testFuzz_failedOverdrawPreservesApprovalForLaterFunding(uint256,uint256,bool,bool) (runs: 1024, μ: 396618, ~: 405361)\nLogs:\n  Bound result 229093715362104738123549601\n  Bound result 3\n\n[PASS] testFuzz_invalidRecipientPreservesApprovalForValidRetry(uint256,uint256,bool) (runs: 1024, μ: 289540, ~: 288163)\nLogs:\n  Bound result 70846342\n  Bound result 223\n\n[PASS] testFuzz_splitDelegatedSpendingEqualsSingleSpend(uint256,uint256,bool) (runs: 1024, μ: 421185, ~: 423409)\nLogs:\n  Bound result 964784215682353616638889699\n  Bound result 469860043109459356694716206\n\n[PASS] testFuzz_transferRoundTripRestoresBalancesWithoutSpendingApprovals(uint256,uint256) (runs: 1024, μ: 376594, ~: 377713)\nLogs:\n  Bound result 332\n\n[PASS] test_approvalsDoNotFollowTransferredTokens() (gas: 382880)\n[PASS] test_forwarderCannotSpendUsingOriginApproval() (gas: 497835)\n[PASS] test_forwarderCannotTransferOriginBalance() (gas: 409515)\n[PASS] test_maximumMinusOneAllowanceIsFinite() (gas: 274175)\n[PASS] test_maximumTransferRevertsWithoutArithmeticPanic() (gas: 278650)\n[PASS] test_oneBaseUnitCanBeTransferredAndSpent() (gas: 283573)\n[PASS] test_selfTransferStillRequiresSufficientBalance() (gas: 267805)\n[PASS] test_transferFromByOwnerStillRequiresSelfApproval() (gas: 236414)\n[PASS] test_unlimitedApprovalCanBeReducedAndRevoked() (gas: 445495)\n[PASS] test_zeroRecipientRevertsWithZeroFiniteAndInfiniteAllowances() (gas: 339757)\n[PASS] test_zeroSpenderRejectedForZeroAndMaximumApprovals() (gas: 208869)\n[PASS] test_zeroTransferFromPreservesFiniteAndInfiniteApprovals() (gas: 370647)\nSuite result: ok. 17 passed; 0 failed; 0 skipped; finished in 110.73ms (543.29ms CPU time)\n\nRan 28 tests for test/CMEToken.t.sol:CMETokenTest\n[PASS] testFuzz_approvalAndDelegatedTransfer(uint256,uint256) (runs: 1024, μ: 159916, ~: 161973)\nLogs:\n  Bound result 493909991092509209610640030\n\n[PASS] testFuzz_selfTransferConservesSupply(uint256) (runs: 1024, μ: 55067, ~: 54802)\nLogs:\n  Bound result 127\n\n[PASS] testFuzz_spendingAboveAllowanceReverts(uint256,uint256) (runs: 1024, μ: 122989, ~: 123363)\nLogs:\n  Bound result 182549178377495315863208495\n  Bound result 880741240708224257339730237\n\n[PASS] testFuzz_transferAboveBalanceReverts(uint256,uint256) (runs: 1024, μ: 137445, ~: 137720)\nLogs:\n  Bound result 2378\n  Bound result 1000\n\n[PASS] testFuzz_transfersConserveSupply(address,uint256) (runs: 1024, μ: 93008, ~: 93207)\nLogs:\n  Bound result 1000000000000000000000000000\n\n[PASS] test_absentAdminFunctionsRevertForDeployerAndHolder() (gas: 801364)\n[PASS] test_approvalDoesNotAuthorizeAnotherSpender() (gas: 115700)\n[PASS] test_approveEmitsEventWithoutMovingFunds() (gas: 88822)\n[PASS] test_approveReplacesAndRevokesAllowance() (gas: 189402)\n[PASS] test_approveZeroSpenderReverts() (gas: 37596)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 15459)\n[PASS] test_deployerCannotSpendHolderFundsWithoutApproval() (gas: 158014)\n[PASS] test_failedTransferFromRollsBackAllowanceOnInsufficientBalance() (gas: 126153)\n[PASS] test_failedTransferFromRollsBackAllowanceOnZeroRecipient() (gas: 114244)\n[PASS] test_infiniteAllowanceRemainsUnchanged() (gas: 139400)\n[PASS] test_metadataAndInitialSupply() (gas: 107599)\n[PASS] test_nativeCurrencyAndUnknownCallsAreRejected() (gas: 64681)\n[PASS] test_runtimeContainsNoForbiddenOpcodes() (gas: 1038965)\n[PASS] test_selfTransferPreservesBalanceAndEmitsEvent() (gas: 53969)\n[PASS] test_transferEmitsEventAndDeliversExactAmount() (gas: 91529)\n[PASS] test_transferEntireSupply() (gas: 147166)\n[PASS] test_transferFromEmptyAccountReverts() (gas: 55219)\n[PASS] test_transferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 277575)\n[PASS] test_transferFromToSelfConsumesAllowanceWithoutChangingBalance() (gas: 105313)\n[PASS] test_transferFromZeroSenderRevertsEvenForZeroAmount() (gas: 57142)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71927)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 73345)\n[PASS] test_zeroTransferFromRequiresNoAllowanceAndEmitsEvent() (gas: 81489)\nSuite result: ok. 28 passed; 0 failed; 0 skipped; finished in 110.78ms (474.08ms CPU time)\n\nRan 1 test for test/CMETokenInvariant.t.sol:CMETokenInvariantTest\n[PASS]\nCMETokenInvariantTest invariants:\n[PASS] invariant_allowancesMatchApprovalsRevocationsAndSpending\n[PASS] invariant_balancesMatchIndependentAccounting\n[PASS] invariant_metadataRemainsUnchanged\n[PASS] invariant_totalSupplyAndSumOfBalancesRemainFixed\n CMETokenInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭-----------------+-------------------------+-------+---------+----------╮\n| Contract        | Selector                | Calls | Reverts | Discards |\n+========================================================================+\n| CMETokenHandler | approve                 | 1802  | 0       | 0        |\n|-----------------+-------------------------+-------+---------+----------|\n| CMETokenHandler | move                    | 1781  | 0       | 0        |\n|-----------------+-------------------------+-------+---------+----------|\n| CMETokenHandler | rejectDelegatedOverdraw | 1862  | 0       | 0        |\n|-----------------+-------------------------+-------+---------+----------|\n| CMETokenHandler | rejectOverAllowance     | 1833  | 0       | 0        |\n|-----------------+-------------------------+-------+---------+----------|\n| CMETokenHandler | rejectOverdraw          | 1848  | 0       | 0        |\n|-----------------+-------------------------+-------+---------+----------|\n| CMETokenHandler | rejectZeroRecipient     | 1857  | 0       | 0        |\n|-----------------+-------------------------+-------+---------+----------|\n| CMETokenHandler | rejectZeroSpender       | 1802  | 0       | 0        |\n|-----------------+-------------------------+-------+---------+----------|\n| CMETokenHandler | revoke                  | 1780  | 0       | 0        |\n|-----------------+-------------------------+-------+---------+----------|\n| CMETokenHandler | spend                   | 1819  | 0       | 0        |\n╰-----------------+-------------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129648735\n  Bound result 415\n  Bound result 1811\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129648320\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129640355\n  Bound result 11\n  Bound result 255\n  Bound result 24576\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129645578\n  Bound result 244\n  Bound result 1\n  Bound result 250000000000000000000000673\n  Bound result 611\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129665154\n  Bound result 5759\n  Bound result 64684963295561715899601648\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935\n  Bound result 2319\n  Bound result 2323\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639934\n  Bound result 100000000000000000000\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129640829\n  Bound result 1000\n  Bound result 1000000000\n  Bound result 83435256226306315278199082753498134330269986550855940968603343241832335107\n  Bound result 201756748819556066960225573\n  Bound result 469613567345146150008126784955\n  Bound result 295980159291171260000889472\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935\n  Bound result 15000000000000000000\n  Bound result 115792089237316195423570985008687907853269984665640564039442584007913129640062\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129640177\n  Bound result 8005\n  Bound result 14\n  Bound result 201112182\n  Bound result 115792089237316195423570985008687907853269984665640314039557584007913129616711\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129664908\n  Bound result 188018450851108791132039313\n  Bound result 8325\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129632004\n  Bound result 244\n  Bound result 249999999999999999999999745\n  Bound result 0\n  Bound result 499912489612204734186861912158723424739143774787467942\n  Bound result 438018550851108791132040001\n  Bound result 1468\n  Bound result 249999900000000000000023917\n  Bound result 187891611613681710261791406\n  Bound result 9026\n  Bound result 115792089237316195423570985008687907853269984665640502057908435116704261704850\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 6.30s (6.30s CPU time)\n\nRan 4 test suites in 6.31s (6.63s CPU time): 50 tests passed, 0 failed, 0 skipped (50 total tests)\n","passed":true},{"durationMs":45,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"CMEToken.approve(address,uint256)\",\"CMEToken.transfer(address,uint256)\",\"CMEToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"DEPENDENCIES.md\":17,\"README.md\":120,\"dependencies.sha256\":36,\"foundry.toml\":21,\"remappings.txt\":2,\"src/CMEToken.sol\":18,\"test/CMEToken.t.sol\":348,\"test/CMETokenAdversarial.t.sol\":358,\"test/CMETokenInvariant.t.sol\":215,\"test/CMETokenLaunch.t.sol\":99},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"19dee7d47debc1b45e8d9d089ea6d1571402ee84ebfd891286d631bbb11b9107","verifiedTreeHash":"688d26753784f55f958382e8024fde91888ed399","verifierVersion":"0.1.0+aca6c688"},{"checks":[{"durationMs":1475,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.38s\nCompiler run successful!\n","passed":true},{"durationMs":6303,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 4 tests for test/CMETokenLaunch.t.sol:CMETokenLaunchTest\n[PASS] testFuzz_create2MintsToFactoryWithoutConstructorArguments(bytes32) (runs: 1024, μ: 298104, ~: 298210)\n[PASS] test_deploymentMintsToImmediateCaller() (gas: 27358)\n[PASS] test_launchDistributionClaimsAndPoolTransfersAreExact() (gas: 666672)\n[PASS] test_transfersToContractsDoNotInvokeCallbacks() (gas: 182457)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 33.52ms (36.77ms CPU time)\n\nRan 28 tests for test/CMEToken.t.sol:CMETokenTest\n[PASS] testFuzz_approvalAndDelegatedTransfer(uint256,uint256) (runs: 1024, μ: 159807, ~: 161973)\nLogs:\n  Bound result 1000\n\n[PASS] testFuzz_selfTransferConservesSupply(uint256) (runs: 1024, μ: 55062, ~: 54802)\nLogs:\n  Bound result 5914014499789995052770525\n\n[PASS] testFuzz_spendingAboveAllowanceReverts(uint256,uint256) (runs: 1024, μ: 122966, ~: 123358)\nLogs:\n  Bound result 26062953536921494602419549\n  Bound result 565857881647420514289774473\n\n[PASS] testFuzz_transferAboveBalanceReverts(uint256,uint256) (runs: 1024, μ: 137410, ~: 137696)\nLogs:\n  Bound result 413581893853965292430733337\n  Bound result 74726\n\n[PASS] testFuzz_transfersConserveSupply(address,uint256) (runs: 1024, μ: 93034, ~: 93207)\nLogs:\n  Bound result 556838366586218009141605829\n\n[PASS] test_absentAdminFunctionsRevertForDeployerAndHolder() (gas: 801364)\n[PASS] test_approvalDoesNotAuthorizeAnotherSpender() (gas: 115700)\n[PASS] test_approveEmitsEventWithoutMovingFunds() (gas: 88822)\n[PASS] test_approveReplacesAndRevokesAllowance() (gas: 189402)\n[PASS] test_approveZeroSpenderReverts() (gas: 37596)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 15459)\n[PASS] test_deployerCannotSpendHolderFundsWithoutApproval() (gas: 158014)\n[PASS] test_failedTransferFromRollsBackAllowanceOnInsufficientBalance() (gas: 126153)\n[PASS] test_failedTransferFromRollsBackAllowanceOnZeroRecipient() (gas: 114244)\n[PASS] test_infiniteAllowanceRemainsUnchanged() (gas: 139400)\n[PASS] test_metadataAndInitialSupply() (gas: 107599)\n[PASS] test_nativeCurrencyAndUnknownCallsAreRejected() (gas: 64681)\n[PASS] test_runtimeContainsNoForbiddenOpcodes() (gas: 1038965)\n[PASS] test_selfTransferPreservesBalanceAndEmitsEvent() (gas: 53969)\n[PASS] test_transferEmitsEventAndDeliversExactAmount() (gas: 91529)\n[PASS] test_transferEntireSupply() (gas: 147166)\n[PASS] test_transferFromEmptyAccountReverts() (gas: 55219)\n[PASS] test_transferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 277575)\n[PASS] test_transferFromToSelfConsumesAllowanceWithoutChangingBalance() (gas: 105313)\n[PASS] test_transferFromZeroSenderRevertsEvenForZeroAmount() (gas: 57142)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71927)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 73345)\n[PASS] test_zeroTransferFromRequiresNoAllowanceAndEmitsEvent() (gas: 81489)\nSuite result: ok. 28 passed; 0 failed; 0 skipped; finished in 35.78ms (186.45ms CPU time)\n\nRan 1 test for test/CMETokenInvariant.t.sol:CMETokenInvariantTest\n[PASS]\nCMETokenInvariantTest invariants:\n[PASS] invariant_allowancesMatchApprovalsRevocationsAndSpending\n[PASS] invariant_balancesMatchIndependentAccounting\n[PASS] invariant_totalSupplyAndSumOfBalancesRemainFixed\n CMETokenInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭-----------------+----------------+-------+---------+----------╮\n| Contract        | Selector       | Calls | Reverts | Discards |\n+===============================================================+\n| CMETokenHandler | approve        | 3345  | 0       | 0        |\n|-----------------+----------------+-------+---------+----------|\n| CMETokenHandler | move           | 3244  | 0       | 0        |\n|-----------------+----------------+-------+---------+----------|\n| CMETokenHandler | rejectOverdraw | 3273  | 0       | 0        |\n|-----------------+----------------+-------+---------+----------|\n| CMETokenHandler | revoke         | 3234  | 0       | 0        |\n|-----------------+----------------+-------+---------+----------|\n| CMETokenHandler | spend          | 3288  | 0       | 0        |\n╰-----------------+----------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 4044\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129640030\n  Bound result 4760\n  Bound result 3\n  Bound result 10\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129636876\n  Bound result 0\n  Bound result 0\n  Bound result 1\n  Bound result 0\n  Bound result 3110\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129647811\n  Bound result 0\n  Bound result 4\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129632962\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 2250\n  Bound result 157\n  Bound result 1223\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129637310\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007917632656222\n  Bound result 389891373125045033253451970\n  Bound result 22974368888432738406661532799184608782439251425729184\n  Bound result 8\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 6.21s (6.21s CPU time)\n\nRan 3 test suites in 6.21s (6.28s CPU time): 33 tests passed, 0 failed, 0 skipped (33 total tests)\n","passed":true},{"durationMs":59,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"CMEToken.approve(address,uint256)\",\"CMEToken.transfer(address,uint256)\",\"CMEToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"DEPENDENCIES.md\":17,\"README.md\":120,\"dependencies.sha256\":36,\"foundry.toml\":21,\"remappings.txt\":2,\"src/CMEToken.sol\":18,\"test/CMEToken.t.sol\":348,\"test/CMETokenInvariant.t.sol\":124,\"test/CMETokenLaunch.t.sol\":99},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":641,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":324,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/CMEToken.sol:12: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"91b0ae6e2bbd5ad560e81ba8ad55e45e2503b2de0147996cb269b1b5931dd407","verifiedTreeHash":"6b350bf9677e490bed323ca572ebe8a5ec11784e","verifierVersion":"0.1.0+aca6c688"},{"checks":[{"durationMs":1404,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.32s\nCompiler run successful!\n","passed":true},{"durationMs":6687,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 4 tests for test/CMETokenLaunch.t.sol:CMETokenLaunchTest\n[PASS] testFuzz_create2MintsToFactoryWithoutConstructorArguments(bytes32) (runs: 1024, μ: 298104, ~: 298210)\n[PASS] test_deploymentMintsToImmediateCaller() (gas: 27358)\n[PASS] test_launchDistributionClaimsAndPoolTransfersAreExact() (gas: 666672)\n[PASS] test_transfersToContractsDoNotInvokeCallbacks() (gas: 182457)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 39.46ms (41.46ms CPU time)\n\nRan 28 tests for test/CMEToken.t.sol:CMETokenTest\n[PASS] testFuzz_approvalAndDelegatedTransfer(uint256,uint256) (runs: 1024, μ: 159807, ~: 161973)\nLogs:\n  Bound result 12\n\n[PASS] testFuzz_selfTransferConservesSupply(uint256) (runs: 1024, μ: 55062, ~: 54802)\nLogs:\n  Bound result 50000000000000000000\n\n[PASS] testFuzz_spendingAboveAllowanceReverts(uint256,uint256) (runs: 1024, μ: 122966, ~: 123358)\nLogs:\n  Bound result 14\n  Bound result 12297\n\n[PASS] testFuzz_transferAboveBalanceReverts(uint256,uint256) (runs: 1024, μ: 137410, ~: 137696)\nLogs:\n  Bound result 3\n  Bound result 22437\n\n[PASS] testFuzz_transfersConserveSupply(address,uint256) (runs: 1024, μ: 93034, ~: 93207)\nLogs:\n  Bound result 405587\n\n[PASS] test_absentAdminFunctionsRevertForDeployerAndHolder() (gas: 801364)\n[PASS] test_approvalDoesNotAuthorizeAnotherSpender() (gas: 115700)\n[PASS] test_approveEmitsEventWithoutMovingFunds() (gas: 88822)\n[PASS] test_approveReplacesAndRevokesAllowance() (gas: 189402)\n[PASS] test_approveZeroSpenderReverts() (gas: 37596)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 15459)\n[PASS] test_deployerCannotSpendHolderFundsWithoutApproval() (gas: 158014)\n[PASS] test_failedTransferFromRollsBackAllowanceOnInsufficientBalance() (gas: 126153)\n[PASS] test_failedTransferFromRollsBackAllowanceOnZeroRecipient() (gas: 114244)\n[PASS] test_infiniteAllowanceRemainsUnchanged() (gas: 139400)\n[PASS] test_metadataAndInitialSupply() (gas: 107599)\n[PASS] test_nativeCurrencyAndUnknownCallsAreRejected() (gas: 64681)\n[PASS] test_runtimeContainsNoForbiddenOpcodes() (gas: 1038965)\n[PASS] test_selfTransferPreservesBalanceAndEmitsEvent() (gas: 53969)\n[PASS] test_transferEmitsEventAndDeliversExactAmount() (gas: 91529)\n[PASS] test_transferEntireSupply() (gas: 147166)\n[PASS] test_transferFromEmptyAccountReverts() (gas: 55219)\n[PASS] test_transferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 277575)\n[PASS] test_transferFromToSelfConsumesAllowanceWithoutChangingBalance() (gas: 105313)\n[PASS] test_transferFromZeroSenderRevertsEvenForZeroAmount() (gas: 57142)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71927)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 73345)\n[PASS] test_zeroTransferFromRequiresNoAllowanceAndEmitsEvent() (gas: 81489)\nSuite result: ok. 28 passed; 0 failed; 0 skipped; finished in 40.00ms (206.18ms CPU time)\n\nRan 1 test for test/CMETokenInvariant.t.sol:CMETokenInvariantTest\n[PASS]\nCMETokenInvariantTest invariants:\n[PASS] invariant_allowancesMatchApprovalsRevocationsAndSpending\n[PASS] invariant_balancesMatchIndependentAccounting\n[PASS] invariant_totalSupplyAndSumOfBalancesRemainFixed\n CMETokenInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭-----------------+----------------+-------+---------+----------╮\n| Contract        | Selector       | Calls | Reverts | Discards |\n+===============================================================+\n| CMETokenHandler | approve        | 3345  | 0       | 0        |\n|-----------------+----------------+-------+---------+----------|\n| CMETokenHandler | move           | 3244  | 0       | 0        |\n|-----------------+----------------+-------+---------+----------|\n| CMETokenHandler | rejectOverdraw | 3273  | 0       | 0        |\n|-----------------+----------------+-------+---------+----------|\n| CMETokenHandler | revoke         | 3234  | 0       | 0        |\n|-----------------+----------------+-------+---------+----------|\n| CMETokenHandler | spend          | 3288  | 0       | 0        |\n╰-----------------+----------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 4044\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129640030\n  Bound result 4760\n  Bound result 3\n  Bound result 10\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129636876\n  Bound result 0\n  Bound result 0\n  Bound result 1\n  Bound result 0\n  Bound result 3110\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129647811\n  Bound result 0\n  Bound result 4\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129632962\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 2250\n  Bound result 157\n  Bound result 1223\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129637310\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007917632656222\n  Bound result 389891373125045033253451970\n  Bound result 22974368888432738406661532799184608782439251425729184\n  Bound result 8\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 6.59s (6.59s CPU time)\n\nRan 3 test suites in 6.59s (6.67s CPU time): 33 tests passed, 0 failed, 0 skipped (33 total tests)\n","passed":true},{"durationMs":51,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"CMEToken.approve(address,uint256)\",\"CMEToken.transfer(address,uint256)\",\"CMEToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"DEPENDENCIES.md\":17,\"README.md\":120,\"dependencies.sha256\":36,\"foundry.toml\":21,\"launch.json\":24,\"remappings.txt\":2,\"src/CMEToken.sol\":18,\"test/CMEToken.t.sol\":348,\"test/CMETokenInvariant.t.sol\":124,\"test/CMETokenLaunch.t.sol\":99},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"9b23599c1816b151e20ce8daf90bd5b61c82c7c65ffc0de259e9bcd9fed57ca1","verifiedTreeHash":"aef01a593b7cd4b26b0e14bdb459b924f57db02e","verifierVersion":"0.1.0+aca6c688"}]}