{"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":"cd3af154-bc60-4e45-825d-0c5eb9d1f679","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"e19df7f24064b2a16428edcf64378bfe65459aa3f9b390dc4935b038f4906230","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":"934f1fadaafe0685506af83c990639536f4180a45b984bcce9663b313e0ecfbe","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":"8180d5c2fe2e0f5b70d5b1b0caad1f0eac2043688576d8fe4cccf75d2ef1afa7","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":"044001618ed05f77e49ee7c335da5a173cdfbbd6dd833f00d8ee2545e619d757","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":"c48e1ab9b5cd871dd9aa0682ce657fe2c46cc291488fece077510161e2ee1e52","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":"2cdd44959c0fa9705cee1682210836b425f28b95002bce2ce0b5eeaf839a69b8","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":"6f15f2ca23cc797c7523e76bb85ed784724c9ab69e5107083bae4cfafd5b1b44","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"8ca5d255f3bc3b3d3e801a2fb820b26083e5c9a2f4529518ef68fe6de40035b1","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"73431852439ad3a343f3d2b7db1c43cd363b9f48f9bb51497374a0cf6d50b223","skillId":"write-foundry-tests","tools":[]},"key":"write_foundry_tests","kind":"code","role":"tests","skillHash":"73431852439ad3a343f3d2b7db1c43cd363b9f48f9bb51497374a0cf6d50b223","skillId":"write-foundry-tests","state":"accepted"}],"objective":"A custom token: Democratizing Collectable Acquisions (DCA).\nToken name: Democratizing Collectable Acquisions\nToken symbol: DCA\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.","parentJobId":null,"planHash":"d6f56b6b5a212571a17caf256e8ccc2fb3cd326846c202c42573efb19f4671d9","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"cd3af154-bc60-4e45-825d-0c5eb9d1f679","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-1499-democratizing-collectable-acquisions"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"51346","feedbackHash":"a43cf0d0e62af53b9479e89893afe4cb899406aff742291a2b61a9482c181379","nodeKey":"audit_economics","submissionHash":"e19df7f24064b2a16428edcf64378bfe65459aa3f9b390dc4935b038f4906230","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51339","feedbackHash":"3e742468ccde577a9139a2f2ea4c950764399cfec1d3f52fc798ddc5300ea114","nodeKey":"audit_flow","submissionHash":"934f1fadaafe0685506af83c990639536f4180a45b984bcce9663b313e0ecfbe","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52660","feedbackHash":"c5e2bd3ab2d3c4df09d5522be69fe39608396ccb79047aa1f69a94d44ded2e89","nodeKey":"audit_judge","submissionHash":"8180d5c2fe2e0f5b70d5b1b0caad1f0eac2043688576d8fe4cccf75d2ef1afa7","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52665","feedbackHash":"331d50bd9d157ea24f34192afe4b401de063ccf2e702d6b949e9e8292a164f9f","nodeKey":"audit_math","submissionHash":"044001618ed05f77e49ee7c335da5a173cdfbbd6dd833f00d8ee2545e619d757","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51338","feedbackHash":"dc1a1107fee5c67cbfb1976f439ecb8bfc45f0af8475957ed6398191a7f5967b","nodeKey":"audit_permissions","submissionHash":"c48e1ab9b5cd871dd9aa0682ce657fe2c46cc291488fece077510161e2ee1e52","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52430","feedbackHash":"75aaeaf2a75cc330f6b0215cad659442f11ea4bb0c4f560e6938a34e6e7c48b5","nodeKey":"build_contract_project","submissionHash":"2cdd44959c0fa9705cee1682210836b425f28b95002bce2ce0b5eeaf839a69b8","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51164","feedbackHash":"e7af3a398724214908f404092085aacca35b0e762d855d997948d623f9e3dfc6","nodeKey":"manifest","submissionHash":"6f15f2ca23cc797c7523e76bb85ed784724c9ab69e5107083bae4cfafd5b1b44","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52277","feedbackHash":"7bf9b68572675875add9ad096ef62ff4b0fd9e5888d994e3bb840884d6062061","nodeKey":"write_foundry_tests","submissionHash":"8ca5d255f3bc3b3d3e801a2fb820b26083e5c9a2f4529518ef68fe6de40035b1","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"9c17f192c6c8831bc8e427745a8bb75428835fc94cdc2496bb47e4fd2ef0d371","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":null,"device":"0ef0cddb99617930","findings":[],"hash":"044001618ed05f77e49ee7c335da5a173cdfbbd6dd833f00d8ee2545e619d757","nodeId":"83c812d3-1f70-4c64-a0e3-ebd14515290d","outcome":"completed","summary":"The review is complete. The findings file is in place and the working tree is otherwise untouched.\n\n**Result: no defects in the Math Precision, Boundary, or Numerical Gap area.** The findings file at `.imd-findings.json` holds an empty findings list and seven coverage rows, all `holds`.\n\n**What I checked**\n\n- The token is a fixed-mint OpenZeppelin ERC20. The vendored OpenZeppelin files are byte-identical to the upstream v5.0.2 release, so the only arithmetic in play is OpenZeppelin's.\n- Supply constant evaluates to exactly the manifest value, decimals are 18, and the constructor is the sole mint under checked arithmetic. No runtime path reaches mint or burn.\n- Every unchecked subtraction is preceded by a strict less-than check, and every unchecked addition is bounded by the sum of balances equalling the supply. I confirmed the edges concretely: moving the whole supply, balance plus one reverting, self-transfer of a full balance, one wei precision, allowance exactly equal to the amount, allowance of max minus one decrementing normally while max stays as the infinite sentinel, and allowance above balance reducing only by the amount moved.\n- There is no division, scaling, or fee anywhere, so the balance-sum invariant is exact rather than approximate. The launch split of 10, 80 and 10 percent of ten to the twenty-seventh leaves no remainder for any basis-point value.\n- Boundary enumeration found no external calls, no payable or fallback entry, no bytes decoding, and only zero-address sentinel branches that revert.\n\n**Evidence**\n\n- The repository's 33 tests pass, including the 8,192-call stateful ledger invariant.\n- A scratch test I wrote under `test/scratch/` exercised the edges above plus a 512-run conservation fuzz. All nine passed. I deleted it afterward since nothing in that directory is kept.\n\n**Static analysis leads**\n\n- Slither reported nothing. Aderyn's low-severity \"large numeric literal\" lead points at the supply constant, which is a compile-time value equal to the manifest supply. Not a defect.\n\n**Not reached**\n\n- Nothing in the assigned area was left unexamined. I did not re-audit access control or launch-flow integration beyond confirming nothing in my area touches them, since those belong to the other specialists.","treeHash":null,"usage":{"cachedInputTokens":906018,"inputTokens":482,"model":"claude-fable-5-1","outputTokens":10251,"runtime":"claude","turns":16,"wallClockMs":172233}},{"artifacts":[],"attempt":1,"bundleHash":"21dd844cafbe85bac76fa5c3909aee51d0d1d9c49a695ee6fc7d9a14b343c60a","device":"49727037ad0b5bf2","findings":[],"hash":"2cdd44959c0fa9705cee1682210836b425f28b95002bce2ce0b5eeaf839a69b8","nodeId":"5fd3ae66-4a0d-4c00-9385-c0e71a198790","outcome":"completed","summary":"Implemented [DCAToken.sol](/root/.identitymd/work/cd3af154-bc60-4e45-825d-0c5eb9d1f679/5fd3ae66-4a0d-4c00-9385-c0e71a198790/src/DCAToken.sol): exact requested name and symbol, 18 decimals, and 1 billion tokens minted once to the deployer.\n\nDependencies are vendored. Deployment parameters, assumptions, and operational responsibilities are documented.\n\nVerified successfully:\n\n- `forge build`\n- `forge test` — 33 passed\n- `forge fmt --check`\n- Clean offline build and parallel tests with an empty environment; bytecode matched.","treeHash":"a6bbd6241e0564d7398ec272d6f0234b9c6dbde8","usage":{"cachedInputTokens":600960,"inputTokens":49842,"model":"gpt-6-astra","outputTokens":17459,"runtime":"codex","turns":5,"wallClockMs":552330}},{"artifacts":[],"attempt":1,"bundleHash":"54f89acce788a11f657d6dc1f642e6fe4f60c0400969aedc09869fcfb8318124","device":"a13784fa5cb209c3","findings":[],"hash":"6f15f2ca23cc797c7523e76bb85ed784724c9ab69e5107083bae4cfafd5b1b44","nodeId":"ee3e70b1-07cb-48e2-98b2-4b0944561e72","outcome":"completed","summary":"Created `launch.json` matching `DCAToken`’s parameterless constructor, exact supply, and required pool and economics values.\n\nValidation passed: manifest checks, `forge build`, and `forge test` (33 tests passed). Only `launch.json` changed.","treeHash":"c2b8e0f1e1b3595cac423d302bc21bf590e6fcfe","usage":{"cachedInputTokens":261760,"inputTokens":22336,"model":"gpt-6.1-sol","outputTokens":1445,"runtime":"codex","turns":2,"wallClockMs":65329}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"1ec9f666356a7ad7","findings":[],"hash":"8180d5c2fe2e0f5b70d5b1b0caad1f0eac2043688576d8fe4cccf75d2ef1afa7","nodeId":"83570b02-fbe0-41d3-a9b6-293fbb1bcd3f","outcome":"completed","summary":"The review is complete. The findings file holds an empty finding list and a coverage record for all three entry points plus three invariants.\n\n**Outcome: no defects.** The token is a plain OpenZeppelin ERC-20 that mints a constant supply to the deployer in its constructor. Every specialist reported no findings, so there was nothing to reproduce, merge or drop. My own pass confirmed each entry point and the launch-floor rules:\n\n- **Vendored library is genuine.** I downloaded the OpenZeppelin v5.0.2 archive, matched its SHA-256 to DEPENDENCIES.md, and diffed all five vendored files plus the licence. They are byte-identical to upstream, so approve, transfer and transferFrom are stock v5.0.2 code with no tax, hook, role or external call.\n- **Floor properties reproduced.** A scratch test deployed the token through CREATE2 from a factory stub. The whole supply landed at the factory, the ten percent distributor flow and the claim arrived whole, the eighty percent pool flow arrived whole, a pulled transferFrom moved exactly the allowance, and all twenty-two common mint, admin, freeze and seize selectors reverted from the factory. The project's own 47 tests also pass.\n- **Deployable as the manifest states.** Creation code and runtime are well under the size limits, the runtime holds no DELEGATECALL, CALLCODE or SELFDESTRUCT, the constructor takes no arguments as launch.json says, and name, symbol, decimals and the supply figure all match.\n- **Tool lead dismissed.** The aderyn large-numeric-literal note points at the supply constant. It equals the manifest's supply exactly, so it is not a defect.\n\nThe scratch test was removed after running. The only file in the tree that this review wrote is `.imd-findings.json`.","treeHash":null,"usage":{"cachedInputTokens":464264,"inputTokens":258,"model":"claude-fable-5-1","outputTokens":9459,"runtime":"claude","turns":20,"wallClockMs":134949}},{"artifacts":[],"attempt":1,"bundleHash":"c1e69b9ca75fd10e9d8f1f7ab95e803be5c7053b2c244eea06072435e110e854","device":"06c32862bedacb46","findings":[],"hash":"8ca5d255f3bc3b3d3e801a2fb820b26083e5c9a2f4529518ef68fe6de40035b1","nodeId":"8ca44110-bc94-4b15-bc1d-b1a2e4535730","outcome":"completed","summary":"Added failure-path and fuzz tests, and strengthened invariants to mix successful and rejected calls across 24,576 randomized operations.\n\nOnly `test/` changed. No defects found.\n\nValidation: `forge build` succeeded; `forge test` passed all 47 tests with no failures or skips.","treeHash":"7d93552a98cb851c2ca2db81caf856119bffd4ab","usage":{"cachedInputTokens":536987,"inputTokens":69086,"model":"gpt-6.1-sol","outputTokens":7525,"runtime":"codex","turns":4,"wallClockMs":134759}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"75052237a39b6e12","findings":[],"hash":"934f1fadaafe0685506af83c990639536f4180a45b984bcce9663b313e0ecfbe","nodeId":"07affd23-2eb2-47a3-8a86-144bfed5d582","outcome":"completed","summary":"Review complete. The findings file is written and validated.\n\n**Result: no defects found.** The file `.imd-findings.json` holds an empty findings list and seven coverage rows, all `holds`.\n\n**What I covered in my area (Execution Trace, Periphery, First Principles):**\n\n- **Execution trace.** Traced approve, transfer and transferFrom through the vendored OpenZeppelin ERC20 into `_update`. Zero-address guards, balance check before the unchecked subtraction, self-transfer re-reading storage, allowance spent before transfer with atomic restore on revert, and the infinite-allowance sentinel all behave as intended. No external calls, no partial state, no receive or fallback.\n- **Periphery.** SHA-256 of every vendored OpenZeppelin file matches the upstream v5.0.2 tag byte for byte. The artifact has no library link references. Context returns plain msg.sender.\n- **First principles.** The constructor mints exactly 1e27 once to the immediate caller, which under CREATE2 is the factory and not tx.origin. Supply, decimals, name and symbol match the brief. The swarm and pool shares divide exactly. The ABI exposes only the three listed state-changing functions.\n\n**Checks run:** forge build and the project's 33 tests pass. A scratch test of my own counterexamples passed and was removed. Static analysis leads were a single cosmetic large-literal note, not a defect. No launch.json exists yet, which is expected before the manifest step.","treeHash":null,"usage":{"cachedInputTokens":535158,"inputTokens":258,"model":"claude-fable-5-1","outputTokens":10887,"runtime":"claude","turns":25,"wallClockMs":181002}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"789312fc56d3f446","findings":[],"hash":"c48e1ab9b5cd871dd9aa0682ce657fe2c46cc291488fece077510161e2ee1e52","nodeId":"96264f67-e214-4cc9-b040-13640605c4ec","outcome":"completed","summary":"The review is complete and `.imd-findings.json` holds an empty findings list with eight coverage rows.\n\n**Result: no defects found** in the Access Control, Trust Gap and Asymmetry areas for `src/DCAToken.sol`.\n\nWhat I checked and how:\n\n- **Permission model.** The ABI exposes only `approve`, `transfer`, `transferFrom` and views. The constructor mints the full supply to the deploying caller and hands out no roles. There is no owner, minter, pauser, upgrade path, initializer, receive or fallback. ETH sends and unknown selectors revert, which I confirmed with a scratch Foundry test, since removed.\n- **Each entry point.** Approve writes only the caller's own allowance slot and rejects a zero spender. Transfer debits only the caller, rejects a zero recipient, and reverts atomically on insufficient balance. TransferFrom requires an allowance from the source holder, including when the deployer or factory is the spender, decrements finite allowances and leaves the max allowance untouched.\n- **Dependency integrity.** The five vendored OpenZeppelin files are byte-identical to the upstream v5.0.2 archive, whose SHA-256 matches the one recorded in DEPENDENCIES.md. A tampered library was the most plausible hidden access path and it is ruled out.\n- **Asymmetry and trust gaps.** The approve and spend paths mirror each other on the same storage slot. Mint and burn are unreachable at runtime. No admin variants, setters, fee recipients or price formulas exist, so there is no seam for a trust-gap exploit.\n- **Launch floor.** The project's own 33 tests pass, including supply fixed at 1e27 after probed admin selectors and no forbidden opcodes in the runtime. Transfers carry no fee, so the swarm share, seed and swaps move exact amounts.\n\nThe static-analysis lead about a large numeric literal at line 12 is the supply constant, which equals 1e27 as the brief requires. It is not a defect. The misspelling \"Acquisions\" in the token name matches the brief exactly and is intentional.","treeHash":null,"usage":{"cachedInputTokens":312772,"inputTokens":162,"model":"claude-fable-5-1","outputTokens":9101,"runtime":"claude","turns":17,"wallClockMs":165294}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"78d8eb9b16352a18","findings":[],"hash":"e19df7f24064b2a16428edcf64378bfe65459aa3f9b390dc4935b038f4906230","nodeId":"9417336d-faa2-4bb5-b617-e1a4913f86c2","outcome":"completed","summary":"The review is complete and `.imd-findings.json` holds an empty findings list with a full coverage record. No defects were substantiated in the Economic Security, Invariant, or Flow Gap areas.\n\n**What I checked**\n\n- The token is a 17-line subclass of OpenZeppelin ERC20 with no overrides. The constructor mints exactly 10^27 units to msg.sender and nothing else is reachable at runtime. The ABI exposes only the standard ERC-20 surface plus the `INITIAL_SUPPLY` constant.\n- The vendored OpenZeppelin files are byte-identical to the upstream v5.0.2 release, and the archive hash matches the one recorded in DEPENDENCIES.md. The inherited transfer, approve and transferFrom behaviour is therefore the audited upstream code.\n- Launch value flows: the 10/80/10 split has zero rounding dust. Transfers to the distributor, claims to a contributor, a PoolManager-style pull via transferFrom, and buy/sell legs all move exactly the requested amount. The full supply round-trips under an infinite allowance without changing totalSupply.\n- Invariants: fixed supply, balance conservation, zero balance at the zero address, and whole supply landing on the CREATE2 deployer all hold. The existing 33 tests and my 5 scratch tests (512 fuzz runs each, since removed) pass.\n- Economic and periphery surface: no oracle, callback, owner, pause, blacklist, rescue, or upgrade path exists, so there is nothing a privileged or outside actor can use to short a flow or move a holder's balance. The first outside caller holds nothing and can move nothing.\n- The aderyn large-numeric-literal lead is style only. The expression evaluates to exactly the manifest supply.\n\n**Not reached**\n\nThe protected harness itself could not be run here because its Uniswap v4 and LaunchLiquidity sources are not in this tree. The pool-side price and liquidity derivation is the deployer's job and is outside the token, so I did not treat its absence as a token defect. The paired IMD token's decimals were not verified on chain.\n\nCoverage rows for all three listed entry points are marked `holds`, with six additional rows for the invariants and flows checked.","treeHash":null,"usage":{"cachedInputTokens":824112,"inputTokens":354,"model":"claude-fable-5-1","outputTokens":12742,"runtime":"claude","turns":29,"wallClockMs":230239}}],"verification":[{"checks":[{"durationMs":1328,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.22s\nCompiler run successful!\n","passed":true},{"durationMs":1909,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 4 tests for test/DCATokenLaunch.t.sol:DCATokenLaunchTest\n[PASS] test_create2MintsEntireSupplyToFactoryNotOrigin() (gas: 49768)\n[PASS] test_distributionClaimsAndPoolTransfersAreExact() (gas: 390060)\n[PASS] test_noMintBurnOrPrivilegedEntryPoints() (gas: 4481396)\n[PASS] test_runtimeContainsNoDangerousOpcodes() (gas: 2259326)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 14.60ms (9.18ms CPU time)\n\nRan 28 tests for test/DCAToken.t.sol:DCATokenTest\n[PASS] testFuzz_transferFromUpdatesAllowance(uint256,uint256) (runs: 512, μ: 162733, ~: 164866)\nLogs:\n  Bound result 2314\n  Bound result 1545\n\n[PASS] testFuzz_transferOverBalanceCannotChangeState(uint256) (runs: 512, μ: 69174, ~: 69478)\nLogs:\n  Bound result 41661632789414382643747277701851775321054857955375326426589375601418980397004\n\n[PASS] testFuzz_transfersConserveSupply(uint256) (runs: 512, μ: 187468, ~: 188022)\nLogs:\n  Bound result 23\n\n[PASS] test_allowancesAreIsolatedByOwnerAndSpender() (gas: 204289)\n[PASS] test_approvalCanBeReplacedAndRevoked() (gas: 173335)\n[PASS] test_approveEmitsEventAndDoesNotMoveBalances() (gas: 88733)\n[PASS] test_approveZeroSpenderReverts() (gas: 37640)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 9632)\n[PASS] test_deployerHasNoPrivilegeOverHolderAllowance() (gas: 158024)\n[PASS] test_directDeploymentMintsToCaller() (gas: 20228)\n[PASS] test_emptyHolderCannotTransferPositiveAmount() (gas: 44841)\n[PASS] test_infiniteAllowanceIsNotReduced() (gas: 182747)\n[PASS] test_metadataAndInitialSupply() (gas: 111848)\n[PASS] test_nativeCurrencyTransferReverts() (gas: 42640)\n[PASS] test_selfTransferPreservesBalance() (gas: 51410)\n[PASS] test_transferDeliversExactAmountAndEmitsEvent() (gas: 93549)\n[PASS] test_transferEntireBalance() (gas: 161733)\n[PASS] test_transferFromOverAllowanceRevertsAtomically() (gas: 115724)\n[PASS] test_transferFromOverBalanceRestoresAllowance() (gas: 178447)\n[PASS] test_transferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 257203)\n[PASS] test_transferFromToSelfConsumesAllowanceWithoutChangingBalance() (gas: 105268)\n[PASS] test_transferFromToZeroRestoresAllowance() (gas: 114189)\n[PASS] test_transferFromWithoutApprovalReverts() (gas: 57799)\n[PASS] test_transferFromZeroSenderRevertsEvenForZeroAmount() (gas: 35341)\n[PASS] test_transferOverBalanceRevertsAtomically() (gas: 54948)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71904)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 73389)\n[PASS] test_zeroTransferFromNeedsNoAllowance() (gas: 81512)\nSuite result: ok. 28 passed; 0 failed; 0 skipped; finished in 15.11ms (43.14ms CPU time)\n\nRan 1 test for test/DCATokenInvariant.t.sol:DCATokenInvariantTest\n[PASS]\nDCATokenInvariantTest invariants:\n[PASS] invariant_allowancesMatchLedger\n[PASS] invariant_balancesMatchLedgerAndConserveSupply\n[PASS] invariant_supplyIsFixedAndNeverAssignedToZero\n DCATokenInvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭-----------------+--------------+-------+---------+----------╮\n| Contract        | Selector     | Calls | Reverts | Discards |\n+=============================================================+\n| DCATokenHandler | approve      | 2719  | 0       | 0        |\n|-----------------+--------------+-------+---------+----------|\n| DCATokenHandler | transfer     | 2808  | 0       | 0        |\n|-----------------+--------------+-------+---------+----------|\n| DCATokenHandler | transferFrom | 2665  | 0       | 0        |\n╰-----------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 275737160147335662395527797\n  Bound result 1132300457\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 21\n  Bound result 0\n  Bound result 95\n  Bound result 0\n  Bound result 133\n  Bound result 0\n  Bound result 0\n  Bound result 2600\n  Bound result 0\n  Bound result 274634516855133759704270247\n  Bound result 21\n  Bound result 1038\n  Bound result 0\n  Bound result 172653690898430111672988342\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 24\n  Bound result 0\n  Bound result 18\n  Bound result 0\n  Bound result 16\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 2\n  Bound result 5889\n  Bound result 4113\n  Bound result 1615\n  Bound result 2255\n  Bound result 0\n  Bound result 3587\n  Bound result 23\n  Bound result 84\n  Bound result 495790613315\n  Bound result 96\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.83s (1.83s CPU time)\n\nRan 3 test suites in 1.83s (1.86s CPU time): 33 tests passed, 0 failed, 0 skipped (33 total tests)\n","passed":true},{"durationMs":33,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"DCAToken.approve(address,uint256)\",\"DCAToken.transfer(address,uint256)\",\"DCAToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"DEPENDENCIES.md\":25,\"README.md\":116,\"SECURITY.md\":64,\"foundry.toml\":18,\"remappings.txt\":2,\"src/DCAToken.sol\":17,\"test/DCAToken.t.sol\":308,\"test/DCATokenInvariant.t.sol\":100,\"test/DCATokenLaunch.t.sol\":139},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":408,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":199,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/DCAToken.sol:12: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"2cdd44959c0fa9705cee1682210836b425f28b95002bce2ce0b5eeaf839a69b8","verifiedTreeHash":"a6bbd6241e0564d7398ec272d6f0234b9c6dbde8","verifierVersion":"0.1.0+327e1e9f"},{"checks":[{"durationMs":1238,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.14s\nCompiler run successful!\n","passed":true},{"durationMs":1914,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 4 tests for test/DCATokenLaunch.t.sol:DCATokenLaunchTest\n[PASS] test_create2MintsEntireSupplyToFactoryNotOrigin() (gas: 49768)\n[PASS] test_distributionClaimsAndPoolTransfersAreExact() (gas: 390060)\n[PASS] test_noMintBurnOrPrivilegedEntryPoints() (gas: 4481396)\n[PASS] test_runtimeContainsNoDangerousOpcodes() (gas: 2259326)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 12.48ms (9.92ms CPU time)\n\nRan 28 tests for test/DCAToken.t.sol:DCATokenTest\n[PASS] testFuzz_transferFromUpdatesAllowance(uint256,uint256) (runs: 512, μ: 163051, ~: 164866)\nLogs:\n  Bound result 5980524567062739498779309\n  Bound result 2165045675912462568150236\n\n[PASS] testFuzz_transferOverBalanceCannotChangeState(uint256) (runs: 512, μ: 69149, ~: 69478)\nLogs:\n  Bound result 33260830311204608101047664147228962\n\n[PASS] testFuzz_transfersConserveSupply(uint256) (runs: 512, μ: 187668, ~: 188034)\nLogs:\n  Bound result 274883828363398962887394137\n\n[PASS] test_allowancesAreIsolatedByOwnerAndSpender() (gas: 204289)\n[PASS] test_approvalCanBeReplacedAndRevoked() (gas: 173335)\n[PASS] test_approveEmitsEventAndDoesNotMoveBalances() (gas: 88733)\n[PASS] test_approveZeroSpenderReverts() (gas: 37640)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 9632)\n[PASS] test_deployerHasNoPrivilegeOverHolderAllowance() (gas: 158024)\n[PASS] test_directDeploymentMintsToCaller() (gas: 20228)\n[PASS] test_emptyHolderCannotTransferPositiveAmount() (gas: 44841)\n[PASS] test_infiniteAllowanceIsNotReduced() (gas: 182747)\n[PASS] test_metadataAndInitialSupply() (gas: 111848)\n[PASS] test_nativeCurrencyTransferReverts() (gas: 42640)\n[PASS] test_selfTransferPreservesBalance() (gas: 51410)\n[PASS] test_transferDeliversExactAmountAndEmitsEvent() (gas: 93549)\n[PASS] test_transferEntireBalance() (gas: 161733)\n[PASS] test_transferFromOverAllowanceRevertsAtomically() (gas: 115724)\n[PASS] test_transferFromOverBalanceRestoresAllowance() (gas: 178447)\n[PASS] test_transferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 257203)\n[PASS] test_transferFromToSelfConsumesAllowanceWithoutChangingBalance() (gas: 105268)\n[PASS] test_transferFromToZeroRestoresAllowance() (gas: 114189)\n[PASS] test_transferFromWithoutApprovalReverts() (gas: 57799)\n[PASS] test_transferFromZeroSenderRevertsEvenForZeroAmount() (gas: 35341)\n[PASS] test_transferOverBalanceRevertsAtomically() (gas: 54948)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71904)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 73389)\n[PASS] test_zeroTransferFromNeedsNoAllowance() (gas: 81512)\nSuite result: ok. 28 passed; 0 failed; 0 skipped; finished in 12.90ms (37.74ms CPU time)\n\nRan 1 test for test/DCATokenInvariant.t.sol:DCATokenInvariantTest\n[PASS]\nDCATokenInvariantTest invariants:\n[PASS] invariant_allowancesMatchLedger\n[PASS] invariant_balancesMatchLedgerAndConserveSupply\n[PASS] invariant_supplyIsFixedAndNeverAssignedToZero\n DCATokenInvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭-----------------+--------------+-------+---------+----------╮\n| Contract        | Selector     | Calls | Reverts | Discards |\n+=============================================================+\n| DCATokenHandler | approve      | 2672  | 0       | 0        |\n|-----------------+--------------+-------+---------+----------|\n| DCATokenHandler | transfer     | 2857  | 0       | 0        |\n|-----------------+--------------+-------+---------+----------|\n| DCATokenHandler | transferFrom | 2663  | 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 24576\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 1000000000\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 95\n  Bound result 22\n  Bound result 0\n  Bound result 0\n  Bound result 85\n  Bound result 255\n  Bound result 9\n  Bound result 12\n  Bound result 30\n  Bound result 8\n  Bound result 1\n  Bound result 1014\n  Bound result 447\n  Bound result 457\n  Bound result 817469064104133703592461630\n  Bound result 0\n  Bound result 10\n  Bound result 207\n  Bound result 1834724896338343351\n  Bound result 0\n  Bound result 5826\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.83s (1.83s CPU time)\n\nRan 3 test suites in 1.83s (1.85s CPU time): 33 tests passed, 0 failed, 0 skipped (33 total tests)\n","passed":true},{"durationMs":44,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"DCAToken.approve(address,uint256)\",\"DCAToken.transfer(address,uint256)\",\"DCAToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"DEPENDENCIES.md\":25,\"README.md\":116,\"SECURITY.md\":64,\"foundry.toml\":18,\"launch.json\":20,\"remappings.txt\":2,\"src/DCAToken.sol\":17,\"test/DCAToken.t.sol\":308,\"test/DCATokenInvariant.t.sol\":100,\"test/DCATokenLaunch.t.sol\":139},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"6f15f2ca23cc797c7523e76bb85ed784724c9ab69e5107083bae4cfafd5b1b44","verifiedTreeHash":"c2b8e0f1e1b3595cac423d302bc21bf590e6fcfe","verifierVersion":"0.1.0+327e1e9f"},{"checks":[{"durationMs":1432,"exitCode":0,"name":"build","output":"Compiling 29 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.32s\nCompiler run successful!\n","passed":true},{"durationMs":5514,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 4 tests for test/DCATokenLaunch.t.sol:DCATokenLaunchTest\n[PASS] test_create2MintsEntireSupplyToFactoryNotOrigin() (gas: 49768)\n[PASS] test_distributionClaimsAndPoolTransfersAreExact() (gas: 390060)\n[PASS] test_noMintBurnOrPrivilegedEntryPoints() (gas: 4481396)\n[PASS] test_runtimeContainsNoDangerousOpcodes() (gas: 2259326)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 30.30ms (11.77ms CPU time)\n\nRan 28 tests for test/DCAToken.t.sol:DCATokenTest\n[PASS] testFuzz_transferFromUpdatesAllowance(uint256,uint256) (runs: 512, μ: 162740, ~: 164866)\nLogs:\n  Bound result 129105139523472803547573939\n  Bound result 9437296018222062142516621\n\n[PASS] testFuzz_transferOverBalanceCannotChangeState(uint256) (runs: 512, μ: 69146, ~: 69478)\nLogs:\n  Bound result 46782513976748253693795642187256051\n\n[PASS] testFuzz_transfersConserveSupply(uint256) (runs: 512, μ: 187779, ~: 188022)\nLogs:\n  Bound result 979757639961235535433242966\n\n[PASS] test_allowancesAreIsolatedByOwnerAndSpender() (gas: 204289)\n[PASS] test_approvalCanBeReplacedAndRevoked() (gas: 173335)\n[PASS] test_approveEmitsEventAndDoesNotMoveBalances() (gas: 88733)\n[PASS] test_approveZeroSpenderReverts() (gas: 37640)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 9632)\n[PASS] test_deployerHasNoPrivilegeOverHolderAllowance() (gas: 158024)\n[PASS] test_directDeploymentMintsToCaller() (gas: 20228)\n[PASS] test_emptyHolderCannotTransferPositiveAmount() (gas: 44841)\n[PASS] test_infiniteAllowanceIsNotReduced() (gas: 182747)\n[PASS] test_metadataAndInitialSupply() (gas: 111848)\n[PASS] test_nativeCurrencyTransferReverts() (gas: 42640)\n[PASS] test_selfTransferPreservesBalance() (gas: 51410)\n[PASS] test_transferDeliversExactAmountAndEmitsEvent() (gas: 93549)\n[PASS] test_transferEntireBalance() (gas: 161733)\n[PASS] test_transferFromOverAllowanceRevertsAtomically() (gas: 115724)\n[PASS] test_transferFromOverBalanceRestoresAllowance() (gas: 178447)\n[PASS] test_transferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 257203)\n[PASS] test_transferFromToSelfConsumesAllowanceWithoutChangingBalance() (gas: 105268)\n[PASS] test_transferFromToZeroRestoresAllowance() (gas: 114189)\n[PASS] test_transferFromWithoutApprovalReverts() (gas: 57799)\n[PASS] test_transferFromZeroSenderRevertsEvenForZeroAmount() (gas: 35341)\n[PASS] test_transferOverBalanceRevertsAtomically() (gas: 54948)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71904)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 73389)\n[PASS] test_zeroTransferFromNeedsNoAllowance() (gas: 81512)\nSuite result: ok. 28 passed; 0 failed; 0 skipped; finished in 47.57ms (138.28ms CPU time)\n\nRan 13 tests for test/DCATokenAdversarial.t.sol:DCATokenAdversarialTest\n[PASS] testFuzz_delegatedRoundTripPreservesBalances(uint256) (runs: 1000, μ: 316200, ~: 316328)\nLogs:\n  Bound result 20\n\n[PASS] testFuzz_overAllowanceRevertsAcrossUint256Domain(uint256,uint256) (runs: 1000, μ: 169424, ~: 169551)\nLogs:\n  Bound result 14601\n  Bound result 2000000000000000000\n\n[PASS] testFuzz_overBalanceRestoresApproval(uint256,uint256,bool) (runs: 1000, μ: 218717, ~: 218693)\nLogs:\n  Bound result 78629870716893187114104519\n  Bound result 6730920176897616157225686055448694730084655761253444758187749\n\n[PASS] testFuzz_zeroRecipientRestoresApproval(uint256,uint256) (runs: 1000, μ: 170240, ~: 170516)\nLogs:\n  Bound result 96\n  Bound result 96\n\n[PASS] test_anotherSpenderCannotUseAnApproval() (gas: 175151)\n[PASS] test_approvalSurvivesEmptyBalanceAndCanSpendLaterReceipts() (gas: 352345)\n[PASS] test_infiniteApprovalCanBeRevokedAndReplaced() (gas: 327890)\n[PASS] test_maximumFiniteAllowanceIsConsumed() (gas: 148020)\n[PASS] test_maximumTransferFromRestoresFiniteApproval() (gas: 163026)\n[PASS] test_maximumTransferFromRestoresInfiniteApproval() (gas: 165178)\n[PASS] test_oneMinorUnitCanMakeARoundTrip() (gas: 132562)\n[PASS] test_transferFromByHolderStillRequiresSelfApproval() (gas: 238322)\n[PASS] test_zeroDelegatedTransferToZeroRevertsWithoutApproval() (gas: 114746)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 47.91ms (191.45ms CPU time)\n\nRan 2 tests for test/DCATokenInvariant.t.sol:DCATokenInvariantTest\n[PASS]\nDCATokenInvariantTest invariants:\n[PASS] invariant_allowancesMatchLedger\n[PASS] invariant_balancesMatchLedgerAndConserveSupply\n[PASS] invariant_supplyIsFixedAndNeverAssignedToZero\n DCATokenInvariantTest invariants (runs: 256, calls: 24576, reverts: 0)\n\n╭-----------------+---------------------------------+-------+---------+----------╮\n| Contract        | Selector                        | Calls | Reverts | Discards |\n+================================================================================+\n| DCATokenHandler | approve                         | 2485  | 0       | 0        |\n|-----------------+---------------------------------+-------+---------+----------|\n| DCATokenHandler | configureAllowance              | 2418  | 0       | 0        |\n|-----------------+---------------------------------+-------+---------+----------|\n| DCATokenHandler | rejectTransferFromOverAllowance | 2435  | 0       | 0        |\n|-----------------+---------------------------------+-------+---------+----------|\n| DCATokenHandler | rejectTransferFromOverBalance   | 2507  | 0       | 0        |\n|-----------------+---------------------------------+-------+---------+----------|\n| DCATokenHandler | rejectTransferOverBalance       | 2429  | 0       | 0        |\n|-----------------+---------------------------------+-------+---------+----------|\n| DCATokenHandler | rejectZeroRecipient             | 2535  | 0       | 0        |\n|-----------------+---------------------------------+-------+---------+----------|\n| DCATokenHandler | rejectZeroSpender               | 2439  | 0       | 0        |\n|-----------------+---------------------------------+-------+---------+----------|\n| DCATokenHandler | transfer                        | 2399  | 0       | 0        |\n|-----------------+---------------------------------+-------+---------+----------|\n| DCATokenHandler | transferAll                     | 2518  | 0       | 0        |\n|-----------------+---------------------------------+-------+---------+----------|\n| DCATokenHandler | transferFrom                    | 2411  | 0       | 0        |\n╰-----------------+---------------------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129640277\n  Bound result 0\n  Bound result 415955170\n  Bound result 100\n  Bound result 621408992411975760293380488873307442814955278372044068458180881213\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129639940\n  Bound result 0\n  Bound result 0\n  Bound result 249219615141683543\n  Bound result 108451583765896058932055451833913758621508867008498492462745058749132663351353\n  Bound result 242\n  Bound result 126129155052905\n  Bound result 244\n  Bound result 9020\n  Bound result 0\n  Bound result 115792089237316195423570985008687907852865083120588017145535191674405303684882\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 1541\n  Bound result 0\n  Bound result 0\n  Bound result 1\n  Bound result 2552851540\n  Bound result 5518\n  Bound result 50000000000000000000\n  Bound result 11297937\n  Bound result 0\n  Bound result 13\n  Bound result 344\n  Bound result 0\n  Bound result 404098525\n  Bound result 115792089237316195423570985008687907853269984665640564039407584007913129639952\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665639564039507584007913129644728\n  Bound result 255\n  Bound result 127\n  Bound result 0\n  Bound result 0\n  Bound result 8916\n  Bound result 0\n  Bound result 999999949999999999999991085\n  Bound result 259968159447412127526259505932\n  Bound result 115792089237316195423570985008687907853269984665640564039407584007913129650524\n  Bound result 0\n  Bound result 3961\n  Bound result 0\n  Bound result 473374\n  Bound result 283776416275318317822140098\n  Bound result 7885\n  Bound result 3714247998\n  Bound result 127\n  Bound result 0\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639776\n  Bound result 10475106883572603683324428844226203127108903250175444565056893885\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639934\n  Bound result 36\n  Bound result 0\n  Bound result 255\n  Bound result 5176\n  Bound result 0\n  Bound result 39721451033041719536\n  Bound result 3665\n  Bound result 78\n\n[PASS] test_handlerSequenceExercisesBoundariesAndFailureRecovery() (gas: 1710245)\nLogs:\n  Bound result 3\n  Bound result 1\n  Bound result 3\n  Bound result 2\n  Bound result 1000000000000000000000000000\n  Bound result 1\n  Bound result 0\n  Bound result 1000000000000000000000000000\n  Bound result 1\n  Bound result 1\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 5.43s (5.43s CPU time)\n\nRan 4 test suites in 5.44s (5.56s CPU time): 47 tests passed, 0 failed, 0 skipped (47 total tests)\n","passed":true},{"durationMs":37,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"DCAToken.approve(address,uint256)\",\"DCAToken.transfer(address,uint256)\",\"DCAToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"DEPENDENCIES.md\":25,\"README.md\":116,\"SECURITY.md\":64,\"foundry.toml\":18,\"remappings.txt\":2,\"src/DCAToken.sol\":17,\"test/DCAToken.t.sol\":308,\"test/DCATokenAdversarial.t.sol\":201,\"test/DCATokenInvariant.t.sol\":242,\"test/DCATokenLaunch.t.sol\":139},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"8ca5d255f3bc3b3d3e801a2fb820b26083e5c9a2f4529518ef68fe6de40035b1","verifiedTreeHash":"7d93552a98cb851c2ca2db81caf856119bffd4ab","verifierVersion":"0.1.0+327e1e9f"}]}