{"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":"1a05727e-1ca1-4805-9dea-fb873eaf75c2","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"5c2125e10d92a8fef5553aa4124497d07c44f8a5a23e3aeac4e127b8ab699bae","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":"ef54cb031cf4b9a5c1dcfe768b5766b2e29799ea2366867845e195f30ace1651","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":"d9f7f05e76ee592ab21388e4f908ce94db6142d9120df8eda5a901f0f8fef5c3","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":"0a50bd4d331e9f3bba7cc919f1227c87efcb62a87c514518ac5e6656b41d716d","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":"a0be447d666b7c7fca0df240fde8fe9cd76a973e667bb590fd61d277c5568444","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":"459614432bf7c315da9d270067c55e4175027752cab601d4c0c3a973219f19ce","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":"a240091b2cb2052ff2c955fd9912c4eba8d1ea29df06244ad1fb6d2b2b0adb22","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"09a0bb29efabb6e0a25ce3b76edd234fe89c3bebc4d3f5a2c9087c91fef4064a","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: Robobet (ROBOBET).\nToken name: Robobet\nToken symbol: ROBOBET\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.","parentJobId":null,"planHash":"6a7bc5858b5026aa7d53c49f3c2a8e8443e934749083ef3d8f8a2e1e7f60a1a8","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"1a05727e-1ca1-4805-9dea-fb873eaf75c2","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2042-robobet"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"52617","feedbackHash":"85eb48df8327e379b8aa2e2e74c8213ed311fad8c19fd3165c0a6810adafde98","nodeKey":"audit_economics","submissionHash":"5c2125e10d92a8fef5553aa4124497d07c44f8a5a23e3aeac4e127b8ab699bae","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51429","feedbackHash":"05d4d1ad12312a77ace3c1d172178f1f66109545444f9161357fb51224a547ae","nodeKey":"audit_flow","submissionHash":"ef54cb031cf4b9a5c1dcfe768b5766b2e29799ea2366867845e195f30ace1651","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51064","feedbackHash":"7d2f21f4a47993ca732536ab3041c017e4cb98a6afd81436d5262100fe690a36","nodeKey":"audit_judge","submissionHash":"d9f7f05e76ee592ab21388e4f908ce94db6142d9120df8eda5a901f0f8fef5c3","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52600","feedbackHash":"58ac83578dd9340a40e02437ebf98acd8c4a8d7271c0076592163504a49f5268","nodeKey":"audit_math","submissionHash":"0a50bd4d331e9f3bba7cc919f1227c87efcb62a87c514518ac5e6656b41d716d","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52606","feedbackHash":"aebdae6ca43137ff359246982fecf96b99ab93efc471657e3fb0f6f759337fed","nodeKey":"audit_permissions","submissionHash":"a0be447d666b7c7fca0df240fde8fe9cd76a973e667bb590fd61d277c5568444","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"50982","feedbackHash":"8b61aecbb7127b2af48b3441973fc0d24b7e34fceb4542b94648b92c83f2f25c","nodeKey":"build_contract_project","submissionHash":"459614432bf7c315da9d270067c55e4175027752cab601d4c0c3a973219f19ce","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"53944","feedbackHash":"8e2c1ce9b18c4ba1ea541f59a144a80d9e5893e0597f50e12ad6bbebce883393","nodeKey":"manifest","submissionHash":"a240091b2cb2052ff2c955fd9912c4eba8d1ea29df06244ad1fb6d2b2b0adb22","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52209","feedbackHash":"2ebaf7cd9e52140d9df6d424ce06e5606d5f62a078be1124c51e1a4c33769e9a","nodeKey":"write_foundry_tests","submissionHash":"09a0bb29efabb6e0a25ce3b76edd234fe89c3bebc4d3f5a2c9087c91fef4064a","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"2f731595b9b592a5f639349c1bb76b824296425f05994b37049365875555522a","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":"7b0308dd79b365f4f5faec39b16f352305f70368a37fb997bbe2a64bc01acb83","device":"4539d3d0693a7444","findings":[],"hash":"09a0bb29efabb6e0a25ce3b76edd234fe89c3bebc4d3f5a2c9087c91fef4064a","nodeId":"c5c86807-692d-44f2-88ad-a3054a2f1421","outcome":"completed","summary":"Added 15 tests covering failure paths, allowance boundaries, authorization isolation, and retries. Expanded invariant testing to eight actions across four holders.\n\nVerification passed with the supplied seed: **52 tests**, including **16,384 invariant calls**. `forge build` also passed.\n\nOnly `test/` files changed. No implementation defects found.","treeHash":"829175a70eb5b63b8ec91e2fb1e37320b67ec7da","usage":{"cachedInputTokens":629248,"inputTokens":64572,"model":"gpt-6-astra","outputTokens":12552,"runtime":"codex","turns":6,"wallClockMs":336939}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"fa4b91aed45c94fa","findings":[],"hash":"0a50bd4d331e9f3bba7cc919f1227c87efcb62a87c514518ac5e6656b41d716d","nodeId":"2ac7135a-bab1-4d63-9cfe-d5d0321708d0","outcome":"completed","summary":"The review is complete. The findings file is written with an empty findings list and a full coverage record, and the working tree is otherwise unchanged.\n\n**Result: no defects found in the Math Precision, Boundary or Numerical Gap area.**\n\nWhat I checked:\n\n- **The token is a plain OpenZeppelin v5.0.2 ERC-20.** It adds only a constant and a constructor mint. I downloaded the upstream v5.0.2 archive, confirmed its SHA-256 matches the provenance file, and diffed all five vendored Solidity files plus the license. All are byte-identical to upstream, so the inherited transfer and allowance arithmetic is the audited library code.\n- **Supply constant.** The aderyn large-numeric-literal lead is benign. The expression is a compile-time checked constant equal to exactly 1e27, which matches the README and the stated manifest supply, and decimals returns 18.\n- **Boundary probes.** A scratch Foundry suite of 12 tests, including a 1000-run conservation fuzz, exercised max-uint and supply-plus-one transfers, 1 wei after draining, zero and self transfers, infinite versus max-minus-one allowances, allowance one wei short, atomic rollback of the allowance when the balance check fails, and self transferFrom. Every case behaved as the ERC-20 standard and the README describe. The project's own 37 tests, including the 256-run invariant suite, also pass.\n- **Nothing exists for precision or seam bugs to live in.** There are no divisions, scaling, casts, fees, external calls, payable functions, receive or fallback, or bytes decoding. The only sentinel branches are the library's address(0) reverts.\n\nCoverage rows cover all three listed entry points as holds, plus the constructor, the supply invariant, the boundary enumeration, and launch-flow exactness. One limitation is recorded: the protected Token.protected.t.sol suite could not run locally because v4-core is not vendored in this tree, so launch-flow exactness rests on the project's harness test and the fact that transfers carry no tax or burn.","treeHash":null,"usage":{"cachedInputTokens":464419,"inputTokens":322,"model":"claude-fable-5-1","outputTokens":8154,"runtime":"claude","turns":17,"wallClockMs":149502}},{"artifacts":[],"attempt":1,"bundleHash":"bfafc89528d91260f634067e30c3889bba2ed8815dd7149312c3666941cb74fb","device":"a7313281793d3077","findings":[],"hash":"459614432bf7c315da9d270067c55e4175027752cab601d4c0c3a973219f19ce","nodeId":"1b4d7902-bcba-494e-bb9f-a5364edd5a02","outcome":"completed","summary":"Implemented [Robobet](src/Robobet.sol): 1 billion ROBOBET, 18 decimals, minted once entirely to the deployer.\n\nDependencies are vendored for offline builds. [README](README.md) documents deployment parameters, assumptions, and operational responsibilities.\n\nVerified: `forge build`, `forge fmt --check`, and all 37 tests pass using the supplied fuzz seed, including invariant checks.","treeHash":"5ac39987cfa9b594d177373ce6511776e2c641a4","usage":{"cachedInputTokens":276480,"inputTokens":51446,"model":"gpt-6-astra","outputTokens":13976,"runtime":"codex","turns":5,"wallClockMs":288864}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"76df9026b98e4277","findings":[],"hash":"5c2125e10d92a8fef5553aa4124497d07c44f8a5a23e3aeac4e127b8ab699bae","nodeId":"d8db9226-a52d-4f1d-82e2-bf11afae8eb0","outcome":"completed","summary":"I found no defects in the economics of Robobet (ROBOBET). `.imd-findings.json` has an empty findings list and a coverage row for each of the three entry points, plus five rows for the invariants I checked.\n\n**What the code is.** `src/Robobet.sol` is a plain OpenZeppelin v5 ERC20. Nothing in it is overridden, and its constructor takes no arguments and mints 1,000,000,000 × 10^18 tokens to `msg.sender`, which is the factory at launch. I read the vendored `ERC20.sol` and `Context.sol` and they behave as standard OpenZeppelin v5. I did not compare them line by line with the upstream release. There is no fee, burn, transfer hook, owner, role or pause.\n\n**Economic Security guide.**\n- **Token behaviour:** no fee on transfer, no rebasing, no blacklist, no pause. `transfer` and `transferFrom` return true or revert.\n- **Launch flows:** the factory's transfers to the distributor, the pool seed through the PoolManager, distributor claims and trader swaps all arrive exactly as stated.\n- **No way to extract value:** there are no price, oracle or fee formulas to manipulate.\n- **ERC-20:** behaves as the standard says, including the usual allowance-change race, which is part of the standard rather than a defect here.\n\n**Invariant guide.**\n- Total supply stays fixed: minting is only reachable from the constructor, and there is no external mint or burn.\n- The sum of balances always equals total supply.\n- Allowances only change when the holder approves or a spender uses them.\n- `decimals()` returns 18.\n\n**Flow Gap guide.** No seam is reachable. With no external calls, callbacks or hooks, nothing outside the token can change what a transfer does.\n\n**Leads I set aside.**\n- The aderyn \"large numeric literal\" note at `src/Robobet.sol:12` is about style only.\n- Tokens sent to the token contract's own address are stuck. That only harms the sender and is how a standard ERC-20 behaves, so it isn't reportable.\n\n**Tests.** `forge test` passed all 37 tests. That includes the existing invariant suite (256 runs at depth 64) and the launch-flow test that checks the transfers are exact. I did not run the protected launch test: it builds against floor contracts that aren't in this tree.\n\n**For the manifest step:** the constructor takes no arguments, so the manifest's `token.constructorArgs` should be `[]`.\n\nNo source files were changed. `.imd-findings.json` doesn't appear in `git status`, most likely because it is gitignored.","treeHash":null,"usage":{"cachedInputTokens":317389,"inputTokens":16,"model":"claude-opus-5-5","outputTokens":3824,"runtime":"claude","turns":8,"wallClockMs":51365}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"829d84438fb3fdc8","findings":[],"hash":"a0be447d666b7c7fca0df240fde8fe9cd76a973e667bb590fd61d277c5568444","nodeId":"151b5430-cbd3-4b6d-b4a3-08243a3c2d63","outcome":"completed","summary":"The review is complete. The findings file is in place with an empty findings list and eight coverage rows, and no source file was changed.\n\n**Result: no defects in the Access Control, Trust Gap or Asymmetry areas.** Robobet is an unmodified OpenZeppelin v5.0.2 ERC20 plus one constructor mint of 1e27 units to msg.sender. I verified this rather than assuming it: all five vendored library files hash byte-for-byte to the upstream v5.0.2 release, the compiled ABI exposes only the constructor, the three listed state-changing functions, views and events, and the existing 37-test suite passes with the README's seed.\n\n**What I checked in my area**\n\n- **Permission map.** There are no roles, modifiers, initializers, fallback, receive or proxy paths. The deployer holds only ordinary holder rights. A scratch test confirmed the creator contract cannot pull a holder's tokens without allowance, a third party cannot set another holder's allowance, unknown selectors and plain ether both revert, and the supply goes to the immediate creator rather than tx.origin.\n- **Inconsistent guards.** Balances are written only through the shared internal update path, reached by transfer and transferFrom with identical zero-address and balance checks. Allowances are written by approve on the caller's own row and decremented only by the spender's own row.\n- **Asymmetry.** The transfer and transferFrom pair and the approve and spend pair mirror correctly. The only differences are standard documented OZ v5 behaviour: no Approval event on transferFrom and the unlimited uint256.max allowance.\n- **Trust gap.** With no privileged actor and no in-contract economics, no access-by-economics or access-by-asymmetry seam is reachable.\n\n**Static analysis leads.** Slither reported nothing. Aderyn's large-numeric-literal line is the supply constant, which evaluates to exactly the stated 1e27 and is not a defect.\n\n**Coverage.** All three entry points are marked holds, plus five invariant rows covering the roleless model, fixed supply, library integrity, paired-function symmetry and the trust-gap seams. Nothing in my area was left unreached. Not covered: the protected launch harness tests that need the network's factory and pool environment, which the README also leaves to the verifier.","treeHash":null,"usage":{"cachedInputTokens":632803,"inputTokens":290,"model":"claude-fable-5-1","outputTokens":9586,"runtime":"claude","turns":24,"wallClockMs":142160}},{"artifacts":[],"attempt":1,"bundleHash":"81f0401e0bd9be9e692da788b71b93ba95feae5e3457743a672dd6e0d61f401f","device":"3d294003c7683307","findings":[],"hash":"a240091b2cb2052ff2c955fd9912c4eba8d1ea29df06244ad1fb6d2b2b0adb22","nodeId":"d176fe65-b664-465e-96e4-6a97900b4941","outcome":"completed","summary":"Created [launch.json](/home/seat/.identitymd/work/1a05727e-1ca1-4805-9dea-fb873eaf75c2/d176fe65-b664-465e-96e4-6a97900b4941/launch.json) matching Robobet’s constructor, supply, and required pool/economics values.\n\n`forge build` succeeded; all 37 tests passed with the supplied fuzz seed. Only `launch.json` is a submission change.","treeHash":"842d543ef426bedab6799a549a0a76251af5d7b9","usage":{"cachedInputTokens":218368,"inputTokens":24517,"model":"gpt-6-astra","outputTokens":2520,"runtime":"codex","turns":3,"wallClockMs":65361}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"63274cc86a9400de","findings":[],"hash":"d9f7f05e76ee592ab21388e4f908ce94db6142d9120df8eda5a901f0f8fef5c3","nodeId":"28464204-ef3d-4bc4-a0df-24cc1987464b","outcome":"completed","summary":"The review is complete and the findings file is written. No defects found.\n\n**Result: clean review, zero findings.** All four specialists and the independent tester reported nothing, and nothing reproduced on my own pass either.\n\n**What the token is.** `src/Robobet.sol` is a 17-line contract that inherits OpenZeppelin's ERC20 unchanged and mints one billion tokens with 18 decimals to the deployer in its constructor. It has no owner, no mint or burn path after construction, no hooks, no fees, and no fallback or receive.\n\n**What I verified.**\n- All 52 project tests pass, including the 256-run invariant suite with no handler reverts.\n- A scratch replay of the floor's protected checks passed: CREATE2 deployment from a probe credits the probe with the full supply, the 22 admin and privileged selectors the floor tries all revert from both an attacker and the deployer, the deployed runtime contains no DELEGATECALL, CALLCODE or SELFDESTRUCT, and plain or value-bearing calls with empty or unknown calldata revert. The real protected tests need the floor's v4-core and harness sources, which are not in this tree, so they could not be run here.\n- The five vendored OpenZeppelin files hash byte-for-byte to upstream v5.0.2.\n- The manifest matches the code: empty constructor arguments, supply of exactly 10^27 minor units, decimals 18, name and symbol as requested, contract identifier 7 characters.\n- Creation code and runtime are far below the 49,152 and 24,576 byte limits.\n- The single aderyn lead, a large numeric literal, is a compile-time constant with no runtime arithmetic and is not a defect.\n\n**Coverage.** All three entry points are recorded as `holds`, plus five invariant rows covering supply, deployability, forbidden opcodes and metadata, the static-analysis lead, and dependency integrity. The scratch directory was removed and the working tree is clean apart from `.imd-findings.json`.","treeHash":null,"usage":{"cachedInputTokens":671024,"inputTokens":450,"model":"claude-fable-5-1","outputTokens":8140,"runtime":"claude","turns":15,"wallClockMs":239366}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"3987a51ff810f3b9","findings":[],"hash":"ef54cb031cf4b9a5c1dcfe768b5766b2e29799ea2366867845e195f30ace1651","nodeId":"d669417b-aa8c-47ad-90d0-ed361aae80ca","outcome":"completed","summary":"The review is complete. No defects were substantiated, and the findings file is written with an empty list and nine coverage rows.\n\n**What I checked, in my area (Execution Trace, Periphery, First Principles)**\n\n- **Robobet.sol** is a 17-line fixed-supply token inheriting OpenZeppelin ERC20 with no overrides. The constructor is the only mint path and mints exactly 10^27 units to the immediate creator.\n- **Execution trace** of all three entry points: allowance is spent before the balance check, and a balance failure rolls the allowance write back. Finite allowances decrease exactly, the max sentinel is never decremented, zero spender and zero receiver revert, and max-value amounts revert cleanly with the supply unchanged. The deployer cannot pull a holder's tokens without an allowance.\n- **Periphery**: I fetched the pinned OpenZeppelin v5.0.2 archive. Its hash matches the provenance note, and all five vendored files are byte-identical to upstream. Context resolves the sender to plain msg.sender, with no forwarder.\n- **First principles / deployment**: the creation code deploys through CREATE2 with no appended constructor arguments and the creator holds the whole supply. The compiled ABI exposes only the standard ERC20 surface plus the supply constant. Runtime is 1752 bytes with no delegatecall, callcode or selfdestruct, and no receive or fallback.\n- **Launch flows**: no tax, burn, hook or exemption list, so the swarm share, claims and pool transfers move exactly what they say. The token does not need the factory or pool manager addresses as constructor arguments.\n- **Static leads**: Slither reported nothing. The aderyn numeric-literal note is a constant that evaluates to exactly 10^27 and matches the README and tests, so it is not a defect.\n\n**Verification run**\n\n- The project's build, 38 tests (unit, fuzz and invariant) and format check all pass.\n- A scratch test with six extra trace cases passed and was removed afterward. The working tree holds only the findings file.\n\n**Not covered**: the protected Uniswap v4 seed-and-swap harness cannot run here because it needs the network's launch environment variables and v4-core. Nothing in the token can tax or block the pool manager, so I expect it to pass, but that is inference rather than execution.","treeHash":null,"usage":{"cachedInputTokens":562604,"inputTokens":290,"model":"claude-fable-5-1","outputTokens":10881,"runtime":"claude","turns":20,"wallClockMs":181212}}],"verification":[{"checks":[{"durationMs":1578,"exitCode":0,"name":"build","output":"Compiling 30 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.50s\nCompiler run successful!\n","passed":true},{"durationMs":3984,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 4 tests for test/RobobetLaunch.t.sol:RobobetLaunchTest\n[PASS] test_factoryDeploymentReceivesEntireSupply() (gas: 304882)\n[PASS] test_launchDistributionClaimsAndPoolTransfersAreExact() (gas: 644819)\n[PASS] test_noMintBurnOrAdministrativeEntryPoints() (gas: 4916591)\n[PASS] test_runtimeFitsDeploymentLimitAndHasNoForbiddenOpcodes() (gas: 2259412)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 29.93ms (11.07ms CPU time)\n\nRan 15 tests for test/RobobetAllowance.t.sol:RobobetAllowanceTest\n[PASS] testFuzz_failedTransferCanBeRetriedAfterFunding(uint256,uint256,uint256) (runs: 1000, μ: 354488, ~: 355253)\nLogs:\n  Bound result 1598074346385044091161\n  Bound result 699455667131886059258425746\n  Bound result 4375394039217981396945556571757725047\n\n[PASS] testFuzz_reducingAllowanceAfterPartialSpendEnforcesNewLimit(uint256,uint256,uint256) (runs: 1000, μ: 318806, ~: 320532)\nLogs:\n  Bound result 255\n  Bound result 129\n  Bound result 18\n\n[PASS] testFuzz_repeatingApprovalIsIdempotentAndEmitsAnEvent(uint256) (runs: 1000, μ: 142035, ~: 142187)\n[PASS] testFuzz_transferRoundTripPreservesBalancesAndAllowances(uint256,uint256,uint256) (runs: 1000, μ: 341396, ~: 342002)\nLogs:\n  Bound result 21\n\n[PASS] testFuzz_twoSpendersCannotOverdrawTheSameBalance(uint256,uint256) (runs: 1000, μ: 346078, ~: 346654)\nLogs:\n  Bound result 991653056672784057015523771\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639935\n\n[PASS] testFuzz_zeroRecipientFailurePreservesFiniteAllowanceForRetry(uint256,uint256) (runs: 1000, μ: 227366, ~: 229764)\nLogs:\n  Bound result 3506785155498\n  Bound result 535538292712\n\n[PASS] test_approvalCannotBePassedOnToAnotherSpender() (gas: 193792)\n[PASS] test_contractSpenderNeedsItsOwnApprovalRegardlessOfTransactionOrigin() (gas: 441156)\n[PASS] test_infiniteAllowanceCanBeReducedThenRevoked() (gas: 310484)\n[PASS] test_infiniteAllowanceDoesNotBypassBalanceChecks() (gas: 134260)\n[PASS] test_largestFiniteAllowanceDecreasesByOne() (gas: 158206)\n[PASS] test_maximumDirectTransferRevertsWithoutMovingBalance() (gas: 65346)\n[PASS] test_ownerCanUseTransferFromAfterSelfApproval() (gas: 139842)\n[PASS] test_sameSpenderHasIndependentAllowancesForDifferentOwners() (gas: 453999)\n[PASS] test_zeroValueCallsStillRejectZeroSpenderAndReceiver() (gas: 157180)\nSuite result: ok. 15 passed; 0 failed; 0 skipped; finished in 96.01ms (563.47ms CPU time)\n\nRan 32 tests for test/Robobet.t.sol:RobobetTest\n[PASS] testFuzz_transferAboveBalanceAlwaysReverts(uint256) (runs: 1000, μ: 58809, ~: 59139)\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129646585\n\n[PASS] testFuzz_transferConservesSupply(address,uint256) (runs: 1000, μ: 93116, ~: 93232)\nLogs:\n  Bound result 567470155350559728487045311\n\n[PASS] testFuzz_transferFromPreservesBalanceAndAllowanceAccounting(uint256,uint256) (runs: 1000, μ: 163218, ~: 165340)\nLogs:\n  Bound result 553\n  Bound result 192\n\n[PASS] testFuzz_unapprovedCallerCannotTransfer(address,uint256) (runs: 1000, μ: 112522, ~: 112237)\nLogs:\n  Bound result 19\n\n[PASS] test_approveAboveBalanceIsAllowed() (gas: 78638)\n[PASS] test_approveEmitsEventAndDoesNotMoveTokens() (gas: 88722)\n[PASS] test_approveReplacesAndRevokesAllowance() (gas: 167445)\n[PASS] test_approveZeroSpenderReverts() (gas: 37618)\n[PASS] test_constructorEmitsMintTransfer() (gas: 5536)\n[PASS] test_constructorMintsToImmediateDeployer() (gas: 32759)\n[PASS] test_deployerCannotSpendAnotherHoldersTokensWithoutApproval() (gas: 95412)\n[PASS] test_metadataAndInitialSupply() (gas: 107480)\n[PASS] test_nativeCurrencyIsRejected() (gas: 42618)\n[PASS] test_selfTransferPreservesBalance() (gas: 51432)\n[PASS] test_selfTransferStillRequiresBalance() (gas: 35842)\n[PASS] test_transferAboveBalanceRevertsWithoutChangingState() (gas: 65270)\n[PASS] test_transferDoesNotCallRecipient() (gas: 173827)\n[PASS] test_transferEntireSupply() (gas: 75763)\n[PASS] test_transferFromCanExhaustAllowance() (gas: 162169)\n[PASS] test_transferFromInfiniteAllowanceIsNotDecreased() (gas: 207479)\n[PASS] test_transferFromInsufficientAllowanceRevertsAtomically() (gas: 116159)\n[PASS] test_transferFromInsufficientBalanceRestoresSpentAllowance() (gas: 122060)\n[PASS] test_transferFromRequiresApprovalEvenWhenCallerOwnsTokens() (gas: 35683)\n[PASS] test_transferFromSpendsOnlyCallersAllowance() (gas: 225156)\n[PASS] test_transferFromToSelfConsumesAllowanceWithoutMovingBalance() (gas: 105818)\n[PASS] test_transferFromZeroRecipientRestoresSpentAllowance() (gas: 104165)\n[PASS] test_transferFromZeroSenderRevertsEvenForZeroAmount() (gas: 37815)\n[PASS] test_transferMovesExactFractionalAmountAndEmitsEvent() (gas: 91574)\n[PASS] test_transferToZeroReverts() (gas: 47663)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 63102)\n[PASS] test_zeroTransferFromWithoutApprovalSucceeds() (gas: 56261)\n[PASS] test_zeroTransferToZeroReverts() (gas: 30457)\nSuite result: ok. 32 passed; 0 failed; 0 skipped; finished in 96.04ms (377.67ms CPU time)\n\nRan 1 test for test/RobobetInvariant.t.sol:RobobetInvariantTest\n[PASS]\nRobobetInvariantTest invariants:\n[PASS] invariant_allowancesMatchHolderAuthorizations\n[PASS] invariant_supplyAndAllBalancesAreConserved\n RobobetInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭----------------+--------------------------+-------+---------+----------╮\n| Contract       | Selector                 | Calls | Reverts | Discards |\n+========================================================================+\n| RobobetHandler | approve                  | 2065  | 0       | 0        |\n|----------------+--------------------------+-------+---------+----------|\n| RobobetHandler | approveBoundary          | 2018  | 0       | 0        |\n|----------------+--------------------------+-------+---------+----------|\n| RobobetHandler | rejectAllowanceOverspend | 2055  | 0       | 0        |\n|----------------+--------------------------+-------+---------+----------|\n| RobobetHandler | rejectDelegatedOverspend | 2030  | 0       | 0        |\n|----------------+--------------------------+-------+---------+----------|\n| RobobetHandler | rejectOverspend          | 2026  | 0       | 0        |\n|----------------+--------------------------+-------+---------+----------|\n| RobobetHandler | rejectZeroAddress        | 2086  | 0       | 0        |\n|----------------+--------------------------+-------+---------+----------|\n| RobobetHandler | transfer                 | 2090  | 0       | 0        |\n|----------------+--------------------------+-------+---------+----------|\n| RobobetHandler | transferFrom             | 2014  | 0       | 0        |\n╰----------------+--------------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 250000000000000000000000000\n  Bound result 250000000000000000000000000\n  Bound result 250000000000000000000000000\n  Bound result 1\n  Bound result 0\n  Bound result 22\n  Bound result 0\n  Bound result 404098524\n  Bound result 9747\n  Bound result 0\n  Bound result 100000000000000000000\n  Bound result 0\n  Bound result 3092\n  Bound result 4373\n  Bound result 3000000000000000000\n  Bound result 21\n  Bound result 3000000000000000000\n  Bound result 13\n  Bound result 0\n  Bound result 1\n  Bound result 5776\n  Bound result 2346\n  Bound result 2124\n  Bound result 6593\n  Bound result 2286331508928367\n  Bound result 173929343465246964943021887\n  Bound result 7\n  Bound result 10\n  Bound result 8\n  Bound result 0\n  Bound result 123000000000000000000\n  Bound result 12\n  Bound result 10\n  Bound result 8164\n  Bound result 69708839840161399329106416\n  Bound result 342\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.89s (3.89s CPU time)\n\nRan 4 test suites in 3.89s (4.11s CPU time): 52 tests passed, 0 failed, 0 skipped (52 total tests)\n","passed":true},{"durationMs":45,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Robobet.approve(address,uint256)\",\"Robobet.transfer(address,uint256)\",\"Robobet.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"README.md\":71,\"foundry.toml\":18,\"remappings.txt\":2,\"src/Robobet.sol\":17,\"test/Robobet.t.sol\":294,\"test/RobobetAllowance.t.sol\":298,\"test/RobobetInvariant.t.sol\":194,\"test/RobobetLaunch.t.sol\":124,\"test/helpers/RobobetTestBase.sol\":24},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"09a0bb29efabb6e0a25ce3b76edd234fe89c3bebc4d3f5a2c9087c91fef4064a","verifiedTreeHash":"829175a70eb5b63b8ec91e2fb1e37320b67ec7da","verifierVersion":"0.1.0+d952fceb"},{"checks":[{"durationMs":1272,"exitCode":0,"name":"build","output":"Compiling 29 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.20s\nCompiler run successful!\n","passed":true},{"durationMs":3822,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 4 tests for test/RobobetLaunch.t.sol:RobobetLaunchTest\n[PASS] test_factoryDeploymentReceivesEntireSupply() (gas: 304882)\n[PASS] test_launchDistributionClaimsAndPoolTransfersAreExact() (gas: 644819)\n[PASS] test_noMintBurnOrAdministrativeEntryPoints() (gas: 4916591)\n[PASS] test_runtimeFitsDeploymentLimitAndHasNoForbiddenOpcodes() (gas: 2259412)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 24.24ms (11.26ms CPU time)\n\nRan 32 tests for test/Robobet.t.sol:RobobetTest\n[PASS] testFuzz_transferAboveBalanceAlwaysReverts(uint256) (runs: 1000, μ: 58807, ~: 59139)\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129646585\n\n[PASS] testFuzz_transferConservesSupply(address,uint256) (runs: 1000, μ: 93138, ~: 93232)\nLogs:\n  Bound result 300748118596895014484931322\n\n[PASS] testFuzz_transferFromPreservesBalanceAndAllowanceAccounting(uint256,uint256) (runs: 1000, μ: 163211, ~: 165340)\nLogs:\n  Bound result 199691297384923465557832564\n  Bound result 186630991237090929514910054\n\n[PASS] testFuzz_unapprovedCallerCannotTransfer(address,uint256) (runs: 1000, μ: 112522, ~: 112237)\nLogs:\n  Bound result 827533981546379519062137703\n\n[PASS] test_approveAboveBalanceIsAllowed() (gas: 78638)\n[PASS] test_approveEmitsEventAndDoesNotMoveTokens() (gas: 88722)\n[PASS] test_approveReplacesAndRevokesAllowance() (gas: 167445)\n[PASS] test_approveZeroSpenderReverts() (gas: 37618)\n[PASS] test_constructorEmitsMintTransfer() (gas: 5536)\n[PASS] test_constructorMintsToImmediateDeployer() (gas: 32759)\n[PASS] test_deployerCannotSpendAnotherHoldersTokensWithoutApproval() (gas: 95412)\n[PASS] test_metadataAndInitialSupply() (gas: 107480)\n[PASS] test_nativeCurrencyIsRejected() (gas: 42618)\n[PASS] test_selfTransferPreservesBalance() (gas: 51432)\n[PASS] test_selfTransferStillRequiresBalance() (gas: 35842)\n[PASS] test_transferAboveBalanceRevertsWithoutChangingState() (gas: 65270)\n[PASS] test_transferDoesNotCallRecipient() (gas: 173827)\n[PASS] test_transferEntireSupply() (gas: 75763)\n[PASS] test_transferFromCanExhaustAllowance() (gas: 162169)\n[PASS] test_transferFromInfiniteAllowanceIsNotDecreased() (gas: 207479)\n[PASS] test_transferFromInsufficientAllowanceRevertsAtomically() (gas: 116159)\n[PASS] test_transferFromInsufficientBalanceRestoresSpentAllowance() (gas: 122060)\n[PASS] test_transferFromRequiresApprovalEvenWhenCallerOwnsTokens() (gas: 35683)\n[PASS] test_transferFromSpendsOnlyCallersAllowance() (gas: 225156)\n[PASS] test_transferFromToSelfConsumesAllowanceWithoutMovingBalance() (gas: 105818)\n[PASS] test_transferFromZeroRecipientRestoresSpentAllowance() (gas: 104165)\n[PASS] test_transferFromZeroSenderRevertsEvenForZeroAmount() (gas: 37815)\n[PASS] test_transferMovesExactFractionalAmountAndEmitsEvent() (gas: 91574)\n[PASS] test_transferToZeroReverts() (gas: 47663)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 63102)\n[PASS] test_zeroTransferFromWithoutApprovalSucceeds() (gas: 56261)\n[PASS] test_zeroTransferToZeroReverts() (gas: 30457)\nSuite result: ok. 32 passed; 0 failed; 0 skipped; finished in 31.26ms (107.83ms CPU time)\n\nRan 1 test for test/RobobetInvariant.t.sol:RobobetInvariantTest\n[PASS]\nRobobetInvariantTest invariants:\n[PASS] invariant_allowancesMatchHolderAuthorizations\n[PASS] invariant_supplyAndAllBalancesAreConserved\n RobobetInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭----------------+-----------------+-------+---------+----------╮\n| Contract       | Selector        | Calls | Reverts | Discards |\n+===============================================================+\n| RobobetHandler | approve         | 4035  | 0       | 0        |\n|----------------+-----------------+-------+---------+----------|\n| RobobetHandler | rejectOverspend | 4177  | 0       | 0        |\n|----------------+-----------------+-------+---------+----------|\n| RobobetHandler | transfer        | 4073  | 0       | 0        |\n|----------------+-----------------+-------+---------+----------|\n| RobobetHandler | transferFrom    | 4099  | 0       | 0        |\n╰----------------+-----------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 9\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 12000000000000000000\n  Bound result 0\n  Bound result 0\n  Bound result 999999999999999999999999988\n  Bound result 5169\n  Bound result 96\n  Bound result 120\n  Bound result 0\n  Bound result 87\n  Bound result 132\n  Bound result 40\n  Bound result 9\n  Bound result 7\n  Bound result 0\n  Bound result 4\n  Bound result 0\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.73s (3.73s CPU time)\n\nRan 3 test suites in 3.73s (3.78s CPU time): 37 tests passed, 0 failed, 0 skipped (37 total tests)\n","passed":true},{"durationMs":48,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Robobet.approve(address,uint256)\",\"Robobet.transfer(address,uint256)\",\"Robobet.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"README.md\":71,\"foundry.toml\":18,\"remappings.txt\":2,\"src/Robobet.sol\":17,\"test/Robobet.t.sol\":294,\"test/RobobetInvariant.t.sol\":109,\"test/RobobetLaunch.t.sol\":124,\"test/helpers/RobobetTestBase.sol\":24},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":428,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":243,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/Robobet.sol:12: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"459614432bf7c315da9d270067c55e4175027752cab601d4c0c3a973219f19ce","verifiedTreeHash":"5ac39987cfa9b594d177373ce6511776e2c641a4","verifierVersion":"0.1.0+d952fceb"},{"checks":[{"durationMs":1266,"exitCode":0,"name":"build","output":"Compiling 29 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.19s\nCompiler run successful!\n","passed":true},{"durationMs":3965,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 4 tests for test/RobobetLaunch.t.sol:RobobetLaunchTest\n[PASS] test_factoryDeploymentReceivesEntireSupply() (gas: 304882)\n[PASS] test_launchDistributionClaimsAndPoolTransfersAreExact() (gas: 644819)\n[PASS] test_noMintBurnOrAdministrativeEntryPoints() (gas: 4916591)\n[PASS] test_runtimeFitsDeploymentLimitAndHasNoForbiddenOpcodes() (gas: 2259412)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 27.11ms (10.69ms CPU time)\n\nRan 32 tests for test/Robobet.t.sol:RobobetTest\n[PASS] testFuzz_transferAboveBalanceAlwaysReverts(uint256) (runs: 1000, μ: 58807, ~: 59139)\nLogs:\n  Bound result 2451500136212597204413909196477897\n\n[PASS] testFuzz_transferConservesSupply(address,uint256) (runs: 1000, μ: 93138, ~: 93232)\nLogs:\n  Bound result 903780326844796997043733008\n\n[PASS] testFuzz_transferFromPreservesBalanceAndAllowanceAccounting(uint256,uint256) (runs: 1000, μ: 163211, ~: 165340)\nLogs:\n  Bound result 15096973424091173474943483\n  Bound result 8974975713690876615851728\n\n[PASS] testFuzz_unapprovedCallerCannotTransfer(address,uint256) (runs: 1000, μ: 112522, ~: 112237)\nLogs:\n  Bound result 827533981546379519062137703\n\n[PASS] test_approveAboveBalanceIsAllowed() (gas: 78638)\n[PASS] test_approveEmitsEventAndDoesNotMoveTokens() (gas: 88722)\n[PASS] test_approveReplacesAndRevokesAllowance() (gas: 167445)\n[PASS] test_approveZeroSpenderReverts() (gas: 37618)\n[PASS] test_constructorEmitsMintTransfer() (gas: 5536)\n[PASS] test_constructorMintsToImmediateDeployer() (gas: 32759)\n[PASS] test_deployerCannotSpendAnotherHoldersTokensWithoutApproval() (gas: 95412)\n[PASS] test_metadataAndInitialSupply() (gas: 107480)\n[PASS] test_nativeCurrencyIsRejected() (gas: 42618)\n[PASS] test_selfTransferPreservesBalance() (gas: 51432)\n[PASS] test_selfTransferStillRequiresBalance() (gas: 35842)\n[PASS] test_transferAboveBalanceRevertsWithoutChangingState() (gas: 65270)\n[PASS] test_transferDoesNotCallRecipient() (gas: 173827)\n[PASS] test_transferEntireSupply() (gas: 75763)\n[PASS] test_transferFromCanExhaustAllowance() (gas: 162169)\n[PASS] test_transferFromInfiniteAllowanceIsNotDecreased() (gas: 207479)\n[PASS] test_transferFromInsufficientAllowanceRevertsAtomically() (gas: 116159)\n[PASS] test_transferFromInsufficientBalanceRestoresSpentAllowance() (gas: 122060)\n[PASS] test_transferFromRequiresApprovalEvenWhenCallerOwnsTokens() (gas: 35683)\n[PASS] test_transferFromSpendsOnlyCallersAllowance() (gas: 225156)\n[PASS] test_transferFromToSelfConsumesAllowanceWithoutMovingBalance() (gas: 105818)\n[PASS] test_transferFromZeroRecipientRestoresSpentAllowance() (gas: 104165)\n[PASS] test_transferFromZeroSenderRevertsEvenForZeroAmount() (gas: 37815)\n[PASS] test_transferMovesExactFractionalAmountAndEmitsEvent() (gas: 91574)\n[PASS] test_transferToZeroReverts() (gas: 47663)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 63102)\n[PASS] test_zeroTransferFromWithoutApprovalSucceeds() (gas: 56261)\n[PASS] test_zeroTransferToZeroReverts() (gas: 30457)\nSuite result: ok. 32 passed; 0 failed; 0 skipped; finished in 34.89ms (110.76ms CPU time)\n\nRan 1 test for test/RobobetInvariant.t.sol:RobobetInvariantTest\n[PASS]\nRobobetInvariantTest invariants:\n[PASS] invariant_allowancesMatchHolderAuthorizations\n[PASS] invariant_supplyAndAllBalancesAreConserved\n RobobetInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭----------------+-----------------+-------+---------+----------╮\n| Contract       | Selector        | Calls | Reverts | Discards |\n+===============================================================+\n| RobobetHandler | approve         | 4035  | 0       | 0        |\n|----------------+-----------------+-------+---------+----------|\n| RobobetHandler | rejectOverspend | 4177  | 0       | 0        |\n|----------------+-----------------+-------+---------+----------|\n| RobobetHandler | transfer        | 4073  | 0       | 0        |\n|----------------+-----------------+-------+---------+----------|\n| RobobetHandler | transferFrom    | 4099  | 0       | 0        |\n╰----------------+-----------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 9\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 12000000000000000000\n  Bound result 0\n  Bound result 0\n  Bound result 999999999999999999999999988\n  Bound result 5169\n  Bound result 96\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 9\n  Bound result 975559445241234766795095015\n  Bound result 0\n  Bound result 8\n  Bound result 0\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.88s (3.88s CPU time)\n\nRan 3 test suites in 3.88s (3.94s CPU time): 37 tests passed, 0 failed, 0 skipped (37 total tests)\n","passed":true},{"durationMs":36,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Robobet.approve(address,uint256)\",\"Robobet.transfer(address,uint256)\",\"Robobet.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"README.md\":71,\"foundry.toml\":18,\"launch.json\":24,\"remappings.txt\":2,\"src/Robobet.sol\":17,\"test/Robobet.t.sol\":294,\"test/RobobetInvariant.t.sol\":109,\"test/RobobetLaunch.t.sol\":124,\"test/helpers/RobobetTestBase.sol\":24},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"a240091b2cb2052ff2c955fd9912c4eba8d1ea29df06244ad1fb6d2b2b0adb22","verifiedTreeHash":"842d543ef426bedab6799a549a0a76251af5d7b9","verifierVersion":"0.1.0+d952fceb"}]}