{"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":"86da4a1e-4e8a-4ef0-b927-81053c0da209","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"af58768acec7de7e8e459a956edf8dde2f39d04dd2e50f14d9527f92e39f39d0","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","subagents":3,"tools":[]},"key":"audit_economics","kind":"code","role":"review","skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"7b956f6ffda3de2eeda922205569c13d7cd3b4d8fb504a30642415c68f5892c7","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","subagents":3,"tools":[]},"key":"audit_flow","kind":"code","role":"review","skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"d3f232b5bc3bb0b719801d6a53b0299c72f604434940d949cc3707ac89ac3ebf","dependsOn":["build_contract_project","write_foundry_tests","manifest","audit_math","audit_permissions","audit_economics","audit_flow"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"b89279670f5a00f5d26286edee00c97dd158b997031350a01cafe6e0329ad227","skillId":"audit-judge","subagents":4,"tools":[]},"key":"audit_judge","kind":"code","role":"review","skillHash":"b89279670f5a00f5d26286edee00c97dd158b997031350a01cafe6e0329ad227","skillId":"audit-judge","state":"accepted"},{"acceptedSubmissionHash":"94a0020f2068402cb6c04a6c45c7171128213dd96d8f4aba3eb18a2e5b0bb931","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","subagents":3,"tools":[]},"key":"audit_math","kind":"code","role":"review","skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"5e3ab3b924da0d63968593206fa656a345212aa385107647f52d3d097b9a5e9c","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","subagents":3,"tools":[]},"key":"audit_permissions","kind":"code","role":"review","skillHash":"bc5bfc8455464381f2db18badb2b55cf8bec1e535c019349a0378fa990741171","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"f7882f40a1b8d9d9f53d7275dc8e653dc8d5e7eccf29e8d9ec12af0a10ab5d49","dependsOn":[],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"15b04fc8f60521936b9e2b37c09a804685ec689fc98cd5b04510d986d3106a15","skillId":"build-contract-project","tools":[]},"key":"build_contract_project","kind":"code","role":"implement","skillHash":"15b04fc8f60521936b9e2b37c09a804685ec689fc98cd5b04510d986d3106a15","skillId":"build-contract-project","state":"accepted"},{"acceptedSubmissionHash":"a339e72d5d9c3d567e69a43e2ddad00daf01a111d02da80d5859a98eb5df43b7","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"ffbdff9fa3596cf2839aaf379c53fdc1fdb1ceac13d6652884f3cc7bd7019924","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"606842ccca0e7c5d3017a54684625438eab9b351eb51dcf0cf88c43d1ea41464","skillId":"write-foundry-tests","subagents":4,"tools":[]},"key":"write_foundry_tests","kind":"code","role":"tests","skillHash":"606842ccca0e7c5d3017a54684625438eab9b351eb51dcf0cf88c43d1ea41464","skillId":"write-foundry-tests","state":"accepted"}],"objective":"A custom token: IMDwindowshopper (WWW).\nToken name: IMDwindowshopper\nToken symbol: WWW\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.","parentJobId":null,"planHash":"19af97746e4142b6042d8927e115d9268dff7ba25a03e5e0165bb73b7933728a","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"86da4a1e-4e8a-4ef0-b927-81053c0da209","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2833-imdwindowshopper"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"52623","feedbackHash":"0fb950e5a3b1cefab2d61ce8bb3340d028be74c2b68c4d1c7278dcd509863188","nodeKey":"audit_economics","submissionHash":"af58768acec7de7e8e459a956edf8dde2f39d04dd2e50f14d9527f92e39f39d0","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52178","feedbackHash":"b63295f09d6ccdc999a9b491719deac0c14dcf3f48c234dce88760b8f57f2f4c","nodeKey":"audit_flow","submissionHash":"7b956f6ffda3de2eeda922205569c13d7cd3b4d8fb504a30642415c68f5892c7","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52676","feedbackHash":"5b7301ef3fb40ea3ec04689379af25dbc029a9f6baa99516baf2cade750ba199","nodeKey":"audit_judge","submissionHash":"d3f232b5bc3bb0b719801d6a53b0299c72f604434940d949cc3707ac89ac3ebf","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52622","feedbackHash":"cad03e18ae2cbb69f4989f797f756e885be324e8a06bf43e666d65d0ef21cf16","nodeKey":"audit_math","submissionHash":"94a0020f2068402cb6c04a6c45c7171128213dd96d8f4aba3eb18a2e5b0bb931","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52625","feedbackHash":"984dabc5b0d586a0220cd25c0168507188a4423885288672585a8e440f0f0c51","nodeKey":"audit_permissions","submissionHash":"5e3ab3b924da0d63968593206fa656a345212aa385107647f52d3d097b9a5e9c","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51500","feedbackHash":"91080b4c70a13096a7613946de3ffb66e9551d47a1cffdb778f9f2e3f708192c","nodeKey":"build_contract_project","submissionHash":"f7882f40a1b8d9d9f53d7275dc8e653dc8d5e7eccf29e8d9ec12af0a10ab5d49","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"55247","feedbackHash":"68e34fee5556a4a0314ee0f7d37fff9e36c3032705a3e3df218510004e582b38","nodeKey":"manifest","submissionHash":"a339e72d5d9c3d567e69a43e2ddad00daf01a111d02da80d5859a98eb5df43b7","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51495","feedbackHash":"1a9beca78ad5af09ede2fa3eed8ed3382996aec4456d913f9906437e58c30585","nodeKey":"write_foundry_tests","submissionHash":"ffbdff9fa3596cf2839aaf379c53fdc1fdb1ceac13d6652884f3cc7bd7019924","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"5e9271d44a96351475164c7feb330dd716e21a7baa255d9c6e7b76933b553880","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":null,"device":"96ece23c63b791a1","findings":[],"hash":"5e3ab3b924da0d63968593206fa656a345212aa385107647f52d3d097b9a5e9c","nodeId":"bb78d7f2-da32-4c6b-84a2-22902cb8c739","outcome":"completed","summary":"I found no defects in the permissions area: Access Control, Trust Gap and Asymmetry. `.imd-findings.json` holds an empty findings list and one coverage row for each of the three entry points, plus four rows for invariants I checked. No other files were changed.\n\n**What I reviewed:** `src/IMDwindowshopper.sol` and the ERC-20 code it inherits from the vendored OpenZeppelin v5.0.2 (`ERC20.sol`, `Context.sol`). I read the Senior Auditor's Mindset and the three assigned guides and checked the code against each, myself; no helpers were used. The existing test suite passes (27/27).\n\n**Access Control**\n- The token has no owner, roles, modifiers, mint or burn entry point, pause, blacklist, upgrade path or initializer. The constructor only mints all 10^27 units to whoever deploys it.\n- After deployment the deployer holds tokens but has no special power.\n- The token contains no `delegatecall`, `selfdestruct` or assembly, so there is no proxy or confused-deputy path.\n- `approve` only sets the caller's own allowance.\n- `transferFrom` always spends the caller's allowance, including when someone moves their own tokens. An unlimited (max `uint256`) approval is left as is when spent, and a failed transfer undoes the allowance change.\n\n**Asymmetry**\n- `approve` and the allowance spend inside `transferFrom` write the same storage with the same checks. The only difference is that spending emits no `Approval` event, which is standard in this OpenZeppelin version and noted in the README.\n- Transfers have no branches by caller type, so the launch flows (factory, Uniswap v4 PoolManager, distributor) move exactly the amounts they state.\n\n**Trust Gap**\n- There is no privileged actor, fee or price formula, or rule that treats one class of holder differently. The ways these three can combine into an exploit don't exist here.\n\n**Leads I checked and dropped**\n- The only static-analysis lead was Aderyn's low-severity \"large numeric literal\" at line 10. It is the intended supply constant (1,000,000,000 × 10^18), so I did not report it.\n- The well-known ERC-20 `approve` front-running race is standard behaviour, not a defect in this code, so I left it out.\n\n**Limits:** no proofs were needed because there are no findings. I did not verify the claim that the vendored OpenZeppelin files are byte-for-byte the v5.0.2 release, since the archive hashes can't be checked offline. I read the relevant functions and found them consistent with the standard code. A clean review does not prove the code has no defects.","treeHash":null,"usage":{"cachedInputTokens":311081,"inputTokens":20,"model":"claude-opus-5-5","outputTokens":3883,"runtime":"claude","turns":10,"wallClockMs":50730}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"f768e94767a9dde3","findings":[],"hash":"7b956f6ffda3de2eeda922205569c13d7cd3b4d8fb504a30642415c68f5892c7","nodeId":"7e27d645-e0f4-406e-9220-fcbf3bc446c2","outcome":"completed","summary":"The review is complete. The findings file is written with an empty findings list and seven coverage rows, and no project file was changed.\n\n**Outcome: no defects found in the control-flow area.** IMDwindowshopper is a plain OpenZeppelin v5.0.2 ERC20 with one constructor mint and no added logic, so every entry point resolves to unmodified library code.\n\nWhat I verified:\n\n- **Execution Trace.** Traced `approve`, `transfer` and `transferFrom` through the base contract. Every revert path (zero receiver, zero spender, insufficient balance, insufficient allowance, zero sender) fires before any storage write, so no partial state is possible. Finite allowances are decremented before the balance move and both roll back together on failure. Max allowance is never decremented. The launch flows (factory to distributor, distributor to claimant, factory to pool, pool to trader and back) move exact amounts.\n- **Periphery.** The five vendored OpenZeppelin files are byte-identical to the upstream v5.0.2 tag. `_update` is not overridden, `_mint` and `_burn` have no external caller, and `decimals()` returns 18.\n- **First Principles.** The constructor mints exactly 10^27 units to the immediate `msg.sender`, confirmed under CREATE2 from a factory stand-in with a different transaction origin. The compiled ABI has only the three listed state-changing functions, no receive or fallback, and the constructor is nonpayable. The reachable-opcode scan from the protected floor finds no DELEGATECALL, CALLCODE or SELFDESTRUCT. The protected floor's privileged-call list all reverts from both deployer and stranger, leaving holder balances intact.\n\nChecks run: `forge build`, the project's 26 unit/fuzz tests and 2 stateful invariants under the README seed (all pass), `forge fmt --check` on project files (clean), and a 6-test scratch probe under test/scratch/ (all pass, not kept). Slither and aderyn output had nothing at or above low in my area. The aderyn large-literal note is style only, and the literal evaluates to the intended 10^27.\n\nNot reached: the real Uniswap v4 seed and swap in the protected test, which needs the launch harness and contracts outside this repository. Nothing in the token can tax or block those flows, so I expect it to pass, but I did not execute it.","treeHash":null,"usage":{"cachedInputTokens":434064,"inputTokens":226,"model":"claude-fable-5-1","outputTokens":12595,"runtime":"claude","turns":24,"wallClockMs":165569}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"91d3f9816008ce9f","findings":[],"hash":"94a0020f2068402cb6c04a6c45c7171128213dd96d8f4aba3eb18a2e5b0bb931","nodeId":"7a9450ee-ab2c-46eb-a264-df32048b0bc5","outcome":"completed","summary":"I found no defects in the math area (Math Precision, Boundary and Numerical Gap). `.imd-findings.json` has an empty findings list and a coverage row for each of the three entry points, plus one for the supply invariant. All are marked `holds`.\n\n**What the code is:** `src/IMDwindowshopper.sol` is a plain OpenZeppelin v5 ERC-20. Its only addition is the constant `INITIAL_SUPPLY = 1_000_000_000 * 10 ** 18`, which the constructor mints once to `msg.sender`. It doesn't override any transfer, allowance or update logic, and the vendored OpenZeppelin `ERC20.sol` matches the clean committed tree.\n\n**What I checked:**\n- **Math Precision:** The supply constant works out to exactly 10^27 with 18 decimals, so there is no truncation and no narrowing cast. Nothing in the token divides or rounds.\n- **Boundary:** `transfer` and `transferFrom` check the balance and allowance before the unchecked subtraction, so a transfer of 10^27 + 1 reverts. Transfers of 0 and of the whole supply deliver exactly. An allowance of `type(uint256).max` is treated as unlimited and never decreases; `max - 1` decreases by exactly the amount spent.\n- **Numerical Gap:** The unchecked addition to a recipient's balance can't overflow, because balances are capped at a fixed total of 10^27, far below 2^256. No function can mint or burn after the constructor.\n- **Tests:** The project's own 27 tests pass. I also ran a temporary boundary test and a 512-run fuzz test showing balances always add up to the full supply; both passed, and I deleted them afterwards. The tree has no changes apart from the findings file.\n\n**Static-analysis lead:** Aderyn flagged the large number at `src/IMDwindowshopper.sol:10` as low severity. That's style only: the value is correct and readable, so I didn't report it as a defect.\n\n**Not covered:** the deployment manifest (there's no `launch.json` in the tree yet) and areas outside math. Nothing outside my area looked severe enough to report, and I had time to cover my whole area.","treeHash":null,"usage":{"cachedInputTokens":151283,"inputTokens":12,"model":"claude-opus-5-5","outputTokens":3290,"runtime":"claude","turns":6,"wallClockMs":41539}},{"artifacts":[],"attempt":1,"bundleHash":"ffa3e8bf42bb54a4bf2dcf922dc1f0e805b419b102a1d19a56e9283782d0b43c","device":"8ec0eeb0fd2a5504","findings":[],"hash":"a339e72d5d9c3d567e69a43e2ddad00daf01a111d02da80d5859a98eb5df43b7","nodeId":"adaac3e2-5704-4937-8f95-101406f36141","outcome":"completed","summary":"I wrote `launch.json` for the IMDwindowshopper (WWW) launch. It is valid JSON, `forge build` succeeds, and `forge test` passed all 27 tests with the required fuzz seed. Nothing runs the manifest itself against the schema, though, so I checked it by reading it against the schema rules. The only change in the tree is `launch.json`; I haven't committed it.\n\n- **Token:** the contract is `IMDwindowshopper`, with name \"IMDwindowshopper\", symbol \"WWW\" and 18 decimals. `constructorArgs` is empty because the accepted constructor takes no parameters. `totalSupply` is `\"1000000000000000000000000000\"`, which is what the constructor mints to `msg.sender` (1,000,000,000 × 10^18).\n- **Contracts:** none. The accepted tree contains only the token.\n- **Pool:** paired with IMD at `0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7`, fee `12500`, tick spacing `60`, and initial price `79228162514264337593543950336` (one to one, recorded for reference only).\n- **Economics:** copied exactly from the brief.\n- **Notes:** a short description of the token. It is a plain ERC-20 with a fixed supply and no owner, fees, burns, pauses or blacklists, and the launch deploys no other contracts.","treeHash":"972b2469e00cdcd9c46c2bc714b00e25281b2d9b","usage":{"cachedInputTokens":102512,"inputTokens":12,"model":"claude-opus-5-5","outputTokens":1812,"runtime":"claude","turns":6,"wallClockMs":42715}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"a800aae85243bc87","findings":[],"hash":"af58768acec7de7e8e459a956edf8dde2f39d04dd2e50f14d9527f92e39f39d0","nodeId":"578b4db5-4f70-40d6-a527-593ecc4359e8","outcome":"completed","summary":"I found no defects in the IMDwindowshopper (WWW) token from the Economic Security, Invariant and Flow Gap reviews. `.imd-findings.json` holds an empty findings list and a coverage row for each of the three entry points, all marked `holds`, plus four rows for the invariants and flows I checked.\n\n**What the code is:** `src/IMDwindowshopper.sol` is a standard OpenZeppelin ERC-20 that mints exactly 10^27 units (1,000,000,000 tokens with 18 decimals) once, to the deployer (the launch factory), in its constructor. It has no owner, fee, burn, pause, blacklist or extra mint function. I compared the vendored OpenZeppelin files byte for byte with the upstream v5.0.2 release, and they are identical.\n\n**Economic Security:**\n- There is no fee, rebase or callback that could make an amount arrive short.\n- Nothing calls out to another contract, so there is no outside dependency to fail.\n- Sending to `address(0)` reverts, and nothing a holder does can block the pool or the distributor.\n\n**Invariants:**\n- **Fixed supply:** the sum of all balances always equals the total supply of 10^27. Only the constructor's mint changes the total, and every later move debits and credits the same amount.\n- **Allowances:** a `transferFrom` reduces a normal allowance by exactly the amount sent, and leaves an unlimited allowance unchanged. A failed call reverts entirely, so nothing is half-done.\n- **No privileged power:** no account can increase the supply or move or freeze someone else's balance.\n\n**Flow Gap:** the launch moves each amount exactly:\n- 10% from the factory to the distributor, then out to claimants\n- the pool share to the Uniswap v4 PoolManager, then to and from traders\n- the rest to the requester\n\n**Checks run:**\n- The existing tests: 27 passed.\n- Two temporary fuzz tests of 2,000 runs each, both passed. One varied the pool share from 0% to 90% and the receiving addresses; the other covered `approve`/`transferFrom` with normal and unlimited allowances and sending to yourself. I deleted them afterwards and changed no repository files.\n\n**Not reported:**\n- The aderyn \"large numeric literal\" warning at line 10 is a style note: the number is exactly 10^27, as intended.\n- The general ERC-20 risk that changing an allowance can be front-run applies to every ERC-20, so I didn't count it as a defect here.\n\n**Not covered:** I didn't run the protected launch tests. They need the factory, PoolManager and launch-number settings that only the verifier provides. With no fee or exemption logic in the token, I don't expect them to fail.\n\nThe token takes no constructor arguments, so its manifest entry should have an empty `constructorArgs` list.","treeHash":null,"usage":{"cachedInputTokens":320975,"inputTokens":19,"model":"claude-opus-5-5","outputTokens":5569,"runtime":"claude","turns":10,"wallClockMs":68036}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"970da38f1d564250","findings":[],"hash":"d3f232b5bc3bb0b719801d6a53b0299c72f604434940d949cc3707ac89ac3ebf","nodeId":"eba847a5-57ea-4c49-89c3-203a3592945f","outcome":"completed","summary":"I found no defects in the IMDwindowshopper (WWW) token. `.imd-findings.json` holds an empty findings list and a coverage record for all three entry points, each marked `holds`.\n\n**What I checked:**\n- **The token:** `src/IMDwindowshopper.sol` is a plain OpenZeppelin ERC-20 that changes nothing in it. Its only extra code is the constructor, which mints `1_000_000_000 * 10**18` (10^27) once to `msg.sender`. It has no owner, no way to mint more, and no pause, blacklist, fee or burn. Transfers move exactly the amount sent, so the payout to the distributor, the pool seed and pool swaps all arrive in full.\n- **The OpenZeppelin library:** I downloaded the v5.0.2 release archive. Its SHA-256 matches the one in `DEPENDENCIES.md`. `ERC20.sol` and the four files it imports are byte-identical to the release. So `approve`, `transfer` and `transferFrom` behave exactly as upstream: they reject the zero address, revert on a short balance or allowance, and leave an unlimited allowance untouched.\n- **The manifest:** the constructor takes no arguments and `constructorArgs` is `[]`. The supply, 18 decimals, contract name (16 characters) and empty contracts list all match the code. The economics are in the expected format.\n- **Tests:** `forge test` passed all 50 existing tests.\n- **Specialists and static analysis:** all four specialists and the tester reported nothing, so there was nothing to reproduce or merge. Aderyn flagged the \"large numeric literal\" at line 10; that is a style remark, and the value is the correct 10^27, so it is not a defect.\n\n**Limits:** I did not run the protected floor tests. They need the factory's harness and environment variables, which this tree doesn't have. I reviewed the code they check by hand instead. A clean review is not proof that no defects exist.\n\n`git status` shows no change to tracked files, so the findings file is probably ignored by git. I wrote no proof tests, since there were no findings to prove.","treeHash":null,"usage":{"cachedInputTokens":186768,"inputTokens":12,"model":"claude-opus-5-5","outputTokens":3097,"runtime":"claude","turns":6,"wallClockMs":47364}},{"artifacts":[],"attempt":1,"bundleHash":"f47e7ad151f9c389ff983423fa49db3c737f82bd26fe7c474601ddc5f08bad5d","device":"2e343a06f770172d","findings":[],"hash":"f7882f40a1b8d9d9f53d7275dc8e653dc8d5e7eccf29e8d9ec12af0a10ab5d49","nodeId":"b25698ef-319e-4642-89e1-0f5768273de9","outcome":"completed","summary":"Implemented IMDwindowshopper (WWW) with 18 decimals and exactly 1,000,000,000 tokens minted once to the deployer. No admin or further minting powers.\n\nDependencies are vendored; deployment and operations are documented in README.md.\n\nPassed `forge build`, seeded `forge test`, and `forge fmt --check`: 26 unit/fuzz tests plus two stateful invariants. External launch/pool integration remains the verifier’s check.","treeHash":"5afdb6e6a16640215bcf8106bab5e8b7f23f92b5","usage":{"cachedInputTokens":350336,"inputTokens":55977,"model":"gpt-6-astra","outputTokens":13226,"runtime":"codex","turns":5,"wallClockMs":358987}},{"artifacts":[],"attempt":1,"bundleHash":"6c0789152d6e99fd47b1812bbbb14c8b366364a20bf14d2e0e10167c3720e34f","device":"3311c48cd0280ed4","findings":[],"hash":"ffbdff9fa3596cf2839aaf379c53fdc1fdb1ceac13d6652884f3cc7bd7019924","nodeId":"a3bff1d2-cec5-4a3a-b866-a416123dd08a","outcome":"completed","summary":"Added failure-path, boundary, and fuzz tests, and expanded stateful invariants.\n\n`forge build` and `forge test` pass offline with the supplied seed: **50 tests passed**, including **32,768 invariant calls**.\n\nOnly `test/` changed. No implementation defects were found.","treeHash":"a2f303b7e9c731bed44d7f431236abb1e02e75f0","usage":{"cachedInputTokens":815104,"inputTokens":69044,"model":"gpt-6-astra","outputTokens":14335,"runtime":"codex","turns":6,"wallClockMs":468397}}],"verification":[{"checks":[{"durationMs":1757,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.65s\nCompiler run successful!\n","passed":true},{"durationMs":3509,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 26 tests for test/IMDwindowshopper.t.sol:IMDwindowshopperTest\n[PASS] testFuzz_TransferConservesSupply(uint256) (runs: 512, μ: 92154, ~: 92335)\nLogs:\n  Bound result 11180\n\n[PASS] testFuzz_TransferFromConservesSupplyAndAllowance(uint256,uint256) (runs: 512, μ: 164604, ~: 167295)\nLogs:\n  Bound result 3130\n  Bound result 1530\n\n[PASS] testFuzz_TransferFromMoreThanAllowanceReverts(uint256,uint256) (runs: 512, μ: 125212, ~: 125837)\nLogs:\n  Bound result 759603355475419987139138775\n  Bound result 970918841010929770458766923\n\n[PASS] testFuzz_TransferMoreThanBalanceReverts(uint256,uint256) (runs: 512, μ: 127164, ~: 127560)\nLogs:\n  Bound result 1\n  Bound result 31863972462\n\n[PASS] test_ApprovalCannotBeUsedByAnotherSpender() (gas: 103661)\n[PASS] test_ApproveEmitsEventAndCanBeReplacedAndRevoked() (gas: 193433)\n[PASS] test_ApproveZeroSpenderReverts() (gas: 37551)\n[PASS] test_ConstructorEmitsMintEvent() (gas: 5578)\n[PASS] test_Create2MintsToImmediateFactoryInsteadOfTransactionOrigin() (gas: 301019)\n[PASS] test_DeployerCannotTakeBackHolderTokens() (gas: 158431)\n[PASS] test_DistributionAndClaimTransfersDeliverExactAmounts() (gas: 535828)\n[PASS] test_EntireSupplyCanMoveAndMoveBack() (gas: 149145)\n[PASS] test_FailedTransferFromRestoresAllowanceAndBalances() (gas: 189584)\n[PASS] test_InfiniteAllowanceIsNotDecremented() (gas: 129316)\n[PASS] test_MetadataAndInitialSupply() (gas: 107495)\n[PASS] test_NativeCurrencyIsRejected() (gas: 42619)\n[PASS] test_NoMintBurnFreezeOrUpgradeEntryPoints() (gas: 618562)\n[PASS] test_SelfTransferPreservesBalance() (gas: 51441)\n[PASS] test_TransferEmitsEventAndDeliversExactAmount() (gas: 91506)\n[PASS] test_TransferFromConsumesFiniteAllowanceAndEmitsTransfer() (gas: 242421)\n[PASS] test_TransferFromSelfStillRequiresAllowance() (gas: 42607)\n[PASS] test_TransferFromToSelfConsumesAllowanceWithoutChangingBalance() (gas: 105763)\n[PASS] test_TransferFromToZeroRevertsAndRestoresAllowance() (gas: 114605)\n[PASS] test_TransferToZeroRevertsEvenForZeroAmount() (gas: 71970)\n[PASS] test_ZeroTransferFromEmptyAccountEmitsEvent() (gas: 73355)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 68841)\nSuite result: ok. 26 passed; 0 failed; 0 skipped; finished in 31.64ms (122.14ms CPU time)\n\nRan 1 test for test/IMDwindowshopper.invariant.t.sol:IMDwindowshopperInvariantTest\n[PASS]\nIMDwindowshopperInvariantTest invariants:\n[PASS] invariant_AllowancesMatchModel\n[PASS] invariant_SupplyAndBalancesMatchModel\n IMDwindowshopperInvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭--------------+----------+-------+---------+----------╮\n| Contract     | Selector | Calls | Reverts | Discards |\n+======================================================+\n| TokenHandler | approve  | 2676  | 0       | 0        |\n|--------------+----------+-------+---------+----------|\n| TokenHandler | move     | 2769  | 0       | 0        |\n|--------------+----------+-------+---------+----------|\n| TokenHandler | spend    | 2747  | 0       | 0        |\n╰--------------+----------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 1123\n  Bound result 1000000000\n  Bound result 0\n  Bound result 0\n  Bound result 100000000000000000000\n  Bound result 0\n  Bound result 9\n  Bound result 0\n  Bound result 0\n  Bound result 5\n  Bound result 0\n  Bound result 0\n  Bound result 389053472466372867151479492\n  Bound result 0\n  Bound result 0\n  Bound result 5000000000000000000\n  Bound result 437\n  Bound result 0\n  Bound result 2\n  Bound result 317\n  Bound result 1000000000\n  Bound result 0\n  Bound result 1000000000000000000000000000\n  Bound result 5\n  Bound result 0\n  Bound result 1028097965161216225978\n  Bound result 7\n  Bound result 676267699854750557509273380\n  Bound result 0\n  Bound result 1\n  Bound result 4\n  Bound result 2\n  Bound result 5\n  Bound result 1576\n  Bound result 229\n  Bound result 661864719505683043334670576\n  Bound result 1253\n  Bound result 346\n  Bound result 5\n  Bound result 3037\n  Bound result 157198260\n  Bound result 0\n  Bound result 5\n  Bound result 0\n  Bound result 663\n  Bound result 0\n  Bound result 40000000000000000000\n  Bound result 299\n  Bound result 5521\n  Bound result 58\n  Bound result 1000000000\n  Bound result 68522667715259659202379853\n  Bound result 101140453917098502008059171\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.36s (3.36s CPU time)\n\nRan 2 test suites in 3.37s (3.40s CPU time): 27 tests passed, 0 failed, 0 skipped (27 total tests)\n","passed":true},{"durationMs":70,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"IMDwindowshopper.approve(address,uint256)\",\"IMDwindowshopper.transfer(address,uint256)\",\"IMDwindowshopper.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.md\":24,\"LICENSE\":21,\"README.md\":117,\"foundry.toml\":21,\"launch.json\":24,\"remappings.txt\":2,\"src/IMDwindowshopper.sol\":17,\"test/IMDwindowshopper.invariant.t.sol\":98,\"test/IMDwindowshopper.t.sol\":339},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"a339e72d5d9c3d567e69a43e2ddad00daf01a111d02da80d5859a98eb5df43b7","verifiedTreeHash":"972b2469e00cdcd9c46c2bc714b00e25281b2d9b","verifierVersion":"0.1.0+a6eb4461"},{"checks":[{"durationMs":1695,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.58s\nCompiler run successful!\n","passed":true},{"durationMs":3477,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 26 tests for test/IMDwindowshopper.t.sol:IMDwindowshopperTest\n[PASS] testFuzz_TransferConservesSupply(uint256) (runs: 512, μ: 92154, ~: 92335)\nLogs:\n  Bound result 749324671941653641822124365\n\n[PASS] testFuzz_TransferFromConservesSupplyAndAllowance(uint256,uint256) (runs: 512, μ: 164604, ~: 167295)\nLogs:\n  Bound result 957265638532575300493053893\n  Bound result 462802853103556848919953225\n\n[PASS] testFuzz_TransferFromMoreThanAllowanceReverts(uint256,uint256) (runs: 512, μ: 125212, ~: 125837)\nLogs:\n  Bound result 3130\n  Bound result 20316\n\n[PASS] testFuzz_TransferMoreThanBalanceReverts(uint256,uint256) (runs: 512, μ: 127164, ~: 127560)\nLogs:\n  Bound result 3130\n  Bound result 20316\n\n[PASS] test_ApprovalCannotBeUsedByAnotherSpender() (gas: 103661)\n[PASS] test_ApproveEmitsEventAndCanBeReplacedAndRevoked() (gas: 193433)\n[PASS] test_ApproveZeroSpenderReverts() (gas: 37551)\n[PASS] test_ConstructorEmitsMintEvent() (gas: 5578)\n[PASS] test_Create2MintsToImmediateFactoryInsteadOfTransactionOrigin() (gas: 301019)\n[PASS] test_DeployerCannotTakeBackHolderTokens() (gas: 158431)\n[PASS] test_DistributionAndClaimTransfersDeliverExactAmounts() (gas: 535828)\n[PASS] test_EntireSupplyCanMoveAndMoveBack() (gas: 149145)\n[PASS] test_FailedTransferFromRestoresAllowanceAndBalances() (gas: 189584)\n[PASS] test_InfiniteAllowanceIsNotDecremented() (gas: 129316)\n[PASS] test_MetadataAndInitialSupply() (gas: 107495)\n[PASS] test_NativeCurrencyIsRejected() (gas: 42619)\n[PASS] test_NoMintBurnFreezeOrUpgradeEntryPoints() (gas: 618562)\n[PASS] test_SelfTransferPreservesBalance() (gas: 51441)\n[PASS] test_TransferEmitsEventAndDeliversExactAmount() (gas: 91506)\n[PASS] test_TransferFromConsumesFiniteAllowanceAndEmitsTransfer() (gas: 242421)\n[PASS] test_TransferFromSelfStillRequiresAllowance() (gas: 42607)\n[PASS] test_TransferFromToSelfConsumesAllowanceWithoutChangingBalance() (gas: 105763)\n[PASS] test_TransferFromToZeroRevertsAndRestoresAllowance() (gas: 114605)\n[PASS] test_TransferToZeroRevertsEvenForZeroAmount() (gas: 71970)\n[PASS] test_ZeroTransferFromEmptyAccountEmitsEvent() (gas: 73355)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 68841)\nSuite result: ok. 26 passed; 0 failed; 0 skipped; finished in 32.54ms (146.46ms CPU time)\n\nRan 1 test for test/IMDwindowshopper.invariant.t.sol:IMDwindowshopperInvariantTest\n[PASS]\nIMDwindowshopperInvariantTest invariants:\n[PASS] invariant_AllowancesMatchModel\n[PASS] invariant_SupplyAndBalancesMatchModel\n IMDwindowshopperInvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭--------------+----------+-------+---------+----------╮\n| Contract     | Selector | Calls | Reverts | Discards |\n+======================================================+\n| TokenHandler | approve  | 2676  | 0       | 0        |\n|--------------+----------+-------+---------+----------|\n| TokenHandler | move     | 2769  | 0       | 0        |\n|--------------+----------+-------+---------+----------|\n| TokenHandler | spend    | 2747  | 0       | 0        |\n╰--------------+----------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 1123\n  Bound result 1000000000\n  Bound result 0\n  Bound result 0\n  Bound result 100000000000000000000\n  Bound result 0\n  Bound result 9\n  Bound result 0\n  Bound result 0\n  Bound result 5\n  Bound result 0\n  Bound result 0\n  Bound result 389053472466372867151479492\n  Bound result 0\n  Bound result 0\n  Bound result 5000000000000000000\n  Bound result 437\n  Bound result 0\n  Bound result 2\n  Bound result 317\n  Bound result 1000000000\n  Bound result 0\n  Bound result 1000000000000000000000000000\n  Bound result 5\n  Bound result 0\n  Bound result 1028097965161216225978\n  Bound result 7\n  Bound result 676267699854750557509273380\n  Bound result 0\n  Bound result 1\n  Bound result 4\n  Bound result 2\n  Bound result 5\n  Bound result 1576\n  Bound result 229\n  Bound result 661864719505683043334670576\n  Bound result 1253\n  Bound result 346\n  Bound result 5\n  Bound result 3037\n  Bound result 157198260\n  Bound result 0\n  Bound result 5\n  Bound result 0\n  Bound result 663\n  Bound result 0\n  Bound result 40000000000000000000\n  Bound result 299\n  Bound result 5521\n  Bound result 58\n  Bound result 1000000000\n  Bound result 68522667715259659202379853\n  Bound result 101140453917098502008059171\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.32s (3.31s CPU time)\n\nRan 2 test suites in 3.32s (3.35s CPU time): 27 tests passed, 0 failed, 0 skipped (27 total tests)\n","passed":true},{"durationMs":69,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"IMDwindowshopper.approve(address,uint256)\",\"IMDwindowshopper.transfer(address,uint256)\",\"IMDwindowshopper.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.md\":24,\"LICENSE\":21,\"README.md\":117,\"foundry.toml\":21,\"remappings.txt\":2,\"src/IMDwindowshopper.sol\":17,\"test/IMDwindowshopper.invariant.t.sol\":98,\"test/IMDwindowshopper.t.sol\":339},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":1218,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":624,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/IMDwindowshopper.sol:10: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"f7882f40a1b8d9d9f53d7275dc8e653dc8d5e7eccf29e8d9ec12af0a10ab5d49","verifiedTreeHash":"5afdb6e6a16640215bcf8106bab5e8b7f23f92b5","verifierVersion":"0.1.0+a6eb4461"},{"checks":[{"durationMs":2090,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.99s\nCompiler run successful!\n","passed":true},{"durationMs":13506,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 22 tests for test/IMDwindowshopper.edges.t.sol:IMDwindowshopperEdgeTest\n[PASS] testFuzz_AllowanceCannotBeBorrowedFromAnotherOwner(uint256) (runs: 1000, μ: 247813, ~: 247637)\nLogs:\n  Bound result 701057074605688100910929\n\n[PASS] testFuzz_ApprovalOverwriteIsIdempotentAndIsolated(uint256,uint256) (runs: 1000, μ: 444872, ~: 445419)\n[PASS] testFuzz_BalanceFailureRestoresFiniteAllowance(uint256,uint256) (runs: 1000, μ: 242035, ~: 242853)\nLogs:\n  Bound result 6000000000000000000\n  Bound result 6000000000000000003\n\n[PASS] testFuzz_FiniteAllowanceTracksCumulativeSpending(uint256,uint256,uint256) (runs: 1000, μ: 320421, ~: 323390)\nLogs:\n  Bound result 1814721172197358632199088257799006704432203696738\n  Bound result 217392323489361212850442797\n  Bound result 18481707920785485921054\n\n[PASS] testFuzz_RoundTripRestoresAlreadyFundedParticipants(uint256,uint256) (runs: 1000, μ: 299118, ~: 299783)\nLogs:\n  Bound result 6000000000000000000\n  Bound result 2\n\n[PASS] testFuzz_SelfTransfersPreserveBalanceButConsumeFiniteAllowance(uint256,bool) (runs: 1000, μ: 288925, ~: 289002)\nLogs:\n  Bound result 17595\n\n[PASS] testFuzz_SplitTransfersEqualOneTransfer(uint256,uint256) (runs: 1000, μ: 270897, ~: 272717)\nLogs:\n  Bound result 103145530117117\n  Bound result 14112736373430\n\n[PASS] testFuzz_ZeroReceiverFailurePreservesApproval(uint256,uint256,bool) (runs: 1000, μ: 180923, ~: 180911)\nLogs:\n  Bound result 4813\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129635131\n\n[PASS] test_AlmostMaximumApprovalIsFinite() (gas: 207677)\n[PASS] test_DelegatedSelfTransferStillRequiresSufficientBalance() (gas: 179849)\n[PASS] test_ExhaustedApprovalDoesNotReviveWhenTokensReturn() (gas: 291183)\n[PASS] test_InfiniteApprovalCanBeRevokedAndReplacedWithFiniteApproval() (gas: 406175)\n[PASS] test_MaximumTransferFromRevertsEvenWithInfiniteApproval() (gas: 178957)\n[PASS] test_MaximumTransferRevertsWithBalanceError() (gas: 112639)\n[PASS] test_OneWeiCanMoveAndReturnWithoutRounding() (gas: 196422)\n[PASS] test_SelfTransferStillRequiresSufficientBalance() (gas: 110581)\n[PASS] test_TransferFromZeroSourceCannotMintEvenForZeroAmount() (gas: 152240)\n[PASS] test_TransferToTokenContractDoesNotBurn() (gas: 96919)\n[PASS] test_UnfundedOwnerCanApproveThenSpendOnlyAfterReceivingTokens() (gas: 369557)\n[PASS] test_ZeroApprovalToZeroSpenderStillReverts() (gas: 120174)\n[PASS] test_ZeroDelegatedTransferToZeroStillReverts() (gas: 173672)\n[PASS] test_ZeroTransfersLeaveEveryApprovalModeUntouched() (gas: 675294)\nSuite result: ok. 22 passed; 0 failed; 0 skipped; finished in 231.93ms (1.83s CPU time)\n\nRan 26 tests for test/IMDwindowshopper.t.sol:IMDwindowshopperTest\n[PASS] testFuzz_TransferConservesSupply(uint256) (runs: 512, μ: 92111, ~: 92335)\nLogs:\n  Bound result 47175415823591308923622382\n\n[PASS] testFuzz_TransferFromConservesSupplyAndAllowance(uint256,uint256) (runs: 512, μ: 164526, ~: 167295)\nLogs:\n  Bound result 1\n  Bound result 0\n\n[PASS] testFuzz_TransferFromMoreThanAllowanceReverts(uint256,uint256) (runs: 512, μ: 125224, ~: 125837)\nLogs:\n  Bound result 759603355475419987139138775\n  Bound result 970918841010929770458766923\n\n[PASS] testFuzz_TransferMoreThanBalanceReverts(uint256,uint256) (runs: 512, μ: 127236, ~: 127596)\nLogs:\n  Bound result 209992378\n  Bound result 58501752886604311297775056155630107604609604472427441\n\n[PASS] test_ApprovalCannotBeUsedByAnotherSpender() (gas: 103661)\n[PASS] test_ApproveEmitsEventAndCanBeReplacedAndRevoked() (gas: 193433)\n[PASS] test_ApproveZeroSpenderReverts() (gas: 37551)\n[PASS] test_ConstructorEmitsMintEvent() (gas: 5578)\n[PASS] test_Create2MintsToImmediateFactoryInsteadOfTransactionOrigin() (gas: 301019)\n[PASS] test_DeployerCannotTakeBackHolderTokens() (gas: 158431)\n[PASS] test_DistributionAndClaimTransfersDeliverExactAmounts() (gas: 535828)\n[PASS] test_EntireSupplyCanMoveAndMoveBack() (gas: 149145)\n[PASS] test_FailedTransferFromRestoresAllowanceAndBalances() (gas: 189584)\n[PASS] test_InfiniteAllowanceIsNotDecremented() (gas: 129316)\n[PASS] test_MetadataAndInitialSupply() (gas: 107495)\n[PASS] test_NativeCurrencyIsRejected() (gas: 42619)\n[PASS] test_NoMintBurnFreezeOrUpgradeEntryPoints() (gas: 618562)\n[PASS] test_SelfTransferPreservesBalance() (gas: 51441)\n[PASS] test_TransferEmitsEventAndDeliversExactAmount() (gas: 91506)\n[PASS] test_TransferFromConsumesFiniteAllowanceAndEmitsTransfer() (gas: 242421)\n[PASS] test_TransferFromSelfStillRequiresAllowance() (gas: 42607)\n[PASS] test_TransferFromToSelfConsumesAllowanceWithoutChangingBalance() (gas: 105763)\n[PASS] test_TransferFromToZeroRevertsAndRestoresAllowance() (gas: 114605)\n[PASS] test_TransferToZeroRevertsEvenForZeroAmount() (gas: 71970)\n[PASS] test_ZeroTransferFromEmptyAccountEmitsEvent() (gas: 73355)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 68841)\nSuite result: ok. 26 passed; 0 failed; 0 skipped; finished in 231.92ms (756.42ms CPU time)\n\nRan 2 tests for test/IMDwindowshopper.invariant.t.sol:IMDwindowshopperInvariantTest\n[PASS]\nIMDwindowshopperInvariantTest invariants:\n[PASS] invariant_AllowancesMatchModel\n[PASS] invariant_MetadataRemainsFixed\n[PASS] invariant_SupplyAndBalancesMatchModel\n IMDwindowshopperInvariantTest invariants (runs: 256, calls: 32768, reverts: 0)\n\n╭--------------+-----------------------+-------+---------+----------╮\n| Contract     | Selector              | Calls | Reverts | Discards |\n+===================================================================+\n| TokenHandler | approve               | 3373  | 0       | 0        |\n|--------------+-----------------------+-------+---------+----------|\n| TokenHandler | move                  | 3236  | 0       | 0        |\n|--------------+-----------------------+-------+---------+----------|\n| TokenHandler | rejectOverspend       | 3256  | 0       | 0        |\n|--------------+-----------------------+-------+---------+----------|\n| TokenHandler | rejectUnapprovedSpend | 3377  | 0       | 0        |\n|--------------+-----------------------+-------+---------+----------|\n| TokenHandler | rejectUnfundedSpend   | 3285  | 0       | 0        |\n|--------------+-----------------------+-------+---------+----------|\n| TokenHandler | rejectZeroReceiver    | 3203  | 0       | 0        |\n|--------------+-----------------------+-------+---------+----------|\n| TokenHandler | rejectZeroSpender     | 3297  | 0       | 0        |\n|--------------+-----------------------+-------+---------+----------|\n| TokenHandler | revoke                | 3186  | 0       | 0        |\n|--------------+-----------------------+-------+---------+----------|\n| TokenHandler | roundTrip             | 3274  | 0       | 0        |\n|--------------+-----------------------+-------+---------+----------|\n| TokenHandler | spend                 | 3281  | 0       | 0        |\n╰--------------+-----------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 250000000000000000000000000\n  Bound result 250000000000000000000000000\n  Bound result 250000000000000000000000000\n  Bound result 250000000000000000000000000\n  Bound result 250000000000000000000000000\n  Bound result 250000000000000000000000003\n  Bound result 115792089237316195423570985008687907853269984665640314039458584007913129639934\n  Bound result 4\n  Bound result 718\n  Bound result 115792089237316195423570985008687907853269984665640314039463584007913129639935\n  Bound result 230532512705450649239396457\n  Bound result 3915\n  Bound result 0\n  Bound result 1620\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129639939\n  Bound result 212826984025755908669726766\n  Bound result 115792089237316195423570985008687907853269984665640314039462584007913129639935\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129648548\n  Bound result 1\n  Bound result 249999999999999999999999997\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129639944\n  Bound result 438304459\n  Bound result 1\n  Bound result 0\n  Bound result 250000000000000000438304456\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913130713717\n  Bound result 266453863729913382987648\n  Bound result 9866\n  Bound result 18\n  Bound result 0\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129650301\n  Bound result 115792089237316195423570985008687907853269984665640314039462584007913567944376\n  Bound result 661\n  Bound result 249999999999999999561695559\n  Bound result 8327\n  Bound result 0\n  Bound result 255\n  Bound result 0\n  Bound result 432\n  Bound result 591\n  Bound result 0\n  Bound result 50\n  Bound result 18352139388713593797\n  Bound result 0\n  Bound result 111853326513945652047862834324137352739\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640314039517584007912691335476\n  Bound result 0\n  Bound result 4445\n  Bound result 255\n  Bound result 2\n  Bound result 8\n  Bound result 6000000000000000000\n  Bound result 255\n  Bound result 115792089237316195423570985008687907853269984665640564039451584007913129644755\n  Bound result 1000000000000000000\n  Bound result 5507\n  Bound result 115792089237316195423570985008687907853269984665640564039450677609622511099909\n  Bound result 115792089237316195423570985008687907853269984665640314039464584007912691345964\n  Bound result 1\n  Bound result 8675\n  Bound result 115792089237316195423570985008687907853269984665640564039451584007913129635489\n  Bound result 115792089237316195423570985008687907853269984665640564039450584007913129643101\n  Bound result 1253\n  Bound result 8746\n  Bound result 310818035384937788801601\n  Bound result 90\n  Bound result 7\n  Bound result 115792089237316195423570985008687907853269984665640314039464584007912691354415\n  Bound result 236\n  Bound result 42000000000000000000\n  Bound result 4050\n  Bound result 5\n  Bound result 10\n  Bound result 3\n  Bound result 0\n  Bound result 876619456\n  Bound result 18\n  Bound result 202647142074245349451106692\n  Bound result 42000000000000000000\n  Bound result 100000000000000000000\n  Bound result 1417044339198170517\n  Bound result 40000000000000000000\n  Bound result 1761649583\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639934\n  Bound result 115792089237316195423570985008687907853269984665640564039412001052251451185915\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639934\n  Bound result 8489\n  Bound result 1836\n  Bound result 460516924109455550329637642\n  Bound result 249999999999999999999999999\n  Bound result 459045007913164677426910017\n  Bound result 514019730425857272982025875371779221075313853617388598732400005\n  Bound result 9800\n  Bound result 249999993000000000438294431\n  Bound result 250000000000000000000005578\n  Bound result 40954953503879660456331315\n  Bound result 1000000000000000000000000000\n\n[PASS] test_HandlerBoundarySequence() (gas: 2560744)\nLogs:\n  Bound result 250000000000000000000000000\n  Bound result 250000000000000000000000000\n  Bound result 250000000000000000000000000\n  Bound result 250000000000000000000000000\n  Bound result 250000000000000000000000000\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639934\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639934\n  Bound result 0\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639934\n  Bound result 1\n  Bound result 1\n  Bound result 250000000000000000000000001\n  Bound result 250000000000000000000000000\n  Bound result 250000000000000000000000000\n  Bound result 1000000000000000000000000000\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 13.36s (13.37s CPU time)\n\nRan 3 test suites in 13.36s (13.82s CPU time): 50 tests passed, 0 failed, 0 skipped (50 total tests)\n","passed":true},{"durationMs":68,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"IMDwindowshopper.approve(address,uint256)\",\"IMDwindowshopper.transfer(address,uint256)\",\"IMDwindowshopper.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.md\":24,\"LICENSE\":21,\"README.md\":117,\"foundry.toml\":21,\"remappings.txt\":2,\"src/IMDwindowshopper.sol\":17,\"test/IMDwindowshopper.edges.t.sol\":314,\"test/IMDwindowshopper.invariant.t.sol\":259,\"test/IMDwindowshopper.t.sol\":339,\"test/README.md\":55},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"ffbdff9fa3596cf2839aaf379c53fdc1fdb1ceac13d6652884f3cc7bd7019924","verifiedTreeHash":"a2f303b7e9c731bed44d7f431236abb1e02e75f0","verifierVersion":"0.1.0+a6eb4461"}]}