{"assessments":[],"deployments":[{"attestationHash":"3267f427996da82b76c93c5c253af696097a450fa4a6afc8e76ceb2969de2578","chainId":1,"contracts":[{"address":"0xc2f518d88fb00100139c16ffb41cfb7ee2d58273","blockNumber":26293321,"name":"SqueekToken","role":"token","txHash":"0xe9f8ab83250aa803028c83fae2b7a512169504e4aee5e93ac1180203b21ae9c8"},{"address":"0xb90a3847e8d29185b74534ff3b998bc9f740a031","blockNumber":26293321,"name":"MerkleDistributor","role":"distributor","txHash":"0xe9f8ab83250aa803028c83fae2b7a512169504e4aee5e93ac1180203b21ae9c8"},{"address":"0x784ff9a3ac5d88a30bfff6f7f2a270161fbe6000","blockNumber":26293321,"name":"PoolInitializationGuard","role":"hook","txHash":"0xe9f8ab83250aa803028c83fae2b7a512169504e4aee5e93ac1180203b21ae9c8"}],"id":"527608d0-392d-4096-b894-442fc14fef2b","manifestHash":"72f3904fd331ea5bfba25779c06605f016f6a3fc16058ad263d8aa00c4ee384b","status":"live"}],"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":"04267cfd-255e-4a42-96d1-5919255d8cd4","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"ecd35e5040a09cdd6a6cfb73c000b05a64915561546150dd73eadb6b5ec084c8","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":"87ae6ba7bc3369fff158fce169954e615c27ea026095c1cc409a4ffbe7146fa7","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":"82d3ea5d37d12f95fa2f1b194e93ef472ca534ade32b054a863bff7eb953f729","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":"6a93c6592f3b4af9e48af749a724bfdb5cc051b64590ca3406b4b5e2a4c05c0d","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":"76d7e686e694622885309facb0cefda44e75eeaf681272fd9d8fbffaf6484200","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":"1cebb06fbf377b54ba7f4f1ea3b13121bc5ff7ba4ac616a5d4a5e8f8b40e41c9","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":"e3da2cd80cc505ecf260a4bba012a22936434855494daf383864bb39821adc4b","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"ec6cb8ab3450af9d04ffba25211388f5dcab99ad0bdda1327f78cd8b5565c250","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: 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":"8548b49db5d3c506e64a2527e8de9f9171608ac3ef8f0aa566f177badec14c3e","previousHash":"70db04cfa328ef6549a058fec301b1ee1bcc00c1bfe73f8a88ed7638d830cbd3","projectId":"04267cfd-255e-4a42-96d1-5919255d8cd4","publication":{"commit":"9e40e75f1b4605344d0d9f98c7e3b4c63149c77e","deliveredAt":"2026-10-28T19:26:55.254Z","repoUrl":"https://github.com/identity-md-launches/launch-2645-squeek"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[],"site":null,"snapshotHash":"5d6c1b042a841a0eac65468f1737ac4e7a448441c452f5d21b12deeaded444ac","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":"f1a59a76960885e6332d024010c4628b5e6b6dbe19a6dc0bd0bf81176b75bcf0","device":"d9470c79e5f391aa","findings":[],"hash":"1cebb06fbf377b54ba7f4f1ea3b13121bc5ff7ba4ac616a5d4a5e8f8b40e41c9","nodeId":"a50f270b-5718-4665-9f63-56d185ef4511","outcome":"completed","summary":"Implemented squeek (SQK): 18 decimals, 1 billion tokens minted once to the deployer, with no administrative powers.\n\nIncluded vendored dependencies, tests, and deployment/operations documentation.\n\nPassed `forge build`, `forge test` (34 tests), `forge fmt --check`, and a clean offline build.\n\nAn additional fully empty-environment run hit a Foundry runtime error: `could not detect user home directory`.","treeHash":"9dcf72780928067a53e1993ad21d31f58c91a711","usage":{"cachedInputTokens":462208,"inputTokens":61317,"model":"gpt-6-astra","outputTokens":17610,"runtime":"codex","turns":5,"wallClockMs":520299}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"5dc170d977094c92","findings":[],"hash":"6a93c6592f3b4af9e48af749a724bfdb5cc051b64590ca3406b4b5e2a4c05c0d","nodeId":"dc59b399-d841-4b3f-84fc-f4c0161d007c","outcome":"completed","summary":"The math review of the squeek (SQK) token found no defects. The findings file at `.imd-findings.json` holds an empty findings list and ten coverage rows, all `holds`.\n\n**What was reviewed.** The token is a 16-line contract: one constant and one constructor that mints it, inheriting OpenZeppelin v5.1.0 ERC20 unchanged. I checked it against every failure mode in the Math Precision, Boundary and Numerical Gap guides.\n\n- **Precision.** The supply literal folds to exactly 1e27. It divides evenly by 10**18, 1,000 and 10,000, so the launch floor's swarm, pool and probe shares leave no remainder and sum back to the supply. There is no division, downcast, decimal scaling, or share math anywhere in the contract.\n- **Boundary.** No external calls, no payable or fallback path, no bytes decoding. The only sentinel branches are the zero-address checks, and each reverts rather than silently succeeding. Allowance at max is infinite, max minus one is finite and decrements, allowance equal to the amount spends to zero, and a zero-address source fails in the allowance path.\n- **Numerical gap.** The sum of balances equals totalSupply exactly under the project's stateful invariant suite and my own split-and-merge fuzz. The runtime ABI exposes only approve, transfer, transferFrom and views, so no path can ever grow or shrink the supply after construction.\n\n**Verification performed.** The full project suite passed with the verifier seed, 34 tests including 256 invariant runs with zero reverts. Eight scratch tests I wrote for the edges above all passed and were then removed. All five vendored OpenZeppelin files hash identically to upstream at the pinned commit. A reachability scan of the runtime bytecode finds no DELEGATECALL, CALLCODE or SELFDESTRUCT. The aderyn \"large numeric literal\" lead is stylistic only and is not reported.\n\n**Not covered.** Nothing in my area was left unreached. Permissions, economics and control flow belong to the other three specialists, though the entry points were all traced end to end here since the contract is so small.","treeHash":null,"usage":{"cachedInputTokens":518765,"inputTokens":226,"model":"claude-fable-5-1","outputTokens":13051,"runtime":"claude","turns":26,"wallClockMs":220698}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"47f3603854a893a3","findings":[],"hash":"76d7e686e694622885309facb0cefda44e75eeaf681272fd9d8fbffaf6484200","nodeId":"ac71c87b-70c3-4178-80d0-993087efb4c2","outcome":"completed","summary":"I found no defects in SqueekToken's permissions, and `.imd-findings.json` holds an empty findings list with a coverage row for each entry point.\n\n**What I reviewed:** `src/SqueekToken.sol` is a 16-line contract that inherits the vendored OpenZeppelin v5 `ERC20` (it uses the v5 `_update` hook) without changing it. The constructor mints `INITIAL_SUPPLY` (1,000,000,000 × 10^18) once to `msg.sender`, the factory. It adds no functions of its own.\n\n**The three guides:**\n- **Access Control:** there is no owner or role system, and no mint, burn, pause, blacklist, freeze or upgrade function. Nobody holds any role after deployment, and the supply cannot grow.\n- **Trust Gap:** the token makes no external calls and has no hooks, callbacks or special-cased addresses. That means the transfers from the factory, the PoolManager and the distributor move exactly what they say.\n- **Asymmetry:** `transfer` and `transferFrom` both go through the same `_update` path, so buys and sells through the pool behave the same. `transferFrom` checks and spends the allowance before moving anything, and a maximum allowance is never reduced. `approve` only ever sets the caller's own allowance.\n\n**Coverage:** all three entry points (`approve`, `transfer`, `transferFrom`) are marked `holds`, each with a reason. I added two invariant rows: no privileged role or supply growth, and no trust gap or asymmetry. Nothing in the area went unreached.\n\n**Leads:** Slither reported nothing. Aderyn's only line, the large numeric literal at line 11, is the intended supply constant and not a defect.\n\n**Tests:** the existing suite passes, 34 of 34 including the invariant run. I modified no repository files. The findings file is ignored by git and is the only thing I wrote.","treeHash":null,"usage":{"cachedInputTokens":143623,"inputTokens":12,"model":"claude-opus-5-5","outputTokens":2029,"runtime":"claude","turns":6,"wallClockMs":37116}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"81314195390981c7","findings":[],"hash":"82d3ea5d37d12f95fa2f1b194e93ef472ca534ade32b054a863bff7eb953f729","nodeId":"cf7f602e-36b4-4317-ab10-56fb85dde671","outcome":"completed","summary":"I found no defects in the squeek (SQK) token, so the findings list in `.imd-findings.json` is empty. All three entry points are marked `holds`, and two extra rows cover the invariants I checked.\n\n- **Specialists and tools:** none of the four specialists or the independent tester reported anything, so there was nothing to reproduce or merge. Slither found nothing. Aderyn flagged one low item, a \"large numeric literal\" at `src/SqueekToken.sol:11`. That line is just `1_000_000_000 * 10 ** 18`, the intended supply of 10^27 base units, so it isn't a defect.\n- **The code:** `SqueekToken` is the vendored OpenZeppelin v5.1 ERC20 with nothing changed. Its constructor takes no arguments and mints the whole supply once to whoever deploys it. It has no other mint or burn, no owner, no fees, no pause or blacklist, and no upgrade path. I read the vendored ERC20 source and confirmed its standard behaviour:\n  - `approve` reverts if the spender is the zero address.\n  - `transferFrom` doesn't reduce an unlimited allowance and reverts if the allowance is too small.\n  - `transfer` moves exactly the amount asked for and reverts if the balance is too low or the receiver is the zero address.\n- **Launch flows:** since nothing is taxed or burned, the swarm's 10% share, the pool seed and pool swaps all move exact amounts.\n- **Manifest and deployment:** `launch.json` matches the code. Constructor arguments are `[]`, supply is `1000000000000000000000000000`, and decimals are 18. The contract name `SqueekToken` is within the 32-character limit. The deployed code is about 1.75 KB, far under the 24,576-byte limit, and contains no DELEGATECALL or SELFDESTRUCT. `foundry.toml` sets `bytecode_hash = \"none\"`, as the launch requires.\n- **Tests:** the project's own tests pass (47 of 47). I didn't run the protected floor tests, because they need the launch's environment variables.\n\nI didn't change any repository files. The findings file was the only thing I wrote, and it is excluded from git, so the working tree is still clean.","treeHash":null,"usage":{"cachedInputTokens":182507,"inputTokens":12,"model":"claude-opus-5-5","outputTokens":2616,"runtime":"claude","turns":6,"wallClockMs":44132}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"6f41bd9b44d3e708","findings":[],"hash":"87ae6ba7bc3369fff158fce169954e615c27ea026095c1cc409a4ffbe7146fa7","nodeId":"7b11657a-e574-4dfc-b677-9485c31021c7","outcome":"completed","summary":"I found no defects in squeek (SQK) in my area: execution flow, the libraries it depends on, and its basic assumptions. `.imd-findings.json` has an empty findings list and a coverage row for each of the three entry points, all `holds`.\n\n**What the code is.** `src/SqueekToken.sol` is a plain OpenZeppelin v5.1.0 ERC-20. Its constructor mints `INITIAL_SUPPLY = 1_000_000_000 * 10 ** 18` (10^27 base units) once to `msg.sender`. It adds nothing on top: no extra functions, fees, hooks, owner, `fallback` or `receive`.\n\n**How I checked it:**\n- **Dependencies:** I downloaded the five vendored OpenZeppelin files (`ERC20`, `IERC20`, `IERC20Metadata`, `Context`, `draft-IERC6093`) at the pinned commit `69c8def` and compared them. All five are byte-identical, so `_msgSender`, `_update` and `_spendAllowance` are the standard code.\n- **Execution trace:**\n  - `transfer`: zero addresses are rejected, and the balance check comes before the unchecked subtraction. The unchecked credit can't overflow because the supply is fixed at 10^27. A self-transfer leaves the balance unchanged.\n  - `transferFrom`: spending the allowance and moving the tokens happen in one call. If it reverts, both changes roll back. A `type(uint256).max` allowance skips only the decrement, not the balance or address checks. `from = 0` reverts.\n  - `approve`: rejects a zero owner or spender and simply overwrites the allowance. The usual ERC-20 race when changing an allowance is standard behaviour and the README documents it.\n  - No path reaches `_mint` or `_burn` after construction.\n- **Launch flows:** transfers move exactly the stated amount, with no fees or callbacks. The factory → distributor → claimant and PoolManager settle flows therefore arrive whole.\n- **Bytecode:** a scan of the reachable code in the 1,752-byte compiled runtime found no DELEGATECALL, CALLCODE, SELFDESTRUCT, CALL or CREATE. The ABI has only the standard ERC-20 functions.\n- **Tests:** `forge build` succeeded. `forge test` with the verifier's seed passed 34 of 34 tests (unit, fuzz and invariant).\n- **Static analysis:** aderyn's only line, a large numeric literal at `src/SqueekToken.sol:11`, is a style note and not a defect. Slither reported nothing.\n\n**What I didn't run:** the protected suite. It needs the network's launch harness (`floor/`, `LaunchLiquidity`, v4-core and its environment variables), which isn't in this tree. I checked the token against each of its assertions by reading the code instead.\n\nI changed no files. The untracked dotfiles in the repo root are `/dev/null` device nodes that the sandbox mounts, not files written by this review.","treeHash":null,"usage":{"cachedInputTokens":447761,"inputTokens":21,"model":"claude-opus-5-5","outputTokens":5858,"runtime":"claude","turns":12,"wallClockMs":89782}},{"artifacts":[],"attempt":1,"bundleHash":"9718f379496c6a410bf29f434c0d780cb281978ab6f9f2f6d22a1df909c87bc4","device":"b6749af807a22c3c","findings":[],"hash":"e3da2cd80cc505ecf260a4bba012a22936434855494daf383864bb39821adc4b","nodeId":"21b95e3b-4032-472f-851d-58b45fd8f89d","outcome":"completed","summary":"Created `launch.json` matching `SqueekToken`’s constructor, supply, and required launch economics and pool settings.\n\nValidation passed: `forge build` and all 34 tests with the specified fuzz seed. Only `launch.json` was changed.","treeHash":"1933f70218d49c91513f18ae1ef99c7195be5408","usage":{"cachedInputTokens":137728,"inputTokens":28780,"model":"gpt-6.1-sol","outputTokens":1444,"runtime":"codex","turns":3,"wallClockMs":44057}},{"artifacts":[],"attempt":1,"bundleHash":"a8bb22479ec4111dfe89b3ff092243d2b9b8575e82d6f3f332c09db07977e87e","device":"b5d96cb4e4dd8f0e","findings":[],"hash":"ec6cb8ab3450af9d04ffba25211388f5dcab99ad0bdda1327f78cd8b5565c250","nodeId":"8c4539c0-7777-4949-85fd-5c51107df468","outcome":"completed","summary":"Added 13 boundary and failure-path tests, and expanded invariants to 12 randomized actions.\n\n`forge build` and `forge test` pass with the required seed: 47 tests passed, including 32,768 invariant handler calls.\n\nAll changes are under `test/`. No implementation defects were found by these checks.","treeHash":"a081b023eceec9f5c95482d41591f86690cd810a","usage":{"cachedInputTokens":696448,"inputTokens":55503,"model":"gpt-6-astra","outputTokens":12328,"runtime":"codex","turns":6,"wallClockMs":691421}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"aca5d7170d77c721","findings":[],"hash":"ecd35e5040a09cdd6a6cfb73c000b05a64915561546150dd73eadb6b5ec084c8","nodeId":"e1538a02-b117-4002-930f-abec911f2133","outcome":"completed","summary":"The review is complete. No defects were found in the economics area, and the findings file is written with an empty findings list and a full coverage record.\n\n**What I checked**\n\n- **Economic Security.** The token is OpenZeppelin v5.1.0 ERC20 plus one constructor mint. There is no oracle, fee, callback, hook, owner, pause, blacklist, mint, burnFrom, proxy, delegatecall or selfdestruct. The five vendored OpenZeppelin files hash byte-for-byte to the upstream commit named in DEPENDENCIES.md. A runtime opcode scan mirroring the protected floor found no reachable forbidden opcode.\n- **Invariant.** The sum of balances equals the total supply of exactly 10^27 base units for the contract's life. Only the constructor reaches the mint path, the burn helper is never called, and `transferFrom` from the zero address reverts for every value, so there is no phantom mint. The aderyn large-literal lead resolves to the correct supply constant.\n- **Flow Gap.** Every transfer moves exactly the stated amount with no external call, so the factory-to-distributor, distributor-to-claimant, pool seed and swap legs settle whole under Uniswap v4's before/after balance accounting. The standard ERC-20 approve race is the ordinary semantics the brief asked for and is documented in the README, so it is not reported.\n\n**Verification run**\n\n- Project suite: all 34 tests pass, including the 256-run stateful invariant suite, with the verifier's fuzz seed.\n- A scratch test I wrote and then removed confirmed supply and recipient, exact launch legs, zero-sender revert paths and the opcode scan.\n- The protected harness itself needs v4-core and environment variables not present here, so only its token-side checks were reproduced locally. That limit is recorded in the coverage rows.\n\n**Output.** The repository root holds `.imd-findings.json` with zero findings and seven coverage rows: one `holds` row for each of the three listed entry points, plus rows for the supply invariant, the constructor mint, the economic-security surface and the launch flow seam. No tracked file was changed.","treeHash":null,"usage":{"cachedInputTokens":453464,"inputTokens":226,"model":"claude-fable-5-1","outputTokens":10123,"runtime":"claude","turns":24,"wallClockMs":150123}}],"verification":[{"checks":[{"durationMs":1198,"exitCode":0,"name":"build","output":"Compiling 26 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.13s\nCompiler run successful!\n","passed":true},{"durationMs":3794,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 33 tests for test/SqueekToken.t.sol:SqueekTokenTest\n[PASS] testFuzz_approvalReplacementAndRevocation(uint256,uint256) (runs: 1024, μ: 175013, ~: 175097)\n[PASS] testFuzz_oversizedTransferAlwaysReverts(uint256) (runs: 1024, μ: 71823, ~: 72152)\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913230151336\n\n[PASS] testFuzz_transferFromCannotExceedAllowance(uint256,uint256) (runs: 1024, μ: 127730, ~: 128328)\nLogs:\n  Bound result 391196951395285538633325784\n  Bound result 3\n\n[PASS] testFuzz_transferFromTracksAllowance(uint256,uint256) (runs: 1024, μ: 169174, ~: 169988)\nLogs:\n  Bound result 123000000000000000000\n  Bound result 52216441543353338675785558285377247320894389211683190501053761171629595951117\n\n[PASS] testFuzz_transferPreservesSupplyAndExactBalances(uint256) (runs: 1024, μ: 118886, ~: 119205)\nLogs:\n  Bound result 7000000000000000000\n\n[PASS] test_allowanceCannotBeUsedByAnotherSpender() (gas: 108039)\n[PASS] test_approvalDoesNotRequireBalance() (gas: 78414)\n[PASS] test_approveEmitsEventAndReplacesAllowance() (gas: 141771)\n[PASS] test_approveRejectsZeroSpender() (gas: 40228)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 30800)\n[PASS] test_create2CreditsFactoryAndNeedsNoInitialization() (gas: 400116)\n[PASS] test_deployerCannotSeizeTokensWithoutAllowance() (gas: 161312)\n[PASS] test_factoryDistributionClaimsAndPoolTransfersAreExact() (gas: 687002)\n[PASS] test_fullBalanceCanMoveAndMoveBack() (gas: 153995)\n[PASS] test_infiniteAllowanceIsNotDecremented() (gas: 144162)\n[PASS] test_metadataAndEntireSupplyBelongToDeployer() (gas: 122299)\n[PASS] test_noMintBurnAdminOrUpgradeEntryPoints() (gas: 960117)\n[PASS] test_rejectsNativeCurrencyAndUnknownCalls() (gas: 67929)\n[PASS] test_revokedApprovalCannotBeSpent() (gas: 136586)\n[PASS] test_selfTransferDoesNotChangeBalance() (gas: 56861)\n[PASS] test_selfTransferStillRequiresSufficientBalance() (gas: 35908)\n[PASS] test_transferFromRejectsInsufficientAllowanceWithoutChangingState() (gas: 120593)\n[PASS] test_transferFromRequiresApprovalEvenWhenCallerIsHolder() (gas: 58055)\n[PASS] test_transferFromRestoresAllowanceWhenBalanceIsInsufficient() (gas: 126174)\n[PASS] test_transferFromRestoresAllowanceWhenRecipientIsZero() (gas: 129363)\n[PASS] test_transferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 253126)\n[PASS] test_transferFromToSelfSpendsAllowanceWithoutChangingBalance() (gas: 110210)\n[PASS] test_transferRejectsInsufficientBalanceWithoutChangingState() (gas: 122547)\n[PASS] test_transferRejectsZeroRecipientEvenForZeroAmount() (gas: 74893)\n[PASS] test_transferReturnsTrueAndEmitsExactAmount() (gas: 96241)\n[PASS] test_transferToContractDoesNotCallRecipient() (gas: 172705)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 73345)\n[PASS] test_zeroTransferFromNeedsNoAllowance() (gas: 68930)\nSuite result: ok. 33 passed; 0 failed; 0 skipped; finished in 35.16ms (183.53ms CPU time)\n\nRan 1 test for test/SqueekToken.invariant.t.sol:SqueekTokenInvariantTest\n[PASS]\nSqueekTokenInvariantTest invariants:\n[PASS] invariant_everyAllowanceMatchesModel\n[PASS] invariant_supplyAndEveryBalanceMatchModel\n SqueekTokenInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭---------------+-----------------------+-------+---------+----------╮\n| Contract      | Selector              | Calls | Reverts | Discards |\n+====================================================================+\n| SqueekHandler | approve               | 2708  | 0       | 0        |\n|---------------+-----------------------+-------+---------+----------|\n| SqueekHandler | rejectOverspend       | 2805  | 0       | 0        |\n|---------------+-----------------------+-------+---------+----------|\n| SqueekHandler | rejectUnapprovedSpend | 2722  | 0       | 0        |\n|---------------+-----------------------+-------+---------+----------|\n| SqueekHandler | revoke                | 2675  | 0       | 0        |\n|---------------+-----------------------+-------+---------+----------|\n| SqueekHandler | transfer              | 2743  | 0       | 0        |\n|---------------+-----------------------+-------+---------+----------|\n| SqueekHandler | transferFrom          | 2731  | 0       | 0        |\n╰---------------+-----------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 5915\n  Bound result 0\n  Bound result 2064\n  Bound result 0\n  Bound result 0\n  Bound result 2294073581\n  Bound result 8\n  Bound result 0\n  Bound result 0\n  Bound result 6000000000000000000\n  Bound result 1639\n  Bound result 11\n  Bound result 0\n  Bound result 444504850736674812155853628\n  Bound result 0\n  Bound result 493\n  Bound result 0\n  Bound result 3\n  Bound result 4211\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.70s (3.70s CPU time)\n\nRan 2 test suites in 3.71s (3.74s CPU time): 34 tests passed, 0 failed, 0 skipped (34 total tests)\n","passed":true},{"durationMs":37,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"SqueekToken.approve(address,uint256)\",\"SqueekToken.transfer(address,uint256)\",\"SqueekToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":5,\"DEPENDENCIES.md\":36,\"LICENSE\":21,\"README.md\":142,\"foundry.toml\":19,\"remappings.txt\":3,\"src/SqueekToken.sol\":16,\"test/SqueekToken.invariant.t.sol\":137,\"test/SqueekToken.t.sol\":483},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true},{"durationMs":561,"exitCode":0,"name":"slither","output":"slither: no results at low impact or above","passed":true},{"durationMs":262,"exitCode":0,"name":"aderyn","output":"[low] large-numeric-literal at src/SqueekToken.sol:11: Large Numeric Literal","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"1cebb06fbf377b54ba7f4f1ea3b13121bc5ff7ba4ac616a5d4a5e8f8b40e41c9","verifiedTreeHash":"9dcf72780928067a53e1993ad21d31f58c91a711","verifierVersion":"0.1.0+d372f99e"},{"checks":[{"durationMs":1289,"exitCode":0,"name":"build","output":"Compiling 26 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.20s\nCompiler run successful!\n","passed":true},{"durationMs":3801,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 33 tests for test/SqueekToken.t.sol:SqueekTokenTest\n[PASS] testFuzz_approvalReplacementAndRevocation(uint256,uint256) (runs: 1024, μ: 175013, ~: 175097)\n[PASS] testFuzz_oversizedTransferAlwaysReverts(uint256) (runs: 1024, μ: 71823, ~: 72152)\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129640714\n\n[PASS] testFuzz_transferFromCannotExceedAllowance(uint256,uint256) (runs: 1024, μ: 127730, ~: 128328)\nLogs:\n  Bound result 156\n  Bound result 7000000000000000000\n\n[PASS] testFuzz_transferFromTracksAllowance(uint256,uint256) (runs: 1024, μ: 169174, ~: 169988)\nLogs:\n  Bound result 13675929938\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639932\n\n[PASS] testFuzz_transferPreservesSupplyAndExactBalances(uint256) (runs: 1024, μ: 118886, ~: 119205)\nLogs:\n  Bound result 53867578644973397266857977\n\n[PASS] test_allowanceCannotBeUsedByAnotherSpender() (gas: 108039)\n[PASS] test_approvalDoesNotRequireBalance() (gas: 78414)\n[PASS] test_approveEmitsEventAndReplacesAllowance() (gas: 141771)\n[PASS] test_approveRejectsZeroSpender() (gas: 40228)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 30800)\n[PASS] test_create2CreditsFactoryAndNeedsNoInitialization() (gas: 400116)\n[PASS] test_deployerCannotSeizeTokensWithoutAllowance() (gas: 161312)\n[PASS] test_factoryDistributionClaimsAndPoolTransfersAreExact() (gas: 687002)\n[PASS] test_fullBalanceCanMoveAndMoveBack() (gas: 153995)\n[PASS] test_infiniteAllowanceIsNotDecremented() (gas: 144162)\n[PASS] test_metadataAndEntireSupplyBelongToDeployer() (gas: 122299)\n[PASS] test_noMintBurnAdminOrUpgradeEntryPoints() (gas: 960117)\n[PASS] test_rejectsNativeCurrencyAndUnknownCalls() (gas: 67929)\n[PASS] test_revokedApprovalCannotBeSpent() (gas: 136586)\n[PASS] test_selfTransferDoesNotChangeBalance() (gas: 56861)\n[PASS] test_selfTransferStillRequiresSufficientBalance() (gas: 35908)\n[PASS] test_transferFromRejectsInsufficientAllowanceWithoutChangingState() (gas: 120593)\n[PASS] test_transferFromRequiresApprovalEvenWhenCallerIsHolder() (gas: 58055)\n[PASS] test_transferFromRestoresAllowanceWhenBalanceIsInsufficient() (gas: 126174)\n[PASS] test_transferFromRestoresAllowanceWhenRecipientIsZero() (gas: 129363)\n[PASS] test_transferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 253126)\n[PASS] test_transferFromToSelfSpendsAllowanceWithoutChangingBalance() (gas: 110210)\n[PASS] test_transferRejectsInsufficientBalanceWithoutChangingState() (gas: 122547)\n[PASS] test_transferRejectsZeroRecipientEvenForZeroAmount() (gas: 74893)\n[PASS] test_transferReturnsTrueAndEmitsExactAmount() (gas: 96241)\n[PASS] test_transferToContractDoesNotCallRecipient() (gas: 172705)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 73345)\n[PASS] test_zeroTransferFromNeedsNoAllowance() (gas: 68930)\nSuite result: ok. 33 passed; 0 failed; 0 skipped; finished in 35.99ms (180.07ms CPU time)\n\nRan 1 test for test/SqueekToken.invariant.t.sol:SqueekTokenInvariantTest\n[PASS]\nSqueekTokenInvariantTest invariants:\n[PASS] invariant_everyAllowanceMatchesModel\n[PASS] invariant_supplyAndEveryBalanceMatchModel\n SqueekTokenInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭---------------+-----------------------+-------+---------+----------╮\n| Contract      | Selector              | Calls | Reverts | Discards |\n+====================================================================+\n| SqueekHandler | approve               | 2708  | 0       | 0        |\n|---------------+-----------------------+-------+---------+----------|\n| SqueekHandler | rejectOverspend       | 2805  | 0       | 0        |\n|---------------+-----------------------+-------+---------+----------|\n| SqueekHandler | rejectUnapprovedSpend | 2722  | 0       | 0        |\n|---------------+-----------------------+-------+---------+----------|\n| SqueekHandler | revoke                | 2675  | 0       | 0        |\n|---------------+-----------------------+-------+---------+----------|\n| SqueekHandler | transfer              | 2743  | 0       | 0        |\n|---------------+-----------------------+-------+---------+----------|\n| SqueekHandler | transferFrom          | 2731  | 0       | 0        |\n╰---------------+-----------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 5915\n  Bound result 0\n  Bound result 2064\n  Bound result 0\n  Bound result 0\n  Bound result 2294073581\n  Bound result 8\n  Bound result 0\n  Bound result 0\n  Bound result 6000000000000000000\n  Bound result 1639\n  Bound result 11\n  Bound result 0\n  Bound result 444504850736674812155853628\n  Bound result 0\n  Bound result 493\n  Bound result 0\n  Bound result 3\n  Bound result 4211\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.71s (3.71s CPU time)\n\nRan 2 test suites in 3.72s (3.75s CPU time): 34 tests passed, 0 failed, 0 skipped (34 total tests)\n","passed":true},{"durationMs":53,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"SqueekToken.approve(address,uint256)\",\"SqueekToken.transfer(address,uint256)\",\"SqueekToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":5,\"DEPENDENCIES.md\":36,\"LICENSE\":21,\"README.md\":142,\"foundry.toml\":19,\"launch.json\":24,\"remappings.txt\":3,\"src/SqueekToken.sol\":16,\"test/SqueekToken.invariant.t.sol\":137,\"test/SqueekToken.t.sol\":483},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"e3da2cd80cc505ecf260a4bba012a22936434855494daf383864bb39821adc4b","verifiedTreeHash":"1933f70218d49c91513f18ae1ef99c7195be5408","verifierVersion":"0.1.0+d372f99e"},{"checks":[{"durationMs":1440,"exitCode":0,"name":"build","output":"Compiling 27 files with Solc 0.8.26\nSolc 0.8.26 finished in 1.37s\nCompiler run successful!\n","passed":true},{"durationMs":7713,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 33 tests for test/SqueekToken.t.sol:SqueekTokenTest\n[PASS] testFuzz_approvalReplacementAndRevocation(uint256,uint256) (runs: 1024, μ: 175015, ~: 175109)\n[PASS] testFuzz_oversizedTransferAlwaysReverts(uint256) (runs: 1024, μ: 71823, ~: 72152)\nLogs:\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129640059\n\n[PASS] testFuzz_transferFromCannotExceedAllowance(uint256,uint256) (runs: 1024, μ: 127742, ~: 128328)\nLogs:\n  Bound result 391196951395285538633325784\n  Bound result 3\n\n[PASS] testFuzz_transferFromTracksAllowance(uint256,uint256) (runs: 1024, μ: 169178, ~: 169968)\nLogs:\n  Bound result 3\n  Bound result 20204970714506865670661111917934391196951395285538633325784\n\n[PASS] testFuzz_transferPreservesSupplyAndExactBalances(uint256) (runs: 1024, μ: 118916, ~: 119205)\nLogs:\n  Bound result 19885\n\n[PASS] test_allowanceCannotBeUsedByAnotherSpender() (gas: 108039)\n[PASS] test_approvalDoesNotRequireBalance() (gas: 78414)\n[PASS] test_approveEmitsEventAndReplacesAllowance() (gas: 141771)\n[PASS] test_approveRejectsZeroSpender() (gas: 40228)\n[PASS] test_constructorEmitsExactlyOneMint() (gas: 30800)\n[PASS] test_create2CreditsFactoryAndNeedsNoInitialization() (gas: 400116)\n[PASS] test_deployerCannotSeizeTokensWithoutAllowance() (gas: 161312)\n[PASS] test_factoryDistributionClaimsAndPoolTransfersAreExact() (gas: 687002)\n[PASS] test_fullBalanceCanMoveAndMoveBack() (gas: 153995)\n[PASS] test_infiniteAllowanceIsNotDecremented() (gas: 144162)\n[PASS] test_metadataAndEntireSupplyBelongToDeployer() (gas: 122299)\n[PASS] test_noMintBurnAdminOrUpgradeEntryPoints() (gas: 960117)\n[PASS] test_rejectsNativeCurrencyAndUnknownCalls() (gas: 67929)\n[PASS] test_revokedApprovalCannotBeSpent() (gas: 136586)\n[PASS] test_selfTransferDoesNotChangeBalance() (gas: 56861)\n[PASS] test_selfTransferStillRequiresSufficientBalance() (gas: 35908)\n[PASS] test_transferFromRejectsInsufficientAllowanceWithoutChangingState() (gas: 120593)\n[PASS] test_transferFromRequiresApprovalEvenWhenCallerIsHolder() (gas: 58055)\n[PASS] test_transferFromRestoresAllowanceWhenBalanceIsInsufficient() (gas: 126174)\n[PASS] test_transferFromRestoresAllowanceWhenRecipientIsZero() (gas: 129363)\n[PASS] test_transferFromSpendsFiniteAllowanceAndEmitsTransfer() (gas: 253126)\n[PASS] test_transferFromToSelfSpendsAllowanceWithoutChangingBalance() (gas: 110210)\n[PASS] test_transferRejectsInsufficientBalanceWithoutChangingState() (gas: 122547)\n[PASS] test_transferRejectsZeroRecipientEvenForZeroAmount() (gas: 74893)\n[PASS] test_transferReturnsTrueAndEmitsExactAmount() (gas: 96241)\n[PASS] test_transferToContractDoesNotCallRecipient() (gas: 172705)\n[PASS] test_zeroTransferFromEmptyAccountEmitsEvent() (gas: 73345)\n[PASS] test_zeroTransferFromNeedsNoAllowance() (gas: 68930)\nSuite result: ok. 33 passed; 0 failed; 0 skipped; finished in 87.62ms (418.89ms CPU time)\n\nRan 13 tests for test/SqueekToken.properties.t.sol:SqueekTokenPropertiesTest\n[PASS] testFuzz_delegatedTransfersHandleEveryAddressAlias(uint256,bool) (runs: 1024, μ: 767531, ~: 767929)\nLogs:\n  Bound result 11305\n\n[PASS] testFuzz_splitDelegatedSpendsExhaustOnlyTheirApproval(uint256,uint256) (runs: 1024, μ: 283807, ~: 286301)\nLogs:\n  Bound result 14\n  Bound result 8\n\n[PASS] testFuzz_splitTransfersAndDelegatedReturnHaveNoDust(uint256,uint256) (runs: 1024, μ: 275186, ~: 275527)\nLogs:\n  Bound result 882949274162925765731404686\n  Bound result 116543916246982002812230916\n\n[PASS] testFuzz_underfundedDelegationRollsBackApproval(uint256,uint256,bool,bool) (runs: 1024, μ: 208715, ~: 209121)\nLogs:\n  Bound result 12140534827240238\n  Bound result 6172998084549204653191054117081888859296549456076862957800907593\n\n[PASS] test_approvalIsNotTransitive() (gas: 198088)\n[PASS] test_approvalsFromDifferentOwnersAreIndependent() (gas: 363491)\n[PASS] test_infiniteApprovalCanBeReducedAndRevokedAfterUse() (gas: 335568)\n[PASS] test_largestFiniteAllowanceIsNotTreatedAsInfinite() (gas: 247525)\n[PASS] test_maximumDelegatedTransferCannotExceedBalanceEvenToSelf() (gas: 215734)\n[PASS] test_oneBaseUnitSurvivesDirectAndDelegatedTransfers() (gas: 225346)\n[PASS] test_spentApprovalDoesNotReturnWhenHolderIsRefilled() (gas: 262904)\n[PASS] test_zeroApprovalStillRejectsZeroSpender() (gas: 117346)\n[PASS] test_zeroDelegatedTransferStillRejectsZeroRecipient() (gas: 338626)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 87.67ms (348.34ms CPU time)\n\nRan 1 test for test/SqueekToken.invariant.t.sol:SqueekTokenInvariantTest\n[PASS]\nSqueekTokenInvariantTest invariants:\n[PASS] invariant_everyAllowanceMatchesModel\n[PASS] invariant_supplyAndEveryBalanceMatchModel\n SqueekTokenInvariantTest invariants (runs: 256, calls: 32768, reverts: 0)\n\n╭---------------+-------------------------------+-------+---------+----------╮\n| Contract      | Selector                      | Calls | Reverts | Discards |\n+============================================================================+\n| SqueekHandler | approve                       | 2706  | 0       | 0        |\n|---------------+-------------------------------+-------+---------+----------|\n| SqueekHandler | approveAndSpend               | 2706  | 0       | 0        |\n|---------------+-------------------------------+-------+---------+----------|\n| SqueekHandler | rejectInvalidRecipient        | 2745  | 0       | 0        |\n|---------------+-------------------------------+-------+---------+----------|\n| SqueekHandler | rejectOverspend               | 2713  | 0       | 0        |\n|---------------+-------------------------------+-------+---------+----------|\n| SqueekHandler | rejectUnapprovedSpend         | 2769  | 0       | 0        |\n|---------------+-------------------------------+-------+---------+----------|\n| SqueekHandler | rejectUnderfundedTransferFrom | 2771  | 0       | 0        |\n|---------------+-------------------------------+-------+---------+----------|\n| SqueekHandler | rejectZeroSpender             | 2676  | 0       | 0        |\n|---------------+-------------------------------+-------+---------+----------|\n| SqueekHandler | revoke                        | 2700  | 0       | 0        |\n|---------------+-------------------------------+-------+---------+----------|\n| SqueekHandler | roundTrip                     | 2758  | 0       | 0        |\n|---------------+-------------------------------+-------+---------+----------|\n| SqueekHandler | transfer                      | 2719  | 0       | 0        |\n|---------------+-------------------------------+-------+---------+----------|\n| SqueekHandler | transferAll                   | 2760  | 0       | 0        |\n|---------------+-------------------------------+-------+---------+----------|\n| SqueekHandler | transferFrom                  | 2745  | 0       | 0        |\n╰---------------+-------------------------------+-------+---------+----------╯\n\nLogs:\n  Bound result 12207\n  Bound result 99637340905946204124599\n  Bound result 0\n  Bound result 10687\n  Bound result 0\n  Bound result 18\n  Bound result 1\n  Bound result 974\n  Bound result 115792089237316195423570985008687907853269984665639564039457584007913129641823\n  Bound result 0\n  Bound result 17\n  Bound result 1\n  Bound result 1\n  Bound result 1\n  Bound result 6695\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 0\n  Bound result 552499850842699\n  Bound result 0\n  Bound result 4309614752569\n  Bound result 1162\n  Bound result 4721239481\n  Bound result 115792089237316195423570985008687907853269984665639564039457584560412980482644\n  Bound result 18\n  Bound result 10\n  Bound result 495790613316\n  Bound result 510618585225058995574967055\n  Bound result 15\n  Bound result 0\n  Bound result 15\n  Bound result 0\n  Bound result 1\n  Bound result 7\n  Bound result 1\n  Bound result 999999999999999999999999979\n  Bound result 11\n  Bound result 401305552661520095359628052\n  Bound result 14\n  Bound result 15\n  Bound result 0\n  Bound result 4\n  Bound result 3868\n  Bound result 8355\n  Bound result 858065724309369699661229247\n  Bound result 4882\n  Bound result 0\n  Bound result 0\n  Bound result 10000000000000000000\n  Bound result 8031\n  Bound result 3030\n  Bound result 0\n  Bound result 4483\n  Bound result 1000000000\n  Bound result 2\n  Bound result 18\n  Bound result 840\n  Bound result 25\n  Bound result 13\n  Bound result 0\n  Bound result 5\n  Bound result 183078900569977224\n  Bound result 4\n  Bound result 1602\n  Bound result 13\n  Bound result 539\n  Bound result 272\n  Bound result 3\n  Bound result 115792089237316195423570985008687907853269984665640564039457584007913129639934\n  Bound result 0\n  Bound result 824\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 7.61s (7.61s CPU time)\n\nRan 3 test suites in 7.61s (7.78s CPU time): 47 tests passed, 0 failed, 0 skipped (47 total tests)\n","passed":true},{"durationMs":37,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"SqueekToken.approve(address,uint256)\",\"SqueekToken.transfer(address,uint256)\",\"SqueekToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":5,\"DEPENDENCIES.md\":36,\"LICENSE\":21,\"README.md\":142,\"foundry.toml\":19,\"remappings.txt\":3,\"src/SqueekToken.sol\":16,\"test/README.md\":56,\"test/SqueekToken.invariant.t.sol\":271,\"test/SqueekToken.properties.t.sol\":275,\"test/SqueekToken.t.sol\":483},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":false}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"ec6cb8ab3450af9d04ffba25211388f5dcab99ad0bdda1327f78cd8b5565c250","verifiedTreeHash":"a081b023eceec9f5c95482d41591f86690cd810a","verifierVersion":"0.1.0+d372f99e"}]}