{"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":"c79a7b64-df51-4cc7-b991-6357053f8a35","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"915eeb80ca207f6512155dc56b4c9d775da92f5eecef7e35c1a52a55e90c0e71","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":"d943519a64da1a0ca10465e5f1653437185feb5f11eeafb34e612f2c90d5b0be","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":"f55675708027426b7dfb55ff0b11cb1a765774f43b57006e7bde1be812eb77c9","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":"5f131e931e2770565e8474280a302dad87c0a536222ad51c7e3eedbfcec819b2","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":"d587925c3d4e592b964df6bd33fcf772b525c0a77cb33fea72ee14942688dc10","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":"7ef7e6522467c5e395fbc7c3a2bce3646d02620141a2ab75a60ece85e319e2b5","dependsOn":[],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"6e3e328aa196f6965a2821b098b101e9ff09eef55cdaafaec1d6ea18007b96f6","skillId":"build-contract-project","tools":[]},"key":"build_contract_project","kind":"code","role":"implement","skillHash":"6e3e328aa196f6965a2821b098b101e9ff09eef55cdaafaec1d6ea18007b96f6","skillId":"build-contract-project","state":"accepted"},{"acceptedSubmissionHash":"aebdeadffd322605ff219ed0abaf7b36b551902732ae562582767c759e49dec2","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"a4b4db2c437f437a7fa1fcb93e9dc5e0dc4660935a4aad4bde761a9c4fb95f9f","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"73431852439ad3a343f3d2b7db1c43cd363b9f48f9bb51497374a0cf6d50b223","skillId":"write-foundry-tests","tools":[]},"key":"write_foundry_tests","kind":"code","role":"tests","skillHash":"73431852439ad3a343f3d2b7db1c43cd363b9f48f9bb51497374a0cf6d50b223","skillId":"write-foundry-tests","state":"accepted"}],"objective":"A custom token: Tithe Demo (TDEMO).\nToken name: Tithe Demo\nToken symbol: TDEMO\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.","parentJobId":null,"planHash":"f70eeb072766e1c6b31e62c695f3f314d9bf9dd49ba3224606442bda837b626f","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"c79a7b64-df51-4cc7-b991-6357053f8a35","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-1268-tithe-demo"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"51291","feedbackHash":"b93d94937b04beced93162f4f6f43399cf5690943591095ab4bfad6707ef6b64","nodeKey":"audit_economics","submissionHash":"915eeb80ca207f6512155dc56b4c9d775da92f5eecef7e35c1a52a55e90c0e71","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"50995","feedbackHash":"2d9abbe4e43dcfb3380af3a1682f54ce22da8ca8b99a04535b0dfa4f5f58cbec","nodeKey":"audit_flow","submissionHash":"d943519a64da1a0ca10465e5f1653437185feb5f11eeafb34e612f2c90d5b0be","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52149","feedbackHash":"59e51ad77b9446514809c68db72d190820966cffc79b2c0f1ee12770f22140c2","nodeKey":"audit_judge","submissionHash":"f55675708027426b7dfb55ff0b11cb1a765774f43b57006e7bde1be812eb77c9","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52121","feedbackHash":"f4ef5d86743ed9c24462cb13282d490bf00b0fac17e7501262a3b2cce70e0e55","nodeKey":"audit_math","submissionHash":"5f131e931e2770565e8474280a302dad87c0a536222ad51c7e3eedbfcec819b2","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52114","feedbackHash":"21b26a255e6e03c51153614ac360a604d5dd0b75612568c390babd3fda15001c","nodeKey":"audit_permissions","submissionHash":"d587925c3d4e592b964df6bd33fcf772b525c0a77cb33fea72ee14942688dc10","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51434","feedbackHash":"843c5aaeb6cf587ec6d88f658404387858a01799ca589cf0c172eeceb3825960","nodeKey":"build_contract_project","submissionHash":"7ef7e6522467c5e395fbc7c3a2bce3646d02620141a2ab75a60ece85e319e2b5","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52371","feedbackHash":"a5d5b26acaf7d5d465f6d712f6b59a8f8fafae861d57a313ad7170426e15c389","nodeKey":"manifest","submissionHash":"aebdeadffd322605ff219ed0abaf7b36b551902732ae562582767c759e49dec2","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51311","feedbackHash":"5c2520a1f945c2adf918a4e79fccc308c8a72f50e24ab868be57cf591a51dd81","nodeKey":"write_foundry_tests","submissionHash":"a4b4db2c437f437a7fa1fcb93e9dc5e0dc4660935a4aad4bde761a9c4fb95f9f","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"37647218247934a9cf2bb6f8c0dd7dd95abc6772e23c1a90bf44c0cbf36a9ab2","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":null,"device":"bdd9b74dce66953d","findings":[],"hash":"5f131e931e2770565e8474280a302dad87c0a536222ad51c7e3eedbfcec819b2","nodeId":"59825466-0ca2-49d6-bad0-cdf1bc345c06","outcome":"completed","summary":"The review is complete. The findings file at the repository root holds an empty findings list and seven coverage rows, and no source, test, or configuration file was changed.\n\n**Result: no defects found in the Math Precision, Boundary, or Numerical Gap areas.** TDEMO at `src/TitheDemo.sol` is a sixteen-line wrapper over the vendored OpenZeppelin 5.0.2 ERC-20. Its only arithmetic is the supply constant, which is a compile-time expression equal to exactly 10^27. Every value-moving path is OpenZeppelin's unmodified transfer and allowance logic.\n\nWhat I checked against each guide:\n\n- **Math Precision.** No divisions, no fixed-point scales, no downcasts, no unchecked subtraction that is not preceded by a bound check. The supply fits comfortably under the 128-bit limits Uniswap v4 uses for amounts and liquidity.\n- **Boundary.** The token makes no external calls, has no payable, receive or fallback function, no sentinel-address branch, and decodes no bytes. The compiled ABI exposes exactly the three state-changing functions the verifier listed. Edge inputs probed: a transfer of the maximum uint256 reverts cleanly, a transfer of exactly the holder's balance succeeds and one wei more reverts, an allowance of max minus one is consumed while max is not, a full-balance self-transfer through transferFrom leaves the balance intact, and an allowance above balance binds on balance with the allowance preserved on revert.\n- **Numerical Gap.** The launch split of ten, eighty-eight and two percent of 10^27 produces no rounding dust and sums exactly to the supply, so the protected harness's \"arrives whole\" checks cannot be shorted by arithmetic. The supply and sum-of-balances invariants held across the project's invariant suite and my own round-trip fuzz.\n\nThe aderyn large-numeric-literal lead on line 11 is stylistic and carries no numerical defect. The vendored ERC-20 matches upstream 5.0.x content. Slither reported nothing.\n\nI substantiated the coverage rows with a temporary scratch test of ten cases that all passed and then removed it, so the working tree is as it was received.","treeHash":null,"usage":{"cachedInputTokens":515870,"inputTokens":226,"model":"claude-fable-5-1","outputTokens":10339,"runtime":"claude","turns":20,"wallClockMs":165221}},{"artifacts":[],"attempt":1,"bundleHash":"deb11bb919709fb1f7dbafce4c2c22857ddfb8f7138fd51e2cd4483786665bc9","device":"87f02002d6a2b915","findings":[],"hash":"7ef7e6522467c5e395fbc7c3a2bce3646d02620141a2ab75a60ece85e319e2b5","nodeId":"6d497b4a-84e7-4086-834f-d1fa459a6380","outcome":"completed","summary":"Implemented Tithe Demo (TDEMO): 1 billion tokens, 18 decimals, minted once entirely to the deployer.\n\nAdded vendored dependencies, success/failure tests, fuzz tests, stateful invariants, and deployment documentation.\n\nVerified with Solidity 0.8.26:\n\n- `forge build` passed\n- `forge test`: 32 passed\n- `forge fmt --check` passed\n- Clean-copy checks passed offline with an empty environment","treeHash":"bb59be991ece5e10fb6a9a4a53477984424825a5","usage":{"cachedInputTokens":434688,"inputTokens":63648,"model":"gpt-6-astra","outputTokens":14451,"runtime":"codex","turns":5,"wallClockMs":274946}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"bd7adba3a8045853","findings":[],"hash":"915eeb80ca207f6512155dc56b4c9d775da92f5eecef7e35c1a52a55e90c0e71","nodeId":"86b20a0b-f0a9-4528-a0b9-d179a37a4b24","outcome":"completed","summary":"The review is complete. No defects were found in the economics, invariants or launch flows of TitheDemo, and `.imd-findings.json` holds an empty findings list with nine coverage rows.\n\n**What I checked**\n\n- **Source and dependencies.** `src/TitheDemo.sol` is a 16-line wrapper over OpenZeppelin ERC20 that mints a constant to the constructor caller. I diffed all five vendored OpenZeppelin files against upstream v5.0.2 and they are byte-identical.\n- **Economic Security guide.** The token has no external calls, oracles, callbacks, fees, rebasing or exemption lists. Transfers and approvals to the zero address revert instead of silently succeeding. The ABI exposes only approve, transfer and transferFrom as state changers, with no owner, pause, blacklist, proxy, delegatecall or selfdestruct.\n- **Invariant guide.** Sum of balances equals total supply and the supply cannot grow after construction. Mint, burn and internal-update selectors revert from the factory, the deployer and a stranger. The existing suite's 256 invariant sequences and my own fuzz probe conserve the sum.\n- **Flow Gap guide.** A CREATE2 factory deployment leaves the whole supply with the factory and nothing with its caller. The 10/88/2 split of the supply has no rounding residue, claims from the distributor arrive whole down to the last wei, and a trader round trip through pool custody using transfer and transferFrom is exact. The constructor takes no arguments, so a manifest with empty constructor arguments is consistent.\n- **Static leads.** The aderyn large-literal note resolves to a compile-time constant equal to exactly 10^27. Slither reported nothing.\n\n**Verification.** The project's 32 tests pass, formatting is clean, and my temporary probe of five economic tests under test/scratch passed and was removed afterwards. The working tree is unchanged apart from the findings file.\n\n**Not reached.** Pool pricing, the sqrtPriceX96 derivation and the real Uniswap v4 seed are owned by the launch system and are not exercised by this repository, so they are covered only by the separate protected harness.","treeHash":null,"usage":{"cachedInputTokens":729974,"inputTokens":322,"model":"claude-fable-5-1","outputTokens":11995,"runtime":"claude","turns":26,"wallClockMs":182648}},{"artifacts":[],"attempt":1,"bundleHash":"15b834da4ff0f5523b7f06e0885da651aae5d1c81ecdc8a31209546af39c8953","device":"273e2f46918e7b5e","findings":[],"hash":"a4b4db2c437f437a7fa1fcb93e9dc5e0dc4660935a4aad4bde761a9c4fb95f9f","nodeId":"23a99e04-6a35-45a8-862e-ccdc43937eab","outcome":"completed","summary":"Added 18 tests and strengthened four invariants covering failure paths, exact balances, and allowances.\n\n`forge build` and `forge test` pass: 10,000 fuzz cases and 32,768 stateful calls. Only `test/` changed. No implementation defects found.\n\nProtected launch integration requires platform contracts and inputs absent locally.","treeHash":"c287260000ebaddd706f4642979d5223f8f5987c","usage":{"cachedInputTokens":922496,"inputTokens":84824,"model":"gpt-6-astra","outputTokens":15905,"runtime":"codex","turns":5,"wallClockMs":341843}},{"artifacts":[],"attempt":1,"bundleHash":"9fb5e109a9b65ff1d7f6297e5dfabfe72c9e505c176c1a75f3d343f7ef594f43","device":"c69899cad79c228f","findings":[],"hash":"aebdeadffd322605ff219ed0abaf7b36b551902732ae562582767c759e49dec2","nodeId":"a588dc6d-c5a1-46d8-87d1-0919f50cf6dc","outcome":"completed","summary":"Created `launch.json` matching `TitheDemo`’s parameterless constructor, exact supply, and required pool and economics values.\n\nManifest checks and `forge build` passed. `forge test` passed all 32 tests. Only `launch.json` is changed for submission.","treeHash":"e31ecfb297d584032224519ce16785e8dfc62c8c","usage":{"cachedInputTokens":158976,"inputTokens":33601,"model":"gpt-6-astra","outputTokens":1987,"runtime":"codex","turns":3,"wallClockMs":47555}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"918f8261a6fd589c","findings":[],"hash":"d587925c3d4e592b964df6bd33fcf772b525c0a77cb33fea72ee14942688dc10","nodeId":"4bac9979-55bc-4c2e-9227-55ea2df718c0","outcome":"completed","summary":"The findings file is in place at the repository root, excluded from git by the workspace's own exclude rule, and the tree is otherwise unchanged. The review is complete.\n\n**Result: no defects found in the assigned area.** The findings list is empty and the coverage record answers all three entry points as `holds`, plus six invariant rows.\n\n**What the token is.** TitheDemo in `src/TitheDemo.sol` is a 16-line contract that inherits OpenZeppelin ERC20 and mints the full supply to the constructor caller. It adds no functions, overrides, modifiers, roles, hooks or external calls.\n\n**What I verified for Access Control, Trust Gap and Asymmetry:**\n- The compiled ABI has exactly the nine standard ERC-20 selectors plus one constant getter. There is no receive, fallback, payable function, owner, initializer, mint, burn, pause, blacklist, proxy or delegatecall surface.\n- All five vendored OpenZeppelin files are byte-identical to upstream tag v5.0.2 by SHA-256, so the inherited logic is the audited library, not a modified copy. The sender resolution is plain `msg.sender` with no trusted forwarder.\n- Balances are written only through `_update`, reached by `transfer` (debits the caller only) and `transferFrom` (allowance-gated on the caller). The deployer or factory cannot move a holder's balance without approval. I confirmed this with scratch tests.\n- Allowances are written by `approve` (caller's own row only) and `_spendAllowance` (decrease only, caller as spender). The pair is symmetric in validation and slot. No weaker writer exists.\n- Supply is minted once to the constructor caller, which is the factory under the launch's CREATE2 path. Nothing can grow it afterwards. Launch flows to the distributor, pool and remainder move exact amounts because there is no fee or exemption logic at all.\n\n**Why the one reproducible behavior is not reported.** The ERC-20 approve front-running window is real and I reproduced it: a holder lowering an allowance from 10 to 5 can have 15 spent if the spender's transaction lands first. It is a property of the required ERC-20 interface, involves no privileged actor, and the README already documents the zero-then-set mitigation. It is recorded as a `holds` coverage row with the reproduction, not as a code defect.\n\n**Tooling run.** The build, the 32 existing unit, fuzz and invariant tests, and my scratch probes all passed. Slither and aderyn output supplied with the task contained nothing above a cosmetic literal-formatting note, which matched my reading. The scratch tests were removed after use.","treeHash":null,"usage":{"cachedInputTokens":643142,"inputTokens":258,"model":"claude-fable-5-1","outputTokens":12257,"runtime":"claude","turns":28,"wallClockMs":188841}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"b5e3297a04468fd3","findings":[],"hash":"d943519a64da1a0ca10465e5f1653437185feb5f11eeafb34e612f2c90d5b0be","nodeId":"b35dd45c-24ed-48cb-bc22-082337eef40b","outcome":"completed","summary":"The findings file is in place at the repository root, excluded from git by the harness as intended, and nothing in the tree was changed.\n\n**Outcome: no defects found.** The review covered the Execution Trace, Periphery and First Principles guides against the token, and every one of the three state-changing entry points holds.\n\n**What the token is.** `src/TitheDemo.sol` is sixteen lines: it inherits OpenZeppelin ERC20 and mints 10^27 units to the deployer in the constructor. It has no owner, no mint or burn path after construction, no hooks, no receive or fallback, and no constructor arguments.\n\n**What I verified.**\n- The five vendored OpenZeppelin files hash byte-for-byte to upstream v5.0.2, and they are ordinary files with no submodule.\n- Traced approve, transfer and transferFrom through the OZ internals: zero-address guards, balance and allowance checks, atomic revert with no partial allowance consumption, exact delivery with no fee or callback.\n- The compiled ABI exposes exactly ten methods, the three state-changing ones plus seven views. Unknown selectors and ETH revert. The runtime contains no DELEGATECALL, CALLCODE or SELFDESTRUCT.\n- The project suite passes: 32 tests including two stateful invariants over 256 runs. My scratch probes covered the launch flow shape (10% to distributor, 88% to pool custody, 2% remainder, claim, transfer and transferFrom through a pool-manager stand-in), self-transferFrom needing allowance, reentrant receivers, the approve overwrite race, infinite-allowance persistence, and a fuzz over arbitrary recipients. All passed and the scratch directory is removed.\n- Both static analysis leads were checked. Slither had none. Aderyn's large-literal note is the supply constant, which evaluates to exactly 10^27.\n\n**Trust notes, not defects.** The approve overwrite race and the undecremented max allowance are standard ERC-20 semantics, and the README documents both. Transfers from an account by itself via transferFrom need an allowance, which the README also states.\n\n**Not reached.** The protected harness's real Uniswap v4 seed and swap were not executed locally because v4-core is not vendored. The token has no transfer logic that could behave differently under the PoolManager, so I recorded this as a limitation in the coverage row rather than a gap in verdict.","treeHash":null,"usage":{"cachedInputTokens":1028143,"inputTokens":290,"model":"claude-fable-5-1","outputTokens":11824,"runtime":"claude","turns":27,"wallClockMs":172306}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"af1843f371022d4a","findings":[],"hash":"f55675708027426b7dfb55ff0b11cb1a765774f43b57006e7bde1be812eb77c9","nodeId":"da09b1f8-fd83-48d3-b21b-f18b73ea853f","outcome":"completed","summary":"The review is complete and the findings file is written with no defects.\n\n**Outcome.** The token at `src/TitheDemo.sol` is a 16-line wrapper over the vendored OpenZeppelin 5.0.2 ERC20 that mints 10^27 units to msg.sender in the constructor and adds nothing else. All four specialists and the test writer reported no findings, and my own pass confirmed that. The findings file holds an empty list and seven coverage rows, one for each of the three listed entry points plus four invariants I checked.\n\n**What I verified.**\n- Each entry point traces to unmodified OpenZeppelin code: approve replaces the allowance, transfer moves the exact amount or reverts, transferFrom spends allowance before moving. A scratch test deployed the token via CREATE2 from a factory contract and confirmed the 10% distributor flow arrives whole, allowance decrements correctly, and the deployer cannot move a holder's balance without allowance.\n- The five vendored OpenZeppelin files hash identically to the upstream v5.0.2 raw files. There are no git submodules. The build and all 50 project tests pass with solc 0.8.26 and no network.\n- The compiled runtime is 1,752 bytes, contains no DELEGATECALL, CALLCODE, SELFDESTRUCT or CALL-family opcodes, and exposes no payable or admin function.\n- The manifest uses only schema keys, names the contract by its Solidity identifier, has empty constructor arguments matching the parameterless constructor, and states the supply and decimals exactly as the constructor mints them.\n\n**Leads dropped.** The aderyn low-severity note about a large numeric literal is a style remark on the supply constant, whose value is correct, so it is not a defect. The scratch test directory was removed and the working tree is unchanged apart from the findings file.","treeHash":null,"usage":{"cachedInputTokens":406520,"inputTokens":226,"model":"claude-fable-5-1","outputTokens":6840,"runtime":"claude","turns":16,"wallClockMs":120101}}],"verification":[{"checks":[{"durationMs":1208,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.11s\nCompiler run successful!\n","passed":true},{"durationMs":1345,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 31 tests for test/TitheDemo.t.sol:TitheDemoTest\n[PASS] testFuzz_ExcessiveSpendRevertsWithoutMutation(uint256,uint256) (runs: 512, μ: 133426, ~: 133651)\nLogs:\n  Bound result 623411046247541331820917926\n  Bound result 382030902573560030147293322928232861802125654377067191053531\n\n[PASS] testFuzz_ExcessiveTransferRevertsWithoutMutation(uint256,uint256) (runs: 512, μ: 137681, ~: 138051)\nLogs:\n  Bound result 623411046247541331820917926\n  Bound result 382030902573560030147293322928232861802125654377067191053531\n\n[PASS] testFuzz_TransferConservesSupply(address,uint256) (runs: 512, μ: 93025, ~: 93243)\nLogs:\n  Bound result 220004573298963907351071219\n\n[PASS] testFuzz_TransferFromAccounting(uint256,uint256) (runs: 512, μ: 163012, ~: 165215)\nLogs:\n  Bound result 623411046247541331820917926\n  Bound result 338075260736394482585927051\n\n[PASS] test_ApprovalDoesNotRequireCurrentBalance() (gas: 78326)\n[PASS] test_ApproveReplacesAndRevokesAllowanceWithEvents() (gas: 160400)\n[PASS] test_ConstructorEmitsExactlyOneMint() (gas: 9630)\n[PASS] test_Create2MintsEverythingToFactory() (gas: 227703)\n[PASS] test_InfiniteAllowancePersistsAndCanBeRevoked() (gas: 189412)\n[PASS] test_LaunchDistributionAndSubsequentTransfersAreExact() (gas: 566562)\n[PASS] test_MetadataAndInitialSupply() (gas: 107650)\n[PASS] test_NoMintBurnOrAdministrativeEntrypoints() (gas: 1205867)\n[PASS] test_RevertWhenAllowanceIsInsufficient() (gas: 116174)\n[PASS] test_RevertWhenApproveZeroSpender() (gas: 37616)\n[PASS] test_RevertWhenBalanceIsInsufficientRestoresAllowance() (gas: 179251)\n[PASS] test_RevertWhenDeployerSpendsHolderFundsWithoutApproval() (gas: 95354)\n[PASS] test_RevertWhenDifferentSpenderUsesApproval() (gas: 105633)\n[PASS] test_RevertWhenTransferExceedsBalance() (gas: 67715)\n[PASS] test_RevertWhenTransferFromToZeroRestoresAllowance() (gas: 114650)\n[PASS] test_RevertWhenTransferFromZero() (gas: 52570)\n[PASS] test_RevertWhenTransferToZero() (gas: 58130)\n[PASS] test_RevertWhenZeroTransferToZero() (gas: 30390)\n[PASS] test_RuntimeIsDeployableAndContainsNoForbiddenOpcodes() (gas: 786656)\n[PASS] test_SelfTransferPreservesBalance() (gas: 51508)\n[PASS] test_TransferDeliversExactAmountAndEmitsEvent() (gas: 91537)\n[PASS] test_TransferEntireSupply() (gas: 161723)\n[PASS] test_TransferFromConsumesFiniteAllowanceAndEmitsTransfer() (gas: 242406)\n[PASS] test_TransferFromToSelfStillConsumesAllowance() (gas: 103675)\n[PASS] test_TransferToContractNeedsNoCallback() (gas: 171711)\n[PASS] test_ZeroTransferFromEmptyAccountEmitsEvent() (gas: 63100)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 78715)\nSuite result: ok. 31 passed; 0 failed; 0 skipped; finished in 15.80ms (69.23ms CPU time)\n\nRan 1 test for test/TitheDemo.invariant.t.sol:TitheDemoInvariantTest\n[PASS]\nTitheDemoInvariantTest invariants:\n[PASS] invariant_AllBalancesSumToSupply\n[PASS] invariant_SupplyNeverChanges\n TitheDemoInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭------------------+--------------+-------+---------+----------╮\n| Contract         | Selector     | Calls | Reverts | Discards |\n+==============================================================+\n| TitheDemoHandler | approve      | 5492  | 0       | 0        |\n|------------------+--------------+-------+---------+----------|\n| TitheDemoHandler | transfer     | 5445  | 0       | 0        |\n|------------------+--------------+-------+---------+----------|\n| TitheDemoHandler | transferFrom | 5447  | 0       | 0        |\n╰------------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 117770687939186089051453956\n  Bound result 0\n  Bound result 0\n  Bound result 6\n  Bound result 0\n  Bound result 2732\n  Bound result 1000000000000000000\n  Bound result 1678\n  Bound result 3327641367\n  Bound result 255\n  Bound result 167\n  Bound result 0\n  Bound result 972\n  Bound result 649\n  Bound result 2878\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 255\n  Bound result 0\n  Bound result 2304\n  Bound result 4000000000000000000\n  Bound result 4054\n  Bound result 300226588622787782011026937\n  Bound result 209\n  Bound result 71372644480325392779375855\n  Bound result 11\n  Bound result 98360095138993680428850901\n  Bound result 6000000000000000000\n  Bound result 9\n  Bound result 1780\n  Bound result 1015\n  Bound result 0\n  Bound result 6000000000000000000\n  Bound result 87\n  Bound result 637\n  Bound result 0\n  Bound result 6167\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.26s (1.26s CPU time)\n\nRan 2 test suites in 1.27s (1.28s CPU time): 32 tests passed, 0 failed, 0 skipped (32 total tests)\n","passed":true},{"durationMs":34,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"TitheDemo.approve(address,uint256)\",\"TitheDemo.transfer(address,uint256)\",\"TitheDemo.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.md\":23,\"README.md\":60,\"foundry.toml\":25,\"src/TitheDemo.sol\":16,\"test/TitheDemo.invariant.t.sol\":84,\"test/TitheDemo.t.sol\":411},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":407,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":242,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/TitheDemo.sol:11: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"7ef7e6522467c5e395fbc7c3a2bce3646d02620141a2ab75a60ece85e319e2b5","verifiedTreeHash":"bb59be991ece5e10fb6a9a4a53477984424825a5","verifierVersion":"0.1.0+4ba55555"},{"checks":[{"durationMs":1397,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.30s\nCompiler run successful!\n","passed":true},{"durationMs":10178,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 18 tests for test/TitheDemo.edge.t.sol:TitheDemoEdgeTest\n[PASS] testFuzz_ApprovalsReplaceRatherThanAccumulateAndAreIsolated(uint256,uint256) (runs: 1000, μ: 332378, ~: 332967)\n[PASS] testFuzz_FailedSpendCanBeRetriedAfterFundingWithoutReapproval(uint256,uint256,uint256) (runs: 1000, μ: 343824, ~: 344096)\nLogs:\n  Bound result 550019885099778623\n  Bound result 558217497842430481929018852\n  Bound result 167418927482913648857292990638402678\n\n[PASS] testFuzz_SelfTransfersCannotHideInsufficientBalance(uint256,uint256) (runs: 1000, μ: 231971, ~: 232563)\nLogs:\n  Bound result 11004\n  Bound result 1000000000000000000000000000\n\n[PASS] testFuzz_SplitDelegatedSpendMatchesSingleSpend(uint256,uint256,uint256) (runs: 1000, μ: 454198, ~: 456347)\nLogs:\n  Bound result 1\n  Bound result 1\n  Bound result 0\n\n[PASS] testFuzz_TransferRoundTripRestoresFundedHolders(uint256,uint256,uint256) (runs: 1000, μ: 267072, ~: 266715)\nLogs:\n  Bound result 941104731041681468257855039\n  Bound result 376264430388459828158\n  Bound result 46031818603690862359578726\n\n[PASS] testFuzz_TransferToTokenItselfDoesNotBurn(uint256) (runs: 1000, μ: 90282, ~: 90081)\nLogs:\n  Bound result 2\n\n[PASS] test_CompetingSpendersCannotOverdrawAndFailedSpendKeepsApproval() (gas: 489956)\n[PASS] test_FullSupplyDelegatedTransferCannotReuseExhaustedApproval() (gas: 264518)\n[PASS] test_InfiniteAllowanceCannotSpendMaximumAmountWithoutBalance() (gas: 129342)\n[PASS] test_InfiniteApprovalCanBecomeFiniteAfterUse() (gas: 265346)\n[PASS] test_LargestFiniteAllowanceDecreasesOnEverySpend() (gas: 210754)\n[PASS] test_MaximumTransferAndSelfTransferRevert() (gas: 92504)\n[PASS] test_OneBaseUnitRoundTripDoesNotRestoreSpentAllowance() (gas: 341230)\n[PASS] test_OwnerAlsoNeedsApprovalToUseTransferFrom() (gas: 202562)\n[PASS] test_ReducedAllowanceImmediatelyLimitsTheSpender() (gas: 226113)\n[PASS] test_ZeroAndMaximumApprovalsStillRejectZeroSpender() (gas: 145369)\n[PASS] test_ZeroDelegatedTransferEmitsEventAndPreservesApproval() (gas: 152018)\n[PASS] test_ZeroDelegatedTransferStillRejectsZeroRecipient() (gas: 325147)\nSuite result: ok. 18 passed; 0 failed; 0 skipped; finished in 86.90ms (517.09ms CPU time)\n\nRan 31 tests for test/TitheDemo.t.sol:TitheDemoTest\n[PASS] testFuzz_ExcessiveSpendRevertsWithoutMutation(uint256,uint256) (runs: 1000, μ: 133624, ~: 133663)\nLogs:\n  Bound result 745795154877334520438014453\n  Bound result 3201939267019265828\n\n[PASS] testFuzz_ExcessiveTransferRevertsWithoutMutation(uint256,uint256) (runs: 1000, μ: 137918, ~: 138075)\nLogs:\n  Bound result 745795154877334520438014453\n  Bound result 3201939267019265828\n\n[PASS] testFuzz_TransferConservesSupply(address,uint256) (runs: 1000, μ: 93457, ~: 93667)\nLogs:\n  Bound result 22429\n  Bound result 16689\n\n[PASS] testFuzz_TransferFromAccounting(uint256,uint256) (runs: 1000, μ: 163195, ~: 165215)\nLogs:\n  Bound result 861406\n  Bound result 644441\n\n[PASS] test_ApprovalDoesNotRequireCurrentBalance() (gas: 78326)\n[PASS] test_ApproveReplacesAndRevokesAllowanceWithEvents() (gas: 160400)\n[PASS] test_ConstructorEmitsExactlyOneMint() (gas: 9630)\n[PASS] test_Create2MintsEverythingToFactory() (gas: 227703)\n[PASS] test_InfiniteAllowancePersistsAndCanBeRevoked() (gas: 189412)\n[PASS] test_LaunchDistributionAndSubsequentTransfersAreExact() (gas: 566562)\n[PASS] test_MetadataAndInitialSupply() (gas: 107650)\n[PASS] test_NoMintBurnOrAdministrativeEntrypoints() (gas: 1205867)\n[PASS] test_RevertWhenAllowanceIsInsufficient() (gas: 116174)\n[PASS] test_RevertWhenApproveZeroSpender() (gas: 37616)\n[PASS] test_RevertWhenBalanceIsInsufficientRestoresAllowance() (gas: 179251)\n[PASS] test_RevertWhenDeployerSpendsHolderFundsWithoutApproval() (gas: 95354)\n[PASS] test_RevertWhenDifferentSpenderUsesApproval() (gas: 105633)\n[PASS] test_RevertWhenTransferExceedsBalance() (gas: 67715)\n[PASS] test_RevertWhenTransferFromToZeroRestoresAllowance() (gas: 114650)\n[PASS] test_RevertWhenTransferFromZero() (gas: 52570)\n[PASS] test_RevertWhenTransferToZero() (gas: 58130)\n[PASS] test_RevertWhenZeroTransferToZero() (gas: 30390)\n[PASS] test_RuntimeIsDeployableAndContainsNoForbiddenOpcodes() (gas: 786656)\n[PASS] test_SelfTransferPreservesBalance() (gas: 51508)\n[PASS] test_TransferDeliversExactAmountAndEmitsEvent() (gas: 91537)\n[PASS] test_TransferEntireSupply() (gas: 161723)\n[PASS] test_TransferFromConsumesFiniteAllowanceAndEmitsTransfer() (gas: 242406)\n[PASS] test_TransferFromToSelfStillConsumesAllowance() (gas: 103675)\n[PASS] test_TransferToContractNeedsNoCallback() (gas: 171711)\n[PASS] test_ZeroTransferFromEmptyAccountEmitsEvent() (gas: 63100)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 78715)\nSuite result: ok. 31 passed; 0 failed; 0 skipped; finished in 86.87ms (338.92ms CPU time)\n\nRan 1 test for test/TitheDemo.invariant.t.sol:TitheDemoInvariantTest\n[PASS]\nTitheDemoInvariantTest invariants:\n[PASS] invariant_AllAllowancesMatchApprovalsAndSpending\n[PASS] invariant_AllBalancesSumToSupply\n[PASS] invariant_EachHolderHasExactlyTheirTokens\n[PASS] invariant_SupplyNeverChanges\n TitheDemoInvariantTest invariants (runs: 256, calls: 32768, reverts: 0)\n\n╭------------------+---------------------------+-------+---------+----------╮\n| Contract         | Selector                  | Calls | Reverts | Discards |\n+===========================================================================+\n| TitheDemoHandler | approve                   | 4050  | 0       | 0        |\n|------------------+---------------------------+-------+---------+----------|\n| TitheDemoHandler | rejectZeroReceiver        | 4151  | 0       | 0        |\n|------------------+---------------------------+-------+---------+----------|\n| TitheDemoHandler | rejectZeroSpender         | 4102  | 0       | 0        |\n|------------------+---------------------------+-------+---------+----------|\n| TitheDemoHandler | transfer                  | 4083  | 0       | 0        |\n|------------------+---------------------------+-------+---------+----------|\n| TitheDemoHandler | transferFrom              | 4051  | 0       | 0        |\n|------------------+---------------------------+-------+---------+----------|\n| TitheDemoHandler | transferFromOverAllowance | 4069  | 0       | 0        |\n|------------------+---------------------------+-------+---------+----------|\n| TitheDemoHandler | transferFromOverBalance   | 4178  | 0       | 0        |\n|------------------+---------------------------+-------+---------+----------|\n| TitheDemoHandler | transferOverBalance       | 4084  | 0       | 0        |\n╰------------------+---------------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 503\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129640798\n  Bound result 8663\n  Bound result 115792089237316195423570985008687907853269984665640314039457584249914069079690\n  Bound result 1461501637330902918203684832716283019655932542975\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129639900\n  Bound result 495790613315\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129641328\n  Bound result 3399\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007914561499249\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129643540\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129640022\n  Bound result 457171535430203685108382600818376927568268887281107534638\n  Bound result 3\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007914129639934\n  Bound result 250000000000000000000000004\n  Bound result 249999999999999999999999498\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129644669\n  Bound result 467\n  Bound result 2129482743\n  Bound result 1711\n  Bound result 6006558083150543863341626058482275533836154019498906275408183949435771696384\n  Bound result 6224963464445786879997865787\n  Bound result 95\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129640452\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129691853\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007914849279337\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129666221\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129649785\n  Bound result 220339087524696860816776406\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129640698\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129646386\n  Bound result 115792089237316195423570985008687907853269984665640314039457584271450504237149\n  Bound result 0\n  Bound result 1000000000000000000\n  Bound result 0\n  Bound result 127\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640064039457584007913129647244\n  Bound result 9699\n  Bound result 115792089237316195423570985008687907853269984665640064039458584007913129638228\n  Bound result 250000000000000000000000006\n  Bound result 6\n  Bound result 95\n  Bound result 971\n  Bound result 160026971836975154476201903\n  Bound result 115792089237316195423570985008687907853269984665640314039457584007913129643273\n  Bound result 97841553813204756571489437\n  Bound result 15\n  Bound result 1000000000000000000000000000\n  Bound result 435023685830297560580521533\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639857\n  Bound result 6191543\n  Bound result 3\n  Bound result 1000000000000000000000000000\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 10.10s (10.10s CPU time)\n\nRan 3 test suites in 10.10s (10.27s CPU time): 50 tests passed, 0 failed, 0 skipped (50 total tests)\n","passed":true},{"durationMs":39,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"TitheDemo.approve(address,uint256)\",\"TitheDemo.transfer(address,uint256)\",\"TitheDemo.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.md\":23,\"README.md\":60,\"foundry.toml\":25,\"src/TitheDemo.sol\":16,\"test/README.md\":40,\"test/TitheDemo.edge.t.sol\":361,\"test/TitheDemo.invariant.t.sol\":213,\"test/TitheDemo.t.sol\":416},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"a4b4db2c437f437a7fa1fcb93e9dc5e0dc4660935a4aad4bde761a9c4fb95f9f","verifiedTreeHash":"c287260000ebaddd706f4642979d5223f8f5987c","verifierVersion":"0.1.0+4ba55555"},{"checks":[{"durationMs":1287,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.16s\nCompiler run successful!\n","passed":true},{"durationMs":1568,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 31 tests for test/TitheDemo.t.sol:TitheDemoTest\n[PASS] testFuzz_ExcessiveSpendRevertsWithoutMutation(uint256,uint256) (runs: 512, μ: 133492, ~: 133699)\nLogs:\n  Bound result 71033665\n  Bound result 8\n\n[PASS] testFuzz_ExcessiveTransferRevertsWithoutMutation(uint256,uint256) (runs: 512, μ: 137706, ~: 138087)\nLogs:\n  Bound result 3\n  Bound result 5046\n\n[PASS] testFuzz_TransferConservesSupply(address,uint256) (runs: 512, μ: 93092, ~: 93255)\nLogs:\n  Bound result 722874787550904501907073891\n\n[PASS] testFuzz_TransferFromAccounting(uint256,uint256) (runs: 512, μ: 163101, ~: 165215)\nLogs:\n  Bound result 166\n  Bound result 156\n\n[PASS] test_ApprovalDoesNotRequireCurrentBalance() (gas: 78326)\n[PASS] test_ApproveReplacesAndRevokesAllowanceWithEvents() (gas: 160400)\n[PASS] test_ConstructorEmitsExactlyOneMint() (gas: 9630)\n[PASS] test_Create2MintsEverythingToFactory() (gas: 227703)\n[PASS] test_InfiniteAllowancePersistsAndCanBeRevoked() (gas: 189412)\n[PASS] test_LaunchDistributionAndSubsequentTransfersAreExact() (gas: 566562)\n[PASS] test_MetadataAndInitialSupply() (gas: 107650)\n[PASS] test_NoMintBurnOrAdministrativeEntrypoints() (gas: 1205867)\n[PASS] test_RevertWhenAllowanceIsInsufficient() (gas: 116174)\n[PASS] test_RevertWhenApproveZeroSpender() (gas: 37616)\n[PASS] test_RevertWhenBalanceIsInsufficientRestoresAllowance() (gas: 179251)\n[PASS] test_RevertWhenDeployerSpendsHolderFundsWithoutApproval() (gas: 95354)\n[PASS] test_RevertWhenDifferentSpenderUsesApproval() (gas: 105633)\n[PASS] test_RevertWhenTransferExceedsBalance() (gas: 67715)\n[PASS] test_RevertWhenTransferFromToZeroRestoresAllowance() (gas: 114650)\n[PASS] test_RevertWhenTransferFromZero() (gas: 52570)\n[PASS] test_RevertWhenTransferToZero() (gas: 58130)\n[PASS] test_RevertWhenZeroTransferToZero() (gas: 30390)\n[PASS] test_RuntimeIsDeployableAndContainsNoForbiddenOpcodes() (gas: 786656)\n[PASS] test_SelfTransferPreservesBalance() (gas: 51508)\n[PASS] test_TransferDeliversExactAmountAndEmitsEvent() (gas: 91537)\n[PASS] test_TransferEntireSupply() (gas: 161723)\n[PASS] test_TransferFromConsumesFiniteAllowanceAndEmitsTransfer() (gas: 242406)\n[PASS] test_TransferFromToSelfStillConsumesAllowance() (gas: 103675)\n[PASS] test_TransferToContractNeedsNoCallback() (gas: 171711)\n[PASS] test_ZeroTransferFromEmptyAccountEmitsEvent() (gas: 63100)\n[PASS] test_ZeroTransferFromNeedsNoAllowance() (gas: 78715)\nSuite result: ok. 31 passed; 0 failed; 0 skipped; finished in 17.59ms (77.24ms CPU time)\n\nRan 1 test for test/TitheDemo.invariant.t.sol:TitheDemoInvariantTest\n[PASS]\nTitheDemoInvariantTest invariants:\n[PASS] invariant_AllBalancesSumToSupply\n[PASS] invariant_SupplyNeverChanges\n TitheDemoInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭------------------+--------------+-------+---------+----------╮\n| Contract         | Selector     | Calls | Reverts | Discards |\n+==============================================================+\n| TitheDemoHandler | approve      | 5497  | 0       | 0        |\n|------------------+--------------+-------+---------+----------|\n| TitheDemoHandler | transfer     | 5366  | 0       | 0        |\n|------------------+--------------+-------+---------+----------|\n| TitheDemoHandler | transferFrom | 5521  | 0       | 0        |\n╰------------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 1905\n  Bound result 234126541136251\n  Bound result 0\n  Bound result 329\n  Bound result 0\n  Bound result 100792861139230877099413900\n  Bound result 0\n  Bound result 0\n  Bound result 4228666475\n  Bound result 0\n  Bound result 1\n  Bound result 13\n  Bound result 0\n  Bound result 1096248892145\n  Bound result 1104\n  Bound result 977\n  Bound result 127\n  Bound result 0\n  Bound result 1990\n  Bound result 249999999999764777209971476\n  Bound result 7\n  Bound result 1118\n  Bound result 7\n  Bound result 0\n  Bound result 4726\n  Bound result 225058819038062197129705015\n  Bound result 49\n  Bound result 2\n  Bound result 853\n  Bound result 0\n  Bound result 236451355413725412135416973\n  Bound result 1062\n  Bound result 406127372793116978044476565\n  Bound result 127\n  Bound result 2504\n  Bound result 5602\n  Bound result 256\n  Bound result 4228666473\n  Bound result 0\n  Bound result 4212\n  Bound result 4287\n  Bound result 2000000000000000000\n  Bound result 0\n  Bound result 88\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.47s (1.46s CPU time)\n\nRan 2 test suites in 1.47s (1.48s CPU time): 32 tests passed, 0 failed, 0 skipped (32 total tests)\n","passed":true},{"durationMs":39,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"TitheDemo.approve(address,uint256)\",\"TitheDemo.transfer(address,uint256)\",\"TitheDemo.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"DEPENDENCIES.md\":23,\"README.md\":60,\"foundry.toml\":25,\"launch.json\":24,\"src/TitheDemo.sol\":16,\"test/TitheDemo.invariant.t.sol\":84,\"test/TitheDemo.t.sol\":411},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"aebdeadffd322605ff219ed0abaf7b36b551902732ae562582767c759e49dec2","verifiedTreeHash":"e31ecfb297d584032224519ce16785e8dfc62c8c","verifierVersion":"0.1.0+4ba55555"}]}