{"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":"36acb4de-ff36-4d36-b705-1d7168184319","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"7933845e8e5bfa5c736aed4766ceab7aa15dd4d00bacd7b6c2aee1773f83ab31","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":"c034be34490a4bd9c4222edc3c367420df2cb2573ce4389e6163a54d58253bfb","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":"24b3600ee85503e5492e0707861febc02b07d06ddad2922fbd7e7cb3d76141cc","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":"ba4e5543b7e8ad45a44e9197ae406933f48815717364ea0c7a059d9a4cb2bc2b","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":"9bcb02d99f3a4a8b4bb92ad30a002b88a9fc1e555d8a025f1e7f817e6746e557","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":"f89b373b7e662c2a264df77140e3e28db9aaef1ff8bbc768fffa06a9d97e2565","dependsOn":[],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"d59561da3b378461b7c749f6bd5084477d44993aa94972ddea90f542535751df","skillId":"build-contract-project","tools":[]},"key":"build_contract_project","kind":"code","role":"implement","skillHash":"d59561da3b378461b7c749f6bd5084477d44993aa94972ddea90f542535751df","skillId":"build-contract-project","state":"accepted"},{"acceptedSubmissionHash":"ca6694c0855ee8e8c56b258f5342cccb97afe7718cdfd65c0c38af48577a1608","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"c6522d67f6b164b2a8a67defe7ad8dfed90830cebd2a149f98a0ccdf6aa2bde9","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: Yolo (YOLO).\nToken name: Yolo\nToken symbol: YOLO\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.","parentJobId":null,"planHash":"c42d39ce8357852557a5a5b4dbd48f86eaf26748e553a053a177a3e454cb0112","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"36acb4de-ff36-4d36-b705-1d7168184319","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2239-yolo"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"52286","feedbackHash":"3e0ba9fdafededfef75b87e5e610c5e5b31d03ee65eb1ab14a433cb3807f4a5a","nodeKey":"audit_economics","submissionHash":"7933845e8e5bfa5c736aed4766ceab7aa15dd4d00bacd7b6c2aee1773f83ab31","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52011","feedbackHash":"da8e2fd050f07c005eeab1809166da0c1ca0183fa0cd39f7cfead6a21b748f8c","nodeKey":"audit_flow","submissionHash":"c034be34490a4bd9c4222edc3c367420df2cb2573ce4389e6163a54d58253bfb","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"53925","feedbackHash":"bceec94f446726a2bf98d82ed1020d7bf5f2848094ea091c526e6ef3e61a2ed6","nodeKey":"audit_judge","submissionHash":"24b3600ee85503e5492e0707861febc02b07d06ddad2922fbd7e7cb3d76141cc","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52130","feedbackHash":"4b77c043e8327f924cb646d055a21840053d579279465b6b1a6bfde070ef5320","nodeKey":"audit_math","submissionHash":"ba4e5543b7e8ad45a44e9197ae406933f48815717364ea0c7a059d9a4cb2bc2b","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51298","feedbackHash":"7d3b4555d98c9ff91ca672ed5a5ba4944dd2dc4b30c090f708ba14ed306a2cbf","nodeKey":"audit_permissions","submissionHash":"9bcb02d99f3a4a8b4bb92ad30a002b88a9fc1e555d8a025f1e7f817e6746e557","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51377","feedbackHash":"96a161ec5cc14207298ca465d1b4a3f2d988df81da506173d1e5bb367e9e6890","nodeKey":"build_contract_project","submissionHash":"f89b373b7e662c2a264df77140e3e28db9aaef1ff8bbc768fffa06a9d97e2565","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"50956","feedbackHash":"fc5933e2ff55a358f6d86ca2774fa6d428b7943ec5c014a38b0b45447563febe","nodeKey":"manifest","submissionHash":"ca6694c0855ee8e8c56b258f5342cccb97afe7718cdfd65c0c38af48577a1608","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52666","feedbackHash":"a7bebb84f0dc950f0d242bd463290c5753c6072e73174332df0b999cabbbae90","nodeKey":"write_foundry_tests","submissionHash":"c6522d67f6b164b2a8a67defe7ad8dfed90830cebd2a149f98a0ccdf6aa2bde9","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"fba9a3becbc1faa2bf5a06564cba8d11ab29cb844e0898ca474d32271c60b2d0","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":null,"device":"96ecbe9236c400bb","findings":[{"citation":"resolved","description":"README.md line 119 states 'See `dependencies.lock.json` for upstream URLs and SHA-256 digests of every vendored file. These files are unmodified upstream sources.' Reproduced (merging the audit_permissions finding, the only specialist report): all six vendored OpenZeppelin files match the lock file. Seven vendored forge-std files do not: src/StdAssertions.sol, src/StdJson.sol, src/StdToml.sol, src/Vm.sol, src/console.sol, src/interfaces/IERC7540.sol, src/interfaces/IMulticall3.sol. I fetched each of the seven from forge-std commit 77041d2ce690e692d6e03cc812b57d1ddaa4d505 (the commit the lock file names): the upstream bytes hash to exactly the lock file's digests, so the lock was written from upstream and the vendored copies were reformatted afterwards. Comparing upstream and vendored with all whitespace stripped gives identical content for all seven, so the change is formatting only (function signatures re-wrapped, consistent with forge fmt having run over lib/). Impact: no production code is affected (src/Yolo.sol imports only @openzeppelin, whose files are byte-identical to the lock), tests behave identically, and the compiled Yolo bytecode is unchanged. The defect is in the provenance record: anyone verifying the vendored tree against the lock file, as README.md directs, gets a mismatch on 7 of 29 forge-std files and the record cannot tell them that nothing substantive changed. Fix: either restore the seven files to the upstream bytes (and keep lib/ out of forge fmt), or regenerate those seven digests from the files as vendored and drop the 'unmodified upstream' wording. No fund, supply, permission or deployment impact; low.","line":43,"path":"dependencies.lock.json","reproduction":"Input: the repository tree at commit 7e3160a. From the repository root run `sha256sum lib/forge-std/src/Vm.sol`. Expected (per README.md line 119 and dependencies.lock.json line 43): 9068805b59ac1d0ea03a8fa1f15ae49c094e0c6c852a2500e0dd112f264b2cb1. Actual: a1b1c82924aecf0f38b53192fd1e801cccc1e1fd2ecd6b2301e4f4c4ab102a15. Same mismatch for src/StdAssertions.sol (lock d4c89eec70d267de…, actual 3fbf4a025b4fc94e…), src/StdJson.sol (lock 0211b47e…, actual 61bbf9b3…), src/StdToml.sol (lock de3fb35a…, actual 187d2f0c…), src/console.sol (lock 896c5a5a…, actual a2e632dc…), src/interfaces/IERC7540.sol (lock c6a7854c…, actual 3ae3eec9…), src/interfaces/IMulticall3.sol (lock 6620d9c5…, actual 1b63ca78…). Cross-check: `curl -s https://raw.githubusercontent.com/foundry-rs/forge-std/77041d2ce690e692d6e03cc812b57d1ddaa4d505/src/Vm.sol | sha256sum` prints 9068805b…, equal to the lock file, and stripping all whitespace from that upstream file and from lib/forge-std/src/Vm.sol yields identical strings. All 22 other forge-std files and all 6 OpenZeppelin files match the lock file.","severity":"low","snippet":"      \"src/Vm.sol\": \"9068805b59ac1d0ea03a8fa1f15ae49c094e0c6c852a2500e0dd112f264b2cb1\",","title":"dependencies.lock.json digests do not match seven vendored forge-std files, so the README's 'unmodified upstream sources' integrity record is false"}],"hash":"24b3600ee85503e5492e0707861febc02b07d06ddad2922fbd7e7cb3d76141cc","nodeId":"304f5db4-305d-49f3-adb8-a2ec5f4709d9","outcome":"completed","summary":"The findings file is valid, the quoted snippet matches line 43 exactly, and the tree is unchanged apart from the findings file, which git ignores.\n\n**Outcome:** the Yolo token has no code defect. One low finding is kept, from the permissions specialist, and it reproduced exactly. The file `.imd-findings.json` holds it plus a coverage record answering all three entry points.\n\n**What I verified against the code**\n\n- The token is OpenZeppelin v5.0.2 ERC20 with a no-argument constructor that mints exactly 10^27 units to msg.sender once. The ABI exposes no mint, burn, owner, pause, blacklist or upgrade function.\n- Each entry point traced through the vendored ERC20: zero-address and balance checks precede the unchecked arithmetic, failures revert atomically, no external calls or callbacks exist. All three are marked holds.\n- Creation code is 2,633 bytes and runtime 1,752 bytes. An opcode scan finds no DELEGATECALL, CALLCODE or SELFDESTRUCT, so the launch's CREATE2 deployment and the protected floor checks are satisfied.\n- The manifest matches the code: empty constructorArgs, supply and decimals agree, lowercase addresses, schema keys only.\n- The project's full suite of 52 tests passes with the documented seed, and forge fmt is clean.\n\n**The kept finding, low severity**\n\nSeven vendored forge-std files do not hash to the digests in dependencies.lock.json, while the README claims every vendored file is unmodified upstream. I fetched the seven files from the pinned upstream commit. Their bytes hash to the lock file's digests exactly, and they are identical to the vendored copies once all whitespace is stripped. So the vendored tree was reformatted after the lock was written. No production bytecode is affected, since the token imports only the OpenZeppelin files, which match byte for byte. The fix is either to restore the upstream bytes or to regenerate those seven digests and drop the \"unmodified\" wording.\n\n**Not run:** the protected launch tests, which import v4-core and the service's floor sources that are not in this tree. I checked each of their assertions by hand instead: supply, decimals, exact transfers, absent privileged selectors, and the opcode scan.","treeHash":null,"usage":{"cachedInputTokens":570290,"inputTokens":322,"model":"claude-fable-5-1","outputTokens":8198,"runtime":"claude","turns":11,"wallClockMs":157396}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"ce6eaff570c608ab","findings":[],"hash":"5d039c956c9f2549a8af409e2c8c639d2985d67fab917099daa3c591c3f8fdff","nodeId":"a24c78a2-5d46-4324-9826-b78970ac7d39","outcome":"failed","summary":"Failed to authenticate: OAuth session expired and could not be refreshed","treeHash":null,"usage":{"cachedInputTokens":0,"inputTokens":0,"model":null,"outputTokens":0,"runtime":"claude","turns":1,"wallClockMs":1092}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"fcb71e606c933181","findings":[],"hash":"7933845e8e5bfa5c736aed4766ceab7aa15dd4d00bacd7b6c2aee1773f83ab31","nodeId":"83de6af3-9ce1-4f4e-b197-46460036eea4","outcome":"completed","summary":"The review is complete. The findings file holds an empty findings list and eight coverage rows, the scratch directory is removed, and the working tree has no changes other than the findings file.\n\n**Result: no defects found in the Economic Security, Invariant or Flow Gap areas.**\n\nThe Yolo token is a 16-line contract that inherits OpenZeppelin v5.0.2 ERC-20 unchanged and mints exactly 10^27 units to its deployer in the constructor. There is no custom transfer logic, no owner, no external dependency and no callback, so none of the failure modes in my three guides have a surface to act on.\n\nWhat I verified:\n- **Vendored dependency integrity.** The ERC20 and Context sources match the upstream files at the pinned commit byte for byte, so the behavior reviewed is the behavior deployed.\n- **ABI surface.** The compiled ABI has only approve, transfer and transferFrom as state-changing functions, plus views. No mint, burn, pause, blacklist or upgrade path exists, and the runtime contains no DELEGATECALL, CALLCODE or SELFDESTRUCT.\n- **Launch flows arrive whole.** A scratch test emulated the pool manager's sync and settle balance-delta accounting. The swarm transfer, the contributor claim, the single-sided seed, a buy through take, and a sell back all moved exactly the stated amount.\n- **Conservation invariants.** A 512-run fuzz across eight holders with direct and delegated transfers kept the balance sum equal to total supply, and total supply stayed at 10^27. The project's own 128-run invariant suite also passed.\n- **Atomicity.** Failed transfers and delegated transfers leave balances and allowances untouched.\n- **Static analysis lead.** The aderyn large-literal note on line 10 is style only. The literal evaluates to exactly 10^27.\n\nTwo items are documented limitations rather than defects and are noted in the coverage rows: the standard ERC-20 approval-replacement race, which the README already warns about, and the fact that tokens sent to the contract itself cannot be recovered, which follows from the requested no-administrator design.\n\nNot covered: the real Uniswap v4 PoolManager seed and swap, since v4-core is not vendored in this project. The protected launch harness runs that separately, and my balance-delta emulation of its settlement is the closest local substitute.","treeHash":null,"usage":{"cachedInputTokens":460669,"inputTokens":194,"model":"claude-fable-5-1","outputTokens":12785,"runtime":"claude","turns":25,"wallClockMs":186653}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"2d027bc56749d95c","findings":[{"citation":"resolved","description":"README.md line 119 states that dependencies.lock.json holds 'SHA-256 digests of every vendored file' and that 'These files are unmodified upstream sources'. The six vendored OpenZeppelin files match both the lock file and upstream commit dbb6104c byte for byte. Seven vendored forge-std files do not match the lock file's digests: src/StdAssertions.sol, src/StdJson.sol, src/StdToml.sol, src/Vm.sol, src/console.sol, src/interfaces/IERC7540.sol and src/interfaces/IMulticall3.sol. The lock digests equal the upstream files at forge-std commit 77041d2c (verified by fetching them), so the vendored copies were changed after the lock was written. The change is whitespace only (function signatures re-wrapped, consistent with `forge fmt` having been run over lib/), so the test library behaves identically and no production bytecode is affected: src/Yolo.sol does not import forge-std. The defect is in the integrity record: anyone verifying the vendored tree against the lock file, as the README directs, gets a mismatch on 7 of 29 forge-std files and cannot tell from the record alone that nothing substantive changed. This is outside the assigned Access Control / Trust Gap / Asymmetry area and is reported because it was substantiated; it has no fund or permission impact. Fix: either restore the seven files to the upstream bytes (and exclude lib/ from forge fmt) or regenerate the seven digests in dependencies.lock.json from the files as vendored and drop the 'unmodified upstream' wording.","line":43,"path":"dependencies.lock.json","reproduction":"Input: the repository tree as committed at 4ad0771. Run from the repository root: `sha256sum lib/forge-std/src/Vm.sol` prints a1b1c82924aecf0f38b53192fd1e801cccc1e1fd2ecd6b2301e4f4c4ab102a15, while dependencies.lock.json line 43 records 9068805b59ac1d0ea03a8fa1f15ae49c094e0c6c852a2500e0dd112f264b2cb1 for that path. Expected: the two digests are equal, as README.md line 119 promises. Actual: they differ, and the same check fails for src/StdAssertions.sol (local 3fbf4a02…, lock d4c89eec…), src/StdJson.sol, src/StdToml.sol, src/console.sol, src/interfaces/IERC7540.sol and src/interfaces/IMulticall3.sol. `diff -w` of each local file against the upstream file at commit 77041d2ce690e692d6e03cc812b57d1ddaa4d505 is empty, so the difference is formatting only.","severity":"low","snippet":"      \"src/Vm.sol\": \"9068805b59ac1d0ea03a8fa1f15ae49c094e0c6c852a2500e0dd112f264b2cb1\",","title":"dependencies.lock.json digests do not match seven vendored forge-std files (whitespace reformatting), so the 'unmodified upstream' integrity record is false"}],"hash":"9bcb02d99f3a4a8b4bb92ad30a002b88a9fc1e555d8a025f1e7f817e6746e557","nodeId":"9e3987f0-5491-48fb-9e39-133b2b5e0be9","outcome":"completed","summary":"The review is complete. The findings file is valid, its one cited snippet matches the tree exactly, and no tracked file was changed.\n\n**Result: the assigned area is clean.** Yolo is the unmodified OpenZeppelin v5.0.2 ERC20 with a constructor that mints the full supply to msg.sender. There are no roles, modifiers, setters, initializers, callbacks, proxies or privileged functions, so the Access Control, Trust Gap and Asymmetry checklists find nothing to break. The three entry points, approve, transfer and transferFrom, each guard on msg.sender or the caller's allowance, share one `_update` path, move exact amounts for the factory, distributor and pool flows, and roll back fully on failure. I verified the vendored ERC20 sources byte for byte against upstream commit dbb6104c, built the project, and ran the full suite with the project's seed. All 33 tests and both invariants passed.\n\n**One low finding, outside the assigned area.** Seven vendored forge-std files do not match the digests in dependencies.lock.json, although the README says the lock covers every vendored file and that they are unmodified upstream sources. I fetched the upstream files at the pinned commit. The lock digests match upstream, and the local copies differ only by whitespace, consistent with forge fmt having been run over lib. Test behavior is unaffected and no production bytecode imports forge-std, so this is an integrity-record defect only. The fix is to restore those seven files or regenerate their digests.\n\n**Coverage record.** Seven rows were written: the three listed entry points and the constructor hold, two invariant rows for hidden entry points and transfer symmetry hold, and one integrity-record row points to the finding. No proof test was written because nothing reached high or critical.","treeHash":null,"usage":{"cachedInputTokens":634328,"inputTokens":258,"model":"claude-fable-5-1","outputTokens":12561,"runtime":"claude","turns":28,"wallClockMs":177514}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"1c29c7c6e4cf57eb","findings":[],"hash":"ba4e5543b7e8ad45a44e9197ae406933f48815717364ea0c7a059d9a4cb2bc2b","nodeId":"48d62d27-4e42-4522-8dc9-cec687eab535","outcome":"completed","summary":"I found no defects in the math area. `.imd-findings.json` holds an empty findings list and a coverage row for each of the three entry points, plus two invariant rows. All rows are `holds`.\n\n**What I checked.** `src/Yolo.sol` is a plain OpenZeppelin v5.0.2 ERC20. It has one constant, `INITIAL_SUPPLY = 1_000_000_000 * 10 ** 18`, which is exactly 10^27, and it mints that once to `msg.sender` in the constructor. The OpenZeppelin files it pulls in match the SHA-256 hashes in `dependencies.lock.json`, so the library code I read is the unmodified release.\n\n- **Math Precision:** the token never divides, multiplies at runtime, narrows a type, shifts bits or converts between scales, so rounding, precision loss and overflow cannot arise. The two `unchecked` subtractions (balance in `_update`, allowance in `_spendAllowance`) each come right after a check that the amount is available. The `unchecked` addition to the recipient's balance can't overflow because all balances together equal the total supply, 10^27.\n- **Boundary:** a zero amount, a holder's full balance, sending to yourself, and an allowance of 0 or the maximum value all behave correctly. Sending from, sending to, or approving the zero address reverts. There are no external calls, payable functions or decoded byte inputs to check.\n- **Numerical Gap:** nothing combines precision, boundaries and invariants in a way that matters. The total supply can't change after deployment, because minting is only reachable from the constructor and burning is never reachable, so the supply always equals the sum of balances.\n- **Static-analysis lead:** aderyn's \"large numeric literal\" warning at `src/Yolo.sol:10` is about style. The value is correct and matches the brief, so I didn't report it.\n\nThe existing suite passes: 33 tests, including the fuzz and invariant tests. I didn't write any reproduction tests, since there was nothing to reproduce.\n\n**Untracked files I didn't create.** `git status` lists files I didn't make in the repository root: `.bashrc`, `.bash_profile`, `.profile`, `.zprofile`, `.zshrc`, `.gitconfig`, `.gitmodules`, `.mcp.json`, `.ripgreprc`, `.claude/`, `.idea`, `.vscode`. I left them alone. Since a submission that changes files is rejected, check where they came from before uploading. My only write was `.imd-findings.json`, which doesn't appear in `git status`, so it is probably git-ignored.","treeHash":null,"usage":{"cachedInputTokens":332449,"inputTokens":16,"model":"claude-opus-5-5","outputTokens":3620,"runtime":"claude","turns":8,"wallClockMs":51415}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"a406deaac63a93b0","findings":[],"hash":"c034be34490a4bd9c4222edc3c367420df2cb2573ce4389e6163a54d58253bfb","nodeId":"a24c78a2-5d46-4324-9826-b78970ac7d39","outcome":"completed","summary":"The review is complete and `.imd-findings.json` holds the result: no defects, with a full coverage record.\n\n**What I reviewed.** The token is `src/Yolo.sol`, a 16-line contract that inherits the vendored OpenZeppelin v5.0.2 ERC20 and mints one billion tokens with 18 decimals to the deployer in its constructor. I applied the Execution Trace, Periphery and First Principles guides, read the protected floor tests, and checked the three state-changing entry points plus the constructor.\n\n**Findings: none.** Every path I traced behaves as intended.\n\n- `transfer`, `approve` and `transferFrom` are unmodified OpenZeppelin code. Allowance is spent before the transfer, and a later revert rolls the spend back. Exact amounts move with no fees, callbacks or exemptions, so the swarm share, pool seed and swaps arrive whole.\n- The constructor mints exactly 10^27 units to the immediate deployer. I verified the literal against an independent plain-literal assertion and confirmed that neither the transaction origin nor the factory's caller receives anything.\n- Supply cannot grow after deployment. The compiled ABI exposes no mint, burn, owner, pause, blacklist, receive or fallback, and no privileged party can move or freeze a holder's balance.\n- Every vendored OpenZeppelin file matches the upstream commit byte for byte, so the periphery introduces nothing unexpected.\n- The project's own 33 tests pass with the documented seed, and `forge fmt --check` is clean. The aderyn \"large numeric literal\" lead is a style note only.\n\n**Coverage.** All three listed entry points are recorded as `holds`, along with rows for the constructor, the fixed-supply invariant, the launch-flow invariant, the no-privileged-power invariant, the vendored periphery, the bytecode constraints and the static-analysis lead. I did not run the protected Uniswap v4 harness, since its `v4-core` dependency is not in this tree, but a plain ERC20 with unconditional transfers satisfies its checks by construction.\n\nMy scratch tests were removed. The only file left in the tree beyond the original checkout is `.imd-findings.json`.","treeHash":null,"usage":{"cachedInputTokens":570753,"inputTokens":226,"model":"claude-fable-5-1","outputTokens":9803,"runtime":"claude","turns":27,"wallClockMs":186181}},{"artifacts":[],"attempt":1,"bundleHash":"fd054c2f6264a0d93a09fb127714ab080f8f89853816c79d160fd0e98bc5dabf","device":"30bcdea6dcb9ee40","findings":[],"hash":"c6522d67f6b164b2a8a67defe7ad8dfed90830cebd2a149f98a0ccdf6aa2bde9","nodeId":"ef08d111-b14e-4708-9316-61059f78b22b","outcome":"completed","summary":"I added two test files on top of the existing suite. `forge build` succeeds, and `forge test` with the verifier's seed passes all 52 tests in 4 suites with 0 failures, including the 33 tests that were already there.\n\n**I found no defects, so I did not write `.imd-findings.json`.** `src/Yolo.sol` is plain OpenZeppelin ERC20. It mints exactly 10^27 units to `msg.sender` once in the constructor, and nothing else reaches mint or burn: no owner, no pause, no other privileged calls. Two behaviours are worth knowing but aren't bugs; both are standard, and the existing `SECURITY_REVIEW.md` already covers the first:\n- Changing an approval simply overwrites the old amount. The token has no `increaseAllowance`, `decreaseAllowance` or `permit`.\n- Tokens sent to the token's own address are stuck for good, because there is no way to recover them.\n\n**`test/Yolo.edge.t.sol`** (18 tests, unit and fuzz):\n- **Supply:** it is exactly 1e27, checked against an independent number, and every deployment mints its own supply once.\n- **One-call launch:** a helper deploys the token and splits it 10/60/30 within a single call, as the real launch does in one transaction. It confirms the supply is whole and with the deployer right after the constructor, and that a second deploy with the same salt reverts.\n- **Failure paths:**\n  - An owner can't use `transferFrom` on their own tokens without approving themselves first.\n  - A spender is limited by the owner's balance even when the allowance is larger.\n  - An allowance of max−1 still goes down when spent, while an unlimited one never does.\n  - A spender can't use one owner's approval to move another owner's tokens.\n  - Allowance-change functions, `permit` and recovery functions don't exist.\n- **Fuzz:** any call to a function the token doesn't have reverts without changing anything. A stranger can't move any amount without an allowance, and a transfer between two people touches no one else. Splitting a `transferFrom` in two gives the same result as doing it at once, and sending tokens away and back restores both balances.\n\n**`test/Yolo.openInvariant.t.sol`** (random call sequences: 256 runs × 64 calls):\n- Unlike the existing four-holder invariant suite, recipients and spenders here can be any address, including the zero address. The deployer starts with most of the supply.\n- It deliberately makes calls that must fail: sending to the zero address, approving the zero address, sending from the zero address, overspending by one wei, and spending without approval.\n- **What it checks after every call:**\n  - The total supply never changes.\n  - Every address that has held tokens matches a separate record kept by the test, and those balances add up to the whole supply.\n  - Every allowance matches the record.\n  - Every call succeeded or failed exactly as the token's rules say it should.\n- A final check confirms each run produced both successful and rejected calls, so the checks can't pass without testing anything.\n- Run counts are set inside the test file, so `foundry.toml` is unchanged.\n\nOnly these two files under `test/` are new. Nothing is committed.","treeHash":"e35a2e3f8ac89402ac4973126fedc35220a3aeed","usage":{"cachedInputTokens":477409,"inputTokens":20,"model":"claude-opus-5-5","outputTokens":14480,"runtime":"claude","turns":11,"wallClockMs":199032}},{"artifacts":[],"attempt":1,"bundleHash":"7fbb88a7f89a057b6f15cbe42202a94a725ef30f36af67ef21a50cf871403e58","device":"bb0a3bf63233e5e5","findings":[],"hash":"ca6694c0855ee8e8c56b258f5342cccb97afe7718cdfd65c0c38af48577a1608","nodeId":"8249b64d-2b3f-4bda-8ccf-e2bffc3b4321","outcome":"completed","summary":"Created `launch.json` matching the accepted Yolo constructor, exact supply, pool settings, and economics. No other deliverable files changed.\n\nValidation passed: manifest and constructor ABI checks, `forge build`, and all 33 local tests using the supplied fuzz seed.","treeHash":"a1c40c959f40500b957d257a86950cbd176df242","usage":{"cachedInputTokens":212352,"inputTokens":24798,"model":"gpt-6-astra","outputTokens":2198,"runtime":"codex","turns":4,"wallClockMs":71464}},{"artifacts":[],"attempt":1,"bundleHash":"2b18aac55da18f921c301814474ef7c16578f2fbab3dc48e558964896688237d","device":"d2ea4ab6ad35e6a1","findings":[],"hash":"f89b373b7e662c2a264df77140e3e28db9aaef1ff8bbc768fffa06a9d97e2565","nodeId":"d7ab1866-0986-41e4-ae71-b6a78e4e77bb","outcome":"completed","summary":"Implemented Yolo (YOLO): 1,000,000,000 tokens with 18 decimals, minted once to the deployer. No administrative or additional minting powers.\n\nIncluded vendored dependencies, success/failure tests, fuzz and invariant tests, and deployment documentation.\n\nAll required checks pass with Solidity 0.8.26:\n\n- `forge build`, including a clean offline build\n- `forge test` with the supplied fuzz seed\n- `forge fmt --check`","treeHash":"b9ad868caebcfc63ff33707e2ecdf09c30aa5a60","usage":{"cachedInputTokens":621824,"inputTokens":66176,"model":"gpt-6-astra","outputTokens":16302,"runtime":"codex","turns":6,"wallClockMs":452698}}],"verification":[{"checks":[{"durationMs":3647,"exitCode":0,"name":"build","output":"Compiling 30 files with Solc 0.8.26\nSolc 0.8.26 finished in 3.50s\nCompiler run successful!\n","passed":true},{"durationMs":34113,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 18 tests for test/Yolo.edge.t.sol:YoloEdgeTest\n[PASS] testFuzz_infiniteAllowanceNeverDecrements(uint256) (runs: 1000, μ: 140171, ~: 140167)\nLogs:\n  Bound result 440617731985114838858\n\n[PASS] testFuzz_roundTripRestoresBalances(uint256) (runs: 1000, μ: 115346, ~: 115257)\nLogs:\n  Bound result 10397\n\n[PASS] testFuzz_strangerWithoutAllowanceCannotMoveAnyAmount(address,uint256) (runs: 1000, μ: 48717, ~: 48734)\nLogs:\n  Bound result 250000000000000000000000000\n\n[PASS] testFuzz_transferBetweenThirdPartiesTouchesOnlyThem(uint256,address) (runs: 1000, μ: 137124, ~: 137306)\nLogs:\n  Bound result 40\n\n[PASS] testFuzz_transferFromSplitIntoTwoEqualsOneShot(uint256,uint256) (runs: 1000, μ: 195923, ~: 197067)\nLogs:\n  Bound result 2041\n  Bound result 1060\n\n[PASS] testFuzz_unknownSelectorRevertsWithoutStateChange(bytes4,bytes) (runs: 1000, μ: 66310, ~: 66022)\n[PASS] test_allowanceAboveBalanceIsCappedByBalance() (gas: 168608)\n[PASS] test_burnLikeTransfersToTokenAddressDoNotReduceSupply() (gas: 111892)\n[PASS] test_create2RedeployWithSameSaltFails() (gas: 525981)\n[PASS] test_eachDeploymentMintsItsOwnSupplyOnce() (gas: 59633)\n[PASS] test_infiniteAllowanceSurvivesSpendingWholeBalance() (gas: 159515)\n[PASS] test_maxMinusOneAllowanceIsFiniteAndDecrements() (gas: 127537)\n[PASS] test_noIncreaseOrDecreaseAllowanceEntrypoints() (gas: 88542)\n[PASS] test_oneCallLaunchMintsToLauncherAndAllocatesExactly() (gas: 627207)\n[PASS] test_ownerCannotUseTransferFromOnOwnTokensWithoutSelfApproval() (gas: 45431)\n[PASS] test_selfApprovalIsConsumedLikeAnyOther() (gas: 160273)\n[PASS] test_spenderCannotRedirectAllowanceOfAnotherOwner() (gas: 93269)\n[PASS] test_supplyIsExactlyTenToTheTwentySeven() (gas: 50669)\nSuite result: ok. 18 passed; 0 failed; 0 skipped; finished in 82.57ms (472.88ms CPU time)\n\nRan 32 tests for test/Yolo.t.sol:YoloTest\n[PASS] testFuzz_approveStoresExactAllowance(uint256) (runs: 512, μ: 83911, ~: 83989)\n[PASS] testFuzz_cannotOverspendAllowance(uint256) (runs: 512, μ: 119959, ~: 119933)\nLogs:\n  Bound result 11081\n\n[PASS] testFuzz_cannotOverspendBalance(uint256,uint256) (runs: 512, μ: 127409, ~: 127652)\nLogs:\n  Bound result 766712962\n  Bound result 8000000000000000000\n\n[PASS] testFuzz_selfTransferPreservesBalance(uint256) (runs: 512, μ: 55145, ~: 54880)\nLogs:\n  Bound result 7661\n\n[PASS] testFuzz_transferConservesSupply(address,uint256) (runs: 512, μ: 93101, ~: 93143)\nLogs:\n  Bound result 2283\n\n[PASS] testFuzz_transferFromConservesSupplyAndSpendsAllowance(uint256,uint256) (runs: 512, μ: 164854, ~: 165633)\nLogs:\n  Bound result 46022122561410305327487716\n  Bound result 115792089237316195423570985008687907853269984665640518018207256338618867353547\n\n[PASS] test_approvalBelongsOnlyToApprovingAccountAndNamedSpender() (gas: 174578)\n[PASS] test_approveEmitsEventAndCanBeReplacedAndRevoked() (gas: 190503)\n[PASS] test_approveZeroSpenderReverts() (gas: 37640)\n[PASS] test_constructorEmitsOneMint() (gas: 9650)\n[PASS] test_deployerCannotSpendHolderTokensWithoutApproval() (gas: 158410)\n[PASS] test_entireSupplyCanMoveAndReturn() (gas: 134578)\n[PASS] test_factoryCreationMintsToImmediateDeployer() (gas: 294107)\n[PASS] test_infiniteAllowanceIsPreserved() (gas: 134059)\n[PASS] test_launchTransfersAndClaimArriveWhole() (gas: 625858)\n[PASS] test_metadataAndInitialSupply() (gas: 107584)\n[PASS] test_noMintBurnFreezeOrUpgradeEntrypoints() (gas: 1231060)\n[PASS] test_plainEthAndPayableTokenCallsRevert() (gas: 74415)\n[PASS] test_runtimeHasNoForbiddenOpcodesAndFitsDeploymentLimit() (gas: 1032626)\n[PASS] test_selfTransferAboveBalanceStillReverts() (gas: 33427)\n[PASS] test_selfTransferPreservesBalanceAndEmitsEvent() (gas: 54024)\n[PASS] test_transferAboveBalanceReverts() (gas: 54946)\n[PASS] test_transferEmitsEventAndMovesExactAmount() (gas: 91527)\n[PASS] test_transferFromInsufficientAllowanceRevertsAtomically() (gas: 116086)\n[PASS] test_transferFromInsufficientBalanceRestoresAllowance() (gas: 126627)\n[PASS] test_transferFromSpendsAllowanceAndEmitsTransfer() (gas: 242442)\n[PASS] test_transferFromToSelfSpendsAllowanceWithoutChangingBalance() (gas: 105785)\n[PASS] test_transferFromToZeroRestoresAllowance() (gas: 114552)\n[PASS] test_transferFromZeroSenderCannotMint() (gas: 80046)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71992)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 63047)\n[PASS] test_zeroTransferFromNeedsNoAllowance() (gas: 81502)\nSuite result: ok. 32 passed; 0 failed; 0 skipped; finished in 82.59ms (428.53ms CPU time)\n\nRan 1 test for test/Yolo.invariant.t.sol:YoloInvariantTest\n[PASS]\nYoloInvariantTest invariants:\n[PASS] invariant_allowancesMatchAuthorizedSpending\n[PASS] invariant_totalSupplyAndBalancesAreConserved\n YoloInvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭-------------+--------------+-------+---------+----------╮\n| Contract    | Selector     | Calls | Reverts | Discards |\n+=========================================================+\n| YoloHandler | approve      | 2741  | 0       | 0        |\n|-------------+--------------+-------+---------+----------|\n| YoloHandler | transfer     | 2797  | 0       | 0        |\n|-------------+--------------+-------+---------+----------|\n| YoloHandler | transferFrom | 2654  | 0       | 0        |\n╰-------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 242\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 6394\n  Bound result 0\n  Bound result 179702566563861797476036667\n  Bound result 1001000000000000000000\n  Bound result 27\n  Bound result 2149\n  Bound result 80079929340728442251309\n  Bound result 92749144524993656528823630\n  Bound result 0\n  Bound result 31\n  Bound result 4000000000000000000000\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.53s (3.53s CPU time)\n\nRan 1 test for test/Yolo.openInvariant.t.sol:YoloOpenInvariantTest\n[PASS]\nYoloOpenInvariantTest invariants:\n[PASS] invariant_allowancesMatchModel\n[PASS] invariant_everyCallSucceededOrFailedAsSpecified\n[PASS] invariant_everyHolderMatchesModelAndLedgerSumsToSupply\n[PASS] invariant_supplyIsFixed\n YoloOpenInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭-----------------+-------------------------+-------+---------+----------╮\n| Contract        | Selector                | Calls | Reverts | Discards |\n+========================================================================+\n| YoloOpenHandler | approve                 | 4011  | 0       | 0        |\n|-----------------+-------------------------+-------+---------+----------|\n| YoloOpenHandler | transfer                | 4142  | 0       | 0        |\n|-----------------+-------------------------+-------+---------+----------|\n| YoloOpenHandler | transferFrom            | 4090  | 0       | 0        |\n|-----------------+-------------------------+-------+---------+----------|\n| YoloOpenHandler | transferFromZeroAddress | 4141  | 0       | 0        |\n╰-----------------+-------------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 1000000000000000000000000000\n  Bound result 4227\n  Bound result 391\n  Bound result 3194\n  Bound result 283\n  Bound result 0\n  Bound result 125155718172597271083003696405402\n  Bound result 120209876281281145568259944\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639932\n  Bound result 0\n  Bound result 0\n  Bound result 1489\n  Bound result 6\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935\n  Bound result 100\n  Bound result 1\n  Bound result 8000000000000000000\n  Bound result 30000000000000000000\n  Bound result 3000000000000000000\n  Bound result 4027\n  Bound result 8300\n  Bound result 1\n  Bound result 1330\n  Bound result 441\n  Bound result 49\n  Bound result 5426\n  Bound result 228\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639934\n  Bound result 123000000000000000000\n  Bound result 250000000\n  Bound result 34863211264111\n  Bound result 481\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 33.94s (33.94s CPU time)\n\nRan 4 test suites in 33.95s (37.64s CPU time): 52 tests passed, 0 failed, 0 skipped (52 total tests)\n","passed":true},{"durationMs":84,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Yolo.approve(address,uint256)\",\"Yolo.transfer(address,uint256)\",\"Yolo.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"README.md\":127,\"SECURITY_REVIEW.md\":28,\"dependencies.lock.json\":58,\"foundry.toml\":19,\"remappings.txt\":2,\"src/Yolo.sol\":16,\"test/Yolo.edge.t.sol\":286,\"test/Yolo.invariant.t.sol\":118,\"test/Yolo.openInvariant.t.sol\":223,\"test/Yolo.t.sol\":404,\"test/helpers/FactoryHarness.sol\":15},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"c6522d67f6b164b2a8a67defe7ad8dfed90830cebd2a149f98a0ccdf6aa2bde9","verifiedTreeHash":"e35a2e3f8ac89402ac4973126fedc35220a3aeed","verifierVersion":"0.1.0+a6ee6548"},{"checks":[{"durationMs":1138,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.07s\nCompiler run successful!\n","passed":true},{"durationMs":2026,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 32 tests for test/Yolo.t.sol:YoloTest\n[PASS] testFuzz_approveStoresExactAllowance(uint256) (runs: 512, μ: 83875, ~: 83989)\n[PASS] testFuzz_cannotOverspendAllowance(uint256) (runs: 512, μ: 119926, ~: 119933)\nLogs:\n  Bound result 26492\n\n[PASS] testFuzz_cannotOverspendBalance(uint256,uint256) (runs: 512, μ: 127485, ~: 127640)\nLogs:\n  Bound result 96\n  Bound result 2000000000000000000\n\n[PASS] testFuzz_selfTransferPreservesBalance(uint256) (runs: 512, μ: 55149, ~: 54880)\nLogs:\n  Bound result 11081\n\n[PASS] testFuzz_transferConservesSupply(address,uint256) (runs: 512, μ: 93090, ~: 93143)\nLogs:\n  Bound result 162113192986136446262867343\n\n[PASS] testFuzz_transferFromConservesSupplyAndSpendsAllowance(uint256,uint256) (runs: 512, μ: 164899, ~: 165623)\nLogs:\n  Bound result 3\n  Bound result 3\n\n[PASS] test_approvalBelongsOnlyToApprovingAccountAndNamedSpender() (gas: 174578)\n[PASS] test_approveEmitsEventAndCanBeReplacedAndRevoked() (gas: 190503)\n[PASS] test_approveZeroSpenderReverts() (gas: 37640)\n[PASS] test_constructorEmitsOneMint() (gas: 9650)\n[PASS] test_deployerCannotSpendHolderTokensWithoutApproval() (gas: 158410)\n[PASS] test_entireSupplyCanMoveAndReturn() (gas: 134578)\n[PASS] test_factoryCreationMintsToImmediateDeployer() (gas: 294107)\n[PASS] test_infiniteAllowanceIsPreserved() (gas: 134059)\n[PASS] test_launchTransfersAndClaimArriveWhole() (gas: 625858)\n[PASS] test_metadataAndInitialSupply() (gas: 107584)\n[PASS] test_noMintBurnFreezeOrUpgradeEntrypoints() (gas: 1231060)\n[PASS] test_plainEthAndPayableTokenCallsRevert() (gas: 74415)\n[PASS] test_runtimeHasNoForbiddenOpcodesAndFitsDeploymentLimit() (gas: 1032626)\n[PASS] test_selfTransferAboveBalanceStillReverts() (gas: 33427)\n[PASS] test_selfTransferPreservesBalanceAndEmitsEvent() (gas: 54024)\n[PASS] test_transferAboveBalanceReverts() (gas: 54946)\n[PASS] test_transferEmitsEventAndMovesExactAmount() (gas: 91527)\n[PASS] test_transferFromInsufficientAllowanceRevertsAtomically() (gas: 116086)\n[PASS] test_transferFromInsufficientBalanceRestoresAllowance() (gas: 126627)\n[PASS] test_transferFromSpendsAllowanceAndEmitsTransfer() (gas: 242442)\n[PASS] test_transferFromToSelfSpendsAllowanceWithoutChangingBalance() (gas: 105785)\n[PASS] test_transferFromToZeroRestoresAllowance() (gas: 114552)\n[PASS] test_transferFromZeroSenderCannotMint() (gas: 80046)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71992)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 63047)\n[PASS] test_zeroTransferFromNeedsNoAllowance() (gas: 81502)\nSuite result: ok. 32 passed; 0 failed; 0 skipped; finished in 24.44ms (144.10ms CPU time)\n\nRan 1 test for test/Yolo.invariant.t.sol:YoloInvariantTest\n[PASS]\nYoloInvariantTest invariants:\n[PASS] invariant_allowancesMatchAuthorizedSpending\n[PASS] invariant_totalSupplyAndBalancesAreConserved\n YoloInvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭-------------+--------------+-------+---------+----------╮\n| Contract    | Selector     | Calls | Reverts | Discards |\n+=========================================================+\n| YoloHandler | approve      | 2741  | 0       | 0        |\n|-------------+--------------+-------+---------+----------|\n| YoloHandler | transfer     | 2797  | 0       | 0        |\n|-------------+--------------+-------+---------+----------|\n| YoloHandler | transferFrom | 2654  | 0       | 0        |\n╰-------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 255\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 169\n  Bound result 250000000000000000000000000\n  Bound result 159604518844321411376048809\n  Bound result 249999999999999999999995103\n  Bound result 123000000000000000000\n  Bound result 330\n  Bound result 80079929340728442251309\n  Bound result 56019940878457649921618529\n  Bound result 0\n  Bound result 18299907985518756541476887\n  Bound result 2\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.94s (1.94s CPU time)\n\nRan 2 test suites in 1.94s (1.97s CPU time): 33 tests passed, 0 failed, 0 skipped (33 total tests)\n","passed":true},{"durationMs":38,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Yolo.approve(address,uint256)\",\"Yolo.transfer(address,uint256)\",\"Yolo.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"README.md\":127,\"SECURITY_REVIEW.md\":28,\"dependencies.lock.json\":58,\"foundry.toml\":19,\"launch.json\":24,\"remappings.txt\":2,\"src/Yolo.sol\":16,\"test/Yolo.invariant.t.sol\":118,\"test/Yolo.t.sol\":404,\"test/helpers/FactoryHarness.sol\":15},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"ca6694c0855ee8e8c56b258f5342cccb97afe7718cdfd65c0c38af48577a1608","verifiedTreeHash":"a1c40c959f40500b957d257a86950cbd176df242","verifierVersion":"0.1.0+a6ee6548"},{"checks":[{"durationMs":1021,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 955.80ms\nCompiler run successful!\n","passed":true},{"durationMs":1807,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 32 tests for test/Yolo.t.sol:YoloTest\n[PASS] testFuzz_approveStoresExactAllowance(uint256) (runs: 512, μ: 83875, ~: 83989)\n[PASS] testFuzz_cannotOverspendAllowance(uint256) (runs: 512, μ: 119926, ~: 119933)\nLogs:\n  Bound result 26492\n\n[PASS] testFuzz_cannotOverspendBalance(uint256,uint256) (runs: 512, μ: 127485, ~: 127640)\nLogs:\n  Bound result 2\n  Bound result 1000000000000000000000000000\n\n[PASS] testFuzz_selfTransferPreservesBalance(uint256) (runs: 512, μ: 55149, ~: 54880)\nLogs:\n  Bound result 7661\n\n[PASS] testFuzz_transferConservesSupply(address,uint256) (runs: 512, μ: 93090, ~: 93143)\nLogs:\n  Bound result 2\n\n[PASS] testFuzz_transferFromConservesSupplyAndSpendsAllowance(uint256,uint256) (runs: 512, μ: 164899, ~: 165623)\nLogs:\n  Bound result 3\n  Bound result 3\n\n[PASS] test_approvalBelongsOnlyToApprovingAccountAndNamedSpender() (gas: 174578)\n[PASS] test_approveEmitsEventAndCanBeReplacedAndRevoked() (gas: 190503)\n[PASS] test_approveZeroSpenderReverts() (gas: 37640)\n[PASS] test_constructorEmitsOneMint() (gas: 9650)\n[PASS] test_deployerCannotSpendHolderTokensWithoutApproval() (gas: 158410)\n[PASS] test_entireSupplyCanMoveAndReturn() (gas: 134578)\n[PASS] test_factoryCreationMintsToImmediateDeployer() (gas: 294107)\n[PASS] test_infiniteAllowanceIsPreserved() (gas: 134059)\n[PASS] test_launchTransfersAndClaimArriveWhole() (gas: 625858)\n[PASS] test_metadataAndInitialSupply() (gas: 107584)\n[PASS] test_noMintBurnFreezeOrUpgradeEntrypoints() (gas: 1231060)\n[PASS] test_plainEthAndPayableTokenCallsRevert() (gas: 74415)\n[PASS] test_runtimeHasNoForbiddenOpcodesAndFitsDeploymentLimit() (gas: 1032626)\n[PASS] test_selfTransferAboveBalanceStillReverts() (gas: 33427)\n[PASS] test_selfTransferPreservesBalanceAndEmitsEvent() (gas: 54024)\n[PASS] test_transferAboveBalanceReverts() (gas: 54946)\n[PASS] test_transferEmitsEventAndMovesExactAmount() (gas: 91527)\n[PASS] test_transferFromInsufficientAllowanceRevertsAtomically() (gas: 116086)\n[PASS] test_transferFromInsufficientBalanceRestoresAllowance() (gas: 126627)\n[PASS] test_transferFromSpendsAllowanceAndEmitsTransfer() (gas: 242442)\n[PASS] test_transferFromToSelfSpendsAllowanceWithoutChangingBalance() (gas: 105785)\n[PASS] test_transferFromToZeroRestoresAllowance() (gas: 114552)\n[PASS] test_transferFromZeroSenderCannotMint() (gas: 80046)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71992)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 63047)\n[PASS] test_zeroTransferFromNeedsNoAllowance() (gas: 81502)\nSuite result: ok. 32 passed; 0 failed; 0 skipped; finished in 18.67ms (114.44ms CPU time)\n\nRan 1 test for test/Yolo.invariant.t.sol:YoloInvariantTest\n[PASS]\nYoloInvariantTest invariants:\n[PASS] invariant_allowancesMatchAuthorizedSpending\n[PASS] invariant_totalSupplyAndBalancesAreConserved\n YoloInvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭-------------+--------------+-------+---------+----------╮\n| Contract    | Selector     | Calls | Reverts | Discards |\n+=========================================================+\n| YoloHandler | approve      | 2741  | 0       | 0        |\n|-------------+--------------+-------+---------+----------|\n| YoloHandler | transfer     | 2797  | 0       | 0        |\n|-------------+--------------+-------+---------+----------|\n| YoloHandler | transferFrom | 2654  | 0       | 0        |\n╰-------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 255\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 169\n  Bound result 250000000000000000000000000\n  Bound result 159604518844321411376048809\n  Bound result 249999999999999999999995103\n  Bound result 123000000000000000000\n  Bound result 330\n  Bound result 80079929340728442251309\n  Bound result 56019940878457649921618529\n  Bound result 0\n  Bound result 18299907985518756541476887\n  Bound result 2\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.74s (1.74s CPU time)\n\nRan 2 test suites in 1.74s (1.76s CPU time): 33 tests passed, 0 failed, 0 skipped (33 total tests)\n","passed":true},{"durationMs":27,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Yolo.approve(address,uint256)\",\"Yolo.transfer(address,uint256)\",\"Yolo.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"README.md\":127,\"SECURITY_REVIEW.md\":28,\"dependencies.lock.json\":58,\"foundry.toml\":19,\"remappings.txt\":2,\"src/Yolo.sol\":16,\"test/Yolo.invariant.t.sol\":118,\"test/Yolo.t.sol\":404,\"test/helpers/FactoryHarness.sol\":15},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":374,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":267,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/Yolo.sol:10: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"f89b373b7e662c2a264df77140e3e28db9aaef1ff8bbc768fffa06a9d97e2565","verifiedTreeHash":"b9ad868caebcfc63ff33707e2ecdf09c30aa5a60","verifierVersion":"0.1.0+a6ee6548"}]}