{"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":"e329ef86-81e3-4a29-9ebb-173c6337ff12","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"4a3c7cd7bb2bfe2c6d464c3210429c03bd9d2f4421e85aafc9117d9c2f85ea97","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":"931e7ee471507ab5fd2f29ce7e69d1248b314eafb213796dabd4e1dbc0e624d5","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":"dc32345c52ad1677a5225034fb598cfab038d85372622b741c144a83b3036150","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":"d2a9b1144e86d7eaaeba166efa6bc09380cd44996831a19a19a2b4638e2ce9f0","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":"a488cb7e65a9f691de27252a50a6cc4f4dcbab91cdc8ab1a8cbd01bafe85b8ad","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":"41c6b45d8b5623afc14121ca233a16808cbce258f2ac9d12548e18eb20df9889","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":"8b003594081ecad61aaaac4757505ef275e8e7d9c2bb1a11d148163e7ec6db85","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"014653f52b132561a3cfc871bced325851daa09c134ae99eb74f8394925fbb0f","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: SQUEEK (SQK).\nToken name: SQUEEK\nToken symbol: SQK\nToken supply: 1,000,000,000 with 18 decimals, all minted once to the deployer in the constructor.","parentJobId":null,"planHash":"786f91ba69d35b4f1260362330fca5dc28f4b2b0e35c113db80791180faa3421","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"e329ef86-81e3-4a29-9ebb-173c6337ff12","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2127-squeek"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"52672","feedbackHash":"9dee8f57acac7e29329413b68f1a8b046b32183d785ea1fd1d5ca9ee7bd2d79a","nodeKey":"audit_economics","submissionHash":"4a3c7cd7bb2bfe2c6d464c3210429c03bd9d2f4421e85aafc9117d9c2f85ea97","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52675","feedbackHash":"837fc8cdf87456cdba9a1ef3483a4f16a1a6f8d3a02e329f0d72b2fd688d42b9","nodeKey":"audit_flow","submissionHash":"931e7ee471507ab5fd2f29ce7e69d1248b314eafb213796dabd4e1dbc0e624d5","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52677","feedbackHash":"f1fa83def0a0b0a202bf368b1a154f3e024d53a9bf0bbd08a8f610961b2bf101","nodeKey":"audit_judge","submissionHash":"dc32345c52ad1677a5225034fb598cfab038d85372622b741c144a83b3036150","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52616","feedbackHash":"1afe088abb2fd45623220e274d633714311c3743cf5a5119995cbe35cd6ac358","nodeKey":"audit_math","submissionHash":"d2a9b1144e86d7eaaeba166efa6bc09380cd44996831a19a19a2b4638e2ce9f0","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51368","feedbackHash":"e55a1415f0f44f6342c89e1c0634fa972dce1f0e895873d2849e1a46a320828e","nodeKey":"audit_permissions","submissionHash":"a488cb7e65a9f691de27252a50a6cc4f4dcbab91cdc8ab1a8cbd01bafe85b8ad","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51089","feedbackHash":"2ff0068811c23f6138fbb98caf0e419e3e97db4ebb8ea99a48a9247e61c4a81a","nodeKey":"build_contract_project","submissionHash":"41c6b45d8b5623afc14121ca233a16808cbce258f2ac9d12548e18eb20df9889","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52708","feedbackHash":"2d6443784689ebbb621141f3b9e6284c96a3ed56748239a78d6cca35df409c74","nodeKey":"manifest","submissionHash":"8b003594081ecad61aaaac4757505ef275e8e7d9c2bb1a11d148163e7ec6db85","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51328","feedbackHash":"f1483238cb19b93ead03756e74904561f72ad9ae7df47e4cee5d59aa2bbdaf2a","nodeKey":"write_foundry_tests","submissionHash":"014653f52b132561a3cfc871bced325851daa09c134ae99eb74f8394925fbb0f","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"3d7d473dccaeda6982929405e00b95cdb4edc52aed5f97bd11c401491691f118","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":"15f803685fbeca4dd4b2d170c6b522c8f6bb780f5413b4375f9d4488538cc7bb","device":"fc6af3255ecf3684","findings":[],"hash":"014653f52b132561a3cfc871bced325851daa09c134ae99eb74f8394925fbb0f","nodeId":"33105e1f-c6f2-474e-99df-0fff4daa1a1a","outcome":"completed","summary":"Added 19 adversarial tests and strengthened stateful invariants to cover failures, allowance isolation, retries, and arithmetic boundaries.\n\nValidation passed: `forge build` and `forge test` with the required seed—51 tests passed, including 32,768 invariant calls.\n\nChanges are confined to `test/`. No implementation defects were found.","treeHash":"52db7586147e23c003e5709506ff047bfb0ba47c","usage":{"cachedInputTokens":477696,"inputTokens":63009,"model":"gpt-6-astra","outputTokens":12102,"runtime":"codex","turns":6,"wallClockMs":284588}},{"artifacts":[],"attempt":1,"bundleHash":"4400f8250859d0f7c7716162aacf72fa40bc5bfa07f288c696052926f77d080d","device":"393ade31b99d5d5b","findings":[],"hash":"41c6b45d8b5623afc14121ca233a16808cbce258f2ac9d12548e18eb20df9889","nodeId":"7a616a7b-f2db-4336-b4a3-e33a589d76fc","outcome":"completed","summary":"Implemented SQUEEK (SQK): 1,000,000,000 tokens with 18 decimals, minted once to the deployer. Includes vendored dependencies, success/failure tests, fuzzing, invariants, and deployment documentation.\n\nValidation passed with Solidity 0.8.26:\n\n- `forge build`\n- `forge test` — 32 checks passed using the supplied fuzz seed\n- `forge fmt --check`\n\nFull factory/pool integration remains for the network’s protected verification.","treeHash":"ff853e1b7b3d8878df250173c1584329bd88da10","usage":{"cachedInputTokens":571520,"inputTokens":49126,"model":"gpt-6-astra","outputTokens":14243,"runtime":"codex","turns":5,"wallClockMs":335546}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"223fd994d1a35f81","findings":[],"hash":"4a3c7cd7bb2bfe2c6d464c3210429c03bd9d2f4421e85aafc9117d9c2f85ea97","nodeId":"4f2f3b4f-8b68-4310-95c2-8dd06329a4af","outcome":"completed","summary":"I found no defects in the economics. `.imd-findings.json` has an empty findings list and a coverage row for each of the three entry points, plus two invariant rows, all marked `holds`. I didn't write or run any Foundry tests, because no finding needed a proof. The JSON file passes a validity check.\n\n`src/SqueekToken.sol` is a plain OpenZeppelin ERC20 with nothing added. The constructor mints exactly 1,000,000,000 × 10^18 SQK once to `msg.sender`, which is the factory.\n\n- **Economic security:** there is no fee, tax, burn or hook on transfers. So the factory's transfer to the distributor, the pool seed, the remainder forward, distributor claims and swaps through the PoolManager all move exactly the amount stated. Nothing is short-delivered, and no swap or seed can revert because of the token.\n- **Invariants:** the supply stays fixed, because nothing can mint or burn after the constructor. Decimals are 18, matching the brief. There is no owner, pause, blacklist, freeze or upgrade path, so no privileged call can move or freeze a holder's balance.\n- **Flow gaps:** `approve`, `transfer` and `transferFrom` are the standard OpenZeppelin versions. An unlimited allowance is not reduced when spent, which is normal OpenZeppelin behaviour, not a defect.\n\nThe static-analysis leads were empty or harmless. Slither reported nothing. Aderyn's \"large numeric literal\" warning at line 10 is just the `INITIAL_SUPPLY` constant, and its value is correct.","treeHash":null,"usage":{"cachedInputTokens":95449,"inputTokens":6,"model":"claude-opus-5-5","outputTokens":1272,"runtime":"claude","turns":3,"wallClockMs":24871}},{"artifacts":[],"attempt":1,"bundleHash":"ee10b974a15fc5cbfa9f5e95d67a6f9e6356b0884e387e5a0da158d6c5db764e","device":"d021901979a78997","findings":[],"hash":"8b003594081ecad61aaaac4757505ef275e8e7d9c2bb1a11d148163e7ec6db85","nodeId":"15f4cd02-c15c-4bdf-b38e-6fae2adfae2c","outcome":"completed","summary":"Created [launch.json](/home/imd/.identitymd-2/work/e329ef86-81e3-4a29-9ebb-173c6337ff12/15f4cd02-c15c-4bdf-b38e-6fae2adfae2c/launch.json) matching `SqueekToken`, its constructor supply, and the exact pool and economics settings.\n\nManifest checks and `forge build` passed. `forge test` passed all 32 tests with the supplied fuzz seed. Only `launch.json` is changed for submission.","treeHash":"4965cbe6e515c03559976e6e3676505a37c9ce4b","usage":{"cachedInputTokens":205952,"inputTokens":32859,"model":"gpt-6-astra","outputTokens":2330,"runtime":"codex","turns":3,"wallClockMs":67633}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"382ebcfad965e0cd","findings":[],"hash":"931e7ee471507ab5fd2f29ce7e69d1248b314eafb213796dabd4e1dbc0e624d5","nodeId":"33795638-1e44-4d53-b90a-917c7e6783cb","outcome":"completed","summary":"I found no defects in SQUEEK (SQK), and `.imd-findings.json` holds an empty findings list.\n\n**What the code is:** `src/SqueekToken.sol` is an unmodified OpenZeppelin ERC20. Its constructor mints all 1,000,000,000 × 10¹⁸ SQK once, to the deployer (`msg.sender`), which is the factory in a launch. It has no owner, no extra mint or burn function, no pause, no fees and no overridden internal functions.\n\n**What I checked, using the Execution Trace, Periphery and First Principles guides:**\n- **`transfer` and `transferFrom`:** they move exactly the amount requested, with no fee or burn. So the factory's payments to the distributor and the pool, and trades through the PoolManager, arrive in full. They also make no callbacks, so there is nowhere for reentrancy to happen.\n- **`approve` and allowances:** the standard OpenZeppelin checks apply (owner and spender can't be the zero address), and `transferFrom` uses up the allowance, except an unlimited one.\n- **Supply:** it is fixed. The only mint is in the constructor and nothing can mint more later.\n- **Static analysis:** the aderyn \"large numeric literal\" note on line 10 is just the supply constant written out (`1_000_000_000 * 10 ** 18`). It's correct and not a defect.\n\n**Coverage:** all three entry points (`approve`, `transfer`, `transferFrom`) are marked `holds`, plus one row for the fixed-supply rule.\n\n**Tests:** the project's 32 existing tests pass locally. `forge test` still ended with exit code 2; I didn't track down why.\n\n**Not checked:**\n- I couldn't confirm which OpenZeppelin version is in `lib/`, because it has no `package.json`.\n- There is no `launch.json` yet, so I didn't review a manifest.","treeHash":null,"usage":{"cachedInputTokens":127674,"inputTokens":8,"model":"claude-opus-5-5","outputTokens":1513,"runtime":"claude","turns":4,"wallClockMs":29095}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"bf4c5b8707945096","findings":[],"hash":"a488cb7e65a9f691de27252a50a6cc4f4dcbab91cdc8ab1a8cbd01bafe85b8ad","nodeId":"0a04e766-2eac-4de5-b3c9-4e560cd768b1","outcome":"completed","summary":"I found no defects in the permissions area (Access Control, Trust Gap, Asymmetry), so `.imd-findings.json` holds an empty findings list. It also has coverage rows for all 3 listed entry points plus 4 invariants, every one marked `holds`. No tracked file was changed; the git tree is clean.\n\n**What the code is:** `src/SqueekToken.sol` is 17 lines. It inherits OpenZeppelin's ERC20 v5.0.2 and adds one thing: the constructor mints 10^27 units (1 billion SQK at 18 decimals) to whoever deploys it, which in the launch is the factory. I downloaded the upstream v5.0.2 archive. Its checksum matches `DEPENDENCIES.md`, and all six vendored files are byte-for-byte identical to it.\n\n**Access Control:** There are no owners, roles, modifiers, initializers, `receive`/`fallback` functions or proxies. Each state variable has only these writers:\n- **Balances:** a holder moving their own tokens, or a spender within an allowance the holder granted.\n- **Allowances:** `approve` sets only the caller's own allowance; `transferFrom` can only lower one.\n- **Supply, name and symbol:** set once in the constructor and never again.\n\nNo path can create or destroy tokens after deployment.\n\n**Trust Gap:** After deployment the factory has the same rights as any other holder. With no privileged actor, none of the guide's combined failure modes has anyone to exploit them.\n\n**Asymmetry:** No transfer treats any address differently: there are no fees and no exemptions. So the factory → distributor → claimant flow, the pool seed and trades all move exact amounts. I paired `approve` with `transferFrom` and `transfer` with `transferFrom`; the only differences are standard library behaviour that the README documents.\n\n**Checks I ran:**\n- `forge build` and the existing suite: 32 of 32 tests passed, including the stateful invariants.\n- A temporary scratch test deploying the token through a CREATE2 factory, now deleted. It confirmed the factory holds the full supply and the 10% swarm share arrives and is claimed exactly. Over 1,024 fuzz runs each, neither strangers nor the factory could pull a holder's tokens without an allowance, `approve` only ever wrote the caller's own allowance, and random function calls changed neither supply nor balances.\n- The static-analysis lead (the large number on line 10) is just the supply constant and is correct.\n\n**What I left out on purpose:**\n- **Zero-value `transferFrom`:** anyone can call it with no allowance, which emits a `Transfer(from, to, 0)` event. The ERC-20 standard requires zero-value transfers to be treated as normal, and the suite tests this behaviour deliberately.\n- **`approve` race:** `approve` replaces an allowance rather than adding to it, which can race a pending spend. This is standard ERC-20 and the README documents it.\n\n**Not covered:** I couldn't run the supplied protected launch tests. They need the network's factory, Uniswap v4 contracts and launch settings, none of which are in this repo, so the pool seed and swaps weren't run here. Because the token behaves identically for every address, I don't expect a problem there. No `launch.json` exists yet, so there was no manifest to check.","treeHash":null,"usage":{"cachedInputTokens":762766,"inputTokens":28,"model":"claude-opus-5-5","outputTokens":13274,"runtime":"claude","turns":18,"wallClockMs":150101}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"a7979f925df7a720","findings":[],"hash":"d2a9b1144e86d7eaaeba166efa6bc09380cd44996831a19a19a2b4638e2ce9f0","nodeId":"129653ed-b46b-47cd-b336-ffdd7d2cc38f","outcome":"completed","summary":"I found no defects in the math review of SQUEEK. `.imd-findings.json` has an empty findings list and a coverage row for each of the three entry points, all marked `holds`, plus two rows for the supply and decimals.\n\n**Why there's so little to check:** `src/SqueekToken.sol` adds only a constant and a constructor to OpenZeppelin's standard ERC20 (v5.0.0, unmodified). It does no division, casting, fees, rounding or scaling of its own, so most failure modes in the Math Precision and Numerical Gap guides have nothing to apply to.\n\nWhat I checked:\n- **Supply constant (`src/SqueekToken.sol:10`):** `1_000_000_000 * 10 ** 18` equals 1e27, exactly the 1 billion SQK with 18 decimals in the brief, and it is far from overflowing. It is minted once, to `msg.sender` in the constructor. There is no other mint or burn, and `decimals()` stays at the default 18. The aderyn warning about a \"large numeric literal\" on this line is a false lead: the value is correct.\n- **`transfer` and `transferFrom`:** the library checks the balance before every subtraction it leaves unchecked. Every unchecked addition stays at or below the total supply, so it can't wrap. I traced the edge inputs: zero amounts, the maximum possible amount, sending to yourself, and a transfer that fails after its allowance was already spent, which rolls back fully. Amounts move one-for-one with no fee or burn, so the launch transfers arrive exact.\n- **`approve` and allowances:** values are stored exactly as given. An unlimited (maximum) approval is never reduced. A smaller allowance is checked before it is reduced.\n- **Boundary guide:** the token makes no outside calls, has no payable functions, and decodes no raw input. Its only special-case branches are the zero-address checks, which reject transfers to or from the zero address and approvals from or to it.\n\nThe project's existing test suite passes (32 of 32). I wrote no proof tests because there was nothing to prove, and I changed no project files.\n\n**Not reviewed:** the factory, the Uniswap v4 pool seeding and the launch manifest aren't in this tree, so I couldn't check them.","treeHash":null,"usage":{"cachedInputTokens":289799,"inputTokens":16,"model":"claude-opus-5-5","outputTokens":3056,"runtime":"claude","turns":8,"wallClockMs":42351}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"e49531c471ac7158","findings":[],"hash":"dc32345c52ad1677a5225034fb598cfab038d85372622b741c144a83b3036150","nodeId":"0542c2f1-1f6e-4720-9c77-fa1c363d096f","outcome":"completed","summary":"I found no defects in the SQUEEK audit, and I wrote `.imd-findings.json` with an empty findings list and a coverage row for each of the three entry points.\n\n- **Specialist reports:** none of the five (tests, flow, math, permissions, economics) reported a finding, so there was nothing to reproduce or merge.\n- **The code:** `src/SqueekToken.sol` is a standard OpenZeppelin ERC-20 with nothing changed. The constructor mints 1,000,000,000 × 10^18 once to `msg.sender`, which is the factory at launch. There is no other mint, no transfer fee or burn, no owner or admin role, and nothing that pauses, blacklists, freezes or seizes balances.\n- **Coverage:** `approve`, `transfer` and `transferFrom` are all marked `holds`. Transfers move the exact amount, so the factory's transfers to the distributor, the pool seed, and trades through the PoolManager all arrive in full.\n- **Manifest:** `launch.json` agrees with the code: an empty `constructorArgs` for the no-argument constructor, `totalSupply` of `1000000000000000000000000000`, and decimals 18.\n- **Static analysis:** aderyn's one low lead, the large number at line 10, is just the supply constant and is correct.\n- **Tests:** `forge test` ran 51 tests across 3 suites and all passed, but forge exited with code 2 anyway. I didn't look into why; it may be the protected floor tests failing to build.","treeHash":null,"usage":{"cachedInputTokens":140132,"inputTokens":8,"model":"claude-opus-5-5","outputTokens":1189,"runtime":"claude","turns":4,"wallClockMs":30184}}],"verification":[{"checks":[{"durationMs":2447,"exitCode":0,"name":"build","output":"Compiling 29 files with Solc 0.8.26\nSolc 0.8.26 finished in 2.34s\nCompiler run successful!\n","passed":true},{"durationMs":14436,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 31 tests for test/SqueekToken.t.sol:SqueekTokenTest\n[PASS] testFuzz_delegatedTransferConservesSupplyAndAllowance(uint256,uint256) (runs: 1024, μ: 161260, ~: 163604)\nLogs:\n  Bound result 0\n\n[PASS] testFuzz_excessTransferRevertsAtomically(uint256,uint256) (runs: 1024, μ: 137483, ~: 137707)\nLogs:\n  Bound result 255\n  Bound result 24345\n\n[PASS] testFuzz_transferConservesSupply(address,uint256) (runs: 1024, μ: 92981, ~: 93236)\nLogs:\n  Bound result 263249802351106074346566275\n\n[PASS] testFuzz_transferToZeroReverts(uint256) (runs: 1024, μ: 58228, ~: 58170)\n[PASS] test_approvalBelongsOnlyToCaller() (gas: 127236)\n[PASS] test_approvalCanBeReplacedAndRevoked() (gas: 170542)\n[PASS] test_approveEmitsEventWithoutMovingTokens() (gas: 88843)\n[PASS] test_approveZeroSpenderReverts() (gas: 37618)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 9677)\n[PASS] test_create2MintsToFactoryAndNotItsCaller() (gas: 248838)\n[PASS] test_deployerCannotSpendHolderTokensWithoutApproval() (gas: 157921)\n[PASS] test_factoryDistributionAndSubsequentTransfersAreExact() (gas: 575672)\n[PASS] test_fullBalanceCanMoveAndReturn() (gas: 159464)\n[PASS] test_maxAllowanceIsNotDecremented() (gas: 139443)\n[PASS] test_metadataAndInitialSupply() (gas: 107606)\n[PASS] test_noMintBurnPauseOwnershipOrUpgradeEntryPoints() (gas: 1211407)\n[PASS] test_plainEtherTransferReverts() (gas: 45277)\n[PASS] test_runtimeHasNoPrivilegedExecutionOpcodes() (gas: 785717)\n[PASS] test_selfTransferPreservesBalance() (gas: 51410)\n[PASS] test_selfTransferStillRequiresBalance() (gas: 35765)\n[PASS] test_transferAboveBalanceRevertsWithoutChanges() (gas: 120038)\n[PASS] test_transferFromAboveAllowanceRevertsWithoutChanges() (gas: 115735)\n[PASS] test_transferFromAboveBalanceRestoresAllowance() (gas: 126241)\n[PASS] test_transferFromSelfConsumesAllowanceWithoutChangingBalance() (gas: 105334)\n[PASS] test_transferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 242046)\n[PASS] test_transferFromToZeroRestoresAllowance() (gas: 124714)\n[PASS] test_transferMaxUintRevertsWithoutOverflow() (gas: 54976)\n[PASS] test_transferMovesExactAmountAndEmitsEvent() (gas: 91572)\n[PASS] test_transferToContractDoesNotCallRecipient() (gas: 171743)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 73422)\n[PASS] test_zeroTransferFromWithoutAllowanceSucceeds() (gas: 78718)\nSuite result: ok. 31 passed; 0 failed; 0 skipped; finished in 234.52ms (769.16ms CPU time)\n\nRan 19 tests for test/SqueekToken.adversarial.t.sol:SqueekTokenAdversarialTest\n[PASS] testFuzz_approvalReplacementIsIdempotentAndIsolated(uint256,uint256) (runs: 1024, μ: 318189, ~: 318924)\n[PASS] testFuzz_insufficientAllowanceRevertsAtomically(uint256,uint256,uint256) (runs: 1024, μ: 255901, ~: 257608)\nLogs:\n  Bound result 816066178712998423682004356\n  Bound result 352451902757131756736343069\n  Bound result 706395682152924415080651247\n\n[PASS] testFuzz_insufficientBalanceRestoresFiniteAllowance(uint256,uint256,uint256) (runs: 1024, μ: 262914, ~: 263395)\nLogs:\n  Bound result 1591\n  Bound result 1592\n  Bound result 421105731612801069022355756354514309747165395286450818684330093285\n\n[PASS] testFuzz_roundTripPreservesBalancesAndApprovals(uint256,uint256,uint256) (runs: 1024, μ: 321128, ~: 322250)\nLogs:\n  Bound result 439713950476660364533952146\n  Bound result 124491249808552345164941350\n\n[PASS] testFuzz_splitSpendingMatchesSingleSpending(uint256,uint256) (runs: 1024, μ: 384081, ~: 386231)\nLogs:\n  Bound result 866065946089620389942425483\n  Bound result 47994836978862684716813561\n\n[PASS] testFuzz_unlimitedApprovalSurvivesRepeatedSpending(uint256,uint256) (runs: 1024, μ: 697807, ~: 719130)\nLogs:\n  Bound result 9717\n  Bound result 4\n\n[PASS] test_approvalCannotBeBorrowedFromAnotherSpender() (gas: 130664)\n[PASS] test_balanceFailureRetainsApprovalForRetryAfterFunding() (gas: 319724)\n[PASS] test_delegatedSelfTransferStillRequiresBalance() (gas: 176014)\n[PASS] test_invalidRecipientRetainsApprovalForRetry() (gas: 216394)\n[PASS] test_maxMinusOneAllowanceIsFinite() (gas: 147540)\n[PASS] test_oneWeiCanMoveAndReturnThroughAllowance() (gas: 213391)\n[PASS] test_ownerNeedsSelfApprovalForTransferFrom() (gas: 247880)\n[PASS] test_returningTokensDoesNotRestoreSpentAllowance() (gas: 261852)\n[PASS] test_revokingOneSpenderPreservesTheOther() (gas: 275421)\n[PASS] test_unlimitedAllowanceCannotSpendMaxUintBalance() (gas: 130908)\n[PASS] test_unlimitedApprovalCanBeReplacedWithFiniteAllowance() (gas: 267293)\n[PASS] test_zeroAddressIsRejectedEvenForZeroAmount() (gas: 178914)\n[PASS] test_zeroDelegatedTransferEmitsEventAndKeepsAllowance() (gas: 141214)\nSuite result: ok. 19 passed; 0 failed; 0 skipped; finished in 236.97ms (1.39s CPU time)\n\nRan 1 test for test/SqueekToken.invariant.t.sol:SqueekTokenInvariantTest\n[PASS]\nSqueekTokenInvariantTest invariants:\n[PASS] invariant_allowancesMatchIndependentLedger\n[PASS] invariant_supplyAndBalancesMatchIndependentLedger\n SqueekTokenInvariantTest invariants (runs: 256, calls: 32768, reverts: 0)\n\n╭---------------+----------------+-------+---------+----------╮\n| Contract      | Selector       | Calls | Reverts | Discards |\n+=============================================================+\n| SqueekHandler | approve        | 8165  | 0       | 0        |\n|---------------+----------------+-------+---------+----------|\n| SqueekHandler | invalidAddress | 8180  | 0       | 0        |\n|---------------+----------------+-------+---------+----------|\n| SqueekHandler | transfer       | 8272  | 0       | 0        |\n|---------------+----------------+-------+---------+----------|\n| SqueekHandler | transferFrom   | 8151  | 0       | 0        |\n╰---------------+----------------+-------+---------+----------╯\n\nLogs:\n  Bound result 1000000000000000000000000000\n  Bound result 80\n  Bound result 8853\n  Bound result 0\n  Bound result 0\n  Bound result 795\n  Bound result 417380\n  Bound result 24576\n  Bound result 0\n  Bound result 9\n  Bound result 127\n  Bound result 0\n  Bound result 96\n  Bound result 3249893091702775938639093\n  Bound result 0\n  Bound result 61476103041393003591664238069548990149882097353140254119203135067795\n  Bound result 14162562771528070398\n  Bound result 8187\n  Bound result 0\n  Bound result 0\n  Bound result 2190975109531897033143487934802905319\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007916171602596\n  Bound result 0\n  Bound result 0\n  Bound result 50000000000000000000\n  Bound result 4870095065500682407547191344831903318349510796728701548707885943404\n  Bound result 1\n  Bound result 0\n  Bound result 9163\n  Bound result 934356820123772854745352238406916002518232175437\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129664053\n  Bound result 0\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639933\n  Bound result 6665\n  Bound result 0\n  Bound result 1554\n  Bound result 8191\n  Bound result 1000000000\n  Bound result 0\n  Bound result 3203\n  Bound result 6455\n  Bound result 5484\n  Bound result 18\n  Bound result 20000000000000000000\n  Bound result 1\n  Bound result 0\n  Bound result 0\n  Bound result 13\n  Bound result 13\n  Bound result 0\n  Bound result 1857123999\n  Bound result 95\n  Bound result 0\n  Bound result 7\n  Bound result 804\n  Bound result 6320\n  Bound result 907445620661416211639325172\n  Bound result 174090833288212898\n  Bound result 1756\n  Bound result 1604\n  Bound result 0\n  Bound result 7\n  Bound result 115792089237316195423570985008687907853269984665639564039457758098746417876268\n  Bound result 8\n  Bound result 100899632493282518378\n  Bound result 0\n  Bound result 1591\n  Bound result 0\n  Bound result 8\n  Bound result 115792089237316195423570985008687907853269984665640564039457409917079841414591\n  Bound result 115792089237316195423570985008687907853269984665639564039457758098746417880499\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639933\n  Bound result 118371851168\n  Bound result 9088\n  Bound result 376\n  Bound result 115792089237316195423570985008687907853269984665639564039457758098746417879407\n  Bound result 196\n  Bound result 1000000000\n  Bound result 9\n  Bound result 0\n  Bound result 106191792450637037529520449552179307727636770464359096509329603823913554068312\n  Bound result 115792089237316195423570985008687907853269984665640564039457409917079841409552\n  Bound result 0\n  Bound result 81\n  Bound result 9\n  Bound result 115792089237316195423570985008687907853269984665639564039457758098746417875435\n  Bound result 1343\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 14.31s (14.31s CPU time)\n\nRan 3 test suites in 14.31s (14.78s CPU time): 51 tests passed, 0 failed, 0 skipped (51 total tests)\n","passed":true},{"durationMs":73,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"SqueekToken.approve(address,uint256)\",\"SqueekToken.transfer(address,uint256)\",\"SqueekToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"DEPENDENCIES.md\":17,\"README.md\":58,\"foundry.toml\":18,\"remappings.txt\":2,\"src/SqueekToken.sol\":17,\"test/SqueekToken.adversarial.t.sol\":369,\"test/SqueekToken.invariant.t.sol\":188,\"test/SqueekToken.t.sol\":402,\"test/helpers/TokenFactory.sol\":18},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"014653f52b132561a3cfc871bced325851daa09c134ae99eb74f8394925fbb0f","verifiedTreeHash":"52db7586147e23c003e5709506ff047bfb0ba47c","verifierVersion":"0.1.0+c3fba9eb"},{"checks":[{"durationMs":1167,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.10s\nCompiler run successful!\n","passed":true},{"durationMs":2748,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 31 tests for test/SqueekToken.t.sol:SqueekTokenTest\n[PASS] testFuzz_delegatedTransferConservesSupplyAndAllowance(uint256,uint256) (runs: 1024, μ: 161246, ~: 163604)\nLogs:\n  Bound result 416259519443348485500021766\n\n[PASS] testFuzz_excessTransferRevertsAtomically(uint256,uint256) (runs: 1024, μ: 137521, ~: 137667)\nLogs:\n  Bound result 373971026648286837589541738\n  Bound result 31055622251461015416657346518028747334138039295825910212337328\n\n[PASS] testFuzz_transferConservesSupply(address,uint256) (runs: 1024, μ: 92992, ~: 93236)\nLogs:\n  Bound result 413281367929509808594045523\n\n[PASS] testFuzz_transferToZeroReverts(uint256) (runs: 1024, μ: 58224, ~: 58170)\n[PASS] test_approvalBelongsOnlyToCaller() (gas: 127236)\n[PASS] test_approvalCanBeReplacedAndRevoked() (gas: 170542)\n[PASS] test_approveEmitsEventWithoutMovingTokens() (gas: 88843)\n[PASS] test_approveZeroSpenderReverts() (gas: 37618)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 9677)\n[PASS] test_create2MintsToFactoryAndNotItsCaller() (gas: 248838)\n[PASS] test_deployerCannotSpendHolderTokensWithoutApproval() (gas: 157921)\n[PASS] test_factoryDistributionAndSubsequentTransfersAreExact() (gas: 575672)\n[PASS] test_fullBalanceCanMoveAndReturn() (gas: 159464)\n[PASS] test_maxAllowanceIsNotDecremented() (gas: 139443)\n[PASS] test_metadataAndInitialSupply() (gas: 107606)\n[PASS] test_noMintBurnPauseOwnershipOrUpgradeEntryPoints() (gas: 1211407)\n[PASS] test_plainEtherTransferReverts() (gas: 45277)\n[PASS] test_runtimeHasNoPrivilegedExecutionOpcodes() (gas: 785717)\n[PASS] test_selfTransferPreservesBalance() (gas: 51410)\n[PASS] test_selfTransferStillRequiresBalance() (gas: 35765)\n[PASS] test_transferAboveBalanceRevertsWithoutChanges() (gas: 120038)\n[PASS] test_transferFromAboveAllowanceRevertsWithoutChanges() (gas: 115735)\n[PASS] test_transferFromAboveBalanceRestoresAllowance() (gas: 126241)\n[PASS] test_transferFromSelfConsumesAllowanceWithoutChangingBalance() (gas: 105334)\n[PASS] test_transferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 242046)\n[PASS] test_transferFromToZeroRestoresAllowance() (gas: 124714)\n[PASS] test_transferMaxUintRevertsWithoutOverflow() (gas: 54976)\n[PASS] test_transferMovesExactAmountAndEmitsEvent() (gas: 91572)\n[PASS] test_transferToContractDoesNotCallRecipient() (gas: 171743)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 73422)\n[PASS] test_zeroTransferFromWithoutAllowanceSucceeds() (gas: 78718)\nSuite result: ok. 31 passed; 0 failed; 0 skipped; finished in 29.22ms (117.24ms CPU time)\n\nRan 1 test for test/SqueekToken.invariant.t.sol:SqueekTokenInvariantTest\n[PASS]\nSqueekTokenInvariantTest invariants:\n[PASS] invariant_allowancesMatchIndependentLedger\n[PASS] invariant_supplyAndBalancesMatchIndependentLedger\n SqueekTokenInvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭---------------+--------------+-------+---------+----------╮\n| Contract      | Selector     | Calls | Reverts | Discards |\n+===========================================================+\n| SqueekHandler | approve      | 2674  | 0       | 0        |\n|---------------+--------------+-------+---------+----------|\n| SqueekHandler | transfer     | 2758  | 0       | 0        |\n|---------------+--------------+-------+---------+----------|\n| SqueekHandler | transferFrom | 2760  | 0       | 0        |\n╰---------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 96\n  Bound result 4415\n  Bound result 0\n  Bound result 743\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 11\n  Bound result 7253\n  Bound result 0\n  Bound result 11\n  Bound result 874\n  Bound result 0\n  Bound result 10000000000000000001\n  Bound result 0\n  Bound result 584\n  Bound result 503\n  Bound result 21634109496\n  Bound result 0\n  Bound result 6\n  Bound result 95\n  Bound result 242\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 3332\n  Bound result 18\n  Bound result 0\n  Bound result 4\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.67s (2.66s CPU time)\n\nRan 2 test suites in 2.67s (2.70s CPU time): 32 tests passed, 0 failed, 0 skipped (32 total tests)\n","passed":true},{"durationMs":42,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"SqueekToken.approve(address,uint256)\",\"SqueekToken.transfer(address,uint256)\",\"SqueekToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"DEPENDENCIES.md\":17,\"README.md\":58,\"foundry.toml\":18,\"remappings.txt\":2,\"src/SqueekToken.sol\":17,\"test/SqueekToken.invariant.t.sol\":130,\"test/SqueekToken.t.sol\":402,\"test/helpers/TokenFactory.sol\":18},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":404,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":219,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/SqueekToken.sol:10: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"41c6b45d8b5623afc14121ca233a16808cbce258f2ac9d12548e18eb20df9889","verifiedTreeHash":"ff853e1b7b3d8878df250173c1584329bd88da10","verifierVersion":"0.1.0+c3fba9eb"},{"checks":[{"durationMs":1237,"exitCode":0,"name":"build","output":"Compiling 28 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.15s\nCompiler run successful!\n","passed":true},{"durationMs":2698,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 31 tests for test/SqueekToken.t.sol:SqueekTokenTest\n[PASS] testFuzz_delegatedTransferConservesSupplyAndAllowance(uint256,uint256) (runs: 1024, μ: 161246, ~: 163604)\nLogs:\n  Bound result 0\n\n[PASS] testFuzz_excessTransferRevertsAtomically(uint256,uint256) (runs: 1024, μ: 137521, ~: 137667)\nLogs:\n  Bound result 10000000000000000000\n  Bound result 24345\n\n[PASS] testFuzz_transferConservesSupply(address,uint256) (runs: 1024, μ: 92992, ~: 93236)\nLogs:\n  Bound result 10000000000000000000\n\n[PASS] testFuzz_transferToZeroReverts(uint256) (runs: 1024, μ: 58224, ~: 58170)\n[PASS] test_approvalBelongsOnlyToCaller() (gas: 127236)\n[PASS] test_approvalCanBeReplacedAndRevoked() (gas: 170542)\n[PASS] test_approveEmitsEventWithoutMovingTokens() (gas: 88843)\n[PASS] test_approveZeroSpenderReverts() (gas: 37618)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 9677)\n[PASS] test_create2MintsToFactoryAndNotItsCaller() (gas: 248838)\n[PASS] test_deployerCannotSpendHolderTokensWithoutApproval() (gas: 157921)\n[PASS] test_factoryDistributionAndSubsequentTransfersAreExact() (gas: 575672)\n[PASS] test_fullBalanceCanMoveAndReturn() (gas: 159464)\n[PASS] test_maxAllowanceIsNotDecremented() (gas: 139443)\n[PASS] test_metadataAndInitialSupply() (gas: 107606)\n[PASS] test_noMintBurnPauseOwnershipOrUpgradeEntryPoints() (gas: 1211407)\n[PASS] test_plainEtherTransferReverts() (gas: 45277)\n[PASS] test_runtimeHasNoPrivilegedExecutionOpcodes() (gas: 785717)\n[PASS] test_selfTransferPreservesBalance() (gas: 51410)\n[PASS] test_selfTransferStillRequiresBalance() (gas: 35765)\n[PASS] test_transferAboveBalanceRevertsWithoutChanges() (gas: 120038)\n[PASS] test_transferFromAboveAllowanceRevertsWithoutChanges() (gas: 115735)\n[PASS] test_transferFromAboveBalanceRestoresAllowance() (gas: 126241)\n[PASS] test_transferFromSelfConsumesAllowanceWithoutChangingBalance() (gas: 105334)\n[PASS] test_transferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 242046)\n[PASS] test_transferFromToZeroRestoresAllowance() (gas: 124714)\n[PASS] test_transferMaxUintRevertsWithoutOverflow() (gas: 54976)\n[PASS] test_transferMovesExactAmountAndEmitsEvent() (gas: 91572)\n[PASS] test_transferToContractDoesNotCallRecipient() (gas: 171743)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 73422)\n[PASS] test_zeroTransferFromWithoutAllowanceSucceeds() (gas: 78718)\nSuite result: ok. 31 passed; 0 failed; 0 skipped; finished in 35.21ms (89.72ms CPU time)\n\nRan 1 test for test/SqueekToken.invariant.t.sol:SqueekTokenInvariantTest\n[PASS]\nSqueekTokenInvariantTest invariants:\n[PASS] invariant_allowancesMatchIndependentLedger\n[PASS] invariant_supplyAndBalancesMatchIndependentLedger\n SqueekTokenInvariantTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭---------------+--------------+-------+---------+----------╮\n| Contract      | Selector     | Calls | Reverts | Discards |\n+===========================================================+\n| SqueekHandler | approve      | 2674  | 0       | 0        |\n|---------------+--------------+-------+---------+----------|\n| SqueekHandler | transfer     | 2758  | 0       | 0        |\n|---------------+--------------+-------+---------+----------|\n| SqueekHandler | transferFrom | 2760  | 0       | 0        |\n╰---------------+--------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 96\n  Bound result 4415\n  Bound result 0\n  Bound result 743\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 11\n  Bound result 7253\n  Bound result 0\n  Bound result 11\n  Bound result 874\n  Bound result 0\n  Bound result 10000000000000000001\n  Bound result 0\n  Bound result 584\n  Bound result 503\n  Bound result 21634109496\n  Bound result 0\n  Bound result 6\n  Bound result 95\n  Bound result 242\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 3332\n  Bound result 18\n  Bound result 0\n  Bound result 4\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.59s (2.59s CPU time)\n\nRan 2 test suites in 2.59s (2.63s CPU time): 32 tests passed, 0 failed, 0 skipped (32 total tests)\n","passed":true},{"durationMs":44,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"SqueekToken.approve(address,uint256)\",\"SqueekToken.transfer(address,uint256)\",\"SqueekToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":3,\"DEPENDENCIES.md\":17,\"README.md\":58,\"foundry.toml\":18,\"launch.json\":24,\"remappings.txt\":2,\"src/SqueekToken.sol\":17,\"test/SqueekToken.invariant.t.sol\":130,\"test/SqueekToken.t.sol\":402,\"test/helpers/TokenFactory.sol\":18},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"8b003594081ecad61aaaac4757505ef275e8e7d9c2bb1a11d148163e7ec6db85","verifiedTreeHash":"4965cbe6e515c03559976e6e3676505a37c9ce4b","verifierVersion":"0.1.0+c3fba9eb"}]}