{"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":"6c42fbac-88aa-45ea-8f5d-ea081f8b2147","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"ff75f3c674e95693ce9175d54b53df79469f6b77810c96be818890e762a27aba","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":"620b3349c3bb7fe9732c77b5a89bd827c91d4192500a1256d469d1153dc226da","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":"9a2c2c8f4b167fb33d4df88afb5a0d956a4e76be2d84f0b9e8fb188190dca514","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":"e118ad3c6ea116ad161f2dfb8e55e254f33c75fe2353c35f668f598a542f5af1","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":"2099d172622bbc2d9e087de94cd06da9f11dddd0df1288d66dfc2c980b7876a4","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":"40c6fde46a66aa86c63df1716731502a91379aea47adecf5bdddd07ba6aa3c7b","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":"70010a1f8238a41fdad966472f4d6b3b9e5caecf00f17eda7c9a4f26c2ec76d8","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"aaf674d5e0db1c20c04ab44aca15b2089b15f65acb67bbf2ded91e442b0af946","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: Conditionals (COND).\nToken name: Conditionals\nToken symbol: COND\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.","parentJobId":null,"planHash":"3a107669d10f12e000b542d71a0a4dd0d780da0eba547d368a40f35076cb38c5","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"6c42fbac-88aa-45ea-8f5d-ea081f8b2147","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2810-conditionals"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"52675","feedbackHash":"aed8e29de4ae34ce08ecfc2b5e4089b3371cd308b3017f413dcc5721b2914ebf","nodeKey":"audit_economics","submissionHash":"ff75f3c674e95693ce9175d54b53df79469f6b77810c96be818890e762a27aba","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52129","feedbackHash":"dc3dd7d4259c7edbfd7e19e3754709004c19ab7697265d55b1deeae4d687b36f","nodeKey":"audit_flow","submissionHash":"620b3349c3bb7fe9732c77b5a89bd827c91d4192500a1256d469d1153dc226da","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52170","feedbackHash":"76053422be629cf689427bc87001e879785d283a8a28e401862d6a0a9c2d2a8a","nodeKey":"audit_judge","submissionHash":"9a2c2c8f4b167fb33d4df88afb5a0d956a4e76be2d84f0b9e8fb188190dca514","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"55454","feedbackHash":"152345c57b5e68f5a61cbcd76bace27b15c5f773b5522fd500943ee2a5b469a0","nodeKey":"audit_math","submissionHash":"e118ad3c6ea116ad161f2dfb8e55e254f33c75fe2353c35f668f598a542f5af1","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51318","feedbackHash":"6f173ee2a999266addf2583dc6b4d70d145c04f8a130b217445e7342ed87db57","nodeKey":"audit_permissions","submissionHash":"2099d172622bbc2d9e087de94cd06da9f11dddd0df1288d66dfc2c980b7876a4","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51221","feedbackHash":"8ee1a5ada409735b0648c42448815a17a806e2c144f5e45ab3d2102bd484326f","nodeKey":"build_contract_project","submissionHash":"40c6fde46a66aa86c63df1716731502a91379aea47adecf5bdddd07ba6aa3c7b","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52224","feedbackHash":"1f26614ab1fe50f9cacadaf8bb60ee1d569b9da835155cf454386fea9ca4df12","nodeKey":"manifest","submissionHash":"70010a1f8238a41fdad966472f4d6b3b9e5caecf00f17eda7c9a4f26c2ec76d8","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52273","feedbackHash":"7600b4b0f146f07a02cafe5b3d0804461233d5a9741352cc2386465fed22977b","nodeKey":"write_foundry_tests","submissionHash":"aaf674d5e0db1c20c04ab44aca15b2089b15f65acb67bbf2ded91e442b0af946","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"d0b847f04c2317afa22ff8717514cadedc2822747c6c2f91b4eed2615d8aa81a","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":null,"device":"c7b1db4d25939bd5","findings":[],"hash":"2099d172622bbc2d9e087de94cd06da9f11dddd0df1288d66dfc2c980b7876a4","nodeId":"376138a2-1f04-4788-826f-ec8864ce827f","outcome":"completed","summary":"The permissions review of the Conditionals (COND) token is complete. No defects found in the assigned area.\n\n**What was reviewed.** The token at `src/Conditionals.sol` is 16 lines: an unmodified OpenZeppelin ERC20 whose constructor mints the full supply to the deployer. I checked it against the Access Control, Trust Gap and Asymmetry guides, plus the Senior Auditor's Mindset, and against the protected floor tests the launch will run.\n\n**Why it holds.**\n- The compiled ABI exposes only approve, transfer and transferFrom as state-changing functions. There is no owner, role, modifier, initializer, proxy, receive or fallback.\n- The internal mint and burn helpers are reachable only from the constructor, so supply cannot grow after launch.\n- All five vendored OpenZeppelin files are byte-identical to upstream tag v5.1.0, verified by SHA-256 against the raw GitHub files. No override of the sender or update hooks exists.\n- Transfer and transferFrom are symmetric: both go through the same guarded path, and the zero-address owner is rejected on both the approve side and the spend side.\n- A deployer-contract test confirmed CREATE2 deployment credits the factory, not the transaction origin. Deployer and strangers cannot move a holder's balance without approval.\n- Reachable runtime opcodes contain no DELEGATECALL, CALLCODE or SELFDESTRUCT.\n- Twenty common admin, mint, burn, pause, blacklist, permit and upgrade selectors all revert with no state change.\n\n**Checks run.** The project's 31 tests and invariant suite pass with the README's fuzz seed. Five scratch tests covering the points above also passed and were then removed, since there is no critical or high finding to carry a proof.\n\n**Trust assumption.** The only privileged moment is deployment: the factory holds the entire supply and distributes it off-contract. Afterwards the deployer has the same rights as any holder. This is documented as a coverage row, not a finding.\n\n**Output.** `.imd-findings.json` holds an empty findings list and eight coverage rows: one for each of the three entry points, plus rows for the no-privileged-role, single-mint, dependency-integrity, bytecode and initial-holder invariants. No tracked file was changed.","treeHash":null,"usage":{"cachedInputTokens":443916,"inputTokens":226,"model":"claude-fable-5-1","outputTokens":10064,"runtime":"claude","turns":21,"wallClockMs":163572}},{"artifacts":[],"attempt":1,"bundleHash":"325b3560b4599ef7c1ae81aa8742bfa7d730d13a8193ef01e9e5247e038deacc","device":"9d2479a5270b8df1","findings":[],"hash":"40c6fde46a66aa86c63df1716731502a91379aea47adecf5bdddd07ba6aa3c7b","nodeId":"c44c337e-33d9-4826-abdd-72c80fd14e84","outcome":"completed","summary":"Implemented [Conditionals (COND)](/home/imd2/.identitymd/work/6c42fbac-88aa-45ea-8f5d-ea081f8b2147/c44c337e-33d9-4826-abdd-72c80fd14e84/src/Conditionals.sol): 1 billion tokens, 18 decimals, minted once entirely to the deployer.\n\nDependencies are vendored for offline builds. Deployment assumptions and operational responsibilities are documented in README.md.\n\nVerified with Solidity 0.8.26:\n\n- `forge build` passes.\n- `forge test` passes with the required fuzz seed, including supply invariants.\n- `forge fmt --check` passes.","treeHash":"dd309eec19db706ffb4c278279af412d2b38ac3a","usage":{"cachedInputTokens":314542,"inputTokens":54475,"model":"gpt-6.1-sol","outputTokens":12808,"runtime":"codex","turns":5,"wallClockMs":139100}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"63c29c49a249ab7e","findings":[],"hash":"620b3349c3bb7fe9732c77b5a89bd827c91d4192500a1256d469d1153dc226da","nodeId":"f6be852e-68fa-4c52-b7b6-8a01c3a1de95","outcome":"completed","summary":"I found no defects in the control-flow area, so `.imd-findings.json` has an empty findings list and a coverage row for each entry point. No project files were changed; `git status` is clean, and the findings file is the only thing written.\n\n**What I reviewed.** `src/Conditionals.sol` is a plain OpenZeppelin v5.1 `ERC20`. Its constructor mints `1_000_000_000 * 10**18` to `msg.sender` once, and the contract overrides nothing. I read the vendored `ERC20.sol` paths it relies on (`transfer`, `approve`, `transferFrom`, `_transfer`, `_update`, `_approve`, `_spendAllowance`) and checked them against the three guides:\n- **Execution Trace:** there are no external calls or callbacks, so there is no reentrancy surface. Every failure reverts the whole transaction. Allowance and balance updates are checked first, and the unchecked subtractions are safe because a check precedes each one. A `type(uint256).max` allowance is never decremented, as intended.\n- **Periphery:** there is no transfer fee, burn or exemption list. The factory-to-distributor transfer, distributor claims, the pool seed and PoolManager swaps (which settle with `transfer`/`transferFrom`) all move exactly the amount requested. No constructor arguments are needed, because nothing is exempted.\n- **First Principles:** the supply is fixed, with no mint, burn, owner, pause, blacklist or upgrade path. `decimals()` returns 18, matching the brief. There is no DELEGATECALL, CALLCODE or SELFDESTRUCT.\n\n**Coverage:** all three entry points (`approve`, `transfer`, `transferFrom`) are marked `holds`. I added two invariant rows, one for the fixed supply minted to the deployer and one for 18 decimals.\n\n**Static analysis:** Slither reported nothing. Aderyn's `large-numeric-literal` note on line 10 is only a style point and isn't a defect, so I didn't report it.\n\n**Tests:** the existing project tests pass (31 of 31, including the invariant suite). I did not run the protected floor tests, because they need deployment environment variables this machine doesn't have.\n\n**Not reported:** the standard ERC-20 `approve` race, where a spender can use both the old and new allowance if one is changed without first setting it to zero. Every ERC-20 behaves this way, and nothing in the brief asks for anything different, so I don't count it as a defect here.","treeHash":null,"usage":{"cachedInputTokens":145259,"inputTokens":10,"model":"claude-opus-5-5","outputTokens":2690,"runtime":"claude","turns":5,"wallClockMs":45494}},{"artifacts":[],"attempt":1,"bundleHash":"1871c326990a74318c446ac0ed1672e359cb56dbd51f37775dc8b87f8c849229","device":"2a2028177fd413f2","findings":[],"hash":"70010a1f8238a41fdad966472f4d6b3b9e5caecf00f17eda7c9a4f26c2ec76d8","nodeId":"57a1554f-be1f-452a-92c0-7b458a3b0e44","outcome":"completed","summary":"Created [launch.json](/home/imd1/.identitymd/work/6c42fbac-88aa-45ea-8f5d-ea081f8b2147/57a1554f-be1f-452a-92c0-7b458a3b0e44/launch.json) matching the accepted constructor, exact supply, pool settings, and economics.\n\nValidation passed. `forge build` succeeded; `forge test` passed all 31 tests with the supplied fuzz seed. Only `launch.json` changed.","treeHash":"8617ece25a94b0d272ad8ea2f3de80eee3267e6d","usage":{"cachedInputTokens":152448,"inputTokens":29559,"model":"gpt-6-astra","outputTokens":2566,"runtime":"codex","turns":3,"wallClockMs":55806}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"fa99051b60a858d6","findings":[],"hash":"9a2c2c8f4b167fb33d4df88afb5a0d956a4e76be2d84f0b9e8fb188190dca514","nodeId":"67f5038c-da4c-4db7-b34b-b3d59fc5b5d8","outcome":"completed","summary":"The review is complete. The Conditionals token is clean: no findings, and all three entry points hold.\n\n**What I verified**\n\n- The token is a bare OpenZeppelin ERC20 with a zero-argument constructor that mints the full fixed supply to the deployer. There are no owner roles, mint, burn, pause, blacklist, upgrade, fallback or receive paths. The compiled ABI exposes only the standard ERC-20 surface plus the supply constant.\n- The vendored OpenZeppelin files are byte-identical to upstream v5.1.0, checked by downloading each file and comparing. No tampering in the inherited transfer, allowance or mint logic.\n- The project's own suite passes: 48 tests across unit, fuzz and invariant files, run with the README's fixed fuzz seed.\n- Deployment through the factory works under the CREATE2 model: no constructor arguments, no external calls, runtime far below the size limit, and the whole supply lands at `msg.sender`, which is the factory. The manifest matches the code on contract name, supply, decimals and empty constructor arguments.\n- The static-analysis lead from aderyn is a style note on the supply literal, which evaluates to exactly 10^27. Not a defect.\n\n**Specialist findings**\n\nAll four specialists and the test writer reported nothing, so there was nothing to reproduce or merge. I reread the code independently with the auditor checklists and found nothing they missed.\n\n**Output**\n\nThe findings file at the repository root holds an empty findings list and seven coverage rows: one `holds` row for each of approve, transfer and transferFrom, plus rows for the fixed-supply, deployability and no-privileged-power invariants and the aderyn lead. No repository files were changed.","treeHash":null,"usage":{"cachedInputTokens":354814,"inputTokens":226,"model":"claude-fable-5-1","outputTokens":7252,"runtime":"claude","turns":18,"wallClockMs":113805}},{"artifacts":[],"attempt":1,"bundleHash":"8d7b4d8ce2c438a09d35d99b166fa3c681ab648fd7597ee6e949268ab6c9b8f9","device":"d13d3bb393e39302","findings":[],"hash":"aaf674d5e0db1c20c04ab44aca15b2089b15f65acb67bbf2ded91e442b0af946","nodeId":"c18e3a90-c580-4a0f-aab0-7b622eaeff60","outcome":"completed","summary":"Added failure-path, boundary, recovery, and fuzz tests; expanded invariants across 11 handler actions. Only `test/` changed.\n\n`forge build` and `forge test` pass with the required seed: 48 tests passed, including 32,768 invariant calls. No confirmed defects found.","treeHash":"56677f69f0aa3f3854d9fce56ff8aa106827ab2d","usage":{"cachedInputTokens":846156,"inputTokens":76686,"model":"gpt-6.1-sol","outputTokens":15167,"runtime":"codex","turns":5,"wallClockMs":186662}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"c9a1140c35c3b759","findings":[],"hash":"e118ad3c6ea116ad161f2dfb8e55e254f33c75fe2353c35f668f598a542f5af1","nodeId":"f399cc98-0d83-4cbe-99a1-1967a44bfae5","outcome":"completed","summary":"The review is complete with no defects found in the Math Precision, Boundary, or Numerical Gap areas.\n\n**What was reviewed.** The Conditionals token is a 16-line contract that inherits OpenZeppelin v5.1.0 ERC-20 unchanged and mints a constant supply to the deployer in its constructor. It has no division, scaling, fee, rounding, downcast, external call, payable path, or admin function, so most failure modes in the three guides have no surface to attack. I checked each one that does apply:\n\n- **Math precision.** The supply constant is exactly 10^27 and equals one billion times ten to the token's decimals. The unchecked subtraction and addition in the inherited transfer path are guarded by a prior balance check and by the fixed total supply, so no wrap is reachable. The aderyn large-literal lead resolves to a correct compile-time constant and is not a defect.\n- **Boundary.** Zero, one, full-supply, and max-uint amounts, self-transfers through both transfer and transferFrom, allowances at zero, max-minus-one and max, zero-address sender, recipient and spender, native value sends, empty calldata, and unknown selectors all behave as the specification states. The runtime contains no DELEGATECALL, CALLCODE, or SELFDESTRUCT on any reachable path.\n- **Numerical gap.** Conservation of supply holds exactly under the project's stateful invariant run and my own fuzzing, since nothing in the code rounds. The ten percent swarm share and every possible pool basis-point share of 10^27 divide with zero remainder.\n- **Dependency integrity.** The five vendored OpenZeppelin files are byte-identical to the upstream v5.1.0 archive, whose hash matches the vendored manifest.\n\n**Checks run.** The project's own 31 unit, fuzz and invariant tests pass with the documented seed, formatting is clean, and my 11 scratch tests under test/scratch pass. No tracked file was modified.\n\n**Output.** The findings file at the repository root holds an empty finding list and nine coverage rows: one `holds` for each of the three ABI entry points and six for the invariants and boundaries I verified. Nothing in my area was left unreached.","treeHash":null,"usage":{"cachedInputTokens":566322,"inputTokens":258,"model":"claude-fable-5-1","outputTokens":12443,"runtime":"claude","turns":24,"wallClockMs":205955}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"382ebcfad965e0cd","findings":[],"hash":"ff75f3c674e95693ce9175d54b53df79469f6b77810c96be818890e762a27aba","nodeId":"0b8236aa-5e65-42b1-a3e2-2a2436be67c4","outcome":"completed","summary":"I found no defects in the Conditionals (COND) token's economics. `.imd-findings.json` has an empty findings list and six coverage rows, all `holds`.\n\n**What the code is:** `src/Conditionals.sol` is an OpenZeppelin v5.1 ERC20 with nothing added. Its constructor mints `1_000_000_000 * 10 ** 18` once to `msg.sender` (the factory). The vendored OpenZeppelin `ERC20.sol` matches the standard v5.1 code for `transfer`, `approve`, `transferFrom`, `_approve`, `_spendAllowance` and `_update`.\n\n**The three guides:**\n- **Economic Security:** there are no fees, burns, taxes, hooks or price-dependent logic. That means no value can be pulled out, and nothing a privileged account could abuse.\n- **Invariant:** total supply stays at exactly 10²⁷. The only mint is in the constructor, and no public function can mint or burn. The token uses the default 18 decimals. Each transfer subtracts from one balance and adds the same amount to another, and a failed transfer changes nothing.\n- **Flow Gap:** because no transfer charges a fee, every launch flow moves exactly the amount requested. That covers the factory sending the swarm share to the distributor, seeding the pool through the PoolManager, swaps in both directions, and distributor claims. There's no owner, pause, blacklist, freeze, `burnFrom`, `delegatecall` or `selfdestruct`.\n\n**The three entry points:**\n- **`approve`** sets the allowance to the exact value and rejects a zero owner or spender. The known ERC20 race when an existing allowance is overwritten applies to every ERC20, not to this code, so I didn't report it.\n- **`transfer`** moves exactly the amount and reverts cleanly on an insufficient balance.\n- **`transferFrom`** reduces a finite allowance by exactly the amount and leaves an unlimited (max) allowance unchanged.\n\n**Static analysis:** the one aderyn lead, a large number at line 10, is just the supply constant, which is correct.\n\n**Checks run:** the existing `forge test` suite passed (31 of 31). I didn't run the protected launch tests, because they import `v4-core` and `src/LaunchLiquidity.sol`, which aren't in this tree. I modified no project files.","treeHash":null,"usage":{"cachedInputTokens":146954,"inputTokens":12,"model":"claude-opus-5-5","outputTokens":3148,"runtime":"claude","turns":6,"wallClockMs":46010}}],"verification":[{"checks":[{"durationMs":1493,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.39s\nCompiler run successful!\n","passed":true},{"durationMs":3438,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 30 tests for test/Conditionals.t.sol:ConditionalsTest\n[PASS] testFuzz_approveAndTransferFrom(uint256,uint256) (runs: 512, μ: 162775, ~: 165236)\nLogs:\n  Bound result 784\n  Bound result 9\n\n[PASS] testFuzz_selfTransferConservesBalance(uint256) (runs: 512, μ: 55140, ~: 54895)\nLogs:\n  Bound result 7\n\n[PASS] testFuzz_transferAboveBalanceReverts(uint256) (runs: 512, μ: 58800, ~: 59118)\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564039458584007913129639935\n\n[PASS] testFuzz_transferConservesSupply(uint256) (runs: 512, μ: 91986, ~: 92339)\nLogs:\n  Bound result 1000000000000000000\n\n[PASS] testFuzz_transferFromAboveAllowanceReverts(uint256,uint256) (runs: 512, μ: 122922, ~: 123395)\nLogs:\n  Bound result 572762047133704366\n  Bound result 999999999427237952866295759\n\n[PASS] test_approvalCanExceedCurrentBalance() (gas: 78343)\n[PASS] test_approveEmitsEventAndChangesOnlyCallersAllowance() (gas: 104075)\n[PASS] test_approveOverwritesAndRevokes() (gas: 166748)\n[PASS] test_approveZeroSpenderReverts() (gas: 37618)\n[PASS] test_constructorEmitsOneMintEvent() (gas: 9719)\n[PASS] test_deployerCannotSpendHolderFundsWithoutApproval() (gas: 145428)\n[PASS] test_factoryReceivesAndDistributesFullSupply() (gas: 645841)\n[PASS] test_metadataAndSupply() (gas: 97111)\n[PASS] test_noMintBurnOrAdministrativeEntrypoints() (gas: 704461)\n[PASS] test_selfTransferPreservesBalanceAndEmitsEvent() (gas: 54035)\n[PASS] test_selfTransferStillRequiresBalance() (gas: 35886)\n[PASS] test_transferDeliversExactAmountAndEmitsEvent() (gas: 93461)\n[PASS] test_transferEntireSupplyAndOneSmallestUnit() (gas: 143546)\n[PASS] test_transferExceedingBalanceRevertsWithoutChanges() (gas: 120103)\n[PASS] test_transferFromConsumesFiniteAllowanceAndEmitsTransfer() (gas: 212383)\n[PASS] test_transferFromExceedingAllowanceRevertsWithoutChanges() (gas: 115779)\n[PASS] test_transferFromInsufficientBalanceRollsBackAllowance() (gas: 126186)\n[PASS] test_transferFromKeepsInfiniteAllowance() (gas: 204200)\n[PASS] test_transferFromToOwnerConsumesAllowanceWithoutChangingBalance() (gas: 105380)\n[PASS] test_transferFromToZeroRollsBackAllowance() (gas: 114200)\n[PASS] test_transferFromWithoutApprovalReverts() (gas: 57800)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71949)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 63025)\n[PASS] test_zeroTransferFromNeedsNoAllowanceForValidAddresses() (gas: 81458)\n[PASS] test_zeroTransferFromZeroSenderReverts() (gas: 37793)\nSuite result: ok. 30 passed; 0 failed; 0 skipped; finished in 27.29ms (130.67ms CPU time)\n\nRan 1 test for test/Conditionals.invariant.t.sol:ConditionalsInvariantTest\n[PASS]\nConditionalsInvariantTest invariants:\n[PASS] invariant_allowancesMatchModel\n[PASS] invariant_balancesMatchModelAndConserveSupply\n[PASS] invariant_totalSupplyIsFixed\n ConditionalsInvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭---------------------+--------------+-------+---------+----------╮\n| Contract            | Selector     | Calls | Reverts | Discards |\n+=================================================================+\n| ConditionalsHandler | approve      | 2786  | 0       | 0        |\n|---------------------+--------------+-------+---------+----------|\n| ConditionalsHandler | transfer     | 2681  | 0       | 0        |\n|---------------------+--------------+-------+---------+----------|\n| ConditionalsHandler | transferFrom | 2725  | 0       | 0        |\n╰---------------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 192894166018480228489917852\n  Bound result 8\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 5045\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 586\n  Bound result 10\n  Bound result 6\n  Bound result 1\n  Bound result 10\n  Bound result 8\n  Bound result 0\n  Bound result 2\n  Bound result 3\n  Bound result 2289\n  Bound result 0\n  Bound result 0\n  Bound result 967\n  Bound result 89587\n  Bound result 6\n  Bound result 1821\n  Bound result 1124\n  Bound result 4923\n  Bound result 3\n  Bound result 0\n  Bound result 0\n  Bound result 4058\n  Bound result 1463\n  Bound result 9\n  Bound result 2\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.30s (3.29s CPU time)\n\nRan 2 test suites in 3.30s (3.32s CPU time): 31 tests passed, 0 failed, 0 skipped (31 total tests)\n","passed":true},{"durationMs":66,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Conditionals.approve(address,uint256)\",\"Conditionals.transfer(address,uint256)\",\"Conditionals.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"LICENSE\":21,\"README.md\":118,\"foundry.toml\":18,\"remappings.txt\":2,\"src/Conditionals.sol\":16,\"test/Conditionals.invariant.t.sol\":114,\"test/Conditionals.t.sol\":372},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":592,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":288,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/Conditionals.sol:10: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"40c6fde46a66aa86c63df1716731502a91379aea47adecf5bdddd07ba6aa3c7b","verifiedTreeHash":"dd309eec19db706ffb4c278279af412d2b38ac3a","verifierVersion":"0.1.0+a6eb4461"},{"checks":[{"durationMs":1750,"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":3448,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 30 tests for test/Conditionals.t.sol:ConditionalsTest\n[PASS] testFuzz_approveAndTransferFrom(uint256,uint256) (runs: 512, μ: 162775, ~: 165236)\nLogs:\n  Bound result 572762047133704366\n  Bound result 125\n\n[PASS] testFuzz_selfTransferConservesBalance(uint256) (runs: 512, μ: 55140, ~: 54895)\nLogs:\n  Bound result 1000000000000000000\n\n[PASS] testFuzz_transferAboveBalanceReverts(uint256) (runs: 512, μ: 58800, ~: 59118)\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129655675\n\n[PASS] testFuzz_transferConservesSupply(uint256) (runs: 512, μ: 91986, ~: 92339)\nLogs:\n  Bound result 752\n\n[PASS] testFuzz_transferFromAboveAllowanceReverts(uint256,uint256) (runs: 512, μ: 122922, ~: 123395)\nLogs:\n  Bound result 299\n  Bound result 589345320958688283318284838\n\n[PASS] test_approvalCanExceedCurrentBalance() (gas: 78343)\n[PASS] test_approveEmitsEventAndChangesOnlyCallersAllowance() (gas: 104075)\n[PASS] test_approveOverwritesAndRevokes() (gas: 166748)\n[PASS] test_approveZeroSpenderReverts() (gas: 37618)\n[PASS] test_constructorEmitsOneMintEvent() (gas: 9719)\n[PASS] test_deployerCannotSpendHolderFundsWithoutApproval() (gas: 145428)\n[PASS] test_factoryReceivesAndDistributesFullSupply() (gas: 645841)\n[PASS] test_metadataAndSupply() (gas: 97111)\n[PASS] test_noMintBurnOrAdministrativeEntrypoints() (gas: 704461)\n[PASS] test_selfTransferPreservesBalanceAndEmitsEvent() (gas: 54035)\n[PASS] test_selfTransferStillRequiresBalance() (gas: 35886)\n[PASS] test_transferDeliversExactAmountAndEmitsEvent() (gas: 93461)\n[PASS] test_transferEntireSupplyAndOneSmallestUnit() (gas: 143546)\n[PASS] test_transferExceedingBalanceRevertsWithoutChanges() (gas: 120103)\n[PASS] test_transferFromConsumesFiniteAllowanceAndEmitsTransfer() (gas: 212383)\n[PASS] test_transferFromExceedingAllowanceRevertsWithoutChanges() (gas: 115779)\n[PASS] test_transferFromInsufficientBalanceRollsBackAllowance() (gas: 126186)\n[PASS] test_transferFromKeepsInfiniteAllowance() (gas: 204200)\n[PASS] test_transferFromToOwnerConsumesAllowanceWithoutChangingBalance() (gas: 105380)\n[PASS] test_transferFromToZeroRollsBackAllowance() (gas: 114200)\n[PASS] test_transferFromWithoutApprovalReverts() (gas: 57800)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71949)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 63025)\n[PASS] test_zeroTransferFromNeedsNoAllowanceForValidAddresses() (gas: 81458)\n[PASS] test_zeroTransferFromZeroSenderReverts() (gas: 37793)\nSuite result: ok. 30 passed; 0 failed; 0 skipped; finished in 28.21ms (139.09ms CPU time)\n\nRan 1 test for test/Conditionals.invariant.t.sol:ConditionalsInvariantTest\n[PASS]\nConditionalsInvariantTest invariants:\n[PASS] invariant_allowancesMatchModel\n[PASS] invariant_balancesMatchModelAndConserveSupply\n[PASS] invariant_totalSupplyIsFixed\n ConditionalsInvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭---------------------+--------------+-------+---------+----------╮\n| Contract            | Selector     | Calls | Reverts | Discards |\n+=================================================================+\n| ConditionalsHandler | approve      | 2786  | 0       | 0        |\n|---------------------+--------------+-------+---------+----------|\n| ConditionalsHandler | transfer     | 2681  | 0       | 0        |\n|---------------------+--------------+-------+---------+----------|\n| ConditionalsHandler | transferFrom | 2725  | 0       | 0        |\n╰---------------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 192894166018480228489917852\n  Bound result 8\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 5045\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 586\n  Bound result 10\n  Bound result 6\n  Bound result 1\n  Bound result 10\n  Bound result 8\n  Bound result 0\n  Bound result 2\n  Bound result 3\n  Bound result 2289\n  Bound result 0\n  Bound result 0\n  Bound result 967\n  Bound result 89587\n  Bound result 6\n  Bound result 1821\n  Bound result 1124\n  Bound result 4862\n  Bound result 663\n  Bound result 0\n  Bound result 0\n  Bound result 4099\n  Bound result 1065\n  Bound result 9\n  Bound result 428\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.31s (3.30s CPU time)\n\nRan 2 test suites in 3.31s (3.33s CPU time): 31 tests passed, 0 failed, 0 skipped (31 total tests)\n","passed":true},{"durationMs":65,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Conditionals.approve(address,uint256)\",\"Conditionals.transfer(address,uint256)\",\"Conditionals.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"LICENSE\":21,\"README.md\":118,\"foundry.toml\":18,\"launch.json\":24,\"remappings.txt\":2,\"src/Conditionals.sol\":16,\"test/Conditionals.invariant.t.sol\":114,\"test/Conditionals.t.sol\":372},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"70010a1f8238a41fdad966472f4d6b3b9e5caecf00f17eda7c9a4f26c2ec76d8","verifiedTreeHash":"8617ece25a94b0d272ad8ea2f3de80eee3267e6d","verifierVersion":"0.1.0+a6eb4461"},{"checks":[{"durationMs":2083,"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":12313,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 30 tests for test/Conditionals.t.sol:ConditionalsTest\n[PASS] testFuzz_approveAndTransferFrom(uint256,uint256) (runs: 512, μ: 163134, ~: 165236)\nLogs:\n  Bound result 10000000000000000001\n  Bound result 23236\n\n[PASS] testFuzz_selfTransferConservesBalance(uint256) (runs: 512, μ: 55146, ~: 54895)\nLogs:\n  Bound result 1000000000000000000\n\n[PASS] testFuzz_transferAboveBalanceReverts(uint256) (runs: 512, μ: 58791, ~: 59118)\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564039467584007913129639935\n\n[PASS] testFuzz_transferConservesSupply(uint256) (runs: 512, μ: 92046, ~: 92339)\nLogs:\n  Bound result 203\n\n[PASS] testFuzz_transferFromAboveAllowanceReverts(uint256,uint256) (runs: 512, μ: 122963, ~: 123397)\nLogs:\n  Bound result 10000000000000000001\n  Bound result 999999990000000000000023235\n\n[PASS] test_approvalCanExceedCurrentBalance() (gas: 78343)\n[PASS] test_approveEmitsEventAndChangesOnlyCallersAllowance() (gas: 104075)\n[PASS] test_approveOverwritesAndRevokes() (gas: 166748)\n[PASS] test_approveZeroSpenderReverts() (gas: 37618)\n[PASS] test_constructorEmitsOneMintEvent() (gas: 9719)\n[PASS] test_deployerCannotSpendHolderFundsWithoutApproval() (gas: 145428)\n[PASS] test_factoryReceivesAndDistributesFullSupply() (gas: 645841)\n[PASS] test_metadataAndSupply() (gas: 97111)\n[PASS] test_noMintBurnOrAdministrativeEntrypoints() (gas: 704461)\n[PASS] test_selfTransferPreservesBalanceAndEmitsEvent() (gas: 54035)\n[PASS] test_selfTransferStillRequiresBalance() (gas: 35886)\n[PASS] test_transferDeliversExactAmountAndEmitsEvent() (gas: 93461)\n[PASS] test_transferEntireSupplyAndOneSmallestUnit() (gas: 143546)\n[PASS] test_transferExceedingBalanceRevertsWithoutChanges() (gas: 120103)\n[PASS] test_transferFromConsumesFiniteAllowanceAndEmitsTransfer() (gas: 212383)\n[PASS] test_transferFromExceedingAllowanceRevertsWithoutChanges() (gas: 115779)\n[PASS] test_transferFromInsufficientBalanceRollsBackAllowance() (gas: 126186)\n[PASS] test_transferFromKeepsInfiniteAllowance() (gas: 204200)\n[PASS] test_transferFromToOwnerConsumesAllowanceWithoutChangingBalance() (gas: 105380)\n[PASS] test_transferFromToZeroRollsBackAllowance() (gas: 114200)\n[PASS] test_transferFromWithoutApprovalReverts() (gas: 57800)\n[PASS] test_transferToZeroRevertsEvenForZeroAmount() (gas: 71949)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 63025)\n[PASS] test_zeroTransferFromNeedsNoAllowanceForValidAddresses() (gas: 81458)\n[PASS] test_zeroTransferFromZeroSenderReverts() (gas: 37793)\nSuite result: ok. 30 passed; 0 failed; 0 skipped; finished in 146.21ms (596.26ms CPU time)\n\nRan 16 tests for test/Conditionals.properties.t.sol:ConditionalsPropertiesTest\n[PASS] testFuzz_approvalIsScopedToOwnerAndSpender(uint256,uint256) (runs: 1000, μ: 264594, ~: 264769)\nLogs:\n  Bound result 3\n\n[PASS] testFuzz_constructorCreditsImmediateDeployer(uint160) (runs: 1000, μ: 58684, ~: 58681)\nLogs:\n  Bound result 21115\n\n[PASS] testFuzz_directAndDelegatedTransfersAgree(uint256,bool) (runs: 1000, μ: 227810, ~: 228394)\nLogs:\n  Bound result 78\n\n[PASS] testFuzz_failedSpendCanBeRetriedAfterFunding(uint256,uint256,bool) (runs: 1000, μ: 335735, ~: 336024)\nLogs:\n  Bound result 186678143953035828394756851\n  Bound result 186678143953035828394756853\n\n[PASS] testFuzz_roundTripRestoresBalancesAndApprovals(uint256,uint256,uint256) (runs: 1000, μ: 373033, ~: 374615)\nLogs:\n  Bound result 303298976951620351780692915\n  Bound result 117043136748367085673283219\n\n[PASS] testFuzz_splitTransfersAgreeWithSingleTransfer(uint256,uint256) (runs: 1000, μ: 196765, ~: 198026)\nLogs:\n  Bound result 261017677725156218476\n  Bound result 110041235066578466767\n\n[PASS] test_approvalIsNotTransferredWithTokens() (gas: 370310)\n[PASS] test_fullSupplyDelegatedSpendCannotBeReplayed() (gas: 182038)\n[PASS] test_infiniteApprovalCanBeReducedAndRevoked() (gas: 315670)\n[PASS] test_largestFiniteAllowanceIsStillConsumed() (gas: 142796)\n[PASS] test_maximumDelegatedSpendDoesNotBypassBalanceCheck() (gas: 186162)\n[PASS] test_maximumTransferRevertsWithBalanceError() (gas: 65346)\n[PASS] test_ownerRequiresSelfApprovalForDelegatedSpend() (gas: 167310)\n[PASS] test_zeroCallerCannotTransferOrApprove() (gas: 100807)\n[PASS] test_zeroReceiverRejectsEvenZeroDelegatedSpend() (gas: 121767)\n[PASS] test_zeroSpenderRejectsEvenZeroApproval() (gas: 48108)\nSuite result: ok. 16 passed; 0 failed; 0 skipped; finished in 146.28ms (855.21ms CPU time)\n\nRan 2 tests for test/Conditionals.invariant.t.sol:ConditionalsInvariantTest\n[PASS]\nConditionalsInvariantTest invariants:\n[PASS] invariant_allowancesMatchModel\n[PASS] invariant_balancesMatchModelAndConserveSupply\n[PASS] invariant_metadataIsStable\n[PASS] invariant_totalSupplyIsFixed\n ConditionalsInvariantTest invariants (runs: 256, calls: 32768, reverts: 0)\n\n╭---------------------+----------------------------------+-------+---------+----------╮\n| Contract            | Selector                         | Calls | Reverts | Discards |\n+=====================================================================================+\n| ConditionalsHandler | approve                          | 3013  | 0       | 0        |\n|---------------------+----------------------------------+-------+---------+----------|\n| ConditionalsHandler | approveAndSpend                  | 3011  | 0       | 0        |\n|---------------------+----------------------------------+-------+---------+----------|\n| ConditionalsHandler | boundaryApproval                 | 2816  | 0       | 0        |\n|---------------------+----------------------------------+-------+---------+----------|\n| ConditionalsHandler | rejectTransferAboveBalance       | 2962  | 0       | 0        |\n|---------------------+----------------------------------+-------+---------+----------|\n| ConditionalsHandler | rejectTransferFromAboveAllowance | 3004  | 0       | 0        |\n|---------------------+----------------------------------+-------+---------+----------|\n| ConditionalsHandler | rejectTransferFromAboveBalance   | 2986  | 0       | 0        |\n|---------------------+----------------------------------+-------+---------+----------|\n| ConditionalsHandler | rejectZeroReceiver               | 3012  | 0       | 0        |\n|---------------------+----------------------------------+-------+---------+----------|\n| ConditionalsHandler | roundTrip                        | 3020  | 0       | 0        |\n|---------------------+----------------------------------+-------+---------+----------|\n| ConditionalsHandler | transfer                         | 2955  | 0       | 0        |\n|---------------------+----------------------------------+-------+---------+----------|\n| ConditionalsHandler | transferAll                      | 2984  | 0       | 0        |\n|---------------------+----------------------------------+-------+---------+----------|\n| ConditionalsHandler | transferFrom                     | 3005  | 0       | 0        |\n╰---------------------+----------------------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 97572564161172202464570568\n  Bound result 0\n  Bound result 0\n  Bound result 986\n  Bound result 18\n  Bound result 2\n  Bound result 684832716283019655932542975\n  Bound result 1631921669\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 3083\n  Bound result 0\n  Bound result 0\n  Bound result 100000000000000000000\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 5633\n  Bound result 812484707587090254535074942\n  Bound result 898936588180650318371195869\n  Bound result 10847\n  Bound result 0\n  Bound result 5015\n  Bound result 10860\n  Bound result 1086\n  Bound result 2460\n  Bound result 7\n  Bound result 2373\n  Bound result 1162\n  Bound result 999999999999999999999996915\n  Bound result 12453\n  Bound result 0\n  Bound result 100\n  Bound result 20000000000000000000\n  Bound result 10\n  Bound result 935061473772986681152064168\n  Bound result 45\n  Bound result 64938526227013318847932744\n  Bound result 1000000000\n  Bound result 7647\n  Bound result 1\n  Bound result 312\n  Bound result 317547086586579260912\n  Bound result 0\n  Bound result 689\n  Bound result 359\n  Bound result 542\n  Bound result 626934685413915833509028892051488888222136\n  Bound result 50000000000000000000\n  Bound result 57845066062360150789821271\n  Bound result 433\n  Bound result 12201\n  Bound result 6731\n  Bound result 1724\n  Bound result 28\n  Bound result 6321\n  Bound result 100000000000000000000\n  Bound result 0\n  Bound result 0\n  Bound result 9084\n  Bound result 0\n  Bound result 8813\n  Bound result 0\n  Bound result 0\n  Bound result 6019\n  Bound result 10\n  Bound result 0\n  Bound result 50000000000000000000\n  Bound result 2174\n  Bound result 4895\n  Bound result 8880\n  Bound result 5\n  Bound result 30000000000000000000\n  Bound result 1\n  Bound result 7\n  Bound result 0\n  Bound result 2\n\n[PASS] test_handlerFailureAndRecoverySequence() (gas: 1532103)\nLogs:\n  Bound result 1\n  Bound result 1\n  Bound result 1\n  Bound result 0\n  Bound result 1000000000000000000000000000\n  Bound result 1000000000000000000000000000\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 12.17s (12.17s CPU time)\n\nRan 3 test suites in 12.17s (12.46s CPU time): 48 tests passed, 0 failed, 0 skipped (48 total tests)\n","passed":true},{"durationMs":70,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"Conditionals.approve(address,uint256)\",\"Conditionals.transfer(address,uint256)\",\"Conditionals.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":4,\"LICENSE\":21,\"README.md\":118,\"foundry.toml\":18,\"remappings.txt\":2,\"src/Conditionals.sol\":16,\"test/Conditionals.invariant.t.sol\":299,\"test/Conditionals.properties.t.sol\":267,\"test/Conditionals.t.sol\":372},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"aaf674d5e0db1c20c04ab44aca15b2089b15f65acb67bbf2ded91e442b0af946","verifiedTreeHash":"56677f69f0aa3f3854d9fce56ff8aa106827ab2d","verifierVersion":"0.1.0+a6eb4461"}]}