{"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":"563ad4ec-93f8-46fd-b6b0-2182f4a7509e","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"8a570480ec6edfa84a18513b62a522396d4be4e5bda11aadfe09263134266be0","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":"9a3f9f0d6b4da5a65834f6c31f859b102a249c7263250517bb9df9a19318f4fd","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":"c2df070bdfe9fd87245fb4997d3043a7ed438f20f46ffb53c57365eef982fa81","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":"fbd623b2d8728ae6c494bdc50eefd4af48558cfeb4fe58eaf7da34dd3640f911","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":"0b232f37292f98c8950b6811dea726a8192be31d92efed1896aa0f2501d1591b","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":"c5919eabebb47964eb9a41a29d5a9f1463de5cabd454a8c9b87e9b486c40baf1","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":"bb36db87ff53cf5070483282aa1d0a9c3515bd73ef6978dce747747eb02c3b51","dependsOn":["build_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"740838e5efbda7daa94b2bfcef3152b14d23edd106b2636f809a5f1d98147b11","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":"Fix, test, independently review and DEPLOY UNLOCK (UNLK) on Ethereum mainnet in ONE launch job. onchain=univ4_hook, chainId=1, pairWith=imd, poolBps=8700. This is a launch.open request, not job.continue or code-only. Mainnet deployment is authorized after required checks pass. No website work.\n\nSOURCE — IMPORT THE EXISTING PROJECT:\nrepoUrl: https://github.com/identity-md-launches/launch-2064-unlock-symbol-unlk-review-adapt-and-depl\nbaseCommit: b957a835f1cca9eef51a121851e2026fc17ff435\nPrevious job: ee48c6c5-0118-4efc-94cd-07d5d2dce2b7\nParked launch: fa2ea5af-d273-413a-9649-393518faeb6a (#2064).\n\nBind repoUrl/baseCommit in the actual structured request using supported repository import. Preserve history and reconcile newer accepted work. Do not rebuild from scratch, restore an older candidate or substitute the old Sepolia contracts.\n\nFIRST FIX THE CONCRETE ADMISSION FAILURE:\nprotected_invariants / invariants-1088d95c9ece:\ntest_initializesFromTheLaunchFactory()\n\"The hook refused PoolManager.initialize from the launch factory on the launch's pool.\"\n\nInspect UnlkImdHook.beforeInitialize, resolved constructor arguments and the actual protected test. beforeInitialize calls _verifyServices(), which requires mainnet chain/address/code-hash identities and external service getters. Determine whether those checks reject the admission environment. Also check paired currency, sorting, fee, tick spacing and callback sender. Record the underlying revert; do not treat the generic error as a proven root cause.\n\nImplement the smallest correct fix. Keep PoolManager-only callbacks, constructor-bound factory authentication, exact sorted UNLK/IMD PoolKey, fee12500, tickSpacing60, matching hook permission flags and one-time binding.\n\nIf environment-dependent service attestation runs too early, relocate it to an authenticated setup/activation boundary with full enforcement before trading. Review initialization, seed liquidity and every setup entry point together. Never merely remove security checks or add test-address, chain-ID or missing-code bypasses. Never modify protected checks.\n\nUnconfigured swaps, credit synchronization and milestones must remain disabled. Ordinary transfers and eligible native claims remain available independently of activation.\n\nPRESERVE THE ACCEPTED DESIGN:\nUNLOCK/UNLK, 1 billion tokens, 18 decimals, minted once to the factory; final allocation10% swarm/87% official pool/3% payer, accounting for documented seed rounding.\nPayer, setup authority and treasury beneficiary:\n0x48e4e74fe1d0c14404ceb57b9fec5b21329c6ec9\nVerify these identities against actual launch records.\n\nPreserve the official1.25% pool fee and its1% payer/0.25% IMD distribution, plus the fixed0.75% treasury fee collected in IMD. Retain reviewed executed-amount fee accounting and disclose effective totals. Treasury funds are intended for IMD NFT purchases; no automatic NFT buying, listing or token burning.\n\nPreserve standard Universal Router compatibility, cumulative per-account eligible acquisitions E and sales S, and one-block buy-credit maturity. Before final unlock:\nQ=max(0,floor(matureE*p/10000)-S).\nExample:1000 acquired,200 sold at20%; reaching30% permits only100 more. Ordinary transfers create no new quota rights. Preserve verified allocation/claim credits, deduplication, independent native claims and initial liquidity principal protection.\n\nInitial20%; USD FDV gates:\n100K25%,250K30%,500K35%,1M40%,2M45%,3.5M50%,5M55%,7.5M60%,10M65%,15M70%,20M75%,25M80%,30M85%,35M90%,40M95%.\nAt50M permanently bypass quotas for EVERY holder, including transfer-only recipients.\n\nA valid observed price touch opens the highest crossed gate permanently. No confirmation delay or relocking. Use the implemented stateless ImdSpotUsdSource:\nofficial UNLK/IMD spot × verified IMD/ETH spot × validated Chainlink ETH/USD.\nNo48h warm-up, sample(), keeper or observation history. Invalid references prevent new gates only after activation; they must not halt otherwise valid trading or revoke rights.\n\nThe requester has explicitly accepted shared-executor quota pooling and manipulation of either pool, including same-transaction external-reference manipulation causing permanent early unlock. Preserve disclosures and tests. These risks are not claimed fixed; unrelated defects and mandatory platform checks are not waived. No upgrades, later pausing, rule changes, resets or exemptions.\n\nTEST AND RELEASE IN THIS SAME JOB:\nReproduce the initialization failure, demonstrate the fix and run the complete suite. Test unauthorized/wrong/repeated initialization, seed liquidity without companions, inactive trading, invalid service identities, atomic activation/sealing, standard-router buys/sells, quota boundaries, fees, claims and permanent gates.\n\nRun actual protected admission if available and a recorded-block mainnet fork rehearsal with verified factory/router contracts. Clearly distinguish local reproduction from official admission. Refresh final manifest, ABIs, artifact hashes and siz\n\nToken name: UNLOCK\nToken symbol: UNLK","parentJobId":null,"planHash":"fdec28fce124c0c5e57693083f74d25d88fec8f9f65563fcedc8b94615f9b1f7","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"563ad4ec-93f8-46fd-b6b0-2182f4a7509e","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2071-unlock"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"52479","feedbackHash":"82a5b75ac93bade4c0643ff9d99ec297aac3ef2753f4401c6872c54b2d674f4d","nodeKey":"audit_economics","submissionHash":"8a570480ec6edfa84a18513b62a522396d4be4e5bda11aadfe09263134266be0","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51474","feedbackHash":"73d280e4b5718cd5933ca8a14b9f2500a7ab7ae1ea711d076cc42e468d7219ef","nodeKey":"audit_flow","submissionHash":"9a3f9f0d6b4da5a65834f6c31f859b102a249c7263250517bb9df9a19318f4fd","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51883","feedbackHash":"66e0ef9db9e51122d7405e87940181819089a03eccd20ec71b12b53a234187f1","nodeKey":"audit_judge","submissionHash":"c2df070bdfe9fd87245fb4997d3043a7ed438f20f46ffb53c57365eef982fa81","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51557","feedbackHash":"07689d87fdc2f66896703f933d16bab730188f2976ebb67c6844590c7c9623f5","nodeKey":"audit_math","submissionHash":"fbd623b2d8728ae6c494bdc50eefd4af48558cfeb4fe58eaf7da34dd3640f911","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52150","feedbackHash":"4722bc6aa81d006193232a97b8037ff6817092654662995dd8bbfd20e6fa7c86","nodeKey":"audit_permissions","submissionHash":"0b232f37292f98c8950b6811dea726a8192be31d92efed1896aa0f2501d1591b","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51614","feedbackHash":"586883ec9c3ffa9766076bd4653f2a42ef582045570abe818e85efc0c6cf1d98","nodeKey":"build_contract_project","submissionHash":"c5919eabebb47964eb9a41a29d5a9f1463de5cabd454a8c9b87e9b486c40baf1","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51745","feedbackHash":"ebce784b0e9111e27677b82f85ea8fe98cfb75718006bcbaf47b52dd59eb95d3","nodeKey":"manifest","submissionHash":"bb36db87ff53cf5070483282aa1d0a9c3515bd73ef6978dce747747eb02c3b51","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51749","feedbackHash":"05b2f1b61a8f7432da01dfc2a3bec738a024b2cdfd654803d88176a6c797d516","nodeKey":"write_foundry_tests","submissionHash":"740838e5efbda7daa94b2bfcef3152b14d23edd106b2636f809a5f1d98147b11","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"cab9adb1c3756c1cd6759ac427b8b848132f2405ca4c3e6e6a39495517fc0425","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":null,"device":"e764f15311426447","findings":[{"citation":"resolved","description":"configureAndActivate (src/mainnet/UnlkImdHook.sol:330) refuses to seal unless MerkleClaimEvidence.certified(0) is true, and certification is only reachable through certifyRound (line 81) or submitLeaves/_list (line 130), both of which revert DuplicateRecipient when the same account appears twice in the round-0 leaf set. The round-0 root is written by the IMD LaunchFactory from the deployer-supplied merkleRoot (test/imd/LaunchFactory.sol launch(): openRound(params.merkleRoot, ...)); neither the launch owner nor the hook controls its shape, and the evidence contract's creation code is pinned by ReviewedCode.EVIDENCE with derived constructor arguments, so no restaging can substitute a tolerant adapter. If the platform emits one leaf per contribution rather than per account (two leaves for one wallet), stage 1 completes (hook bound, 870M UNLK seeded and principal-locked by beforeRemoveLiquidity), but deployCompanions/configureAndActivate can never succeed: trading, credits and gates stay disabled forever while the seed cannot be withdrawn. The distributor itself tolerates such a tree (claimed[round][account] is a bool, so the wallet simply claims one leaf), so nothing upstream guarantees uniqueness. This is a liveness trust gap between a platform-controlled input and the hook's sealed activation path, not an exploit; it is reported so the release checklist verifies round-0 uniqueness before broadcast (or the adapter accepts a canonical de-duplication rule).","line":81,"path":"src/MerkleClaimEvidence.sol","reproduction":"Local: root = commutativeKeccak256(leaf(A,1), leaf(A,2)) installed as the distributor's round-0 root; MerkleClaimEvidence.certifyRound(0,[A,A],[1,2]) reverts DuplicateRecipient; submitLeaves(0,2,[A,A],[1,2]) reverts DuplicateRecipient; certified(0) stays false; UnlkImdHook.configureAndActivate(rewards, oracle, n) then reverts InvalidEvidence at line 330 on every attempt. Expected: a launch whose stage-1 succeeded can always be activated by its setup authority. Actual: permanent inactive state with locked seed. test/scratch/DuplicateRecipientCertification.t.sol demonstrates the certification half (passes as a demonstration of the revert).","severity":"low","snippet":"            if (accounts[i] == accounts[i - 1]) revert DuplicateRecipient();","title":"Activation is permanently impossible if the swarm round-0 tree carries a duplicate recipient (trust gap: platform tree shape x one-shot certification x sealed activation)"},{"citation":"resolved","description":"The admission repair moved _verifyServices out of beforeInitialize; stage 1 (beforeInitialize at 193-212, _recordSeed at 522-544) now checks nothing about the environment, while deployPriceSource (267), deployCompanions (via _verifyLaunch, 349) and configureAndActivate (via _verifyLaunch, 323) all require block.chainid == 1, launchFactory == 0x12C6..A96F with codehash MainnetPins.FACTORY, the manager/fees/registry/IMD/router/quoter/Permit2 addresses and codehashes pinned at block 26203203. Those pins are compile-time constants and the deployer simulation only exercises stage 1. If at broadcast time any pinned runtime differs (IMD redeploys or proxies its LaunchFactory, LaunchFees or LaunchRegistry, Uniswap's Quoter is replaced, or the deployer resolves $factory to a different instance), the launch transaction succeeds, 870M UNLK is seeded and principal-locked (beforeRemoveLiquidity 567), but every setup entry reverts InvalidConfig forever and no path exists to re-pin: trading, credits and gates are never enabled and the seed is unrecoverable. This is the asymmetry between what stage 1 accepts and what stage 2 demands; it is a documented consequence of the required relocation, so it is reported as a release-condition finding rather than a code exploit: the recorded-block fork rehearsal must re-check every MainnetPins constant against live chain state immediately before broadcast, and the deployer should refuse a $factory that is not 0x12C63b581d07093F6126bc02263c58f7EadaA96F.","line":288,"path":"src/mainnet/UnlkImdHook.sol","reproduction":"Deploy UnlkImdHook(manager, token, F, owner) on chainid 1 with F != 0x12C63b581d07093F6126bc02263c58f7EadaA96F (or with any pinned address holding a runtime whose codehash differs from MainnetPins); as F call PoolManager.initialize(sorted UNLK/IMD key, fee 12500, spacing 60) and seed the token-only position: both succeed (test/mainnet/InitializationAdmission.t.sol does exactly this with a fresh manager and this test contract as F). Then as owner call deployPriceSource(ImdSpotUsdSource creationCode, \"\"): reverts InvalidConfig at _verifyServices line 288; deployCompanions and configureAndActivate revert the same way on every later attempt. Expected: an environment the hook will never accept should be rejected before the irreversible seed, or be recoverable; actual: permanent inactive pool with locked principal.","severity":"low","snippet":"            block.chainid != 1 || launchFactory != MainnetPins.FACTORY_ADDRESS","title":"Service-pin attestation runs only after the irreversible stage 1, so a factory/manager/router runtime that differs from MainnetPins at launch time locks the seeded pool in an inactive state with no re"},{"citation":"resolved","description":"syncRewards credits kind-2 eligibility (immediately spendable, no one-block maturity) for every amount MerkleClaimEvidence.attest proves was claimed from ANY distributor round, not only round 0. The verified MerkleDistributor lets the chain treasury open further rounds at will (test/imd/MerkleDistributor.sol:91: msg.sender == treasury() bypasses the opener/round-0 restriction) against whatever UNLK balance sits in the distributor, and anyone can transfer UNLK into the distributor. Sequence: a holder who received 1,000,000 UNLK by plain transfer (no quota rights) sends it to the distributor; the treasury opens round 1 with a root assigning that amount to the holder; the holder claims, anyone attests, syncRewards credits E += 1,000,000 mature; at p = 2000 the holder may now sell 200,000 UNLK that transfer-only recipients cannot. This requires the IMD treasury (a platform-privileged party outside the launch's setup authority) to act, so it is recorded as a trust assumption to disclose, not a defect: the hook's rule that transfers create no quota rights holds only as long as the treasury opens no rounds beyond the launch's swarm round.","line":620,"path":"src/mainnet/UnlkImdHook.sol","reproduction":"Local fixture (test/mainnet/ImdFixture.sol): after activation, alice holds tokens received by transfer; token.transfer(distributor, 1e24); vm.prank(treasury) distributor.openRound(rootFor(alice, 1e24), 1e24, 0); distributor.claim(1, alice, 1e24, proof); rewards.certifyRound(1,[alice],[1e24]); rewards.attest(1, alice, 1e24, proof); hook.syncRewards(alice) returns 1e24 and remainingQuota(alice) becomes 2e23 immediately. Expected under the disclosed rule: ordinary transfers create no quota rights; actual: treasury-opened rounds convert transferred balances into quota.","severity":"info","snippet":"        uint256 actual = rewards.claimed(recipient);","title":"Trust assumption: the IMD fee treasury can mint spendable quota rights for any wallet by opening later distributor rounds (rewards.claimed is cumulative over all rounds)"}],"hash":"0b232f37292f98c8950b6811dea726a8192be31d92efed1896aa0f2501d1591b","nodeId":"858ac029-605b-4b54-b203-f62368c54360","outcome":"completed","summary":"Review complete. The findings and coverage record are in `.imd-findings.json`.\n\n**Outcome.** The mainnet launch path holds under the Access Control, Trust Gap and Asymmetry checks. I found no exploitable permission gap, no privilege-escalation route and no asymmetric write between paired functions in the deployed set. The admission failure is fixed in the tree: `beforeInitialize` now depends only on the constructor-bound factory, the exact sorted UNLK/IMD key, fee 12500, spacing 60 and one-time binding, and the local reproduction of the protected initialize check passes for both currency orders. The whole mainnet suite passes locally. The Owners protected check skips rather than fails when the hook refuses the probe's tiny seed, so it is not a blocker either.\n\n**Reported findings.** All three are concrete conditions rather than exploits, so none carries a proof file.\n\n- **Low, duplicate-recipient round-0 tree bricks activation.** Certification reverts on duplicate accounts and the sealed activation path requires round 0 certified. If the platform's swarm tree ever carries two leaves for one wallet, stage 1 completes and locks the seed, but trading can never be enabled. A scratch test demonstrates the certification half.\n- **Low, service pins are only checked after the irreversible stage 1.** If any pinned factory, manager, router, quoter, Permit2, fees or registry runtime differs at broadcast time, the launch succeeds, 870M UNLK is seeded and locked, and every setup entry reverts forever. This is the inherent cost of the required relocation. The fork rehearsal must re-verify every pin immediately before broadcast.\n- **Info, trust assumption on treasury-opened rounds.** The verified distributor lets the IMD treasury open later rounds, and claims from any round become immediately spendable quota. A transfer-only holder could convert balance into quota with the treasury's cooperation. This is a platform-privileged action to disclose, not a defect.\n\n**Coverage.** All 90 entry points have rows. The deployed set (UnlkImdHook, ImdFeeVault, MerkleClaimEvidence, UnlkImdOracle, UnlkToken, WalletExecutor) plus the candidate vault and both routers are traced. The legacy UnlkHook, UnlkHookV2, UnlkHookV3, UnlkOracle and the two non-selected price sources are marked unreached because they are not deployed by the manifest and I did not trace them within the budget.\n\n**Static-analysis leads.** The reentrancy, strict-equality and unused-return lines on the mainnet contracts were checked during the traces above and do not reach a failure in my area. The remaining leads concern the undeployed legacy contracts.","treeHash":null,"usage":{"cachedInputTokens":2017075,"inputTokens":418,"model":"claude-fable-5-1","outputTokens":44418,"runtime":"claude","turns":31,"wallClockMs":771388}},{"artifacts":[],"attempt":1,"bundleHash":"6ae77a0a9593ef0286e7c0be8bf7cd5353e058285649bc2b3b3abeb2b56e7f09","device":"f6c59a24920668f6","findings":[],"hash":"740838e5efbda7daa94b2bfcef3152b14d23edd106b2636f809a5f1d98147b11","nodeId":"c549d7c8-b2af-4174-9583-686bb6eff536","outcome":"completed","summary":"Added setup/claim lifecycle invariants and mainnet-fork tests under `test/`.\n\n- Build passed; full suite: **483 passed, 0 failed, 2 fork suites skipped offline**.\n- Separate runs: **6 fork tests and 11 protected checks passed**.\n- Reproduced the historical `InvalidConfig()` admission failure.\n\nProtected Owners checks lacked required helpers. No deployment was performed.\n\n[Coverage and results](/root/.identitymd/work/563ad4ec-93f8-46fd-b6b0-2182f4a7509e/c549d7c8-b2af-4174-9583-686bb6eff536/test/mainnet/LAUNCH_BOUNDARY_COVERAGE.md)","treeHash":"e70403be4f88e8db830871033b4c08f9650020e3","usage":{"cachedInputTokens":9188352,"inputTokens":402710,"model":"gpt-6-astra","outputTokens":29366,"runtime":"codex","turns":12,"wallClockMs":1294227}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"dfa08759ca0424de","findings":[{"citation":"resolved","description":"The 'External operational trust' section of docs/mainnet/DESIGN.md is not covered by the file's revision notice (which only supersedes the TWAP/confirmation rules) and tells the operator and beneficiary that a nonzero PoolManager protocol fee makes every official-pool swap revert. The deployed economics are the opposite: src/mainnet/UnlkImdHook.sol:398-401 reads slot0 only to require lpFee == FEE and explicitly comments that a core protocol fee 'must not become a launch-wide pause'; docs/admission-fix/REPORT.md:87 and test/mainnet/ProtocolFees.t.sol assert swaps and gate advancement continue with protocol fees up to the core maximum, and the effective buy/sell totals then rise above the disclosed 1.98511166%/1.990625%. The accepted economic disclosure (fees keep flowing, totals increase, no pause) and the design document a reader is pointed to disagree, so the operator monitoring list in that paragraph is built on a false premise.","line":44,"path":"docs/mainnet/DESIGN.md","reproduction":"State: activated UNLK/IMD pool from test/mainnet/ImdFixture.sol. Input: protocol fee controller sets setProtocolFee(key, 1000 | 1000<<12) (test/mainnet/ProtocolFees.t.sol:24), then alice buys 100e18 IMD via the pinned Universal Router and sells a tenth. Expected per docs/mainnet/DESIGN.md:44: both swaps revert ('fail closed'). Actual: both settle, E/S and remainingQuota update, protocolFeesAccrued(IMD) grows (ProtocolFees.t.sol:36-44, :89-91 pass). Fix: rewrite the sentence in docs/mainnet/DESIGN.md:44 to match UnlkImdHook.sol:398-401 and REPORT.md:87 (swaps continue; effective totals rise with the core rate), or mark the section superseded.","severity":"low","snippet":"The hook has no pause or administrator after activation, but external protocol behavior still matters. PoolManager governance setting a nonzero protocol fee makes swaps fail closed to preserve the promised fee structure; it does not revoke earned rights or stop ordinary token transfers/native claims. Factory/registry/fee service identities, router/Quoter/Permit2 runtime pins, Chainlink proxy governance, IMD OFT bridge configuration and oracle venue depth must be monitored by the eventual operator. A runtime change cannot be accommodated by a setter in this immutable bundle; it requires a separate reviewed design, never an unreviewed pin edit or bypass. The setup authority is responsible for exact preactivation evidence, while the beneficiary alone controls withdrawal of its accounted IMD revenue/donations.","title":"docs/mainnet/DESIGN.md still states swaps fail closed under a nonzero core protocol fee; the shipped UnlkImdHook deliberately keeps trading (and gates) open"}],"hash":"8a570480ec6edfa84a18513b62a522396d4be4e5bda11aadfe09263134266be0","nodeId":"dd477076-701d-4b58-8d77-922804abe1bf","outcome":"completed","summary":"Review complete. The findings file is written and validated.\n\n**Outcome.** In the assigned area (Economic Security, Invariant and Flow Gap), the mainnet bundle holds up. I found one low-severity defect and no fund-loss or invariant break. The findings and a 96-row coverage record are in `.imd-findings.json`.\n\n**What I verified**\n- **Fee economics.** All four swap modes were traced against v4's beforeSwap/afterSwap delta math. The 75 bps IMD fee nets the hook's delta to zero in every mode, is minted as vault claims before `recordAccrual`, and the exact-input and exact-output rounding helpers are provably the largest and smallest values with at most 1 wei treasury bias.\n- **Quota invariant.** Sales are checked against floor(matureE × p / 10000) minus S before the milestone updates, so a sale cannot use its own post-swap gate. One-block buy maturity, payer and native-claim credits, and the monotone tier ladder ending in the permanent 50M bypass all match the brief.\n- **Setup and activation flow.** Every pinned mainnet code hash in `MainnetPins` was compared against live Ethereum at block 26211714 via a public RPC. All nine match, the factory's fee and registry getters return the pinned addresses, IMD has 18 decimals, and the pinned IMD/ETH reference pool exists with fee 10000 and nonzero liquidity. Activation is therefore reachable in the live environment.\n- **Suite evidence.** The full mainnet test directory passes locally with 211 tests across 38 suites. This is local reproduction, not official admission.\n\n**Finding reported (low).** The current section of `docs/mainnet/DESIGN.md` at line 44 says a nonzero core protocol fee makes swaps fail closed. The shipped hook, the admission report and `ProtocolFees.t.sol` all do the opposite: swaps and gate advancement continue and effective fee totals rise. The reproduction names the exact protocol-fee setting and swap inputs.\n\n**Checked and deliberately not reported.** ERC-6909 claims donated straight to the fee vault are reported by `donatedClaims()` but can never be redeemed. I confirmed this with a scratch test under `test/scratch/`, but the design document already discloses donated manager claims as unrecoverable, so it is a note in the coverage row, not a finding.\n\n**Coverage gaps.** The 59 entry points of the legacy and candidate contracts (UnlkHook, V2, V3, both custom routers, NftFeeVault, UnlkOracle, the sampled and V4 USD sources) are marked unreached. They are not in the launch manifest or the pinned reviewed-code bundle, and the budget went to the deployed path.","treeHash":null,"usage":{"cachedInputTokens":2548266,"inputTokens":578,"model":"claude-fable-5-1","outputTokens":45302,"runtime":"claude","turns":39,"wallClockMs":839337}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"0e3b71e2ffcd200b","findings":[{"citation":"resolved","description":"_recordSeed only rejects an opening price inside the seed range, so a factory that initializes the pool one or more tick spacings past the position boundary (for token0: sqrtPrice < sqrtPriceAtTick(tickLower)) is accepted, the seed is recorded and configureAndActivate succeeds (it only requires feed().priceUsd() != 0, never fdvUsd()). UnlkImdOracle.fdvUsd() meanwhile requires rangeLower <= sqrtPrice <= rangeUpper, so from activation until the first buy walks the price into the range, fdvUsd() reverts InvalidOracle and checkpoint() silently returns false. Sells are impossible in that state anyway (the pool holds no IMD) and the first buy repairs it, so there is no loss and no permanent breakage; this is a divergence between two guards that are documented as the same band. The seed/oracle band agreement is otherwise consistent (both inclusive at the boundary). Documented here so the deployer's opening-price derivation is held to tick-aligned token-only boundaries or the divergence is accepted knowingly.","line":535,"path":"src/mainnet/UnlkImdHook.sol","reproduction":"Using the project fixture (test/mainnet/ImdFixture.sol): _deploy(false); seedLower=-129000, seedUpper=887220, liquidity=_tokenOnlyLiquidity(token, getSqrtPriceAtTick(-129000)); _launch(TickMath.getSqrtPriceAtTick(-129060), seedLower, seedUpper, liquidity); _deployCompanions(); _activate(). Expected per the design docs: the oracle can read the bound pool once activated. Actual: hook.activated()==true and hook.seedRecorded()==true, but oracle.fdvUsd() reverts UnlkImdOracle.InvalidOracle and hook.checkpoint() returns false; after one _buy(alice, 1000 ether) fdvUsd() returns a nonzero value. Verified with test/scratch/OpeningBelowSeed.t.sol (passes, i.e. the behaviour above is reproduced).","severity":"info","snippet":"            (tokenIs0 ? sqrtPrice > TickMath.getSqrtPriceAtTick(params.tickLower) : sqrtPrice < sqrtUpper)","title":"Seed check accepts an opening price strictly past the token-only boundary, where the oracle cannot read until the first buy"},{"citation":"resolved","description":"The supplied Owners.protected.t.sol (test_theFactoryCollectsItsFeesWithTheHookLive) seeds the factory probe's position with liquidity 1e18 over the full usable range and skips the whole test when that seed is refused. On this hook the first factory add runs _recordSeed, whose principal band (861.3M to 870M UNLK) and token-only boundary reject that seed with InvalidPool, so the protected fee-collect check is skipped rather than passed. The collect path itself (beforeRemoveLiquidity/afterRemoveLiquidity with liquidityDelta 0 from the factory, no delta returned, no owner switch) is correct by trace and is exercised locally by test/mainnet/InitializationAdmission.t.sol::testSeedWithoutCompanionsAndCollectWithoutActivation. The manifest notes already disclose that the Owners check is not claimed passed; this row records the concrete reason so admission does not read the skip as coverage. Not a code defect: the band is the reviewed principal-protection design.","line":536,"path":"src/mainnet/UnlkImdHook.sol","reproduction":"From the factory probe address after PoolManager.initialize(launchKey, IMD_SQRT_PRICE): manager.unlock -> modifyLiquidity(key, minUsableTick(60)=-887220, maxUsableTick(60)=887220, liquidityDelta=1e18). Expected by the protected harness: either the add succeeds and the zero-delta collect is then judged, or the hook's refusal triggers vm.skip. Actual: beforeAddLiquidity -> _recordSeed computes principal = getAmount0Delta(sqrt(-887220), sqrt(887220), 1e18) which is far below MIN_POOL_ALLOCATION (861_300_000 ether) (and the opening price sits inside that range), so the call reverts with WrappedError(hook, beforeAddLiquidity.selector, InvalidPool) and the protected test records a skip.","severity":"info","snippet":"                || principal < MIN_POOL_ALLOCATION || principal > token.POOL_ALLOCATION()","title":"Protected Owners fee-collect check skips on this hook because its seed band rejects the probe's 1e18 full-range seed"}],"hash":"9a3f9f0d6b4da5a65834f6c31f859b102a249c7263250517bb9df9a19318f4fd","nodeId":"da6fccdb-ba34-465c-bba7-c03c2a08bcc4","outcome":"completed","summary":"The review is complete and `.imd-findings.json` is written and validated: both snippets match the tree line for line, and all 90 listed entry points have a coverage row plus 4 invariant rows.\n\n**Outcome: no exploitable defect in the control flow of the accepted mainnet hook.** The admission failure the task names is fixed correctly: `beforeInitialize` in `src/mainnet/UnlkImdHook.sol` no longer attests services, keeps PoolManager-only and constructor-bound-factory authentication, binds the exact sorted UNLK/IMD key once at fee 12500 and spacing 60, and the service attestation now runs with full enforcement at `deployPriceSource`, `deployCompanions` and activation. Trading, credits and gates stay disabled until the sealed activation.\n\nWhat I traced in my area (Execution Trace, Periphery, First Principles):\n\n- **Swap flow in all four modes.** Before-swap specified fee for exact-input buys and exact-output sells, after-swap unspecified fee for the other two, complete-fill and seed-band guards, and the claim mint before the hook's delta credit. The hook's delta nets to zero and the swapper's delta equals the executed amount plus fee in every mode. Quote paths leave no state.\n- **Setup and sealing.** Staging is repeatable with fresh salts, every check precedes every write, and a later `deployPriceSource` cannot desynchronise a staged oracle because activation re-checks the feed identity.\n- **Periphery.** NativeFeeMath rounding, ImdSpotMath wide division, ImdSeedDepth, the Merkle evidence tree reconstruction and attest path, the fee vault's redeem and payout, and the optional WalletExecutor.\n- **Live mainnet attestation.** All nine pinned code hashes, the factory's getters, IMD decimals, the reference pool ID derivation, its LP fee and nonzero in-range liquidity, and the Chainlink feed shape and freshness all matched the chain at block 26211743. If any pin had been wrong, activation would have been permanently impossible.\n- **Tests.** All 211 tests in the mainnet directory pass. The prior protected Hook and Token runs are recorded as passing.\n\nTwo informational findings were recorded, each with a concrete reproduction:\n\n1. The seed check accepts an opening price strictly past the token-only boundary, where the oracle reverts until the first buy. Verified with a scratch test. No loss and self-healing, but it is a documented-band divergence the deployer's price derivation should respect.\n2. The supplied Owners protected fee-collect check skips on this hook because the probe's 1e18 full-range seed is below the principal band. The collect path itself holds by trace and is covered locally. This is already disclosed in the manifest notes.\n\nNot reached: the superseded UnlkHook, UnlkHookV2, UnlkHookV3, UnlkOracle, both custom routers, NftFeeVault and the two historical USD sources. None of them is named by `launch.json` or pinned by `ImdReviewedCode`, so they are not deployed by this launch. Their rows are marked unreached rather than claimed.","treeHash":null,"usage":{"cachedInputTokens":1886168,"inputTokens":356,"model":"claude-fable-5-1","outputTokens":66717,"runtime":"claude","turns":40,"wallClockMs":1015959}},{"artifacts":[],"attempt":1,"bundleHash":"7ecc811e66fec53a21f5b94adb121bc516291aa7b3ef4403118f859eb934441a","device":"f84fad79f165f267","findings":[],"hash":"bb36db87ff53cf5070483282aa1d0a9c3515bd73ef6978dce747747eb02c3b51","nodeId":"3fc98f2a-e4d8-4c28-8b92-13c191c19484","outcome":"completed","summary":"Updated only [launch.json](/root/.identitymd/work/563ad4ec-93f8-46fd-b6b0-2182f4a7509e/3fc98f2a-e4d8-4c28-8b92-13c191c19484/launch.json). Constructor bindings, permissions and pool settings match the implementation; notes are 3,924/4,000 characters.\n\nValidation passed: `forge build`, all 479 tests with the required seed, and 11 supplied Hook/Token checks.\n\nOwners checks lack platform helpers. Official admission and mainnet deployment remain pending.","treeHash":"b3d055cbc06d2a4d8c612ce4cbceee3ba50f68a1","usage":{"cachedInputTokens":3029376,"inputTokens":103874,"model":"gpt-6-astra","outputTokens":17163,"runtime":"codex","turns":10,"wallClockMs":630614}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"707624586655cf74","findings":[{"citation":"resolved","description":"The admission repair moved _verifyServices out of beforeInitialize (the requested fix; the supplied Hook.protected.t.sol now passes locally, confirmed by re-running scripts/check_protected.py: 4/4 Hook and 7/7 Token checks). Stage 1 (beforeInitialize lines 193-212, _recordSeed 522-544) now checks nothing about the environment, while every setup entry (deployPriceSource 267, deployCompanions via _verifyLaunch 349, configureAndActivate via _verifyLaunch 323) requires chainid 1 and the exact pinned factory/manager/fees/registry/IMD/router/quoter/Permit2 addresses and codehashes recorded at block 26203203. These are compile-time constants with no re-pin path. If at broadcast time any pinned runtime differs (IMD redeploys or proxies LaunchFactory/LaunchFees/LaunchRegistry, Uniswap replaces the Quoter, or $factory resolves to another instance), the launch transaction succeeds, 870M UNLK is seeded and principal-locked by beforeRemoveLiquidity (567), but every setup call reverts InvalidConfig forever: trading, credits and gates never enable. This is the asymmetry the requested relocation introduced, so it is a release condition rather than a code exploit: re-verify every MainnetPins constant against live chain state immediately before broadcast and refuse a $factory other than 0x12C63b581d07093F6126bc02263c58f7EadaA96F. Merged from audit_permissions (same root cause; reproduced).","line":288,"path":"src/mainnet/UnlkImdHook.sol","reproduction":"test/scratch/JudgeRepro.t.sol::testStageOneSucceedsButSetupIsPermanentlyRefusedOffPins (passes as a demonstration): chainid 1, fresh PoolManager, this test as the constructor-bound factory (not the pinned address), MockERC20 etched at IMD_ADDRESS. manager.initialize(sorted UNLK/IMD key, fee 12500, spacing 60) and the factory's token-only seed both succeed (hook.bound()==true, seedRecorded()==true). Then vm.prank(owner); hook.deployPriceSource(type(ImdSpotUsdSource).creationCode, \"\") reverts UnlkImdHook.InvalidConfig at _verifyServices line 288; a liquidityDelta -1 from the factory reverts PrincipalLocked. Expected: an environment the hook will never accept is rejected before the irreversible seed or is recoverable. Actual: permanently inactive pool with locked principal.","severity":"low","snippet":"            block.chainid != 1 || launchFactory != MainnetPins.FACTORY_ADDRESS","title":"Service-pin attestation runs only after the irreversible stage 1, so a runtime that differs from MainnetPins at launch leaves the seeded pool inactive with no recovery"},{"citation":"resolved","description":"configureAndActivate (src/mainnet/UnlkImdHook.sol:330 `if (!MerkleClaimEvidence(address(rewards_)).certified(0)) revert InvalidEvidence();`) refuses to seal unless round 0 is certified, and certification is reachable only through certifyRound (line 81) or submitLeaves/_list (line 130), both of which revert DuplicateRecipient when one account appears twice in the leaf set. The round-0 root is written by the IMD LaunchFactory from the deployer-supplied merkleRoot (test/imd/LaunchFactory.sol launch(): openRound(params.merkleRoot, ...)); neither the owner nor the hook controls its shape, and the evidence creation code is pinned by ImdReviewedCode.EVIDENCE so no tolerant adapter can be staged. The distributor itself accepts such a tree (claimed[round][account] is a bool), so nothing upstream guarantees uniqueness. If the platform emits one leaf per contribution rather than per wallet, stage 1 completes and locks the seed, but deployCompanions/configureAndActivate can never succeed. Liveness trust gap between a platform input and the sealed activation path; verify round-0 recipient uniqueness before broadcast. Merged from audit_permissions (reproduced).","line":81,"path":"src/MerkleClaimEvidence.sol","reproduction":"test/scratch/JudgeRepro.t.sol::testDuplicateRecipientBlocksCertification (passes as a demonstration): MerkleClaimEvidence e = new MerkleClaimEvidence(distributor, token); e.certifyRound(0, [A, A], [1, 2]) reverts DuplicateRecipient; e.submitLeaves(0, 2, [A, A], [1, 2]) reverts DuplicateRecipient; e.certified(0) stays false. With that evidence staged, UnlkImdHook.configureAndActivate(e, oracle, n) reverts InvalidEvidence at line 330 on every attempt. Expected: a launch whose stage 1 succeeded can always be activated by its setup authority. Actual: permanent inactive state with locked seed whenever the platform tree has a duplicate wallet.","severity":"low","snippet":"            if (accounts[i] == accounts[i - 1]) revert DuplicateRecipient();","title":"Activation is permanently impossible if the platform's round-0 swarm tree carries the same recipient twice"},{"citation":"resolved","description":"The 'external operational trust' paragraph is not covered by the file's revision notice and tells the operator and beneficiary that a nonzero PoolManager protocol fee reverts every official-pool swap. The deployed economics are the opposite: src/mainnet/UnlkImdHook.sol:398-401 reads slot0 only to require lpFee == FEE and comments that a core protocol fee 'must not become a launch-wide pause'; launch.json notes and docs/admission-fix/REPORT.md disclose that core protocol fees raise effective totals without halting swaps or gates, and test/mainnet/ProtocolFees.t.sol asserts exactly that. The design document a reader is pointed to and the accepted disclosure disagree, so the operator monitoring list in that paragraph rests on a false premise. Documentation defect only; no code change. Merged from audit_economics (reproduced by reading the line and running the suite).","line":44,"path":"docs/mainnet/DESIGN.md","reproduction":"State: activated UNLK/IMD pool from test/mainnet/ImdFixture.sol. Input: the protocol fee controller sets a nonzero protocol fee on the key, then alice buys 100e18 IMD via the pinned Universal Router and sells a tenth. Expected per docs/mainnet/DESIGN.md:44: both swaps revert ('fail closed'). Actual: both settle, E/S and remainingQuota update and protocolFeesAccrued(IMD) grows; test/mainnet/ProtocolFees.t.sol (ImdProtocolFeesTest and ImdProtocolFeesReverseTest, 10 tests each) pass on this tree, run in this review. Fix: rewrite the sentence to match UnlkImdHook.sol:398-401 (swaps continue; effective totals rise with the core rate) or mark the section superseded.","severity":"low","snippet":"PoolManager governance setting a nonzero protocol fee makes swaps fail closed to preserve the promised fee structure;","title":"docs/mainnet/DESIGN.md says swaps fail closed under a nonzero core protocol fee; the shipped hook deliberately keeps trading and gates open"},{"citation":"resolved","description":"_recordSeed only rejects an opening price inside the seed range, so a factory that initializes the pool one or more spacings past the position boundary (token0: sqrtPrice < sqrtPriceAtTick(tickLower)) is accepted and the seed recorded; configureAndActivate only requires feed().priceUsd() != 0, never fdvUsd(). UnlkImdOracle.fdvUsd() (src/mainnet/UnlkImdOracle.sol:100 `sqrtPrice < rangeLower || sqrtPrice > rangeUpper`) requires the price inside the band, so from activation until the first buy walks the price into range, fdvUsd() reverts InvalidOracle and checkpoint() returns false. Sells are impossible in that state anyway (the pool holds no IMD) and the first buy repairs it, so there is no loss or permanent breakage; the two guards documented as the same band diverge by the strict side. The deployer's opening-price derivation should land on the tick-aligned token-only boundary, or the divergence is accepted knowingly. Merged from audit_flow (reproduced).","line":535,"path":"src/mainnet/UnlkImdHook.sol","reproduction":"test/scratch/JudgeRepro.t.sol::testSeedAcceptsOpeningStrictlyBelowBoundary (passes as a demonstration): token0 fixture, seed range [-129000, 887220], manager.initialize(key, getSqrtPriceAtTick(-129060)) then the factory's token-only seed: hook.seedRecorded()==true. By trace, after activation UnlkImdOracle.fdvUsd() reverts InvalidOracle (sqrtPrice < rangeLower) and UnlkImdHook.checkpoint() returns false until one buy moves the price to or above sqrtPriceAtTick(-129000). Expected per the design docs: the oracle can read the bound pool once activated. Actual: no gate can open before the first buy.","severity":"info","snippet":"            (tokenIs0 ? sqrtPrice > TickMath.getSqrtPriceAtTick(params.tickLower) : sqrtPrice < sqrtUpper)","title":"Seed check accepts an opening price strictly past the token-only boundary, where the oracle cannot read until the first buy"},{"citation":"resolved","description":"Owners.protected.t.sol::test_theFactoryCollectsItsFeesWithTheHookLive seeds the factory probe's position with liquidity 1e18 over the full usable range and vm.skip()s when the seed is refused. On this hook the first factory add runs _recordSeed, whose principal band (861.3M to 870M UNLK) rejects that seed with InvalidPool, so the protected collect check records a skip, not a pass. The collect path itself (beforeRemoveLiquidity/afterRemoveLiquidity with liquidityDelta 0 from the factory, zero delta returned, no owner switch) holds by trace and is exercised by test/mainnet/InitializationAdmission.t.sol::testSeedWithoutCompanionsAndCollectWithoutActivation. The manifest notes already say the Owners check is not claimed passed; recorded so admission does not read the skip as coverage. Not a code defect: the band is the reviewed principal-protection design. Merged from audit_flow (reproduced by trace against the supplied harness).","line":536,"path":"src/mainnet/UnlkImdHook.sol","reproduction":"From the factory probe after PoolManager.initialize(launchKey, IMD_SQRT_PRICE): manager.unlock -> modifyLiquidity(key, minUsableTick(60)=-887220, maxUsableTick(60)=887220, liquidityDelta=1e18, salt 0). Expected by the harness: the add succeeds and the zero-delta collect is judged, or the refusal triggers vm.skip. Actual: beforeAddLiquidity -> _recordSeed computes principal = getAmount0Delta(sqrt(-887220), sqrt(887220), 1e18), far below MIN_POOL_ALLOCATION (861_300_000 ether), and the opening price 2^96 sits inside that range, so the call reverts WrappedError(hook, beforeAddLiquidity.selector, InvalidPool) and the protected test skips.","severity":"info","snippet":"                || principal < MIN_POOL_ALLOCATION || principal > token.POOL_ALLOCATION()","title":"Protected Owners fee-collect check skips on this hook because its principal band rejects the probe's 1e18 full-range seed"},{"citation":"resolved","description":"syncRewards credits kind-2 eligibility (immediately spendable) for every amount MerkleClaimEvidence.attest proves was claimed from ANY distributor round, not only round 0. The verified MerkleDistributor lets the chain treasury open further rounds at will (test/imd/MerkleDistributor.sol:91 `if (msg.sender != treasury() && (msg.sender != opener || _rounds.length != 0))`) against whatever UNLK sits in the distributor, and anyone can transfer UNLK into it. A transfer-only holder could therefore obtain quota rights if the treasury opens a round naming them. Requires a platform-privileged party outside the launch's setup authority, so it is a trust assumption to disclose, not a defect: 'transfers create no quota rights' holds only while the treasury opens no rounds beyond the swarm round. Merged from audit_permissions (reproduced by trace).","line":620,"path":"src/mainnet/UnlkImdHook.sol","reproduction":"Local fixture (test/mainnet/ImdFixture.sol) after activation: alice holds 1e24 UNLK received by transfer (remainingQuota 0); token.transfer(distributor, 1e24); vm.prank(treasury) distributor.openRound(rootFor(alice, 1e24), 1e24, 0); distributor.claim(1, alice, 1e24, proof); rewards.certifyRound(1, [alice], [1e24]); rewards.attest(1, alice, 1e24, proof); hook.syncRewards(alice) returns 1e24 and remainingQuota(alice) becomes 2e23 at p = 2000. Expected under the disclosed rule: ordinary transfers create no quota rights. Actual: treasury-opened rounds convert transferred balances into quota.","severity":"info","snippet":"        uint256 actual = rewards.claimed(recipient);","title":"Trust assumption: the IMD chain treasury can mint spendable quota rights for any wallet by opening later distributor rounds"},{"citation":"resolved","description":"SuccessorFeeMath (used by UnlkImdHook.beforeSwap via _specifiedFee and afterSwap via _fee) computes the 75 bps fee as floor(leg*75/10000); for any executed IMD leg below 134 wei the fee is 0 and the swap settles with no treasury accrual. With 18-decimal IMD this is dust many orders below gas cost; the documented 'at most 1 wei' rounding statement holds and the gap never exceeds 1 wei per swap. Not exploitable; recorded for completeness. Merged from audit_math (reproduced).","line":10,"path":"src/candidate/NativeFeeMath.sol","reproduction":"test/scratch/JudgeRepro.t.sol::testFeeDustFloor (passes): NativeFeeMath.fee(133)==0, buyPoolInput(133)==133 (fee 0), buyPoolInput(134)==133 (fee 1), fee(134)==1. An exact-input buy with amountSpecified = -133 therefore emits TreasuryFee with fee 0 and ImdFeeVault.totalAccrued is unchanged; nominal 0.75% would be 0.9975 wei.","severity":"info","snippet":"        return Math.mulDiv(executedEth, BPS, 10000);","title":"Hook treasury fee floors to zero on IMD legs below 134 wei"}],"hash":"c2df070bdfe9fd87245fb4997d3043a7ed438f20f46ffb53c57365eef982fa81","nodeId":"433aa759-47f1-4305-9496-7c964e70d7b4","outcome":"completed","summary":"The review is complete and `.imd-findings.json` is written with 7 findings and a 92-row coverage record covering all 90 listed entry points.\n\n**Admission failure:** The fix reproduces. The hook's `beforeInitialize` no longer calls `_verifyServices`, keeps the constructor-bound factory check, the exact sorted UNLK/IMD key, fee 12500, spacing 60 and one-time binding. I re-ran the unmodified supplied Hook and Token protected checks with manifest-derived probes. All 4 Hook tests, including `test_initializesFromTheLaunchFactory`, and all 7 Token tests pass. This is a local run, not official admission. The full `test/mainnet` suite also passes, and the pinned companion creation-code hashes in `ImdReviewedCode` match the built artifacts.\n\n**Findings kept, all reproduced (no critical, high or medium):**\n- **Low:** service pins are first enforced after the irreversible stage 1, so a runtime that differs from `MainnetPins` at broadcast leaves a seeded, principal-locked, permanently inactive pool. Reproduced in `test/scratch/JudgeRepro.t.sol`. A release condition from the requested relocation, not an exploit.\n- **Low:** a round-0 swarm tree with one wallet twice can never be certified, so activation is impossible. Reproduced via `DuplicateRecipient` reverts.\n- **Low:** `docs/mainnet/DESIGN.md` line 44 says swaps fail closed under a core protocol fee, while the shipped hook and its tests keep trading open.\n- **Info:** seed check accepts an opening price strictly past the token-only boundary while the oracle needs the price in band until the first buy; the protected Owners collect check skips because the probe seed is outside the principal band; treasury-opened distributor rounds are a trust assumption that can mint quota; fee floors to zero below 134 wei.\n\n**Dropped or merged:** nothing dropped; each specialist finding reproduced and was kept at its stated severity, with the audit_permissions and audit_flow items merged where they shared a root cause.\n\n**Own pass:** I traced the four swap modes against v4 delta signs, the complete-fill and in-band checks, initiator accounting, claim minting to the IMD vault, the collect path, the staging and activation sequence, token, oracle and evidence contracts. I found no new defect. The historical hooks, custom routers, TWAP oracle and superseded price sources are marked `unreached`: they are not deployed by this manifest and the mainnet hook rejects any swap sender other than the pinned Universal Router or Quoter.","treeHash":null,"usage":{"cachedInputTokens":2296343,"inputTokens":482,"model":"claude-fable-5-1","outputTokens":47066,"runtime":"claude","turns":38,"wallClockMs":923084}},{"artifacts":[],"attempt":1,"bundleHash":"d21727b529505574627071d2994dcfd066787a829957fc5a91f9305a99074069","device":"eedfe508061c8582","findings":[],"hash":"c5919eabebb47964eb9a41a29d5a9f1463de5cabd454a8c9b87e9b486c40baf1","nodeId":"8f0adcda-cb15-4885-be11-35a6bd65f60c","outcome":"completed","summary":"Fixed the manifest rejection: notes reduced from 4,532 to 3,757 characters. Added boundary tests and refreshed release hashes.\n\nPassed: `forge build`, `forge fmt --check`, 479 Solidity tests with the required seed, and 10 Python tests. Independent review found no substantive issue.\n\nMainnet deployment remains pending platform admission and release.","treeHash":"f3808329d3337dd740de92e7045a34dbd6b73e1a","usage":{"cachedInputTokens":9812352,"inputTokens":303424,"model":"gpt-6-astra","outputTokens":52670,"runtime":"codex","turns":17,"wallClockMs":2139473}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"559cfaaab2c0d013","findings":[{"citation":"resolved","description":"SuccessorFeeMath (used by UnlkImdHook.beforeSwap via _specifiedFee and by afterSwap via _fee) computes the 75 bps treasury fee as floor(leg*75/10000). For any executed IMD leg below 134 wei the fee is exactly 0, so the swap settles with no treasury accrual and no TreasuryFee amount. In the exact-input buy path buyPoolInput(133) returns base=133 (132 from the division, then the +1 step since 133 <= 133 - fee(133) = 133), so fee = gross - base = 0. The same floor applies to the unspecified modes (exact-output buy, exact-input sell). Because IMD has 18 decimals, 133 wei is far below any economically meaningful amount and gas dominates by many orders of magnitude, so this is a documented-rounding observation, not an exploitable leak: the 'at most 1 wei' rounding statement in SuccessorFeeMath holds, and no larger fee gap exists (at 134 wei the fee is 1). Reported for completeness of the Math Precision zero-rounding check; no change is required.","line":10,"path":"src/candidate/NativeFeeMath.sol","reproduction":"Inputs: activated hook, Universal Router exact-input buy with amountSpecified = -133 (133 wei IMD). beforeSwap -> _specifiedFee -> SuccessorFeeMath.exactInputBuyFee(133): base = mulDiv(133,10000,10075) = 132; check 133 <= 133 - fee(133) where fee(133) = mulDiv(133,75,10000) = 0, so base = 133, fee = 0. Expected (nominal 0.75%): ~0.9975 wei -> actual 0; TreasuryFee event emits fee = 0 and ImdFeeVault.totalAccrued does not change. With amountSpecified = -134: base = 133, fee = 1 (nominal 1.005 wei), so the gap never exceeds 1 wei per swap. Pure arithmetic, verifiable with: assertEq(NativeFeeMath.fee(133), 0); assertEq(NativeFeeMath.buyPoolInput(133), 133); assertEq(NativeFeeMath.buyPoolInput(134), 133).","severity":"info","snippet":"        return Math.mulDiv(executedEth, BPS, 10000);","title":"Hook treasury fee floors to zero on IMD legs below 134 wei (dust-only zero-rounding)"}],"hash":"fbd623b2d8728ae6c494bdc50eefd4af48558cfeb4fe58eaf7da34dd3640f911","nodeId":"e1c2580f-644d-4875-9b5b-14ab9fbf891b","outcome":"completed","summary":"The findings file is written and valid, with 1 informational finding and 92 coverage rows. Final state:\n\n**Outcome.** The math in the deployable set (UnlkImdHook, UnlkImdOracle, ImdSpotUsdSource, ImdSpotMath, ImdSeedDepth, SuccessorFeeMath/NativeFeeMath, ImdFeeVault, MerkleClaimEvidence, UnlkToken) holds against the Math Precision, Boundary and Numerical Gap checklists. No critical, high or medium defect was substantiated, so no proof files were attached.\n\n**What was verified.**\n- The 512-bit FDV arithmetic in `src/mainnet/ImdSpotMath.sol` was checked against an independent Python big-integer reference on 100 vectors spanning both currency orders, the 2^128 sqrt-price branch switch, MIN/MAX sqrt prices and bases up to 2^256-1. Every result matched exactly, including saturation.\n- Fee rounding: the single +1 correction in `buyPoolInput` is provably sufficient, `sellGrossOutput` returns the smallest gross whose floor-fee leaves at least the requested net, and fuzzing confirmed both bounds. All four swap modes stay within 1 wei of 75 bps.\n- Complete-fill check sign and branch selection, the quota floor, the one-block maturity subtraction, tier thresholds and the 20%→95%/bypass mapping all match the brief. The view `remainingQuota` and the write path use identical math.\n- Boundary assumption on the factory: the verified mainnet LaunchFactory source seeds the pool before sending the remainder, so `token.initialRecipient()` is the payer wallet as the hook assumes.\n- The pinned PRICE_SOURCE hash equals the compiled ImdSpotUsdSource creation code. The sampled, V4-proof and v3 sources in src/mainnet are unpinned and cannot be staged.\n- The local reproduction of the admission failure (`test_initializesFromTheLaunchFactory`) passes with the relocated service attestation. Official admission was not run here.\n\n**Reported finding.** One informational item: the 75 bps treasury fee floors to zero for IMD legs below 134 wei. Concrete arithmetic is included. The gap never exceeds 1 wei per swap and is economically irrelevant at 18 decimals.\n\n**Coverage.** 35 entry points marked holds or finding with one-line reasons. 57 entry points belonging to superseded contracts (UnlkHook, UnlkHookV2, UnlkHookV3, UnlkOracle, NftFeeVault, UnlkRouterV2, UnlkSwapRouter) are marked unreached: they are not deployable from launch.json and were not reviewed within budget. Two invariant rows record the reference-checked FDV math and fee-rounding bounds.","treeHash":null,"usage":{"cachedInputTokens":1637486,"inputTokens":386,"model":"claude-fable-5-1","outputTokens":45048,"runtime":"claude","turns":37,"wallClockMs":738599}}],"verification":[{"checks":[{"durationMs":45388,"exitCode":0,"name":"build","output":"Compiling 218 files with Solc 0.8.26\nSolc 0.8.26 finished in 45.17s\nCompiler run successful with warnings:\nWarning (2519): This declaration shadows an existing declaration.\n  --> src/mainnet/StateProof.sol:62:14:\n   |\n62 |         for (uint256 at = parent.payload; at < parent.end;) {\n   |              ^^^^^^^^^^\nNote: The shadowed declaration is here:\n  --> src/mainnet/StateProof.sol:69:9:\n   |\n69 |         uint256 at = parent.payload;\n   |         ^^^^^^^^^^\n\nWarning (8760): This declaration has the same name as another declaration.\n  --> src/mainnet/ImdSampledUsdSource.sol:69:29:\n   |\n69 |         (uint160 sqrtPrice, int24 spot, uint128 liquidity, uint24 lpFee) = _pool();\n   |                             ^^^^^^^^^^\nNote: The other declaration is here:\n   --> src/mainnet/ImdSampledUsdSource.sol:133:5:\n    |\n133 |     function spot()\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (8760): This declaration has the same name as another declaration.\n  --> test/mainnet/QuotaMitigationInvariants.t.sol:45:34:\n   |\n45 |     function _trade(address who, bool buy, uint256 amount) private returns (bool ok) {\n   |                                  ^^^^^^^^\nNote: The other declaration is here:\n  --> test/mainnet/QuotaMitigationInvariants.t.sol:58:5:\n   |\n58 |     function buy(uint256 actor, uint96 raw) external {\n   |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2519): This declaration shadows an existing declaration.\n  --> test/mainnet/SpotCustodyInvariants.t.sol:93:22:\n   |\n93 |     function _inputs(bool buy, uint256 amount) private view returns (bytes[] memory inputs) {\n   |                      ^^^^^^^^\nNote: The shadowed declaration is here:\n   --> test/mainnet/SpotCustodyInvariants.t.sol:115:5:\n    |\n115 |     function buy(uint256 actorSeed, uint256 raw) public {\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (8760): This declaration has the same name as another declaration.\n  --> test/successor/SuccessorInvariants.t.sol:59:20:\n   |\n59 |     function _plan(bool buy, uint256 amount, address recipient)\n   |                    ^^^^^^^^\nNote: The other declaration is here:\n  --> test/successor/SuccessorInvariants.t.sol:74:5:\n   |\n74 |     function buy(uint256 who, uint256 to, uint256 amount) external {\n   |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (5159): \"selfdestruct\" has been deprecated. Note that, starting from the Cancun hard fork, the underlying opcode no longer deletes the code and data associated with an account and only transfers its Ether to the beneficiary, unless executed in the same transaction in which the contract was created (see EIP-6780). Any use in newly deployed contracts is strongly discouraged even if the new behavior is taken into account. Future changes to the EVM might further reduce the functionality of the opcode.\n  --> test/BatchSettlementProperties.t.sol:14:9:\n   |\n14 |         selfdestruct(recipient);\n   |         ^^^^^^^^^^^^\n\nWarning (5159): \"selfdestruct\" has been deprecated. Note that, starting from the Cancun hard fork, the underlying opcode no longer deletes the code and data associated with an account and only transfers its Ether to the beneficiary, unless executed in the same transaction in which the contract was created (see EIP-6780). Any use in newly deployed contracts is strongly discouraged even if the new behavior is taken into account. Future changes to the EVM might further reduce the functionality of the opcode.\n  --> test/FeeCustodyProperties.t.sol:19:9:\n   |\n19 |         selfdestruct(recipient);\n   |         ^^^^^^^^^^^^\n\nWarning (5159): \"selfdestruct\" has been deprecated. Note that, starting from the Cancun hard fork, the underlying opcode no longer deletes the code and data associated with an account and only transfers its Ether to the beneficiary, unless executed in the same transaction in which the contract was created (see EIP-6780). Any use in newly deployed contracts is strongly discouraged even if the new behavior is taken into account. Future changes to the EVM might further reduce the functionality of the opcode.\n  --> test/NativeCustodyInvariants.t.sol:15:9:\n   |\n15 |         selfdestruct(recipient);\n   |         ^^^^^^^^^^^^\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/UnlkHook.sol:209:5:\n    |\n209 |     function afterInitialize(address, PoolKey calldata key, uint160, int24)\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/candidate/UnlkHookV2.sol:224:5:\n    |\n224 |     function afterInitialize(address, PoolKey calldata key, uint160, int24)\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/mainnet/UnlkImdHook.sol:214:5:\n    |\n214 |     function afterInitialize(address, PoolKey calldata key, uint160, int24)\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/mainnet/UnlkImdHook.sol:546:5:\n    |\n546 |     function afterAddLiquidity(\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/mainnet/UnlkImdHook.sol:558:5:\n    |\n558 |     function beforeRemoveLiquidity(\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/mainnet/UnlkImdHook.sol:571:5:\n    |\n571 |     function afterRemoveLiquidity(\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/successor/UnlkHookV3.sol:230:5:\n    |\n230 |     function afterInitialize(address, PoolKey calldata key, uint160, int24)\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n  --> test/mainnet/ImdPermitAndBatch.t.sol:57:5:\n   |\n57 |     function _signPermit(IPermit2Signing.Permit memory permit, uint256 signingKey)\n   |     ^ (Relevant source part starts here and spans across multiple lines).\n\n","passed":true},{"durationMs":11120,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 1 test for test/mainnet/RecordedLaunchBoundary.t.sol:RecordedLaunchBoundaryReverseOrderTest\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 1.19ms (0.00ns CPU time)\n\nRan 1 test for test/mainnet/RecordedLaunchBoundary.t.sol:RecordedLaunchBoundaryTest\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 771.60µs (0.00ns CPU time)\n\nRan 2 tests for test/mainnet/ExternalSpotTouch.t.sol:ExternalSpotTouchTest\n[PASS] testRevertedFlashTouchCannotPersistGateOrReferenceMutation() (gas: 840121)\n[PASS] testUnsettledExternalSpotTouchPermanentlyUnlocksTransferOnlyHolder() (gas: 1477003)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 11.18ms (1.96ms CPU time)\n\nRan 4 tests for test/mainnet/ImdPermitAndBatch.t.sol:ImdPermitAndBatchTest\n[PASS] testBatchCreditsAndExplicitRecipientStillUseInitiator() (gas: 564755)\n[PASS] testFeeInclusiveInputOutputLimitsAndExpiryRollback() (gas: 650277)\n[PASS] testLocallySignedPermit2PermitAndBuyAtomicReplayRejected() (gas: 624644)\n[PASS] testSameExecutionCycleFullSaleRejectedAtomically() (gas: 703146)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 12.03ms (2.77ms CPU time)\n\nRan 1 test for test/candidate/SetupScript.t.sol:CandidateSetupScriptTest\n[PASS] testActualFactoryLaunchThenPreparedCompanionsAndAtomicActivation() (gas: 17380932)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 15.92ms (1.27ms CPU time)\n\nRan 3 tests for test/mainnet/ImdAuthentication.t.sol:ImdAuthenticationTest\n[PASS] testDifferentCodeAtPinnedRouterAndQuoterCannotAuthenticate() (gas: 588927)\n[PASS] testDirectUnlockerWithSpoofedMsgSenderCannotExecute() (gas: 525900)\n[PASS] testOnlyManagerCanCallSwapCallbacks() (gas: 42687)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 16.96ms (408.73µs CPU time)\n\nRan 2 tests for test/mainnet/ImdFeeMath.t.sol:ImdFeeMathTest\n[PASS] testFuzzAllModeRounding(uint128) (runs: 256, μ: 3626, ~: 3640)\n[PASS] testSeedDepthReversesWithSortingNoEthFloor() (gas: 9336)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.24ms (4.15ms CPU time)\n\nRan 6 tests for test/mainnet/InitializationAdmission.t.sol:InitializationAdmissionTest\n[PASS] testInactiveTradingCreditsAndGatesStayDisabledWhileTransfersWork() (gas: 847540)\n[PASS] testOnlyManagerAndConstructorBoundFactoryCanInitialize() (gas: 302987)\n[PASS] testRepeatedInitializationCannotRebind() (gas: 290147)\n[PASS] testSeedWithoutCompanionsAndCollectWithoutActivation() (gas: 786749)\n[PASS] testWrongCurrencySortingFeeSpacingAndHookRejected() (gas: 419820)\n[PASS] test_initializesFromTheLaunchFactory() (gas: 247771)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 21.53ms (1.34ms CPU time)\n\nRan 2 tests for test/mainnet/ImdPreparation.t.sol:ImdPreparationTest\n[PASS] testChangedImdRuntimeOrWrongChainCannotStage() (gas: 11102597)\n[PASS] testSourceThenPreparedCompanionsCertificationAndActivation() (gas: 16343264)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 10.16ms (2.91ms CPU time)\n\nRan 1 test for test/EvidenceAndOracleProperties.t.sol:RouterDeadlineTest\n[PASS] testDeadlineIsInclusive() (gas: 423552)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 27.84ms (372.65µs CPU time)\n\nRan 6 tests for test/mainnet/InitializationAdmission.t.sol:InitializationAdmissionToken1Test\n[PASS] testInactiveTradingCreditsAndGatesStayDisabledWhileTransfersWork() (gas: 802968)\n[PASS] testOnlyManagerAndConstructorBoundFactoryCanInitialize() (gas: 283167)\n[PASS] testRepeatedInitializationCannotRebind() (gas: 270327)\n[PASS] testSeedWithoutCompanionsAndCollectWithoutActivation() (gas: 738132)\n[PASS] testWrongCurrencySortingFeeSpacingAndHookRejected() (gas: 400097)\n[PASS] test_initializesFromTheLaunchFactory() (gas: 227823)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 6.40ms (1.54ms CPU time)\n\nRan 5 tests for test/EvidenceAndOracleProperties.t.sol:MultiLeafEvidenceTest\n[PASS] testDecreasingEvidenceCannotRevokePreviouslyCreditedClaims() (gas: 1100730)\n[PASS] testProofsFromTheActualTreeCreditExactlyWhatWasDelivered() (gas: 2298063)\n[PASS] testSiblingCannotAttestAnotherWalletsClaim() (gas: 771322)\n[PASS] testSweptRoundFreezesEvidence() (gas: 1136164)\n[PASS] testTheTreeIsWellFormed() (gas: 40973)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 29.69ms (2.34ms CPU time)\n\nRan 2 tests for test/mainnet/ExternalSpotTouch.t.sol:ExternalSpotTouchReverseOrderTest\n[PASS] testRevertedFlashTouchCannotPersistGateOrReferenceMutation() (gas: 837691)\n[PASS] testUnsettledExternalSpotTouchPermanentlyUnlocksTransferOnlyHolder() (gas: 1508197)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 29.93ms (1.91ms CPU time)\n\nRan 3 tests for test/mainnet/ImdSetup.t.sol:ImdSetupTest\n[PASS] testOfficialLpEntitlementActualAssetsAndPrincipalUnchanged() (gas: 1339755)\n[PASS] testPreparedBundlePredictionsAndPermanentSeal() (gas: 7615167)\n[PASS] testUnauthorizedStagingAndUnbackedAccrualRejected() (gas: 74664)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 9.39ms (1.30ms CPU time)\n\nRan 5 tests for test/mainnet/OwnerTransactions.t.sol:OwnerTransactionsTest\n[PASS] testChangedServiceSourceAndAllocationRejectedBeforeSigning() (gas: 1450954)\n[PASS] testMalformedOrIncompleteTreeCannotBecomeWalletCalls() (gas: 1552818)\n[PASS] testWalletTransactionsExecuteAndSealWithoutWarmup() (gas: 7635404)\n[PASS] testWrongChainOwnerPayerAndRuntimeRejected() (gas: 179208)\n[PASS] testWrongDistributorAndNumberRejectedBeforeWalletSigning() (gas: 1283598)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 12.60ms (5.14ms CPU time)\n\nRan 10 tests for test/CreditsAndFees.t.sol:CreditsAndFeesTest\n[PASS] testAttestationRequiresActualClaimAndExactLeaf() (gas: 438961)\n[PASS] testClaimTransferAndPayerTransferDoNotDuplicateCredit() (gas: 577960)\n[PASS] testFeeCollectionDoesNotReducePrincipal() (gas: 647552)\n[PASS] testNativeClaimNeverDependsOnAdapterOrFeed() (gas: 1190278)\n[PASS] testNativeClaimThenAttestThenSyncThenSale() (gas: 1607696)\n[PASS] testNegativeLiquidityForbiddenEvenForFactory() (gas: 82464)\n[PASS] testProofReleaseAndDedupRemainNativeRules() (gas: 573172)\n[PASS] testSaleFeesCountGrossInputAndNeverCreditFeeRecipients() (gas: 1191477)\n[PASS] testUnauthorizedLiquidityAndDonationNoCredit() (gas: 232025)\n[PASS] testUnclaimedRewardsNotEligible() (gas: 39399)\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 39.14ms (4.19ms CPU time)\n\nRan 6 tests for test/ActivationRobustness.t.sol:ActivationRobustnessTest\n[PASS] testPolicySeedRecordsCapacityAndConfirmsTiers() (gas: 30575729)\n[PASS] testSeedBelowOpeningValueFloorCannotLaunch() (gas: 9054745)\n[PASS] testSeedBelowThePoolShareBandCannotLaunch() (gas: 9050786)\n[PASS] testSeedInsideTheOnePercentBandActivates() (gas: 15887629)\n[PASS] testStagingRunsActivationPreconditionsAndCanRepeat() (gas: 21576209)\n[PASS] testSubDustSeedRoundingStillActivates() (gas: 16247257)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 40.94ms (21.33ms CPU time)\n\nRan 1 test for test/successor/SetupScript.t.sol:SuccessorSetupScriptTest\n[PASS] testFactoryLaunchThenPreparedCompanionsAndAtomicActivation() (gas: 13076591)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 27.62ms (1.39ms CPU time)\n\nRan 4 tests for test/SecurityRegression.t.sol:CodeAuthenticationRegressionTest\n[PASS] testActivationExternalFailureRollsBackEveryBinding() (gas: 912953)\n[PASS] testInconsistentImmutablePatchesAreRejected() (gas: 2018871)\n[PASS] testLaterFactoryDonationsCannotRewriteInitialAllocationReceipts() (gas: 688934)\n[PASS] testRuntimeMutationCannotPassGetterChecks() (gas: 85252)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 53.43ms (6.06ms CPU time)\n\nRan 3 tests for test/FailurePaths.t.sol:ActivationFailurePathsTest\n[PASS] testCompanionConstructorsRejectMissingInputs() (gas: 6057)\n[PASS] testCrossLaunchSetupIsRefusedInEveryDirection() (gas: 24766771)\n[PASS] testSepoliaRefusesLocallyClonedServicesEvenWithFeedAtPublishedAddress() (gas: 676766)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 54.13ms (11.61ms CPU time)\n\nRan 1 test for test/RevisionProperties.t.sol:RestagingIsolationTest\n[PASS] testAbandonedBundleIsInertAndMixedBundlesAreRefused() (gas: 7156292)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 26.91ms (1.37ms CPU time)\n\nRan 12 tests for test/candidate/Fees.t.sol:CandidateFeesTest\n[PASS] testDonatedManagerClaimsAreNotFeeRevenueAndLockedRedemptionRollsBack() (gas: 1135553)\n[PASS] testExactOutputBoundsCannotWrapIntoExactInput() (gas: 599580)\n[PASS] testFreshTokenOnlyManagerAndAllFourSwapModes() (gas: 1699039)\n[PASS] testFuzzBuyRounding(uint128) (runs: 256, μ: 1993, ~: 1996)\n[PASS] testFuzzSellRounding(uint128) (runs: 256, μ: 1600, ~: 1627)\n[PASS] testOnlyBeneficiaryWithdrawsNoRedirectAndDonationsSeparate() (gas: 855328)\n[PASS] testPartialBuyChargesExecutedLegAndRefundsUnusedBudget() (gas: 524800)\n[PASS] testPartialExactOutputRevertsAllPoolCreditsAndFeeChanges() (gas: 977721)\n[PASS] testPartialSellChargesOnlyExecutedOutputAndReturnsUnusedTokens() (gas: 920453)\n[PASS] testRejectingBeneficiaryCannotHaltSwapsAndFailedWithdrawalRetainsFunds() (gas: 1363888)\n[PASS] testSlippageAndOverQuotaRollbackFeesAndCredits() (gas: 1204447)\n[PASS] testTransfersClaimsAndLpCollectionDoNotAccrueFees() (gas: 1219280)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 27.37ms (12.97ms CPU time)\n\nRan 5 tests for test/HookDeployer.t.sol:HookDeployerTest\n[PASS] testChangedCreationBodyCannotMatchReviewedHash() (gas: 135903)\n[PASS] testChangedSetupAuthorityChangesHashAndCreate2Prediction() (gas: 226228)\n[PASS] testDeployedHelperFitsEvmCodeLimits() (gas: 8947)\n[PASS] testFuzzEncodesCallerSuppliedBytesAndFourAddresses(bytes,address,address,address,address) (runs: 256, μ: 20836, ~: 20428)\n[PASS] testReviewedHookInitCodeAndHash() (gas: 196628)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 7.55ms (7.22ms CPU time)\n\nRan 3 tests for test/ReleaseConfig.t.sol:ReleaseConfigTest\n[PASS] testReadOnlyReleaseChecksOnLocalFixture() (gas: 2011487)\n[PASS] testReadOnlyReleaseChecksRejectWrongChainOrHash() (gas: 1903758)\n[PASS] testStageOneAloneCannotPassReleaseGate() (gas: 63801371)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 67.19ms (33.78ms CPU time)\n\nRan 5 tests for test/mainnet/OwnerTransactions.t.sol:OwnerTransactionsLargeTreeTest\n[PASS] testChangedServiceSourceAndAllocationRejectedBeforeSigning() (gas: 19063927)\n[PASS] testMalformedOrIncompleteTreeCannotBecomeWalletCalls() (gas: 18122520)\n[PASS] testWalletTransactionsExecuteAndSealWithoutWarmup() (gas: 93212249)\n[PASS] testWrongChainOwnerPayerAndRuntimeRejected() (gas: 179208)\n[PASS] testWrongDistributorAndNumberRejectedBeforeWalletSigning() (gas: 10254190)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 70.59ms (51.38ms CPU time)\n\nRan 1 test for test/mainnet/SharedExecutorReview.t.sol:IndependentSharedExecutorProof\n[PASS] testUnrelatedUserConsumesVictimSharedExecutorQuotaWithoutVictimFunds() (gas: 1463354)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 27.04ms (1.13ms CPU time)\n\nRan 6 tests for test/mainnet/ImdLaunchPlan.t.sol:ImdLaunchPlanReverseTest\n[PASS] testAllPolicyCapEndpointsAndIntermediateSeedsLaunch() (gas: 62092681)\n[PASS] testDeliveredRepositoryIsAnExplicitProvenanceInput() (gas: 15441071)\n[PASS] testEmptyDeliveredRepositoryIsRejected() (gas: 7843678)\n[PASS] testMissingProvenanceIdentityOrWrongPolicyFailsWithoutDeploying() (gas: 7925283)\n[PASS] testPredictedNativeDistributorCannotReceivePayerAllocation() (gas: 8103666)\n[PASS] testPreparedFactoryCalldataLaunchesExactSeedAndBindings() (gas: 15492635)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 50.78ms (12.00ms CPU time)\n\nRan 8 tests for test/Adversarial.t.sol:AdversarialTest\n[PASS] test100PercentAloneIsNotFullUnlock() (gas: 7257766)\n[PASS] testArbitraryHookDataAndMultihopPayloadCannotSelectVictim() (gas: 89207)\n[PASS] testCallbacksAllRequireCanonicalManager() (gas: 211512)\n[PASS] testForeignPoolKeyRejectedEvenWithManagerPrank() (gas: 49882)\n[PASS] testNoMintPauseBlacklistUpgradeOrCounterResetEntrypoint() (gas: 114793)\n[PASS] testProtocolFeeChangeCannotSilentlyAlterTradingEconomics() (gas: 359163)\n[PASS] testQuotaMultiplicationDoesNotOverflowAtMaxEligible() (gas: 239235)\n[PASS] testTokenMintsWholeSupplyToDeployerOnly() (gas: 32832)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 33.16ms (5.91ms CPU time)\n\nRan 1 test for test/mainnet/SpotFailureIsolation.t.sol:SpotActivationFailureMatrixTest\n[PASS] testAllInvalidReferenceStatesRefuseActivationAtomicallyAndCanRetryImmediately() (gas: 4418528)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 11.45ms (3.86ms CPU time)\n\nRan 1 test for test/FailurePaths.t.sol:UnpaidLaunchTest\n[PASS] testNoRequesterMeansNoPayerCreditAnywhere() (gas: 1267642)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 24.99ms (776.65µs CPU time)\n\nRan 6 tests for test/compatibility/RecordedRouter.t.sol:RecordedRouterTest\n[PASS] testActualQuoterCannotCommitPoolTradesOrHookWrites() (gas: 298154)\n[PASS] testBatchBuysCanAggregateDeliveryToAnotherWallet() (gas: 325865)\n[PASS] testCounterexampleTakeAllVersusTakeBobIdenticalHookObservations() (gas: 611752)\nLogs:\n  Same executed output; different beneficiary: 987402494003717132\n  Identical beforeSwap observation: 0x09425f78d614b06a99b96ecaa53d10f355049f4254c4da8b0ab9e441803f2f7b\n  Identical afterSwap observation: 0x388a843e3ad3404e674bed2096e9eed7203549b09c755340fd280b3259400fe1\n\n[PASS] testMultihopBuyOutputNeverDeliveredToAnyWallet() (gas: 1235667)\n[PASS] testPermit2UserSourceVersusRouterPrefundingSameLogicalSender() (gas: 809841)\n[PASS] testSmartWalletDoesNotRevealTakeBeneficiary() (gas: 449760)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 88.93ms (2.50ms CPU time)\n\nRan 6 tests for test/mainnet/ImdLaunchPlan.t.sol:ImdLaunchPlanTest\n[PASS] testAllPolicyCapEndpointsAndIntermediateSeedsLaunch() (gas: 62404715)\n[PASS] testDeliveredRepositoryIsAnExplicitProvenanceInput() (gas: 15485707)\n[PASS] testEmptyDeliveredRepositoryIsRejected() (gas: 7843678)\n[PASS] testMissingProvenanceIdentityOrWrongPolicyFailsWithoutDeploying() (gas: 7925283)\n[PASS] testPredictedNativeDistributorCannotReceivePayerAllocation() (gas: 8104251)\n[PASS] testPreparedFactoryCalldataLaunchesExactSeedAndBindings() (gas: 15537271)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 19.38ms (11.88ms CPU time)\n\nRan 4 tests for test/SecurityRegression.t.sol:EvidenceCertificationRegressionTest\n[PASS] testActualLaterRoundClaimsHaveNoArtificialCumulativeCeiling() (gas: 1511648)\n[PASS] testDuplicateRecipientCannotOvercreditSmallerActualClaim() (gas: 441218)\n[PASS] testIncompleteTreeCannotBeCertified() (gas: 59593)\n[PASS] testOddTreeReconstructionAndPreCertificationNativeClaim() (gas: 580532)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 45.66ms (1.71ms CPU time)\n\nRan 1 test for test/mainnet/ImdMultihop.t.sol:ImdMultihopTest\n[PASS] testMultihopAuxiliaryImdUnlkUsesInitiatorAndSettlesBothPools() (gas: 1674649)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 11.33ms (889.38µs CPU time)\n\nRan 7 tests for test/candidate/Quoter.t.sol:CandidateQuoterTest\n[PASS] testExactOutputBuyQuoteIncludesFeeAndRollsBack() (gas: 982523)\n[PASS] testExactOutputSellQuoteRequiresGrossTranslationAndRollsBack() (gas: 1058630)\n[PASS] testGenericBuyQuoteMatchesFeeInclusiveExecutionWithoutCommitting() (gas: 704054)\n[PASS] testGenericSellQuoteIsNotWalletSellCapacity() (gas: 1128840)\n[PASS] testNonemptyQuoteDataIsRejected() (gas: 69218)\n[PASS] testUniversalRouterTradesExplicitlyRejectedUntilAttributionRedesign() (gas: 110317)\n[PASS] testWrongQuoterCodeCannotUseQuoteExemptionToCommit() (gas: 612054)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 12.30ms (3.45ms CPU time)\n\nRan 6 tests for test/mainnet/ImdOracle.t.sol:ImdOracleTest\n[PASS] testBadRoundFutureNegativeAndIncompleteRejected() (gas: 120054)\n[PASS] testCompositeAdapterWarmupDepthFreshnessAndRealDepeg() (gas: 241190)\n[PASS] testCrossWindowDivergenceAndHarmonicDepthFailClosed() (gas: 164709)\n[PASS] testFullMilestoneLadderReachableAndFeeContinuesAfterPermanentBypass() (gas: 1179585)\n[PASS] testNoUnlkWarmupAndFeedOutageDoesNotAdvanceOrRevoke() (gas: 1635343)\n[PASS] testSustainedCrossMarketManipulationRemainsEconomicRisk() (gas: 100110)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 14.53ms (4.09ms CPU time)\n\nRan 4 tests for test/ActivationRobustness.t.sol:ChunkedCertificationTest\n[PASS] testChunkBoundsAndSizeAreFixedByTheFirstChunk() (gas: 29517535)\n[PASS] testDuplicateAcrossChunksWrongRootAndForeignSessionsAreRefused() (gas: 231631551)\n[PASS] testSingleLeafRoundCertifiesThroughTheChunkedPath() (gas: 398202)\n[PASS] testSingleShotRefusesButChunksCertifyAndCredit() (gas: 124071664)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 124.94ms (62.23ms CPU time)\n\nRan 3 tests for test/mainnet/SpotFailureIsolation.t.sol:SpotFailureIsolationReverseOrderTest\n[PASS] testEveryInvalidReferenceLeavesTradingNativeClaimsAndEarnedGateLive() (gas: 28380907)\n[PASS] testFreshnessBoundaryAtExactlyNinetyMinutesThenOneSecondLater() (gas: 320588)\n[PASS] testRejectedRouterSuffixRollsBackARealSpotDrivenGate() (gas: 1173567)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 59.22ms (23.24ms CPU time)\n\nRan 1 test for test/successor/SuccessorInvariants.t.sol:SuccessorMultihopTest\n[PASS] testMultihopOfficialLegCreditsInitiatorEvenWhenOutputLeavesUnlk() (gas: 1961728)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 28.61ms (603.81µs CPU time)\n\nRan 9 tests for test/mainnet/QuotaMitigation.t.sol:QuotaMitigationTest\n[PASS] testDirectRightsIsolatedFromTwoAlternateExecutorsAndRecipients() (gas: 1944496)\n[PASS] testFuzzFreshBuysCannotEnlargeMatureCapacity(uint96) (runs: 256, μ: 963496, ~: 961908)\n[PASS] testLegitimateSmartAccountCanUseDirectRouterAndWalletExecutor() (gas: 1302354)\n[PASS] testMainnetSegregatedFundsHighPersistsAfterMaturity() (gas: 1664888)\nLogs:\n  Alice gross IMD capital: 100000000000000000000\n  Alice UNLK buy credit: 37520205924135432073673623\n  Alice buy treasury fee IMD: 744416873449131513\n  before mitigation and after maturity exposed UNLK capacity: 7504041184827086414734724\n  Bob net IMD proceeds: 19901531076301633668\n  total treasury fee IMD: 894806277048388190\n\n[PASS] testNativeCreditsNeverWaitForBuyMaturity() (gas: 517499)\n[PASS] testSameBlockPartialCycleAndSeparateExecutionsCannotRecycleCredit() (gas: 1683285)\n[PASS] testStandardRouterPrefundingDoesNotAuthenticateUnderlyingQuotaOwner() (gas: 996749)\n[PASS] testStandardRouterRecipientDoesNotAuthenticateUnderlyingQuotaOwner() (gas: 935582)\n[PASS] testWalletExecutorAuthenticatesCallerSettlementAndBudgets() (gas: 1277847)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 154.41ms (152.57ms CPU time)\n\nRan 18 tests for test/mainnet/OneWayGates.t.sol:OneWayGatesTest\n[PASS] testBriefBuySpikeThenFullSaleSameTransactionPreservesHighestSwapBoundary() (gas: 945372)\n[PASS] testEveryExactThresholdAndOneWeiBelowUsesSqrtNotRoundedTick() (gas: 6367380)\n[PASS] testExact1000Then200ThenOnly100At30Percent() (gas: 1970795)\n[PASS] testFuzzCumulativeEntitlementSurvivesGateJumpAndAdditionalBuy(uint96,uint8) (runs: 256, μ: 1498687, ~: 1498129)\n[PASS] testInvalidReferenceOnlyBlocksNewGatesNotTradingTransfersOrNativeClaims() (gas: 1888298)\n[PASS] testLateBatchRevertRestoresFinalBypassSalesCreditsFeesAndPool() (gas: 967339)\n[PASS] testLiquidityFeeReceiptsAndDonationsNeverCreditEligibility() (gas: 1489647)\n[PASS] testMultiTierJumpBriefSpikeAndPriceDeclineNeverReduceRights() (gas: 423923)\n[PASS] testOracleCannotBindUnauthorizedDifferentPoolOrSecondTime() (gas: 334200)\n[PASS] testPartialSalesRoundingAndNewAcquisitionsNeverResetSold() (gas: 2457467)\n[PASS] testPermanentFinalBypassForTransferOnlyHolderWithZeroEAfterDeclineAndOutage() (gas: 1195363)\n[PASS] testProtocolFeeDoesNotInvalidateSpotOrPreventPermanentGateAdvancement() (gas: 403894)\n[PASS] testRevertingReferenceStillSettlesQualifyingBuyAndWithinOldQuotaSale() (gas: 1051513)\n[PASS] testSaleCannotUseItsOwnPostSwapGateRetroactively() (gas: 1716712)\n[PASS] testSameTransactionEarlierBuyOpensGateForMatureQuotaButNewCreditWaits() (gas: 1324349)\n[PASS] testSameTransactionNewGateDoesNotMatureFreshCreditsAndRevertedBatchRestoresGate() (gas: 1290408)\n[PASS] testUnobservedPriceTouchIsNotBackfilled() (gas: 247900)\n[PASS] testWrongPoolCheckpointAndInvalidCurrentStateCannotGrantRights() (gas: 472483)\nSuite result: ok. 18 passed; 0 failed; 0 skipped; finished in 158.95ms (159.90ms CPU time)\n\nRan 1 test for test/SecurityRegression.t.sol:LargeTreeCertificationTest\n[PASS] testMaximumSortedTreeFitsTransactionGasLimit() (gas: 15973574)\nLogs:\n  1024-leaf sorted certification gas: 13939470\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 60.19ms (26.64ms CPU time)\n\nRan 3 tests for test/mainnet/SpotFailureIsolation.t.sol:SpotFailureIsolationTest\n[PASS] testEveryInvalidReferenceLeavesTradingNativeClaimsAndEarnedGateLive() (gas: 27908572)\n[PASS] testFreshnessBoundaryAtExactlyNinetyMinutesThenOneSecondLater() (gas: 321814)\n[PASS] testRejectedRouterSuffixRollsBackARealSpotDrivenGate() (gas: 1107543)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 27.61ms (19.15ms CPU time)\n\nRan 3 tests for test/mainnet/SpotMath.t.sol:ImdSpotMathTest\n[PASS] testExactInvertedThresholdAboveUint128HasNoNormalizationLoss() (gas: 16029)\n[PASS] testFuzzPowerOfTwoPricesAreExactInBothOrders(uint256,uint8) (runs: 256, μ: 11337, ~: 1800)\n[PASS] testGoldenWideProductsDivisionAndSaturation() (gas: 680973)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 8.11ms (8.03ms CPU time)\n\nRan 8 tests for test/mainnet/SpotOracle.t.sol:SpotOracleTest\n[PASS] testChainlinkValidation() (gas: 280354)\n[PASS] testExtremeSqrtPricesDoNotOverflow() (gas: 69143)\n[PASS] testFuzzExactFloorAndMonotonic(uint160) (runs: 256, μ: 53638, ~: 67987)\n[PASS] testImmediateCurrentPriceNoHistoryNoSample() (gas: 51558)\n[PASS] testManipulatedSpotMovesPriceImmediately() (gas: 60494)\n[PASS] testMissingPoolLiquidityFeeChainAndCodeFailClosed() (gas: 203552)\n[PASS] testNoSamplerSurfaceOrState() (gas: 51618)\n[PASS] testPoolIdIsTheVerifiedPreimage() (gas: 49203)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 18.93ms (18.25ms CPU time)\n\nRan 11 tests for test/NativeLaunch.t.sol:NativeWithdrawalTest\n[PASS] testDeepNativePoolWarmsUpAndCanUnlock() (gas: 136095725)\n[PASS] testNativeBatchSettlement() (gas: 870289)\n[PASS] testNativeBuySellAndFeeDistribution() (gas: 1127528)\n[PASS] testNativeExactOutputRefundToAuthenticatedCaller() (gas: 453473)\n[PASS] testNativeSettlementResetsPriorSyncCurrency() (gas: 605836)\n[PASS] testNativeValueMismatchAndUnsolicitedSendRejected() (gas: 91930)\n[PASS] testNativeWithdrawalUsesCEIAndCannotDoubleWithdraw() (gas: 996338)\n[PASS] testOneSidedOpeningLocks87PercentWithoutEthFunding() (gas: 62586)\n[PASS] testOtherWalletCannotWithdrawNativeRefund() (gas: 461374)\n[PASS] testRejectingNativeWalletCanTradeAndRetryWithdrawal() (gas: 1074660)\n[PASS] testThinLaunchCannotUnlockFromInitialSpotOrTinyBuy() (gas: 29940461)\nSuite result: ok. 11 passed; 0 failed; 0 skipped; finished in 214.35ms (157.12ms CPU time)\n\nRan 17 tests for test/Oracle.t.sol:OracleTest\n[PASS] testBadChainlinkRoundsAndAnswersFailClosed() (gas: 2352246)\n[PASS] testConfirmationGapRestartsRatherThanCountingUnobservedTime() (gas: 14857451)\n[PASS] testEveryTierAndPermanentUnlock() (gas: 136512808)\n[PASS] testFallingPricesNeverLowerReachedTier() (gas: 29259665)\n[PASS] testInvalidDataCannotCountTowardPendingConfirmationOrRevokeRights() (gas: 15083422)\n[PASS] testInvalidDataLongerThanGapRestartsOnNextValidCall() (gas: 694951)\n[PASS] testLongInvalidIntervalRestartsWhetherObservedOrNot() (gas: 807692)\n[PASS] testNegativeTickAveragesRoundConservativelyForBothOrders() (gas: 769389)\n[PASS] testObservedAndUnobservedInvalidIntervalsAgree() (gas: 29667292)\n[PASS] testOneBlockSpikeCannotConfirm() (gas: 740812)\n[PASS] testOracleCannotBeReboundOrConfiguredByAnyone() (gas: 73530)\n[PASS] testRealFeedCadenceCannotBeUsedToResetConfirmation() (gas: 18790257)\n[PASS] testSameTimestampManipulationHasNoTimeWeight() (gas: 760132)\n[PASS] testStaleCheckpointAndFeedPreventNewTierButNotTrades() (gas: 1332186)\n[PASS] testSustainedManipulationRequiresWindowAndConfirmation() (gas: 15128037)\n[PASS] testThresholdMappingBoundaries() (gas: 69776)\n[PASS] testWarmupAndExactWindow() (gas: 400906)\nSuite result: ok. 17 passed; 0 failed; 0 skipped; finished in 219.58ms (181.35ms CPU time)\n\nRan 2 tests for test/Stage2Script.t.sol:Stage2ScriptTest\n[PASS] testStage2DeploysFromActualIdentitiesAndOwnerActivates() (gas: 7071565)\n[PASS] testStage2RefusesUnknownLaunchNumber() (gas: 33767)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 31.87ms (1.64ms CPU time)\n\nRan 7 tests for test/mainnet/ImdSwaps.t.sol:ImdSwapsTest\n[PASS] testAllFourModesAndFeeInclusiveQuoter() (gas: 2493685)\n[PASS] testExplorerBuySellClaimsRevenueAndDonationSeparation() (gas: 1418830)\n[PASS] testFuzzExecutedImdConservation(uint96,uint16) (runs: 256, μ: 1004800, ~: 1003263)\n[PASS] testMissingTokenReceiptRollsBackWithdrawalAccounting() (gas: 882330)\n[PASS] testQuotaTransfersAndNativeClaimIndependence() (gas: 1258622)\n[PASS] testQuoteRollbackNoAccrualOrCredits() (gas: 1185512)\n[PASS] testRangeExitRollsBackFeesLedgerAndPool() (gas: 1204196)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 231.99ms (222.35ms CPU time)\n\nRan 2 tests for test/RevisionProperties.t.sol:SeedGatePropertiesTest\n[PASS] testFuzz_launchedSeedIsAlwaysLiquidAndRefusedSeedIsAlwaysBelowFloor(uint8) (runs: 96, μ: 11309870, ~: 9050245)\n[PASS] testFuzz_poolShareBandDecidesLaunchAndActivation(uint16) (runs: 96, μ: 11187023, ~: 9047728)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 204.41ms (180.72ms CPU time)\n\nRan 2 tests for test/LocalScript.t.sol:LocalScriptTest\n[PASS] testLocalScriptRefusesPublicChainId() (gas: 13983272)\n[PASS] testLocalSimulationFunctionDoesNotDependOnCaller() (gas: 63694238)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.33ms (3.91ms CPU time)\n\nRan 8 tests for test/Launch.t.sol:LaunchTest\n[PASS] testCompanionsAreImmutablyBound() (gas: 37886)\n[PASS] testFactoryHoldsPrincipalAndCannotRemoveIt() (gas: 333697)\n[PASS] testLaunchAllocationAndLockedPrincipal() (gas: 191055)\n[PASS] testLaunchIsOnceAndDeployerOnly() (gas: 2731433)\n[PASS] testOnlyCanonicalManagerCanCallHook() (gas: 66479)\n[PASS] testPayerCreditExactDeduplicated() (gas: 137462)\n[PASS] testUnauthorizedFactoryAndWrongPoolRejected() (gas: 80623)\n[PASS] testUnconfiguredComponentsFailClosed() (gas: 42307)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 27.38ms (1.10ms CPU time)\n\nRan 4 tests for test/TokenLedgerProperties.t.sol:TokenReceiptPropertiesTest\n[PASS] testFuzz_ReceiptsSurviveRoundingDelegationAndReturnedInventory(uint96) (runs: 1000, μ: 611435, ~: 611245)\n[PASS] test_FailedFinalTransferRollsBackAllowanceAndDistribution() (gas: 395800)\n[PASS] test_MetadataAndUnsealedIssuance() (gas: 72386)\n[PASS] test_ZeroAndSelfTransfersCannotSealOrCreateAllocationReceipts() (gas: 521375)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 139.72ms (139.22ms CPU time)\n\nRan 2 tests for test/RevisionProperties.t.sol:ChunkedCertificationPropertiesTest\n[PASS] testFuzz_abandonedSessionIsInertAndRestartable(uint8,uint256) (runs: 128, μ: 2587110, ~: 2350110)\n[PASS] testFuzz_anyChunkingAndReductionScheduleMatchesSingleShot(uint8,uint256,uint256,uint256,uint8,uint8) (runs: 128, μ: 3484572, ~: 3049829)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 207.44ms (179.88ms CPU time)\n\nRan 3 tests for test/SecurityRegression.t.sol:OracleOutageRegressionTest\n[PASS] testDepthDipInvalidatesWholeWindowAndRetainsReachedRights() (gas: 16317055)\n[PASS] testFinalTierRequiresItsOwnTwentyFourHours() (gas: 138827744)\n[PASS] testNextTierClockWaitsForItsOwnThreshold() (gas: 15295035)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 117.52ms (90.45ms CPU time)\n\nRan 13 tests for test/TwoStage.t.sol:StageOneTest\n[PASS] testActivationSealsAndCannotBeReplayed() (gas: 6134570)\n[PASS] testCrossLaunchNumberRejected() (gas: 5594038)\n[PASS] testFactoryLiquidityAllowedBeforeActivationButPrincipalStaysLocked() (gas: 37293)\n[PASS] testFirstTierConfirmsBelowTenEthActualReserves() (gas: 35619197)\n[PASS] testLaunchSucceedsWithoutCompanions() (gas: 122562)\n[PASS] testPayerCanTransferBeforeActivationWithoutLosingHistoricalCredit() (gas: 6125881)\n[PASS] testPayerCreditOnlyAfterActivationAndFromOriginalTransferReceipt() (gas: 6075022)\n[PASS] testRequesterReassignmentCannotMoveInitialAllocationCredit() (gas: 6081688)\n[PASS] testSepoliaRequiresPublishedChainlinkFeed() (gas: 5610561)\n[PASS] testSwapsSyncAndMilestonesRevertBeforeActivation() (gas: 6082593)\n[PASS] testTransfersAndNativeClaimsWorkBeforeActivationAndClaimIsCreditedLater() (gas: 6432841)\n[PASS] testUnauthorizedActivationRejected() (gas: 5606198)\n[PASS] testWrongContractsRejected() (gas: 6294420)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 47.95ms (21.97ms CPU time)\n\nRan 7 tests for test/mainnet/V4Activation.t.sol:V4ActivationTest\n[PASS] testHistoricalProofSourceIsNoLongerAdmitted() (gas: 236430)\n[PASS] testHistoricalSampledSourceIsNoLongerAdmitted() (gas: 152893)\n[PASS] testInactiveV3CodeIsNoLongerAdmittedAsProductionSource() (gas: 134582)\n[PASS] testPermissionlessGateCheckpointRequiresActivation() (gas: 57074)\n[PASS] testStaleFeedBlocksActivationThenValidCurrentReferenceActivatesInSameBlock() (gas: 7304209)\n[PASS] testUninitializedReferencePoolBlocksActivationAtomicallyAndClaimsRemainIndependent() (gas: 7030852)\n[PASS] testZeroLiquidityReferenceBlocksActivation() (gas: 6795996)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 8.74ms (2.81ms CPU time)\n\nRan 2 tests for test/SecurityRegression.t.sol:StagingCreationRegressionTest\n[PASS] testCounterfeitConstructorIsRefusedBeforeAnyDeployment() (gas: 6413863)\n[PASS] testOnlySetupAuthorityMayStageAndOnlyUntilActivation() (gas: 12289760)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 27.15ms (2.35ms CPU time)\n\nRan 7 tests for test/NativeLaunch.t.sol:NativeLaunchTest\n[PASS] testDeepNativePoolWarmsUpAndCanUnlock() (gas: 136095724)\n[PASS] testNativeBatchSettlement() (gas: 870289)\n[PASS] testNativeBuySellAndFeeDistribution() (gas: 1127517)\n[PASS] testNativeExactOutputRefundToAuthenticatedCaller() (gas: 453384)\n[PASS] testNativeValueMismatchAndUnsolicitedSendRejected() (gas: 91952)\n[PASS] testOneSidedOpeningLocks87PercentWithoutEthFunding() (gas: 62608)\n[PASS] testThinLaunchCannotUnlockFromInitialSpotOrTinyBuy() (gas: 29940461)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 119.05ms (106.46ms CPU time)\n\nRan 7 tests for test/mainnet/ImdSwaps.t.sol:ImdReverseOrderTest\n[PASS] testAllFourModesAndFeeInclusiveQuoter() (gas: 2642796)\n[PASS] testExplorerBuySellClaimsRevenueAndDonationSeparation() (gas: 1450745)\n[PASS] testFuzzExecutedImdConservation(uint96,uint16) (runs: 256, μ: 1036898, ~: 1035216)\n[PASS] testMissingTokenReceiptRollsBackWithdrawalAccounting() (gas: 915091)\n[PASS] testQuotaTransfersAndNativeClaimIndependence() (gas: 1290677)\n[PASS] testQuoteRollbackNoAccrualOrCredits() (gas: 1286596)\n[PASS] testRangeExitRollsBackFeesLedgerAndPool() (gas: 1250604)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 323.84ms (290.28ms CPU time)\n\nRan 4 tests for test/SeedBoundary.t.sol:SeedBoundaryTest\n[PASS] testBuyLimitIsBoundedByTheSeedFloor() (gas: 390660)\n[PASS] testLimitsInsideTheRangeAreHonoured() (gas: 771508)\n[PASS] testSellIntoAnEmptyReserveRevertsWithoutState() (gas: 394827)\n[PASS] testSellThatDrainsTheReserveStopsAtTheSeedBoundary() (gas: 1586847)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 28.05ms (2.20ms CPU time)\n\nRan 3 tests for test/mainnet/ServiceAttestation.t.sol:ServiceAttestationTest\n[PASS] testEveryServiceRuntimeIsRequiredAtEverySetupBoundary() (gas: 18834335)\n[PASS] testFactoryGettersAndQuoteDecimalsRevalidatedWithoutCodeChanges() (gas: 6793889)\n[PASS] testWrongChainCannotStageOrActivate() (gas: 2674217)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 11.49ms (4.00ms CPU time)\n\nRan 5 tests for test/candidate/TiersAndSetup.t.sol:CandidateTiersTest\n[PASS] testAllSixteenThresholds() (gas: 461702)\n[PASS] testInvalidDataCadenceAndGapCannotAdvanceOrRevoke() (gas: 16292660)\n[PASS] testNativePreActivationClaimDeduplicatesAndAllocationSurvivesTransfers() (gas: 35647833)\n[PASS] testSequentialAllTiersFinal24HoursPermanentBypassAndFeePersists() (gas: 321640971)\n[PASS] testSetupAndBypassFailClosed() (gas: 1280938)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 285.05ms (271.45ms CPU time)\n\nRan 10 tests for test/mainnet/ProtocolFees.t.sol:ImdProtocolFeesReverseTest\n[PASS] testAllFourModesAndFeeInclusiveQuoter() (gas: 2759296)\n[PASS] testControllerChangesDoNotResetQuotaOrBlockTradingDuringReferenceOutage() (gas: 2450696)\n[PASS] testExplorerBuySellClaimsRevenueAndDonationSeparation() (gas: 1495710)\n[PASS] testFuzzDirectionalProtocolFeesPreserveExecutedLegFeeAndSolvency(uint16,uint16,uint96) (runs: 256, μ: 1148353, ~: 1150461)\n[PASS] testFuzzExecutedImdConservation(uint96,uint16) (runs: 256, μ: 1082054, ~: 1080246)\n[PASS] testMissingTokenReceiptRollsBackWithdrawalAccounting() (gas: 937652)\n[PASS] testProtocolRevenueIsSeparateFromTreasuryAndLockedPrincipal() (gas: 801256)\n[PASS] testQuotaTransfersAndNativeClaimIndependence() (gas: 1335646)\n[PASS] testQuoteRollbackNoAccrualOrCredits() (gas: 1364447)\n[PASS] testRangeExitRollsBackFeesLedgerAndPool() (gas: 1303245)\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 462.17ms (429.91ms CPU time)\n\nRan 9 tests for test/Trading.t.sol:TradingTest\n[PASS] testAnotherWalletCannotConsumeVictimsAllowanceOrQuota() (gas: 472208)\n[PASS] testDirectManagerAndForeignRouterSpoofingRejected() (gas: 644028)\n[PASS] testDonatedRouterBalancesCannotCreateCreditOrBeSwept() (gas: 497543)\n[PASS] testExactOutputSaleAccountsActualInput() (gas: 735195)\n[PASS] testExcessSaleRollsBackPoolBalancesOracleAndNonce() (gas: 800579)\n[PASS] testFuzzQuotaBoundary(uint96) (runs: 256, μ: 1037671, ~: 1037777)\n[PASS] testReplayOldCallbackHasNoLiveContext() (gas: 427364)\n[PASS] testSaleBoundaryExecutedInputIncludesPoolFee() (gas: 1067073)\n[PASS] testTransfersDoNotMoveRightsOrAllowChainCredit() (gas: 830532)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 227.82ms (199.50ms CPU time)\n\nRan 2 tests for test/TwoStage.t.sol:StageOneConstructorTest\n[PASS] testConstructorRejectsMissingOrConflatedInputs() (gas: 8207)\n[PASS] testOnlyFactoryCanInitializeTheHooksPool() (gas: 43150)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 22.25ms (218.44µs CPU time)\n\nRan 8 tests for test/SepoliaPins.t.sol:SepoliaPinsTest\n[PASS] testEmbeddedRuntimeMatchesThePins() (gas: 22518)\n[PASS] testLocalChainDoesNotConsultThePins() (gas: 10226069)\n[PASS] testSepoliaAcceptsThePinnedServicesAtInitialize() (gas: 10488386)\n[PASS] testSepoliaRefusesAnUnpinnedFactory() (gas: 6489939)\n[PASS] testSepoliaRefusesAnUnpinnedManager() (gas: 159347398)\n[PASS] testSepoliaRefusesLookalikeFeesBehindThePinnedFactory() (gas: 10451800)\n[PASS] testSepoliaRefusesLookalikeRegistryBehindThePinnedFactory() (gas: 10438631)\n[PASS] testSepoliaRefusesUnpinnedServicesAtInitialize() (gas: 10157187)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 91.00ms (90.42ms CPU time)\n\nRan 6 tests for test/mainnet/V4OracleProof.t.sol:V4BlockProofTest\n[PASS] testActualMainnetProofVerifiesExactStorageButCannotPrice() (gas: 5170288)\n[PASS] testDuplicateAndTrailingProofNodesRejected() (gas: 6163390)\n[PASS] testFuzzChangedHeaderNeverAuthenticates(uint16,uint8) (runs: 256, μ: 83310, ~: 90783)\n[PASS] testFuzzChangedStorageProofRejected(uint16,uint8) (runs: 256, μ: 525511, ~: 525196)\n[PASS] testNonCanonicalRlpAndMalformedNodesRejected() (gas: 94027)\n[PASS] testWrongAccountSlotChainAgeAndConfirmationRejected() (gas: 4781659)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 264.82ms (267.94ms CPU time)\n\nRan 23 tests for test/successor/Successor.t.sol:SuccessorTest\n[PASS] testBatchedBuysAllCreditTheInitiator() (gas: 463840)\n[PASS] testClaimsAndPayerCreditIndependentOfTradingAndDeduplicated() (gas: 754542)\n[PASS] testCycleInOneExecutionCannotFarmQuota() (gas: 1199533)\n[PASS] testDirectUnlockerCannotTrade() (gas: 513524)\n[PASS] testDivertedDeliveryCreditsInitiatorNotRecipient() (gas: 596333)\n[PASS] testExactOutputBuyChargesEthOnExecutedInputAndRefundsUnusedValue() (gas: 586480)\n[PASS] testExactOutputSellDeliversExactNetEth() (gas: 915573)\n[PASS] testExplorerBuyExactInputChargesEthFeeOnExecutedPoolLeg() (gas: 651573)\n[PASS] testExplorerSellExactInputThroughPermit2ChargesExecutedEthOutput() (gas: 903970)\n[PASS] testFeeInclusiveMinimumAboveQuoteRevertsWithoutState() (gas: 594299)\n[PASS] testFullUnlockKeepsTheStandardRouteAndBypassesQuota() (gas: 301039236)\n[PASS] testFuzzBuyThenSellConservesEthAndFees(uint96,uint16) (runs: 256, μ: 728480, ~: 730050)\n[PASS] testFuzzSpecifiedFeeBounds(uint128) (runs: 256, μ: 6324, ~: 6325)\n[PASS] testGenericQuoteForZeroQuotaWalletIsSimulationOnly() (gas: 674606)\n[PASS] testHookDataIsIgnored() (gas: 731203)\n[PASS] testLookalikeCodeAtRouterOrQuoterAddressRejected() (gas: 575287)\n[PASS] testPrefundedSaleConsumesInitiatorQuotaNotFunder() (gas: 796620)\n[PASS] testSaleBeyondSeedBoundaryIsRejectedAndNotCharged() (gas: 1247945)\n[PASS] testSetupIsSealedAndCompanionsPinned() (gas: 475937)\n[PASS] testSmartAccountIsTheInitiator() (gas: 532401)\n[PASS] testTransfersNeverMigrateRights() (gas: 679420)\n[PASS] testTreasuryRedeemsAndOnlyBeneficiaryWithdrawsEth() (gas: 571674)\n[PASS] testUnactivatedLaunchRejectsStandardSwapsAndWrongCodes() (gas: 24303844)\nSuite result: ok. 23 passed; 0 failed; 0 skipped; finished in 456.88ms (444.46ms CPU time)\n\nRan 1 test for test/StageOneInvariants.t.sol:StageOneInvariantTest\n[PASS]\nStageOneInvariantTest invariants:\n[PASS] invariant_onlyTheAuthorizedCallActivates\n[PASS] invariant_tokenAndClaimsIndependentOfTheHook\n[PASS] invariant_unconfiguredPoolIsInert\n StageOneInvariantTest invariants (runs: 96, calls: 3840, reverts: 0)\n\n╭-----------------+------------------+-------+---------+----------╮\n| Contract        | Selector         | Calls | Reverts | Discards |\n+=================================================================+\n| StageOneHandler | advance          | 477   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | attemptActivate  | 443   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | claimAndAttest   | 485   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | directSwap       | 483   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | foreignLiquidity | 532   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | routerSwap       | 485   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | syncAndMilestone | 479   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | transfer         | 456   | 0       | 0        |\n╰-----------------+------------------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 764.26ms (737.23ms CPU time)\n\nRan 1 test for test/successor/SuccessorInvariants.t.sol:SuccessorInvariantTest\n[PASS]\nSuccessorInvariantTest invariants:\n[PASS] invariant_creditsEqualExecutedBuysOnly\n[PASS] invariant_feesAreNativeClaimsAndNeverUnlk\n[PASS] invariant_quotaNeverExceededForAnyInitiator\n SuccessorInvariantTest invariants (runs: 128, calls: 5120, reverts: 0)\n\n╭------------------+----------+-------+---------+----------╮\n| Contract         | Selector | Calls | Reverts | Discards |\n+==========================================================+\n| SuccessorHandler | buy      | 1740  | 0       | 0        |\n|------------------+----------+-------+---------+----------|\n| SuccessorHandler | sell     | 1665  | 0       | 0        |\n|------------------+----------+-------+---------+----------|\n| SuccessorHandler | transfer | 1715  | 0       | 0        |\n╰------------------+----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.80s (1.76s CPU time)\n\nRan 1 test for test/mainnet/QuotaMitigationInvariants.t.sol:QuotaMitigationInvariantTest\n[PASS]\nQuotaMitigationInvariantTest invariants:\n[PASS] invariantDirectRightsMatchOnlyExecutedAcquisitionsAndSales\n[PASS] invariantFeeReceiptsAndProtectedPrincipalRemainConserved\n QuotaMitigationInvariantTest invariants (runs: 128, calls: 5120, reverts: 0)\n\n╭------------------------+-----------+-------+---------+----------╮\n| Contract               | Selector  | Calls | Reverts | Discards |\n+=================================================================+\n| QuotaMitigationHandler | buy       | 1262  | 0       | 0        |\n|------------------------+-----------+-------+---------+----------|\n| QuotaMitigationHandler | nextBlock | 1302  | 0       | 0        |\n|------------------------+-----------+-------+---------+----------|\n| QuotaMitigationHandler | sell      | 1230  | 0       | 0        |\n|------------------------+-----------+-------+---------+----------|\n| QuotaMitigationHandler | transfer  | 1326  | 0       | 0        |\n╰------------------------+-----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.97s (1.95s CPU time)\n\nRan 1 test for test/Invariants.t.sol:SystemInvariantTest\n[PASS]\nSystemInvariantTest invariants:\n[PASS] invariantEligibleEqualsOnlyExecutedBuysAndSynchronizedProofs\n[PASS] invariantNoActorExceedsItsQuotaBeforeUnlock\n[PASS] invariantPrincipalLiquidityNeverDecreases\n[PASS] invariantSupplyConservedAndRouterHasNoCustody\n SystemInvariantTest invariants (runs: 128, calls: 5120, reverts: 0)\n\n╭---------------+----------+-------+---------+----------╮\n| Contract      | Selector | Calls | Reverts | Discards |\n+=======================================================+\n| ActionHandler | advance  | 859   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | buy      | 888   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | claim    | 794   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | sell     | 865   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | sync     | 864   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | transfer | 850   | 0       | 0        |\n╰---------------+----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.94s (1.90s CPU time)\n\nRan 5 tests for test/SeedRangeLimitProperties.t.sol:SeedRangeLimitPropertiesTest\n[PASS] testBuyLimitBelowTheFloorIsClampedAndLimitAboveThePriceIsRefused() (gas: 1123455)\n[PASS] testExactOutputSellBeyondTheReserveRevertsSlippageWithoutState() (gas: 1324053)\n[PASS] testFuzzDrainAndRebuyKeepsTheOracleReadable(uint96,uint96,uint8) (runs: 256, μ: 1689035, ~: 1680502)\n[PASS] testFuzzSellLimitIsClampedExactlyToTheSeedCeiling(uint96,uint160,uint8) (runs: 512, μ: 1128461, ~: 1206362)\n[PASS] testLaunchStateSellRevertsAsPriceLimitAlreadyExceeded() (gas: 1161675)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 1.74s (1.41s CPU time)\n\nRan 1 test for test/Invariants.t.sol:FullyUnlockedInvariantTest\n[PASS]\nFullyUnlockedInvariantTest invariants:\n[PASS] invariantEligibleEqualsOnlyExecutedBuysAndSynchronizedProofs\n[PASS] invariantNoActorExceedsItsQuotaBeforeUnlock\n[PASS] invariantPrincipalLiquidityNeverDecreases\n[PASS] invariantSupplyConservedAndRouterHasNoCustody\n[PASS] invariantUnlockRemainsPermanentDespiteInvalidFeed\n FullyUnlockedInvariantTest invariants (runs: 128, calls: 5120, reverts: 0)\n\n╭---------------+----------+-------+---------+----------╮\n| Contract      | Selector | Calls | Reverts | Discards |\n+=======================================================+\n| ActionHandler | advance  | 859   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | buy      | 888   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | claim    | 794   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | sell     | 865   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | sync     | 864   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | transfer | 850   | 0       | 0        |\n╰---------------+----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.14s (1.98s CPU time)\n\nRan 15 tests for test/mainnet/SampledOracle.t.sol:SampledOracleTest\n[PASS] testChainlinkValidation() (gas: 40426014)\n[PASS] testCheckpointTimedRepeatedFlashRatchetsAndItsCost() (gas: 47381145)\nLogs:\n  sole-sampler 2x: samples 81 fee cost USD 1092185\n  per-sample 2x flash fee USD 14032\n  24h at 1-minute honest cadence USD 20206682\n  24h, attacker-owned LP recaptures 1% LP fee, USD 91932\n\n[PASS] testColdStartWarmupDirectionAndDecimals() (gas: 39918613)\n[PASS] testCrossPoolFactorsMultiplyAndNetProfitModel() (gas: 62295127)\nLogs:\n  per-sample fee USD: full 2x leg / sqrt2 leg 14032 6409\n  bypass value of 2% holding USD 500000\n  cost: sole sampler / attacker LP / per-minute honest cadence USD 1136625 103423\n  cost per-minute honest cadence USD 22732517\n  sole-sampler breakeven holding (UNLK) 45465000\n\n[PASS] testFlashSameBlockSampleIsClampedAndHasNoImmediateWeight() (gas: 40743874)\nLogs:\n  flash 5000 ticks: ETH in 177 fee cost USD 9621\n\n[PASS] testFlashedAnchorConvergesBeforeAnyPriceIsServed() (gas: 39886705)\n[PASS] testFuzzRecordedStepBoundedAndAccountingMonotone(int24[8],uint16[8]) (runs: 256, μ: 1060409, ~: 1060320)\n[PASS] testGapVoidsWindowsUntilFullCleanLongWindow() (gas: 60067062)\n[PASS] testHonestMoveDelayIsExplicit() (gas: 61598596)\nLogs:\n  honest 2x move: minutes unavailable 100\n\n[PASS] testSameBlockAndTooFrequentSamplesRejected() (gas: 233313)\n[PASS] testStaleLatestSampleNeverExtrapolated() (gas: 39786385)\n[PASS] testSustainedManipulationPasses() (gas: 62272176)\n[PASS] testThinPoolOrChangedFeeIsRecordedIlliquid() (gas: 59962853)\n[PASS] testUninitializedPoolWrongChainAndWrongManagerFailClosed() (gas: 105297)\n[PASS] testUnsandwichedHonestSamplesNeutralizeAlternatingFlashes() (gas: 162950149)\nSuite result: ok. 15 passed; 0 failed; 0 skipped; finished in 2.07s (527.87ms CPU time)\n\nRan 7 tests for test/mainnet/V4OracleProof.t.sol:V4OracleIntervalsTest\n[PASS] testBadEthRoundsAndCodeFailClosed() (gas: 152659126)\n[PASS] testCurrentDepthWithdrawalInvalidatesEvenFreshProvenHistory() (gas: 152161531)\n[PASS] testDepthAndGapInvalidateWholeWindowThenRecoverWithoutReset() (gas: 522369133)\n[PASS] testInsufficientHistoryWarmupAndNoExtrapolation() (gas: 152203426)\n[PASS] testOmittedBlocksCannotBeSmoothedAndLateRecoveryRecordsBadInterval() (gas: 335725603)\n[PASS] testSameBlockAndFlashSampleCannotSupplyElapsedHistory() (gas: 152482577)\n[PASS] testSustainedAndCrossMarketManipulationRemainExecutableLimit() (gas: 320225835)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 2.07s (2.06s CPU time)\n\nRan 3 tests for test/ManipulationEconomics.t.sol:ManipulationEconomicsTest\n[PASS] testCounterSellingOfAllInitialNonPoolTokens() (gas: 157505516)\nLogs:\n  gross ETH capital (wei): 404492004375936755769\n  attacker ETH exit (wei): 139667041180374722901\n  net ETH exit cost before fee recapture (wei): 264824963195562032868\n  payer ETH fee receipts (wei): 4044920043759367559\n  counter-seller ETH proceeds (wei): 259768813140862823404\n  duration seconds: 201600\n\n[PASS] testPayerCanRecaptureItsNativeFeeShare() (gas: 144656869)\nLogs:\n  gross ETH capital (wei): 181211119085726918584\n  attacker ETH exit (wei): 178745758707992549273\n  net ETH exit cost before fee recapture (wei): 2465360377734369311\n  payer ETH fee receipts (wei): 1812111190857269186\n  counter-seller ETH proceeds (wei): 0\n  duration seconds: 201600\n  net ETH cost after native fee recapture (wei): 653249186877100125\n\n[PASS] testSustainedManipulationUnlockAndExit() (gas: 144670589)\nLogs:\n  gross ETH capital (wei): 181211119085726918584\n  attacker ETH exit (wei): 178745758707992549273\n  net ETH exit cost before fee recapture (wei): 2465360377734369311\n  payer ETH fee receipts (wei): 1812111190857269186\n  counter-seller ETH proceeds (wei): 0\n  duration seconds: 201600\n\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 2.36s (259.68ms CPU time)\n\nRan 2 tests for test/SeedRangeLimitProperties.t.sol:SeedRangeInvariantTest\n[PASS]\nSeedRangeInvariantTest invariants:\n[PASS] invariant_EveryObservationIsLiquid\n[PASS] invariant_PriceNeverLeavesTheSeedRange\n[PASS] invariant_PrincipalLockedAndManagerAssetsEqualExecutedFlows\n[PASS] invariant_SoldMatchesExecutedSalesAndQuota\n SeedRangeInvariantTest invariants (runs: 128, calls: 6144, reverts: 0)\n\n╭-----------------------+--------------+-------+---------+----------╮\n| Contract              | Selector     | Calls | Reverts | Discards |\n+===================================================================+\n| SeedRangeTradeHandler | advance      | 1009  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | buyExactIn   | 1023  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | sellExactIn  | 1016  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | sellExactOut | 1012  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | syncPayer    | 1026  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | withdraw     | 1058  | 0       | 0        |\n╰-----------------------+--------------+-------+---------+----------╯\n\n[PASS] testHandlerBranchesAreReachable() (gas: 3844289)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.14s (2.11s CPU time)\n\nRan 17 tests for test/FailurePaths.t.sol:RouterAndHookFailurePathsTest\n[PASS] testBatchBoundsAndValueMustMatch() (gas: 186758)\n[PASS] testBatchIsAtomicWhenALaterStepFails() (gas: 834234)\n[PASS] testConfirmationRequiresSixHoursAndCannotSkipTiers() (gas: 15341697)\n[PASS] testFullUnlockKeepsFeesAndRouterAuthentication() (gas: 137007309)\n[PASS] testFuzzOperationHashBindsTraderNonceAndChain(address,uint256,uint64) (runs: 256, μ: 17656, ~: 17656)\n[PASS] testFuzzRemainingQuotaFormula(uint128,uint128,uint8) (runs: 512, μ: 7293363, ~: 7293203)\n[PASS] testFuzzTierIsMonotonicInFdv(uint256,uint256) (runs: 512, μ: 16939, ~: 16913)\n[PASS] testFuzzTransfersMoveExactlyTheAmount(address,uint96) (runs: 256, μ: 122469, ~: 122475)\n[PASS] testHookRejectsMalformedRouteDataAndUnknownSenders() (gas: 238753)\n[PASS] testPartialFillAtPriceLimitChargesOnlyExecutedInput() (gas: 1213883)\n[PASS] testQuotaWidensWithTierAndNeverDoubleCounts() (gas: 16795708)\n[PASS] testRequesterChangeAfterActivationDoesNotMoveThePayer() (gas: 146383)\n[PASS] testRouterCallbackNeedsALiveSwap() (gas: 73817)\n[PASS] testRouterRefusesDegenerateRequests() (gas: 500273)\n[PASS] testSecondRoundClaimsAccumulateOncePerRound() (gas: 995639)\n[PASS] testSlippageRefusalsLeaveNoTrace() (gas: 899401)\n[PASS] testSyncForStrangerAndZeroAddressCreatesNothing() (gas: 108400)\nSuite result: ok. 17 passed; 0 failed; 0 skipped; finished in 2.40s (2.39s CPU time)\n\nRan 7 tests for test/mainnet/ImdTreasuryFailurePaths.t.sol:ImdTreasuryFailurePathsTest\n[PASS] testFalseTransferReturnRestoresRevenueAndDonationWithdrawalsIndependently() (gas: 1112673)\n[PASS] testFuzzDonatedClaimsCannotMasqueradeAsSwapRevenue(uint256) (runs: 1000, μ: 887956, ~: 888154)\n[PASS] testManagerCannotReplayCallbackOutsideAnAuthorizedRedemption() (gas: 745893)\n[PASS] testMissingRedemptionReceiptRollsBackBurnAndCanBeRetried() (gas: 1047738)\n[PASS] testPrincipalGuardPersistsThroughGlobalBypassAndReferenceFailure() (gas: 1166266)\n[PASS] testRedemptionDuringManagerUnlockFailsWithoutLosingClaimsOrLiveness() (gas: 778542)\n[PASS] testZeroAndOneWeiReceiptBoundaries() (gas: 426264)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 2.40s (2.39s CPU time)\n\nRan 5 tests for test/BatchSettlementProperties.t.sol:BatchSettlementPropertiesTest\n[PASS] testFuzz_BatchEqualsSequentialExecution(uint256,uint8,bool) (runs: 1000, μ: 4613609, ~: 4197099)\n[PASS] testFuzz_FailureAtAnyBatchIndexRestoresAllowancesFeesAndCredits(uint256,uint8) (runs: 1000, μ: 11514180, ~: 11312575)\n[PASS] test_MaximumMixedBatchOnFreshTokenOnlyManager() (gas: 9253895)\n[PASS] test_OneWeiShortAllowanceRestoresEntireBatchAndRetryWorks() (gas: 1872568)\n[PASS] test_PartialSaleMayPrefundMoreThanQuotaButChargesOnlyExecution() (gas: 906671)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 2.31s (4.22s CPU time)\n\nRan 2 tests for test/RevisionProperties.t.sol:MilestoneSampleInvariantTest\n[PASS]\nMilestoneSampleInvariantTest invariants:\n[PASS] invariant_confirmationNeedsAnUnbrokenChainOfValidSamples\n[PASS] invariant_invalidSamplesNeverAdvanceTiers\n[PASS] invariant_nothingEverRelocksAndStateIsConsistent\n MilestoneSampleInvariantTest invariants (runs: 48, calls: 1920, reverts: 0)\n\n╭------------------------+----------+-------+---------+----------╮\n| Contract               | Selector | Calls | Reverts | Discards |\n+================================================================+\n| MilestoneSampleHandler | advance  | 312   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | corrupt  | 334   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | heal     | 331   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | march    | 293   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | sample   | 317   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | setPrice | 333   | 0       | 0        |\n╰------------------------+----------+-------+---------+----------╯\n\n[PASS] testHandlerReachesTiersAndEveryCorruptionIsInvalid() (gas: 12640787)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.30s (2.29s CPU time)\n\nRan 2 tests for test/mainnet/SetupLifecycleInvariants.t.sol:SetupLifecycleInvariantsTest\n[PASS]\nSetupLifecycleInvariantsTest invariants:\n[PASS] invariant_NativeClaimsTransfersAndCreditsRemainIndependent\n[PASS] invariant_OnlyTheLatestCertifiedBundleCanSealOnce\n SetupLifecycleInvariantsTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭-----------------------+----------------------+-------+---------+----------╮\n| Contract              | Selector             | Calls | Reverts | Discards |\n+===========================================================================+\n| SetupLifecycleHandler | activate             | 621   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | advance              | 633   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | attest               | 638   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | certify              | 571   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | checkpoint           | 645   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | claim                | 589   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | invalidateReference  | 624   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | rejectObsoleteBundle | 628   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | stageBundle          | 646   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | stageSource          | 629   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | sync                 | 620   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | transfer             | 657   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | unauthorizedSetup    | 691   | 0       | 0        |\n╰-----------------------+----------------------+-------+---------+----------╯\n\n[PASS] testRestagingInvalidatesOldBundlesButPreservesPreactivationNativeClaims() (gas: 25957749)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.79s (2.79s CPU time)\n\nRan 2 tests for test/QuotaInvariants.t.sol:QuotaInvariantTest\n[PASS]\nQuotaInvariantTest invariants:\n[PASS] invariant_configurationSealedAndRouteEnforced\n[PASS] invariant_ledgerMatchesExecutedDeltas\n[PASS] invariant_milestonesMonotonicAndConsistent\n[PASS] invariant_principalLockedAndFeeTermsFixed\n[PASS] invariant_routerNativeSolvency\n[PASS] invariant_salesNeverExceedQuota\n[PASS] invariant_supplyConservedAndNoCustody\n QuotaInvariantTest invariants (runs: 96, calls: 5760, reverts: 0)\n\n╭--------------+-----------------+-------+---------+----------╮\n| Contract     | Selector        | Calls | Reverts | Discards |\n+=============================================================+\n| QuotaHandler | advance         | 363   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | buyExactIn      | 340   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | buyExactOut     | 348   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | claimAndAttest  | 354   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | claimFees       | 372   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | directSwap      | 355   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | donate          | 326   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | foreignActivate | 374   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | sellExactOut    | 347   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | sellOverQuota   | 379   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | sellWithinQuota | 770   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | setFeed         | 318   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | sync            | 362   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | transfer        | 382   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | withdrawNative  | 370   | 0       | 0        |\n╰--------------+-----------------+-------+---------+----------╯\n\n[PASS] testHandlerActionsActuallyExecute() (gas: 23822211)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.20s (3.18s CPU time)\n\nRan 4 tests for test/candidate/Adversarial.t.sol:CandidateAdversarialTest\n[PASS] testAfterCallbackAndReplayCannotCreateRightsOrFees() (gas: 575539)\n[PASS] testBatchAndPrefundingCannotChangeSourcingOrDelivery() (gas: 818510)\n[PASS] testEveryCompanionCreationPinRejectsTamperedCodeAtomically() (gas: 38438727)\n[PASS] testFuzzExecutedBuyAndSellFees(uint96) (runs: 256, μ: 974912, ~: 972082)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 3.37s (3.35s CPU time)\n\nRan 2 tests for test/mainnet/SetupLifecycleInvariants.t.sol:SetupLifecycleReverseOrderInvariantsTest\n[PASS]\nSetupLifecycleReverseOrderInvariantsTest invariants:\n[PASS] invariant_NativeClaimsTransfersAndCreditsRemainIndependent\n[PASS] invariant_OnlyTheLatestCertifiedBundleCanSealOnce\n SetupLifecycleReverseOrderInvariantsTest invariants (runs: 128, calls: 8192, reverts: 0)\n\n╭-----------------------+----------------------+-------+---------+----------╮\n| Contract              | Selector             | Calls | Reverts | Discards |\n+===========================================================================+\n| SetupLifecycleHandler | activate             | 621   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | advance              | 633   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | attest               | 638   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | certify              | 571   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | checkpoint           | 645   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | claim                | 589   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | invalidateReference  | 624   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | rejectObsoleteBundle | 628   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | stageBundle          | 646   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | stageSource          | 629   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | sync                 | 620   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | transfer             | 657   | 0       | 0        |\n|-----------------------+----------------------+-------+---------+----------|\n| SetupLifecycleHandler | unauthorizedSetup    | 691   | 0       | 0        |\n╰-----------------------+----------------------+-------+---------+----------╯\n\n[PASS] testRestagingInvalidatesOldBundlesButPreservesPreactivationNativeClaims() (gas: 25987057)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.09s (3.05s CPU time)\n\nRan 10 tests for test/mainnet/ProtocolFees.t.sol:ImdProtocolFeesTest\n[PASS] testAllFourModesAndFeeInclusiveQuoter() (gas: 2609879)\n[PASS] testControllerChangesDoNotResetQuotaOrBlockTradingDuringReferenceOutage() (gas: 2421091)\n[PASS] testExplorerBuySellClaimsRevenueAndDonationSeparation() (gas: 1463650)\n[PASS] testFuzzDirectionalProtocolFeesPreserveExecutedLegFeeAndSolvency(uint16,uint16,uint96) (runs: 256, μ: 1116302, ~: 1118519)\n[PASS] testFuzzExecutedImdConservation(uint96,uint16) (runs: 256, μ: 1049863, ~: 1048160)\n[PASS] testMissingTokenReceiptRollsBackWithdrawalAccounting() (gas: 904738)\n[PASS] testProtocolRevenueIsSeparateFromTreasuryAndLockedPrincipal() (gas: 768342)\n[PASS] testQuotaTransfersAndNativeClaimIndependence() (gas: 1303438)\n[PASS] testQuoteRollbackNoAccrualOrCredits() (gas: 1263218)\n[PASS] testRangeExitRollsBackFeesLedgerAndPool() (gas: 1256684)\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 3.26s (436.44ms CPU time)\n\nRan 3 tests for test/EvidenceAndOracleProperties.t.sol:OracleReferenceTest\n[PASS] testCheckpointReplacementRewritesOnlyTheCurrentSecond() (gas: 997263)\n[PASS] testFuzzFdvIsMonotonicInTheEthUsdAnswer(uint64,uint64) (runs: 256, μ: 751842, ~: 752051)\n[PASS] testFuzzTwapMatchesBruteForceReference(uint256) (runs: 160, μ: 2867097, ~: 2871531)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 3.48s (3.45s CPU time)\n\nRan 18 tests for test/mainnet/OneWayGates.t.sol:OneWayGatesReverseOrderTest\n[PASS] testBriefBuySpikeThenFullSaleSameTransactionPreservesHighestSwapBoundary() (gas: 1024927)\n[PASS] testEveryExactThresholdAndOneWeiBelowUsesSqrtNotRoundedTick() (gas: 6341812)\n[PASS] testExact1000Then200ThenOnly100At30Percent() (gas: 2048635)\n[PASS] testFuzzCumulativeEntitlementSurvivesGateJumpAndAdditionalBuy(uint96,uint8) (runs: 256, μ: 1577687, ~: 1577169)\n[PASS] testInvalidReferenceOnlyBlocksNewGatesNotTradingTransfersOrNativeClaims() (gas: 1967336)\n[PASS] testLateBatchRevertRestoresFinalBypassSalesCreditsFeesAndPool() (gas: 1047299)\n[PASS] testLiquidityFeeReceiptsAndDonationsNeverCreditEligibility() (gas: 1521554)\n[PASS] testMultiTierJumpBriefSpikeAndPriceDeclineNeverReduceRights() (gas: 423113)\n[PASS] testOracleCannotBindUnauthorizedDifferentPoolOrSecondTime() (gas: 333794)\n[PASS] testPartialSalesRoundingAndNewAcquisitionsNeverResetSold() (gas: 2550084)\n[PASS] testPermanentFinalBypassForTransferOnlyHolderWithZeroEAfterDeclineAndOutage() (gas: 1228107)\n[PASS] testProtocolFeeDoesNotInvalidateSpotOrPreventPermanentGateAdvancement() (gas: 403084)\n[PASS] testRevertingReferenceStillSettlesQualifyingBuyAndWithinOldQuotaSale() (gas: 1083154)\n[PASS] testSaleCannotUseItsOwnPostSwapGateRetroactively() (gas: 1795362)\n[PASS] testSameTransactionEarlierBuyOpensGateForMatureQuotaButNewCreditWaits() (gas: 1403041)\n[PASS] testSameTransactionNewGateDoesNotMatureFreshCreditsAndRevertedBatchRestoresGate() (gas: 1369491)\n[PASS] testUnobservedPriceTouchIsNotBackfilled() (gas: 247112)\n[PASS] testWrongPoolCheckpointAndInvalidCurrentStateCannotGrantRights() (gas: 471858)\nSuite result: ok. 18 passed; 0 failed; 0 skipped; finished in 3.48s (3.46s CPU time)\n\nRan 2 tests for test/candidate/QuotaInvariants.t.sol:CandidateQuotaInvariantTest\n[PASS]\nCandidateQuotaInvariantTest invariants:\n[PASS] invariant_configurationSealedAndRouteEnforced\n[PASS] invariant_ledgerMatchesExecutedDeltas\n[PASS] invariant_milestonesMonotonicAndConsistent\n[PASS] invariant_principalLockedAndFeeTermsFixed\n[PASS] invariant_routerNativeSolvency\n[PASS] invariant_salesNeverExceedQuota\n[PASS] invariant_supplyConservedAndNoCustody\n[PASS] invariant_vaultReceiptsBackAllAccrual\n CandidateQuotaInvariantTest invariants (runs: 96, calls: 5760, reverts: 0)\n\n╭-----------------------+-----------------+-------+---------+----------╮\n| Contract              | Selector        | Calls | Reverts | Discards |\n+======================================================================+\n| CandidateQuotaHandler | advance         | 363   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | buyExactIn      | 340   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | buyExactOut     | 348   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | claimAndAttest  | 354   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | claimFees       | 372   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | directSwap      | 355   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | donate          | 326   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | foreignActivate | 374   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | sellExactOut    | 347   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | sellOverQuota   | 379   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | sellWithinQuota | 770   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | setFeed         | 318   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | sync            | 362   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | transfer        | 382   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | withdrawNative  | 370   | 0       | 0        |\n╰-----------------------+-----------------+-------+---------+----------╯\n\n[PASS] testHandlerActionsActuallyExecute() (gas: 24312591)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.55s (3.54s CPU time)\n\nRan 2 tests for test/TokenLedgerProperties.t.sol:TokenLedgerInvariantTest\n[PASS]\nTokenLedgerInvariantTest invariants:\n[PASS] invariant_BalancesAndAllowancesMatchIndependentLedger\n[PASS] invariant_OriginalReceiptsRemainSealedDespiteArbitraryTransfers\n TokenLedgerInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭--------------------+-------------------+-------+---------+----------╮\n| Contract           | Selector          | Calls | Reverts | Discards |\n+=====================================================================+\n| TokenLedgerHandler | approve           | 2813  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | refuseOverspend   | 2793  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | refuseZeroAddress | 2659  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | transfer          | 2763  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | transferAll       | 2645  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | transferFrom      | 2711  | 0       | 0        |\n╰--------------------+-------------------+-------+---------+----------╯\n\n[PASS] test_HandlerCoversFiniteInfiniteSelfRevokedAndFailedAllowancePaths() (gas: 2246042)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.30s (4.30s CPU time)\n\nRan 5 tests for test/FeeCustodyProperties.t.sol:FeeCustodyInvariantTest\n[PASS]\nFeeCustodyInvariantTest invariants:\n[PASS] invariant_FactoryAssetsBackEveryUnpaidFeeAndDonationsRemainSurplus\n[PASS] invariant_FeeCollectionCannotTouchPrincipalOrCreateQuota\n[PASS] invariant_RecipientsAndSettlementStayBoundToTheirActualOwners\n FeeCustodyInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭-------------------+-------------------------+-------+---------+----------╮\n| Contract          | Selector                | Calls | Reverts | Discards |\n+==========================================================================+\n| FeeCustodyHandler | collect                 | 1857  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | donate                  | 1724  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | refuseInvalidOperations | 1839  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | rotateNetwork           | 1850  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | setRecipientMode        | 1789  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | tradePair               | 1838  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | transferRequester       | 1764  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | withdrawAccount         | 1870  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | withdrawNetwork         | 1853  | 0       | 0        |\n╰-------------------+-------------------------+-------+---------+----------╯\n\n[PASS] test_DeferredPayerDebtStaysWithOldWalletWhileNetworkDebtFollowsRecipient() (gas: 6376558)\n[PASS] test_ReentrantFeeCollectionHasNoSecondPrincipalOrFeeWithdrawal() (gas: 4131841)\n[PASS] test_ReentrantFeeWithdrawalsCannotPayEitherShareTwice() (gas: 4037988)\n[PASS] test_RejectingNetworkRecipientCannotHoldPayerFeesHostage() (gas: 3956563)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 7.70s (7.68s CPU time)\n\nRan 2 tests for test/mainnet/SpotCustodyInvariants.t.sol:SpotCustodyInvariantsReverseOrderTest\n[PASS]\nSpotCustodyInvariantsReverseOrderTest invariants:\n[PASS] invariant_PrincipalSupplyAndSealedConfigurationSurviveEverySequence\n[PASS] invariant_QuotaUsesOnlyMatureAcquisitionsAndNeverForgetsSales\n[PASS] invariant_TreasuryReceiptsCashAndPayoutsReconcile\n SpotCustodyInvariantsReverseOrderTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭--------------------+-----------------------+-------+---------+----------╮\n| Contract           | Selector              | Calls | Reverts | Discards |\n+=========================================================================+\n| SpotCustodyHandler | buy                   | 2134  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | checkpoint            | 1121  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | claimAndSync          | 1050  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | collectLpFees         | 1143  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | donate                | 1101  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | nextBlock             | 1144  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | redeem                | 1104  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | referenceState        | 1054  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectExcessSale      | 1117  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectReconfiguration | 1081  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectUnauthorized    | 1090  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | sell                  | 1073  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | transfer              | 1062  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | withdraw              | 1110  | 0       | 0        |\n╰--------------------+-----------------------+-------+---------+----------╯\n\n[PASS] testHandlerExercisesFailuresDonationsClaimsAndPermanentBypass() (gas: 5193195)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 8.42s (8.40s CPU time)\n\nRan 2 tests for test/mainnet/SpotCustodyInvariants.t.sol:SpotCustodyInvariantsTest\n[PASS]\nSpotCustodyInvariantsTest invariants:\n[PASS] invariant_PrincipalSupplyAndSealedConfigurationSurviveEverySequence\n[PASS] invariant_QuotaUsesOnlyMatureAcquisitionsAndNeverForgetsSales\n[PASS] invariant_TreasuryReceiptsCashAndPayoutsReconcile\n SpotCustodyInvariantsTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭--------------------+-----------------------+-------+---------+----------╮\n| Contract           | Selector              | Calls | Reverts | Discards |\n+=========================================================================+\n| SpotCustodyHandler | buy                   | 2134  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | checkpoint            | 1121  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | claimAndSync          | 1050  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | collectLpFees         | 1143  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | donate                | 1101  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | nextBlock             | 1144  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | redeem                | 1104  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | referenceState        | 1054  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectExcessSale      | 1117  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectReconfiguration | 1081  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectUnauthorized    | 1090  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | sell                  | 1073  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | transfer              | 1062  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | withdraw              | 1110  | 0       | 0        |\n╰--------------------+-----------------------+-------+---------+----------╯\n\n[PASS] testHandlerExercisesFailuresDonationsClaimsAndPermanentBypass() (gas: 5199101)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 8.36s (8.35s CPU time)\n\nRan 4 tests for test/mainnet/SpotArithmeticProperties.t.sol:SpotArithmeticPropertiesTest\n[PASS] testFuzzExactFloorAcrossFullNonzeroUint160AndUint256Domain(uint160,uint256,bool) (runs: 1000, μ: 112802, ~: 117237)\n[PASS] testFuzzWideDenominatorHasNoLostPrecision(uint160,uint256) (runs: 1000, μ: 123453, ~: 117256)\n[PASS] testIndependentLimbOracleAgreesWithSmallIntegerProductsAndKnownCarry() (gas: 78088)\n[PASS] testZeroOneSupplyAndMaxAtEveryArithmeticBranchBoundary() (gas: 10231366)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 8.64s (8.66s CPU time)\n\nRan 2 tests for test/ClaimLifecycleInvariants.t.sol:ClaimLifecycleInvariantsTest\n[PASS]\nClaimLifecycleInvariantsTest invariants:\n[PASS] invariant_DistributorReservesAndCashMatchIndependentRoundModel\n[PASS] invariant_FixedSupplyAndInitialReceiptsSurviveAllClaimSequences\n[PASS] invariant_OnlyDeliveredAttestedAndSyncedClaimsCreateRights\n ClaimLifecycleInvariantsTest invariants (runs: 256, calls: 20480, reverts: 0)\n\n╭-----------------------+-------------------+-------+---------+----------╮\n| Contract              | Selector          | Calls | Reverts | Discards |\n+========================================================================+\n| ClaimLifecycleHandler | advance           | 1899  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | attest            | 1793  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | certify           | 1920  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | claim             | 1891  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | deliverAndSync    | 1806  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | openRound         | 1797  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | sweep             | 1867  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | sync              | 1904  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | syncPayer         | 1855  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | transferOrDonate  | 1847  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | unauthorizedRound | 1901  | 0       | 0        |\n╰-----------------------+-------------------+-------+---------+----------╯\n\n[PASS] test_ModelExercisesDelayedCertificationSweepsAndRecycledFunding() (gas: 4966220)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 9.70s (9.68s CPU time)\n\nRan 2 tests for test/NativeCustodyInvariants.t.sol:NativeCustodyInvariantsTest\n[PASS]\nNativeCustodyInvariantsTest invariants:\n[PASS] invariant_ManagerHasNoUnsettledDeltaOrReusableRouteContext\n[PASS] invariant_NativeLiabilitiesRemainFullyBackedAndBelongToTheirWallet\n[PASS] invariant_TransfersDonationsAndFailedBatchesCannotCreateOrMoveRights\n NativeCustodyInvariantsTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭----------------------+--------------+-------+---------+----------╮\n| Contract             | Selector     | Calls | Reverts | Discards |\n+==================================================================+\n| NativeCustodyHandler | donateTokens | 2759  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | failBatch    | 2697  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | forceEther   | 2770  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | tradeBatch   | 2699  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | transfer     | 2725  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | withdraw     | 2734  | 0       | 0        |\n╰----------------------+--------------+-------+---------+----------╯\n\n[PASS] test_HandlerTradesRejectsReentersAndDrainsWithoutTakingDonations() (gas: 5323166)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 10.94s (10.90s CPU time)\n\nRan 98 test suites in 10.95s (118.07s CPU time): 483 tests passed, 0 failed, 2 skipped (485 total tests)\n","passed":true},{"durationMs":530,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"ImdFeeVault.recordAccrual(uint256)\",\"ImdFeeVault.redeem()\",\"ImdFeeVault.unlockCallback(bytes)\",\"ImdFeeVault.withdraw()\",\"ImdFeeVault.withdrawDonations()\",\"ImdSampledUsdSource.sample()\",\"ImdV4UsdSource.submit((bytes,bytes[],bytes[],bytes[]))\",\"MerkleClaimEvidence.abandonSession(uint256)\",\"MerkleClaimEvidence.attest(uint256,address,uint256,bytes32[])\",\"MerkleClaimEvidence.certifyRound(uint256,address[],uint256[])\",\"MerkleClaimEvidence.reduce(uint256,uint256)\",\"MerkleClaimEvidence.submitLeaves(uint256,uint256,address[],uint256[])\",\"NftFeeVault.receive()\",\"NftFeeVault.recordAccrual(uint256)\",\"NftFeeVault.redeem()\",\"NftFeeVault.unlockCallback(bytes)\",\"NftFeeVault.withdraw()\",\"NftFeeVault.withdrawDonations()\",\"UnlkHook.afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHook.afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\",\"UnlkHook.afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHook.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"UnlkHook.beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHook.beforeInitialize(address,(address,address,uint24,int24,address),uint160)\",\"UnlkHook.beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHook.beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\",\"UnlkHook.configureAndActivate(address,address,address,uint64)\",\"UnlkHook.deployCompanions(uint64,address,bytes,bytes,bytes)\",\"UnlkHook.syncPayer()\",\"UnlkHook.syncRewards(address)\",\"UnlkHook.updateMilestone()\",\"UnlkHookV2.afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHookV2.afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\",\"UnlkHookV2.afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHookV2.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"UnlkHookV2.beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHookV2.beforeInitialize(address,(address,address,uint24,int24,address),uint160)\",\"UnlkHookV2.beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHookV2.beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\",\"UnlkHookV2.configureAndActivate(address,address,address,uint64)\",\"UnlkHookV2.deployCompanions(uint64,address,bytes[5])\",\"UnlkHookV2.syncPayer()\",\"UnlkHookV2.syncRewards(address)\",\"UnlkHookV2.updateMilestone()\",\"UnlkHookV3.afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHookV3.afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\",\"UnlkHookV3.afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHookV3.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"UnlkHookV3.beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHookV3.beforeInitialize(address,(address,address,uint24,int24,address),uint160)\",\"UnlkHookV3.beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHookV3.beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\",\"UnlkHookV3.configureAndActivate(address,address,uint64)\",\"UnlkHookV3.deployCompanions(uint64,address,bytes[4])\",\"UnlkHookV3.syncPayer()\",\"UnlkHookV3.syncRewards(address)\",\"UnlkHookV3.updateMilestone()\",\"UnlkImdHook.afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkImdHook.afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\",\"UnlkImdHook.afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkImdHook.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"UnlkImdHook.beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkImdHook.beforeInitialize(address,(address,address,uint24,int24,address),uint160)\",\"UnlkImdHook.beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkImdHook.beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\",\"UnlkImdHook.checkpoint()\",\"UnlkImdHook.configureAndActivate(address,address,uint64)\",\"UnlkImdHook.deployCompanions(uint64,address,bytes[4])\",\"UnlkImdHook.deployPriceSource(bytes,bytes)\",\"UnlkImdHook.syncPayer()\",\"UnlkImdHook.syncRewards(address)\",\"UnlkImdHook.updateMilestone()\",\"UnlkImdOracle.bind((address,address,uint24,int24,address),address,int24,int24)\",\"UnlkOracle.bind((address,address,uint24,int24,address),address,int24,int24)\",\"UnlkOracle.checkpoint()\",\"UnlkRouterV2.receive()\",\"UnlkRouterV2.swap((bool,int256,uint160,uint256,uint256,uint256))\",\"UnlkRouterV2.swapBatch((bool,int256,uint160,uint256,uint256,uint256)[])\",\"UnlkRouterV2.unlockCallback(bytes)\",\"UnlkRouterV2.withdrawNative()\",\"UnlkSwapRouter.receive()\",\"UnlkSwapRouter.swap((bool,int256,uint160,uint256,uint256,uint256))\",\"UnlkSwapRouter.swapBatch((bool,int256,uint160,uint256,uint256,uint256)[])\",\"UnlkSwapRouter.unlockCallback(bytes)\",\"UnlkSwapRouter.withdrawNative()\",\"UnlkToken.approve(address,uint256)\",\"UnlkToken.transfer(address,uint256)\",\"UnlkToken.transferFrom(address,address,uint256)\",\"WalletExecutor.recover(address)\",\"WalletExecutor.trade(bool,bool,uint128,uint128,uint256)\"],\"files\":{\".gitignore\":6,\"ADAPTATION.md\":29,\"DELIVERY.md\":103,\"DESIGN.md\":73,\"LICENSE\":25,\"MAINNET_DELIVERY.md\":7,\"README.md\":29,\"RELEASE_STATUS.json\":53,\"delivery/OPERATIONS.md\":112,\"delivery/PACKAGE_SHA256SUMS\":566,\"delivery/STATUS.json\":213,\"delivery/checks/abi-export.txt\":3,\"delivery/checks/artifact-export.txt\":3,\"delivery/checks/build.txt\":3,\"delivery/checks/current-block-fork.txt\":3,\"delivery/checks/extended-fork.txt\":3,\"delivery/checks/final-fmt.txt\":3,\"delivery/checks/final-integrity.txt\":3,\"delivery/checks/fmt.txt\":3,\"delivery/checks/historical-block-fork.txt\":3,\"delivery/checks/imd-launch.txt\":3,\"delivery/checks/integrity.txt\":3,\"delivery/checks/lint.txt\":3,\"delivery/checks/live-rpc.txt\":3,\"delivery/checks/minimal-environment.txt\":3,\"delivery/checks/protected.txt\":3,\"delivery/checks/release-gates.txt\":3,\"delivery/checks/reviewed-code.txt\":3,\"delivery/checks/revision-fmt.txt\":3,\"delivery/checks/revision-fork.txt\":3,\"delivery/checks/revision-protected.txt\":3,\"delivery/checks/revision-test.txt\":3,\"delivery/checks/rpc-tools.txt\":3,\"delivery/checks/saved-network.txt\":3,\"delivery/checks/signing-tools.txt\":3,\"delivery/checks/source-hashes.txt\":3,\"delivery/checks/test.txt\":3,\"delivery/checks/upstream-rehearsal-build.txt\":3,\"delivery/network/block.json\":1,\"delivery/network/capabilities.json\":345,\"delivery/network/current-job.json\":217,\"delivery/network/factory.runtime.hex\":1,\"delivery/network/feed-check.json\":21,\"delivery/network/feed.runtime.hex\":1,\"delivery/network/fees.runtime.hex\":1,\"delivery/network/fix-job.json\":104,\"delivery/network/http-results.json\":117,\"delivery/network/import-check-paths-request.json\":33,\"delivery/network/import-check-paths-response.json\":25,\"delivery/network/import-check-request.json\":15,\"delivery/network/import-check-response.json\":25,\"delivery/network/import-request.json\":5,\"delivery/network/import-response.json\":17,\"delivery/network/manager.runtime.hex\":1,\"delivery/network/openapi.json\":1383,\"delivery/network/platform-rebuild.json\":30,\"delivery/network/policies.json\":1430,\"delivery/network/preflight.json\":347,\"delivery/network/registry.runtime.hex\":1,\"delivery/network/rpc-access.json\":20,\"delivery/network/selected-policy.json\":34,\"delivery/network/services.json\":29,\"delivery/protected-inputs.json\":4,\"delivery/provenance.json\":25,\"delivery/rehearsal/RecordedSepolia.t.sol\":200,\"delivery/source-files.json\":2492,\"delivery/verify.py\":167,\"dependencies.lock.json\":24,\"dist-candidate/abi/IChainlinkEthUsd.json\":48,\"dist-candidate/abi/MerkleClaimEvidence.json\":461,\"dist-candidate/abi/MerkleDistributor.json\":451,\"dist-candidate/abi/UnlkHook.json\":1973,\"dist-candidate/abi/UnlkOracle.json\":443,\"dist-candidate/abi/UnlkSwapRouter.json\":359,\"dist-candidate/abi/UnlkToken.json\":425,\"dist-candidate/assets/app.css\":1,\"dist-candidate/assets/app.js\":150,\"dist-candidate/assets/jetbrains-mono-regular-DYCCJ225.woff2\":369,\"dist-candidate/assets/jetbrains-mono-semibold-MVL5K7GZ.woff2\":424,\"dist-candidate/evidence/allowance-vectors.json\":564,\"dist-candidate/evidence/browser-validation.json\":368,\"dist-candidate/evidence/build.txt\":21,\"dist-candidate/evidence/chain-verification.json\":158,\"dist-candidate/evidence/contrast.json\":197,\"dist-candidate/evidence/cross-language-tests.txt\":19,\"dist-candidate/evidence/design-probe.json\":183,\"dist-candidate/evidence/fork-validation.json\":53,\"dist-candidate/evidence/frontend-tests.txt\":79,\"dist-candidate/evidence/live-interactions.json\":154,\"dist-candidate/evidence/native-claim.json\":17,\"dist-candidate/evidence/publication.json\":16,\"dist-candidate/evidence/recovery-validation.json\":12,\"dist-candidate/evidence/round-0.json\":1,\"dist-candidate/evidence/rpc-check.json\":29,\"dist-candidate/evidence/submission-check.json\":21,\"dist-candidate/evidence/swap-math-vectors.json\":173,\"dist-candidate/evidence/test-results.txt\":206,\"dist-candidate/evidence/typecheck.txt\":8,\"dist-candidate/evidence/validation.md\":101,\"dist-candidate/evidence/wallet-validation.json\":14,\"dist-candidate/evidence/webkit-validation.json\":30,\"dist-candidate/favicon.svg\":1,\"dist-candidate/fonts/JetBrains-Mono-OFL.txt\":93,\"dist-candidate/index.html\":30,\"dist-candidate/share.png\":104,\"dist-candidate/share.svg\":14,\"dist-candidate/wallets/metamask.svg\":1,\"dist-candidate/wallets/phantom.svg\":1,\"dist-candidate/wallets/rabby.svg\":1,\"dist/abi/IChainlinkEthUsd.json\":48,\"dist/abi/MerkleClaimEvidence.json\":461,\"dist/abi/MerkleDistributor.json\":451,\"dist/abi/UnlkHook.json\":1973,\"dist/abi/UnlkOracle.json\":443,\"dist/abi/UnlkSwapRouter.json\":359,\"dist/abi/UnlkToken.json\":425,\"dist/assets/ccip-CJv6SR9J.js\":1,\"dist/assets/index-BDn4nz2S.js\":3,\"dist/assets/index-BkOFwGt7.css\":1,\"dist/assets/index-MshxxFjX.js\":93,\"dist/assets/jetbrains-mono-regular-CA-Os4ii.woff2\":369,\"dist/assets/jetbrains-mono-semibold-BjwzTi7v.woff2\":424,\"dist/evidence/allowance-vectors.json\":564,\"dist/evidence/browser-validation.json\":368,\"dist/evidence/build.txt\":21,\"dist/evidence/chain-verification.json\":158,\"dist/evidence/contrast.json\":197,\"dist/evidence/cross-language-tests.txt\":19,\"dist/evidence/design-probe.json\":183,\"dist/evidence/fork-validation.json\":53,\"dist/evidence/frontend-tests.txt\":79,\"dist/evidence/live-interactions.json\":154,\"dist/evidence/native-claim.json\":17,\"dist/evidence/publication.json\":16,\"dist/evidence/recovery-validation.json\":12,\"dist/evidence/round-0.json\":1,\"dist/evidence/rpc-check.json\":29,\"dist/evidence/submission-check.json\":21,\"dist/evidence/swap-math-vectors.json\":173,\"dist/evidence/test-results.txt\":206,\"dist/evidence/typecheck.txt\":8,\"dist/evidence/validation.md\":101,\"dist/evidence/wallet-validation.json\":14,\"dist/evidence/webkit-validation.json\":30,\"dist/favicon.svg\":1,\"dist/fonts/JetBrains-Mono-OFL.txt\":93,\"dist/index.html\":31,\"dist/share.png\":104,\"dist/share.svg\":14,\"dist/wallets/metamask.svg\":1,\"dist/wallets/phantom.svg\":1,\"dist/wallets/rabby.svg\":1,\"docs/ARTIFACTS.json\":64,\"docs/BUILD_RESULTS.txt\":3,\"docs/BYTECODE_COMPARISON_RESULTS.txt\":3,\"docs/DEPLOYMENT.md\":163,\"docs/ECONOMICS_RESULTS.txt\":3,\"docs/FMT_RESULTS.txt\":3,\"docs/FORK_RESULTS.txt\":3,\"docs/IMD_LAUNCH_CHECK_RESULTS.txt\":3,\"docs/LINT_RESULTS.txt\":3,\"docs/MINIMAL_ENV_TEST_RESULTS.txt\":3,\"docs/NETWORK_VERIFICATION_RESULTS.txt\":3,\"docs/PROTECTED_TEST_RESULTS.txt\":3,\"docs/RECOVERY.md\":65,\"docs/RELEASE_ARTIFACT_TEST_RESULTS.txt\":3,\"docs/REVISION_2026-10-13.md\":120,\"docs/SECURITY_REVIEW.md\":132,\"docs/SIZE_FIX.md\":150,\"docs/SOURCE_SHA256SUMS\":461,\"docs/SOURCE_VERIFICATION_RESULTS.txt\":3,\"docs/TEST_RESULTS.txt\":3,\"docs/VALIDATION.md\":135,\"docs/abi/CheckReleaseConfig.json\":46,\"docs/abi/HookDeployer.json\":94,\"docs/abi/IChainlinkEthUsd.json\":48,\"docs/abi/IClaimEvidence.json\":47,\"docs/abi/IHooks.json\":789,\"docs/abi/ILaunchFactoryView.json\":115,\"docs/abi/ILaunchRegistryView.json\":70,\"docs/abi/IMerkleDistributor.json\":125,\"docs/abi/IPoolManager.json\":1286,\"docs/abi/IRouteContext.json\":20,\"docs/abi/LaunchFactory.json\":896,\"docs/abi/LaunchFees.json\":323,\"docs/abi/LaunchRegistry.json\":320,\"docs/abi/MerkleClaimEvidence.json\":461,\"docs/abi/MerkleDistributor.json\":451,\"docs/abi/Stage2.json\":225,\"docs/abi/UnlkHook.json\":1973,\"docs/abi/UnlkOracle.json\":443,\"docs/abi/UnlkSwapRouter.json\":359,\"docs/abi/UnlkToken.json\":425,\"docs/admission-fix/EVIDENCE_SHA256SUMS\":53,\"docs/admission-fix/INDEPENDENT_REVIEW.md\":60,\"docs/admission-fix/REPORT.md\":95,\"docs/admission-fix/SOURCE_SHA256SUMS\":15,\"docs/admission-fix/STATUS.json\":153,\"docs/admission-fix/artifacts.txt\":1,\"docs/admission-fix/build.txt\":124,\"docs/admission-fix/format.txt\":0,\"docs/admission-fix/full-suite.txt\":1366,\"docs/admission-fix/import-history.json\":93,\"docs/admission-fix/imported-file-hashes.json\":11071,\"docs/admission-fix/imported-launch-manifest.json\":37,\"docs/admission-fix/imported-release-status.json\":81,\"docs/admission-fix/independent-review-tests.txt\":128,\"docs/admission-fix/initialization-after-fix.txt\":87,\"docs/admission-fix/initialization-before-fix.txt\":166,\"docs/admission-fix/lint-independent-bounds.txt\":75,\"docs/admission-fix/lint.txt\":246,\"docs/admission-fix/mainnet-fork.txt\":473,\"docs/admission-fix/manifest-repair/REPORT.md\":25,\"docs/admission-fix/manifest-repair/artifacts-before.json\":512,\"docs/admission-fix/manifest-repair/artifacts-initial-comparison.txt\":4,\"docs/admission-fix/manifest-repair/artifacts.txt\":4,\"docs/admission-fix/manifest-repair/build.txt\":1,\"docs/admission-fix/manifest-repair/format.txt\":0,\"docs/admission-fix/manifest-repair/full-suite.txt\":1183,\"docs/admission-fix/manifest-repair/manifest.txt\":2,\"docs/admission-fix/manifest-repair/python-artifacts.txt\":10,\"docs/admission-fix/manifest-repair/python-manifest.txt\":10,\"docs/admission-fix/manifest.txt\":1,\"docs/admission-fix/network-preflight.txt\":18,\"docs/admission-fix/network/current-job.json\":219,\"docs/admission-fix/network/import-request.json\":5,\"docs/admission-fix/network/import-response.json\":15,\"docs/admission-fix/network/job.json\":352,\"docs/admission-fix/network/launch-open-check-response.json\":1,\"docs/admission-fix/network/launch-open-request.json\":29,\"docs/admission-fix/network/launch.json\":656,\"docs/admission-fix/network/mainnet/capabilities.json\":1,\"docs/admission-fix/network/mainnet/policies.json\":1,\"docs/admission-fix/network/mainnet/preflight.json\":169,\"docs/admission-fix/network/mainnet/services.json\":1,\"docs/admission-fix/network/openapi.json\":1383,\"docs/admission-fix/network/owner-payer-verification.json\":42,\"docs/admission-fix/network/payment-receipt.json\":1,\"docs/admission-fix/network/payment-transaction.json\":1,\"docs/admission-fix/network/rpc-block-probe.json\":1,\"docs/admission-fix/production.patch\":30,\"docs/admission-fix/protected-after-fix.txt\":93,\"docs/admission-fix/protected-before-fix.txt\":95,\"docs/admission-fix/python-tests.txt\":10,\"docs/admission-fix/release-artifacts.json\":520,\"docs/candidate/ARTIFACTS.json\":58,\"docs/candidate/BUNDLE_SIZE.md\":30,\"docs/candidate/COMPATIBILITY.md\":65,\"docs/candidate/DEPENDENCIES.json\":2001,\"docs/candidate/DEPLOYMENT.md\":55,\"docs/candidate/ECONOMICS.md\":82,\"docs/candidate/SECURITY_REVIEW.md\":53,\"docs/candidate/STATUS.json\":15,\"docs/candidate/VALIDATION.md\":62,\"docs/candidate/abi/HookDeployerV2.json\":94,\"docs/candidate/abi/MerkleClaimEvidence.json\":461,\"docs/candidate/abi/NftFeeVault.json\":328,\"docs/candidate/abi/SetupVerifierV2.json\":36,\"docs/candidate/abi/UnlkHookV2.json\":2065,\"docs/candidate/abi/UnlkOracle.json\":443,\"docs/candidate/abi/UnlkRouterV2.json\":359,\"docs/candidate/abi/UnlkToken.json\":425,\"docs/candidate/all-tests.txt\":3,\"docs/candidate/build-results.txt\":3,\"docs/candidate/fmt-results.txt\":3,\"docs/candidate/fork-results.txt\":3,\"docs/candidate/frontend-build.txt\":3,\"docs/candidate/frontend-test-build.txt\":3,\"docs/candidate/frontend-tests.txt\":3,\"docs/candidate/frontend-types.txt\":3,\"docs/candidate/interfaces/deployed-Actions.sol.txt\":3,\"docs/candidate/interfaces/deployed-BaseActionsRouter.sol.txt\":3,\"docs/candidate/interfaces/deployed-Commands.sol.txt\":3,\"docs/candidate/interfaces/deployed-IUniswapV3PoolActions.sol.txt\":3,\"docs/candidate/interfaces/deployed-IUniswapV3PoolOwnerActions.sol.txt\":3,\"docs/candidate/interfaces/deployed-IV4Router.sol.txt\":3,\"docs/candidate/interfaces/deployed-V4Router.sol.txt\":3,\"docs/candidate/interfaces/deployed-V4SwapRouter.sol.txt\":3,\"docs/candidate/interfaces/universal-router-Commands.sol.txt\":3,\"docs/candidate/interfaces/universal-router-Dispatcher.sol.txt\":3,\"docs/candidate/interfaces/universal-router-UniversalRouter.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-Actions.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-BaseActionsRouter.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-BaseV4Quoter.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-DeltaResolver.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-IV4Router.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-V4Quoter.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-V4Router.sol.txt\":3,\"docs/candidate/invariant-results.txt\":3,\"docs/candidate/lint-results.txt\":3,\"docs/candidate/lint-summary.json\":13,\"docs/candidate/network/03vi_jvgsxpe2.evidence.json\":40,\"docs/candidate/network/03vi_jvgsxpe2.js\":3,\"docs/candidate/network/addresses.json\":10,\"docs/candidate/network/block.json\":274,\"docs/candidate/network/current-code-check.json\":28,\"docs/candidate/network/manager.runtime.hex\":1,\"docs/candidate/network/nft-collection.json\":1,\"docs/candidate/network/nft-inventory.json\":10,\"docs/candidate/network/nft-ownership.json\":21,\"docs/candidate/network/permit2.runtime.hex\":1,\"docs/candidate/network/quoter.runtime.hex\":1,\"docs/candidate/network/quoter.verified.json\":1,\"docs/candidate/network/router.runtime.hex\":1,\"docs/candidate/network/router.verified.json.xz\":223,\"docs/candidate/protected-results.txt\":3,\"docs/candidate/recorded-runtime-results.txt\":3,\"docs/candidate/release-gate-tests.txt\":3,\"docs/candidate/release-plan.json\":80,\"docs/candidate/router-fork-results.txt\":3,\"docs/candidate/setup-fork-results.txt\":3,\"docs/candidate/size-repair-build.txt\":3,\"docs/candidate/size-repair-bundle.txt\":3,\"docs/candidate/size-repair-contract-sizes.txt\":3,\"docs/candidate/size-repair-fmt.txt\":3,\"docs/candidate/size-repair-frontend-build.txt\":3,\"docs/candidate/size-repair-frontend-test-build.txt\":3,\"docs/candidate/size-repair-frontend-tests.txt\":3,\"docs/candidate/size-repair-preservation.txt\":3,\"docs/candidate/size-repair-tests.txt\":3,\"docs/candidate/sizes.txt\":3,\"docs/candidate/unit-results.txt\":3,\"docs/mainnet/ARTIFACTS.json\":512,\"docs/mainnet/DEPLOYMENT.md\":7,\"docs/mainnet/DESIGN.md\":44,\"docs/mainnet/INDEPENDENT_REVIEW.md\":59,\"docs/mainnet/ORACLE_EVIDENCE.md\":25,\"docs/mainnet/PROVENANCE.json\":22,\"docs/mainnet/SOURCE_SHA256SUMS\":73,\"docs/mainnet/SPOT_PRICE.md\":58,\"docs/mainnet/VALIDATION.md\":61,\"docs/mainnet/abi/ImdFeeVault.json\":366,\"docs/mainnet/abi/ImdSampledUsdSource.json\":355,\"docs/mainnet/abi/ImdSetupVerifier.json\":36,\"docs/mainnet/abi/ImdSpotUsdSource.json\":188,\"docs/mainnet/abi/ImdUsdSource.json\":184,\"docs/mainnet/abi/ImdV4UsdSource.json\":312,\"docs/mainnet/abi/MerkleClaimEvidence.json\":461,\"docs/mainnet/abi/UnlkImdHook.json\":2049,\"docs/mainnet/abi/UnlkImdOracle.json\":332,\"docs/mainnet/abi/UnlkToken.json\":425,\"docs/mainnet/abi/WalletExecutor.json\":116,\"docs/mainnet/artifact-check.txt\":3,\"docs/mainnet/browser-check.txt\":3,\"docs/mainnet/build.txt\":3,\"docs/mainnet/bundle-size.txt\":3,\"docs/mainnet/evidence-archives.json\":23,\"docs/mainnet/existing-checks.txt\":3,\"docs/mainnet/final-build.txt\":3,\"docs/mainnet/fmt-check.txt\":3,\"docs/mainnet/fork-tests.txt\":3,\"docs/mainnet/frontend-build.txt\":3,\"docs/mainnet/frontend-compile-tests.txt\":3,\"docs/mainnet/frontend-tests.txt\":3,\"docs/mainnet/frontend-typecheck.txt\":3,\"docs/mainnet/full-tests.txt\":3,\"docs/mainnet/historical-checks-unchanged.txt\":3,\"docs/mainnet/initial-build.txt\":3,\"docs/mainnet/lint.txt\":3,\"docs/mainnet/mainnet-tests.txt\":3,\"docs/mainnet/network/archive-access.json\":9,\"docs/mainnet/network/block-number.txt\":3,\"docs/mainnet/network/capabilities.json\":1,\"docs/mainnet/network/deployer.runtime.hex\":1,\"docs/mainnet/network/explorer-encoding.json\":28,\"docs/mainnet/network/factory.verified.json.xz\":166,\"docs/mainnet/network/feed-fees.json\":12,\"docs/mainnet/network/imd-markets.json\":1,\"docs/mainnet/network/imd-weth-v3-discovery.json\":21,\"docs/mainnet/network/imd-weth-v3.json\":42,\"docs/mainnet/network/imd-weth-v3.runtime.hex\":1,\"docs/mainnet/network/imd.verified.json.xz\":120,\"docs/mainnet/network/mainnet.json\":63,\"docs/mainnet/network/manager-interface.json\":1366,\"docs/mainnet/network/permit2-interface.json\":901,\"docs/mainnet/network/policies.json\":1,\"docs/mainnet/network/quoter-interface.json\":637,\"docs/mainnet/network/router-interface.json\":443,\"docs/mainnet/network/services.json\":1,\"docs/mainnet/network/source-verification.json\":15,\"docs/mainnet/network/standard-source-verification.json\":302,\"docs/mainnet/new-source-fmt.txt\":3,\"docs/mainnet/pin-build.txt\":3,\"docs/mainnet/preparation-tests.txt\":3,\"docs/mainnet/preserved-paths.txt\":3,\"docs/mainnet/protected-checks.txt\":3,\"docs/mainnet/recorded-verification.txt\":3,\"docs/mainnet/release-plan.json\":146,\"docs/mainnet/release/OPERATIONS.md\":47,\"docs/mainnet/release/REVIEW.md\":31,\"docs/mainnet/release/STATUS.json\":153,\"docs/mainnet/release/VALIDATION.md\":62,\"docs/mainnet/release/abi/PrepareImdLaunch.json\":361,\"docs/mainnet/release/abi/PrepareOwnerTransactions.json\":351,\"docs/mainnet/release/checks/archived-runtime.txt\":13,\"docs/mainnet/release/checks/artifacts.txt\":1,\"docs/mainnet/release/checks/forge-build.txt\":113,\"docs/mainnet/release/checks/forge-test-all.txt\":1034,\"docs/mainnet/release/checks/forge-test-submission.txt\":1142,\"docs/mainnet/release/checks/manifest.txt\":1,\"docs/mainnet/release/checks/protocol-regressions.txt\":75,\"docs/mainnet/release/checks/python-artifacts.txt\":10,\"docs/mainnet/release/checks/python-manifest.txt\":8,\"docs/mainnet/release/checks/recorded-block-fork.txt\":473,\"docs/mainnet/release/imported-sepolia-manifest.json\":35,\"docs/mainnet/release/native-distributor-artifact.json\":16,\"docs/mainnet/release/network/actual-launch-body.json\":26,\"docs/mainnet/release/network/actual-request-check-response.json\":72,\"docs/mainnet/release/network/actual-request-check.json\":29,\"docs/mainnet/release/network/capabilities.json\":1,\"docs/mainnet/release/network/current-job.json\":94,\"docs/mainnet/release/network/import-request.json\":5,\"docs/mainnet/release/network/import-response.json\":17,\"docs/mainnet/release/network/owner-payer-verification.json\":23,\"docs/mainnet/release/network/payment-record.json\":1,\"docs/mainnet/release/network/policies.json\":1,\"docs/mainnet/release/network/preflight.json\":169,\"docs/mainnet/release/network/services.json\":1,\"docs/mainnet/release/preservation.json\":33,\"docs/mainnet/release/protected-admission.txt\":5,\"docs/mainnet/release/source-import.json\":7,\"docs/mainnet/revision/ARCHIVES.md\":7,\"docs/mainnet/revision/H-01.md\":48,\"docs/mainnet/revision/ORACLE.md\":70,\"docs/mainnet/revision/PROVENANCE.json\":8,\"docs/mainnet/revision/READINESS.md\":58,\"docs/mainnet/revision/README.pre-revision.md\":42,\"docs/mainnet/revision/SAMPLED_ORACLE.md\":124,\"docs/mainnet/revision/SAMPLED_SOURCE_SHA256SUMS\":104,\"docs/mainnet/revision/SOURCE_SHA256SUMS\":94,\"docs/mainnet/revision/STATUS.json\":54,\"docs/mainnet/revision/alternative-feed.json\":75,\"docs/mainnet/revision/artifacts.txt\":3,\"docs/mainnet/revision/browser.txt\":3,\"docs/mainnet/revision/build-final.txt\":3,\"docs/mainnet/revision/bundle-size.txt\":3,\"docs/mainnet/revision/contract-sizes.txt\":3,\"docs/mainnet/revision/dependencies.txt\":3,\"docs/mainnet/revision/economics-tests.txt\":3,\"docs/mainnet/revision/fmt-check.txt\":3,\"docs/mainnet/revision/fork-tests.txt\":3,\"docs/mainnet/revision/frontend-build.txt\":3,\"docs/mainnet/revision/frontend-compile.txt\":3,\"docs/mainnet/revision/frontend-tests.txt\":3,\"docs/mainnet/revision/frontend-typecheck.txt\":3,\"docs/mainnet/revision/full-tests.txt\":3,\"docs/mainnet/revision/historical-artifact-check.txt\":3,\"docs/mainnet/revision/historical-code-pins.txt\":3,\"docs/mainnet/revision/historical-network.txt\":3,\"docs/mainnet/revision/historical-release-tests.txt\":3,\"docs/mainnet/revision/integrity.txt\":3,\"docs/mainnet/revision/lint.txt\":3,\"docs/mainnet/revision/mainnet-tests.txt\":3,\"docs/mainnet/revision/market-evidence.json\":497,\"docs/mainnet/revision/preservation.txt\":3,\"docs/mainnet/revision/proof-tool-check.txt\":3,\"docs/mainnet/revision/protected.txt\":3,\"docs/mainnet/revision/quota-tests.txt\":3,\"docs/mainnet/revision/recorded-runtime-checks.txt\":3,\"docs/mainnet/revision/sampled-fork-test.txt\":3,\"docs/mainnet/revision/sampled-full-tests.txt\":3,\"docs/mainnet/revision/sampled-spot-evidence.json\":35,\"docs/mainnet/revision/unsigned-proof-commitment.json\":8,\"docs/mainnet/source-build.txt\":3,\"docs/mainnet/source-integrity.txt\":3,\"docs/mainnet/spot-results/forge-test-summary.txt\":79,\"docs/mainnet/spot-results/recorded-block-fork.txt\":413,\"docs/mainnet/swaps-test.txt\":3,\"docs/network/capabilities.json\":345,\"docs/network/factory-artifacts.json.xz\":55,\"docs/network/factory-reference.json.xz\":180,\"docs/network/factory.runtime.hex\":1,\"docs/network/feed-reference.json\":67,\"docs/network/feed-rounds.json\":134,\"docs/network/feed.runtime.hex\":1,\"docs/network/fees.runtime.hex\":1,\"docs/network/job-identity.json\":14,\"docs/network/manager.runtime.hex\":1,\"docs/network/policies.json\":36,\"docs/network/registry-reference.json\":108,\"docs/network/registry.runtime.hex\":1,\"docs/network/sepolia.json\":309,\"docs/network/services.json\":29,\"docs/network/size-fix-status.json\":126,\"docs/provenance/README.pinned.md\":241,\"docs/provenance/periphery-head.json\":113,\"docs/provenance/sealed-source.json\":21,\"docs/provenance/source-commits.json\":517,\"docs/provenance/source.json\":15,\"docs/provenance/universal-router-head.json\":125,\"docs/successor/ARTIFACTS.json\":36,\"docs/successor/DEPLOYMENT.md\":48,\"docs/successor/DESIGN.md\":161,\"docs/successor/SECURITY_REVIEW.md\":36,\"docs/successor/abi/UnlkHookV3.json\":2065,\"docs/successor/fork-results.txt\":3,\"docs/successor/release-plan.json\":109,\"docs/successor/test-results.txt\":3,\"docs/unlock-gates/ARCHIVES.md\":18,\"docs/unlock-gates/DEPLOYMENT.md\":62,\"docs/unlock-gates/DESIGN.md\":74,\"docs/unlock-gates/HANDOFF.md\":83,\"docs/unlock-gates/INDEPENDENT_REVIEW.md\":50,\"docs/unlock-gates/PROVENANCE.json\":33,\"docs/unlock-gates/SOURCE_SHA256SUMS\":120,\"docs/unlock-gates/STATUS.json\":97,\"docs/unlock-gates/checks/abi-export.txt\":1,\"docs/unlock-gates/checks/archive-access-attempt.txt\":6,\"docs/unlock-gates/checks/archive-alternative-drpc.txt\":1,\"docs/unlock-gates/checks/archive-alternative-llama.txt\":3,\"docs/unlock-gates/checks/archives.txt\":3,\"docs/unlock-gates/checks/artifacts-final.txt\":1,\"docs/unlock-gates/checks/browser-attempt.txt\":21,\"docs/unlock-gates/checks/build-final.txt\":1,\"docs/unlock-gates/checks/bundle-size.txt\":3,\"docs/unlock-gates/checks/dependencies.txt\":1,\"docs/unlock-gates/checks/fmt-final.txt\":0,\"docs/unlock-gates/checks/frontend-build.txt\":14,\"docs/unlock-gates/checks/frontend-test-build-final.txt\":23,\"docs/unlock-gates/checks/frontend-tests-final.txt\":200,\"docs/unlock-gates/checks/frontend-typecheck-final.txt\":2,\"docs/unlock-gates/checks/full-tests-final.txt\":968,\"docs/unlock-gates/checks/historical-candidate-pins.txt\":1,\"docs/unlock-gates/checks/historical-code-pins.txt\":1,\"docs/unlock-gates/checks/historical-network.txt\":7,\"docs/unlock-gates/checks/lint-final.txt\":254,\"docs/unlock-gates/checks/mainnet-fork-archive-replay.txt\":176,\"docs/unlock-gates/checks/mainnet-fork-final.txt\":176,\"docs/unlock-gates/checks/network-current-head.txt\":18,\"docs/unlock-gates/checks/network-rerun-archive-denied.txt\":72,\"docs/unlock-gates/checks/protected-attempt.txt\":7,\"docs/unlock-gates/checks/recorded-runtime-integrity.txt\":13,\"docs/unlock-gates/checks/release-tests-final.txt\":10,\"docs/unlock-gates/checks/source-integrity.txt\":120,\"docs/unlock-gates/checks/wallet-browser-attempt.txt\":21,\"docs/unlock-gates/historical-checks.json\":854,\"docs/unlock-gates/historical-checks.tar.xz\":200,\"docs/unlock-gates/historical-json.json\":16,\"docs/unlock-gates/network/capabilities.json\":1,\"docs/unlock-gates/network/explorer-encoding.json\":23,\"docs/unlock-gates/network/policies.json\":1,\"docs/unlock-gates/network/preflight.json\":169,\"docs/unlock-gates/network/rehearsal-preflight.json\":169,\"docs/unlock-gates/network/services.json\":1,\"foundry.toml\":31,\"launch.json\":37,\"rehearsal/Sepolia.t.sol\":112,\"rehearsal/candidate/RouterFork.t.sol\":10,\"rehearsal/candidate/SetupFork.t.sol\":127,\"rehearsal/mainnet/MainnetFork.t.sol\":67,\"rehearsal/mainnet/SampledSourceRehearsal.t.sol\":36,\"rehearsal/mainnet/V4OracleRehearsal.t.sol\":102,\"rehearsal/successor/SuccessorFork.t.sol\":20,\"rehearsal/successor/SuccessorSetupFork.t.sol\":108,\"rehearsal/unlock-gates/MainnetHandoff.t.sol\":250,\"remappings.txt\":4,\"script/CheckReleaseConfig.s.sol\":85,\"script/LocalDemo.s.sol\":41,\"script/Stage2.s.sol\":98,\"script/candidate/PrepareCandidate.s.sol\":105,\"script/mainnet/PrepareImd.s.sol\":106,\"script/mainnet/PrepareImdLaunch.s.sol\":188,\"script/mainnet/PrepareOwnerTransactions.s.sol\":192,\"script/successor/PrepareSuccessor.s.sol\":96,\"scripts/candidate/artifacts.py\":32,\"scripts/candidate/bundle-size.py\":52,\"scripts/candidate/check-protected.py\":43,\"scripts/candidate/check.sh\":16,\"scripts/candidate/dependencies.py\":33,\"scripts/candidate/fork.sh\":16,\"scripts/candidate/mine.mjs\":18,\"scripts/candidate/pin.py\":16,\"scripts/check.sh\":12,\"scripts/check_protected.py\":44,\"scripts/export_abis.py\":34,\"scripts/generate_code_checks.py\":22,\"scripts/mainnet/artifacts.py\":44,\"scripts/mainnet/check-manifest.py\":48,\"scripts/mainnet/fork.sh\":21,\"scripts/mainnet/market-evidence.py\":38,\"scripts/mainnet/mine.mjs\":19,\"scripts/mainnet/oracle-proof.py\":70,\"scripts/mainnet/proof-fixture.py\":33,\"scripts/mainnet/record-admission-network.py\":108,\"scripts/mainnet/rehearse-admission.sh\":22,\"scripts/mainnet/verify.py\":46,\"scripts/mine-hook.sh\":9,\"scripts/prepare_claim_tree.py\":37,\"scripts/rehearse-sepolia.sh\":4,\"scripts/release_artifacts.py\":56,\"scripts/successor/fork.sh\":10,\"scripts/successor/mine.mjs\":18,\"scripts/unlock-gates/check-archives.py\":35,\"scripts/unlock-gates/check.sh\":16,\"scripts/unlock-gates/fork.sh\":22,\"scripts/unlock-gates/record-network.py\":108,\"scripts/verify_network.py\":47,\"src/HookDeployer.sol\":37,\"src/HookFlags.sol\":45,\"src/MerkleClaimEvidence.sol\":200,\"src/UnlkHook.sol\":725,\"src/UnlkOracle.sol\":190,\"src/UnlkSwapRouter.sol\":242,\"src/UnlkToken.sol\":42,\"src/candidate/HookDeployerV2.sol\":37,\"src/candidate/NativeFeeMath.sol\":23,\"src/candidate/NftFeeVault.sol\":115,\"src/candidate/ReviewedCodeV2.sol\":12,\"src/candidate/SetupVerifierV2.sol\":125,\"src/candidate/UnlkHookV2.sol\":701,\"src/candidate/UnlkRouterV2.sol\":275,\"src/interfaces/IIntegration.sol\":88,\"src/libraries/OperationHash.sol\":15,\"src/libraries/ReviewedCode.sol\":10,\"src/libraries/SeedDepth.sol\":41,\"src/libraries/SepoliaRelease.sol\":11,\"src/mainnet/BlockState.sol\":62,\"src/mainnet/ImdFeeVault.sol\":122,\"src/mainnet/ImdReviewedCode.sol\":13,\"src/mainnet/ImdSampledUsdSource.sol\":206,\"src/mainnet/ImdSeedDepth.sol\":35,\"src/mainnet/ImdSetupVerifier.sol\":134,\"src/mainnet/ImdSpotMath.sol\":72,\"src/mainnet/ImdSpotUsdSource.sol\":92,\"src/mainnet/ImdUsdSource.sol\":120,\"src/mainnet/ImdV4UsdSource.sol\":164,\"src/mainnet/MainnetPins.sol\":24,\"src/mainnet/StateProof.sol\":171,\"src/mainnet/UnlkImdHook.sol\":727,\"src/mainnet/UnlkImdOracle.sol\":111,\"src/mainnet/WalletExecutor.sol\":94,\"src/successor/SuccessorFeeMath.sol\":34,\"src/successor/UnlkHookV3.sol\":731,\"test/ADDITIONAL_COVERAGE.md\":94,\"test/ActivationRobustness.t.sol\":303,\"test/Adversarial.t.sol\":117,\"test/BatchSettlementProperties.t.sol\":272,\"test/ClaimLifecycleInvariants.t.sol\":444,\"test/CreditsAndFees.t.sol\":180,\"test/EvidenceAndOracleProperties.t.sol\":349,\"test/FailurePaths.t.sol\":581,\"test/FeeCustodyProperties.t.sol\":454,\"test/HookDeployer.t.sol\":98,\"test/Invariants.t.sol\":220,\"test/Launch.t.sol\":112,\"test/LocalScript.t.sol\":28,\"test/ManipulationEconomics.t.sol\":117,\"test/NativeCustodyInvariants.t.sol\":296,\"test/NativeLaunch.t.sol\":236,\"test/Oracle.t.sol\":422,\"test/QuotaInvariants.t.sol\":529,\"test/ReleaseConfig.t.sol\":32,\"test/RevisionProperties.t.sol\":593,\"test/SecurityRegression.t.sol\":337,\"test/SeedBoundary.t.sol\":94,\"test/SeedRangeLimitProperties.t.sol\":599,\"test/SepoliaPins.t.sol\":180,\"test/Stage2Script.t.sol\":62,\"test/StageOneInvariants.t.sol\":281,\"test/TESTING_ADDITIONS.md\":136,\"test/TokenLedgerProperties.t.sol\":310,\"test/Trading.t.sol\":171,\"test/TwoStage.t.sol\":302,\"test/candidate/Adversarial.t.sol\":102,\"test/candidate/CandidateFixture.sol\":382,\"test/candidate/Fees.t.sol\":285,\"test/candidate/QuotaInvariants.t.sol\":554,\"test/candidate/Quoter.t.sol\":134,\"test/candidate/SetupScript.t.sol\":45,\"test/candidate/TiersAndSetup.t.sol\":148,\"test/compatibility/RecordedRouter.t.sol\":316,\"test/compatibility/RecordedRuntime.sol\":22,\"test/fixtures/LocalFixtures.sol\":59,\"test/fixtures/SepoliaRuntime.sol\":28,\"test/fixtures/SystemFixture.sol\":372,\"test/imd/HookFlags.sol\":45,\"test/imd/LaunchFactory.sol\":375,\"test/imd/LaunchFees.sol\":73,\"test/imd/LaunchRegistry.sol\":109,\"test/imd/MerkleDistributor.sol\":181,\"test/imd/PoolFees.sol\":220,\"test/imd/README.md\":29,\"test/mainnet/ExternalSpotTouch.t.sol\":166,\"test/mainnet/ImdAuthentication.t.sol\":41,\"test/mainnet/ImdFeeMath.t.sol\":32,\"test/mainnet/ImdFixture.sol\":497,\"test/mainnet/ImdLaunchPlan.t.sol\":145,\"test/mainnet/ImdMultihop.t.sol\":93,\"test/mainnet/ImdOracle.t.sol\":102,\"test/mainnet/ImdPermitAndBatch.t.sol\":134,\"test/mainnet/ImdPreparation.t.sol\":96,\"test/mainnet/ImdSetup.t.sol\":57,\"test/mainnet/ImdSwaps.t.sol\":150,\"test/mainnet/ImdTreasuryFailurePaths.t.sol\":218,\"test/mainnet/InitializationAdmission.t.sol\":238,\"test/mainnet/LAUNCH_BOUNDARY_COVERAGE.md\":103,\"test/mainnet/MainnetRuntime.sol\":41,\"test/mainnet/MockImdMarket.sol\":64,\"test/mainnet/OneWayGates.t.sol\":413,\"test/mainnet/OwnerTransactions.t.sol\":176,\"test/mainnet/ProtocolFees.t.sol\":104,\"test/mainnet/QuotaMitigation.t.sol\":270,\"test/mainnet/QuotaMitigationInvariants.t.sol\":136,\"test/mainnet/RecordedLaunchBoundary.t.sol\":159,\"test/mainnet/SPOT_TEST_COVERAGE.md\":80,\"test/mainnet/SampledOracle.t.sol\":425,\"test/mainnet/ServiceAttestation.t.sol\":93,\"test/mainnet/SetupLifecycleInvariants.t.sol\":463,\"test/mainnet/SharedExecutorReview.t.sol\":72,\"test/mainnet/SpotArithmeticProperties.t.sol\":118,\"test/mainnet/SpotCustodyInvariants.t.sol\":560,\"test/mainnet/SpotFailureIsolation.t.sol\":193,\"test/mainnet/SpotIntegrationFixture.sol\":64,\"test/mainnet/SpotMath.t.sol\":466,\"test/mainnet/SpotOracle.t.sol\":209,\"test/mainnet/V4Activation.t.sol\":122,\"test/mainnet/V4OracleProof.t.sol\":318,\"test/mainnet/V4StateEvidence.sol\":66,\"test/mocks/MockERC20.sol\":11,\"test/results/build.txt\":8,\"test/results/contributor-launch-boundary.txt\":18,\"test/results/foundry-tests.txt\":450,\"test/results/protected-checks.txt\":22,\"test/results/release-checks.txt\":18,\"test/successor/SetupScript.t.sol\":46,\"test/successor/Successor.t.sol\":432,\"test/successor/SuccessorFixture.sol\":494,\"test/successor/SuccessorInvariants.t.sol\":205,\"test/test_mainnet_manifest.py\":69,\"test/test_release_artifacts.py\":96,\"web/NOTICE.md\":7,\"web/index.html\":30,\"web/licenses/design-guidance.txt\":220,\"web/package-lock.json\":2197,\"web/package.json\":33,\"web/public/abi/IChainlinkEthUsd.json\":48,\"web/public/abi/MerkleClaimEvidence.json\":461,\"web/public/abi/MerkleDistributor.json\":451,\"web/public/abi/UnlkHook.json\":1973,\"web/public/abi/UnlkOracle.json\":443,\"web/public/abi/UnlkSwapRouter.json\":359,\"web/public/abi/UnlkToken.json\":425,\"web/public/evidence/allowance-vectors.json\":564,\"web/public/evidence/browser-validation.json\":368,\"web/public/evidence/build.txt\":21,\"web/public/evidence/chain-verification.json\":158,\"web/public/evidence/contrast.json\":197,\"web/public/evidence/cross-language-tests.txt\":19,\"web/public/evidence/design-probe.json\":183,\"web/public/evidence/fork-validation.json\":53,\"web/public/evidence/frontend-tests.txt\":79,\"web/public/evidence/live-interactions.json\":154,\"web/public/evidence/native-claim.json\":17,\"web/public/evidence/publication.json\":16,\"web/public/evidence/recovery-validation.json\":12,\"web/public/evidence/round-0.json\":1,\"web/public/evidence/rpc-check.json\":29,\"web/public/evidence/submission-check.json\":21,\"web/public/evidence/swap-math-vectors.json\":173,\"web/public/evidence/test-results.txt\":206,\"web/public/evidence/typecheck.txt\":8,\"web/public/evidence/validation.md\":101,\"web/public/evidence/wallet-validation.json\":14,\"web/public/evidence/webkit-validation.json\":30,\"web/public/favicon.svg\":1,\"web/public/fonts/JetBrains-Mono-OFL.txt\":93,\"web/public/share.png\":104,\"web/public/share.svg\":14,\"web/public/wallets/metamask.svg\":1,\"web/public/wallets/phantom.svg\":1,\"web/public/wallets/rabby.svg\":1,\"web/scripts/build-offline.mjs\":38,\"web/scripts/check-allowance-math.ts\":72,\"web/scripts/check-browser.mjs\":345,\"web/scripts/check-fork.mjs\":477,\"web/scripts/check-recovery.mjs\":196,\"web/scripts/check-swap-math.ts\":50,\"web/scripts/check-wallet.mjs\":319,\"web/scripts/check-webkit.mjs\":141,\"web/scripts/inspect-claim.ts\":22,\"web/scripts/prepare-toolchain.mjs\":28,\"web/scripts/typecheck-offline.mjs\":15,\"web/scripts/verify-chain.ts\":281,\"web/scripts/verify-live-interactions.ts\":137,\"web/src/App.tsx\":123,\"web/src/NextRelease.tsx\":94,\"web/src/NftGallery.tsx\":90,\"web/src/Rewards.tsx\":615,\"web/src/Terminal.tsx\":356,\"web/src/Trade.tsx\":699,\"web/src/Unlock.tsx\":171,\"web/src/abis/IChainlinkEthUsd.json\":22,\"web/src/abis/MerkleClaimEvidence.json\":275,\"web/src/abis/MerkleDistributor.json\":263,\"web/src/abis/UnlkHook.json\":1193,\"web/src/abis/UnlkOracle.json\":255,\"web/src/abis/UnlkSwapRouter.json\":232,\"web/src/abis/UnlkToken.json\":233,\"web/src/assets/fonts/jetbrains-mono-regular.woff2\":369,\"web/src/assets/fonts/jetbrains-mono-semibold.woff2\":424,\"web/src/candidate.ts\":62,\"web/src/candidateReader.ts\":71,\"web/src/charts.tsx\":542,\"web/src/components.tsx\":159,\"web/src/config.ts\":81,\"web/src/data.tsx\":146,\"web/src/indexer.ts\":322,\"web/src/live.ts\":423,\"web/src/main.tsx\":41,\"web/src/mainnet.ts\":23,\"web/src/mainnetReader.ts\":87,\"web/src/mainnetSwap.ts\":32,\"web/src/math.ts\":220,\"web/src/nftInventory.ts\":25,\"web/src/nftSafety.ts\":82,\"web/src/pages.tsx\":1078,\"web/src/rewards.ts\":94,\"web/src/spotPrice.ts\":93,\"web/src/storage.ts\":24,\"web/src/styles.css\":2343,\"web/src/verified.json\":77,\"web/src/wallet.tsx\":676,\"web/tests/candidate.test.ts\":121,\"web/tests/mainnet.test.ts\":58,\"web/tests/math.test.ts\":210,\"web/tests/spot.test.ts\":42,\"web/tsconfig.json\":18,\"web/tsconfig.offline.json\":42,\"web/vendor/README.md\":26,\"web/vendor/esbuild-wasm/LICENSE.md\":21,\"web/vendor/esbuild-wasm/README.md\":3,\"web/vendor/esbuild-wasm/bin/esbuild\":91,\"web/vendor/esbuild-wasm/esbuild.wasm.br\":8524,\"web/vendor/esbuild-wasm/lib/main.d.ts\":716,\"web/vendor/esbuild-wasm/lib/main.js\":2047,\"web/vendor/esbuild-wasm/package.json\":19,\"web/vendor/esbuild-wasm/wasm_exec.js\":561,\"web/vendor/esbuild-wasm/wasm_exec_node.js\":39,\"web/vendor/licenses/buffer-6.0.3.txt\":21,\"web/vendor/licenses/clsx-1.2.1.txt\":9,\"web/vendor/licenses/eventemitter3-5.0.1.txt\":21,\"web/vendor/licenses/ieee754-1.2.1.txt\":11,\"web/vendor/licenses/isows-1.0.7.txt\":21,\"web/vendor/licenses/noble_curves-1.9.1.txt\":21,\"web/vendor/licenses/noble_hashes-1.8.0.txt\":21,\"web/vendor/licenses/ox-0.9.6.txt\":21,\"web/vendor/licenses/preact-10.24.2.txt\":21,\"web/vendor/licenses/provenance.json\":107,\"web/vendor/licenses/react-19.1.1.txt\":21,\"web/vendor/licenses/react-dom-19.1.1.txt\":21,\"web/vendor/licenses/scheduler-0.26.0.txt\":21,\"web/vendor/licenses/scure_bip32-1.7.0.txt\":21,\"web/vendor/licenses/scure_bip39-1.6.0.txt\":21,\"web/vendor/licenses/ws-8.18.3.txt\":20,\"web/vendor/runtime/16296a5ca250926751e3.mjs\":14,\"web/vendor/runtime/5c6113df38c00955dc88.mjs\":48,\"web/vendor/runtime/79686c7ff29c42b4482b.mjs\":16,\"web/vendor/runtime/ab03d5bbf1867256af7c.mjs\":16,\"web/vendor/runtime/bfd99eb87afaf129b7b9.mjs\":13,\"web/vendor/runtime/c5e656ecf7fbe34e412c.mjs\":61,\"web/vendor/runtime/lock.json\":47,\"web/vendor/toolchain.json\":18,\"web/vendor/types/abitype/LICENSE\":21,\"web/vendor/types/abitype/abis/package.json\":5,\"web/vendor/types/abitype/dist/cjs/package.json\":1,\"web/vendor/types/abitype/dist/esm/package.json\":1,\"web/vendor/types/abitype/dist/types/abi.d.ts\":140,\"web/vendor/types/abitype/dist/types/abis/human-readable.d.ts\":43,\"web/vendor/types/abitype/dist/types/abis/json.d.ts\":3958,\"web/vendor/types/abitype/dist/types/errors.d.ts\":19,\"web/vendor/types/abitype/dist/types/exports/abis.d.ts\":3,\"web/vendor/types/abitype/dist/types/exports/index.d.ts\":20,\"web/vendor/types/abitype/dist/types/exports/zod.d.ts\":2,\"web/vendor/types/abitype/dist/types/human-readable/errors/abiItem.d.ts\":20,\"web/vendor/types/abitype/dist/types/human-readable/errors/abiParameter.d.ts\":53,\"web/vendor/types/abitype/dist/types/human-readable/errors/signature.d.ts\":22,\"web/vendor/types/abitype/dist/types/human-readable/errors/splitParameters.d.ts\":9,\"web/vendor/types/abitype/dist/types/human-readable/errors/struct.d.ts\":8,\"web/vendor/types/abitype/dist/types/human-readable/formatAbi.d.ts\":19,\"web/vendor/types/abitype/dist/types/human-readable/formatAbiItem.d.ts\":23,\"web/vendor/types/abitype/dist/types/human-readable/formatAbiParameter.d.ts\":49,\"web/vendor/types/abitype/dist/types/human-readable/formatAbiParameters.d.ts\":40,\"web/vendor/types/abitype/dist/types/human-readable/parseAbi.d.ts\":38,\"web/vendor/types/abitype/dist/types/human-readable/parseAbiItem.d.ts\":44,\"web/vendor/types/abitype/dist/types/human-readable/parseAbiParameter.d.ts\":49,\"web/vendor/types/abitype/dist/types/human-readable/parseAbiParameters.d.ts\":63,\"web/vendor/types/abitype/dist/types/human-readable/runtime/cache.d.ts\":18,\"web/vendor/types/abitype/dist/types/human-readable/runtime/signatures.d.ts\":39,\"web/vendor/types/abitype/dist/types/human-readable/runtime/structs.d.ts\":3,\"web/vendor/types/abitype/dist/types/human-readable/runtime/utils.d.ts\":205,\"web/vendor/types/abitype/dist/types/human-readable/types/signatures.d.ts\":38,\"web/vendor/types/abitype/dist/types/human-readable/types/structs.d.ts\":48,\"web/vendor/types/abitype/dist/types/human-readable/types/utils.d.ts\":161,\"web/vendor/types/abitype/dist/types/narrow.d.ts\":24,\"web/vendor/types/abitype/dist/types/regex.d.ts\":5,\"web/vendor/types/abitype/dist/types/register.d.ts\":149,\"web/vendor/types/abitype/dist/types/types.d.ts\":151,\"web/vendor/types/abitype/dist/types/utils.d.ts\":234,\"web/vendor/types/abitype/dist/types/version.d.ts\":2,\"web/vendor/types/abitype/dist/types/zod.d.ts\":534,\"web/vendor/types/abitype/package.json\":80,\"web/vendor/types/abitype/zod/package.json\":5,\"web/vendor/types/coinbase/LICENSE\":13,\"web/vendor/types/coinbase/dist/CoinbaseWalletProvider.d.ts\":16,\"web/vendor/types/coinbase/dist/CoinbaseWalletSDK.d.ts\":24,\"web/vendor/types/coinbase/dist/assets/wallet-logo.d.ts\":3,\"web/vendor/types/coinbase/dist/core/communicator/Communicator.d.ts\":47,\"web/vendor/types/coinbase/dist/core/constants.d.ts\":5,\"web/vendor/types/coinbase/dist/core/error/constants.d.ts\":96,\"web/vendor/types/coinbase/dist/core/error/errors.d.ts\":48,\"web/vendor/types/coinbase/dist/core/error/serialize.d.ts\":13,\"web/vendor/types/coinbase/dist/core/error/utils.d.ts\":31,\"web/vendor/types/coinbase/dist/core/message/ConfigMessage.d.ts\":7,\"web/vendor/types/coinbase/dist/core/message/Message.d.ts\":8,\"web/vendor/types/coinbase/dist/core/message/RPCMessage.d.ts\":30,\"web/vendor/types/coinbase/dist/core/message/RPCRequest.d.ts\":6,\"web/vendor/types/coinbase/dist/core/message/RPCResponse.d.ts\":15,\"web/vendor/types/coinbase/dist/core/provider/interface.d.ts\":70,\"web/vendor/types/coinbase/dist/core/storage/ScopedLocalStorage.d.ts\":14,\"web/vendor/types/coinbase/dist/core/type/index.d.ts\":19,\"web/vendor/types/coinbase/dist/core/type/util.d.ts\":29,\"web/vendor/types/coinbase/dist/createCoinbaseWalletProvider.d.ts\":8,\"web/vendor/types/coinbase/dist/createCoinbaseWalletSDK.d.ts\":13,\"web/vendor/types/coinbase/dist/index.d.ts\":7,\"web/vendor/types/coinbase/dist/sdk-info.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/interface.d.ts\":7,\"web/vendor/types/coinbase/dist/sign/scw/SCWKeyManager.d.ts\":16,\"web/vendor/types/coinbase/dist/sign/scw/SCWSigner.d.ts\":34,\"web/vendor/types/coinbase/dist/sign/scw/utils.d.ts\":2,\"web/vendor/types/coinbase/dist/sign/util.d.ts\":20,\"web/vendor/types/coinbase/dist/sign/walletlink/WalletLinkSigner.d.ts\":40,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/RelayEventManager.d.ts\":9,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/WalletLinkRelay.d.ts\":58,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/connection/WalletLinkCipher.d.ts\":19,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/connection/WalletLinkConnection.d.ts\":102,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/connection/WalletLinkHTTP.d.ts\":10,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/connection/WalletLinkWebSocket.d.ts\":46,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/constants.d.ts\":4,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/mocks/fixtures.d.ts\":5,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/mocks/relay.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/ClientMessage.d.ts\":30,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/EthereumTransactionParams.d.ts\":14,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/ServerMessage.d.ts\":61,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/WalletLinkEventData.d.ts\":15,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/WalletLinkSession.d.ts\":16,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/Web3Request.d.ts\":99,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/Web3Response.d.ts\":51,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/RelayUI.d.ts\":16,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/WLMobileRelayUI.d.ts\":15,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/WalletLinkRelayUI.d.ts\":14,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/RedirectDialog/RedirectDialog-css.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/RedirectDialog/RedirectDialog.d.ts\":16,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/Snackbar/Snackbar-css.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/Snackbar/Snackbar.d.ts\":32,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/cssReset/cssReset-css.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/cssReset/cssReset.d.ts\":2,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/util.d.ts\":5,\"web/vendor/types/coinbase/dist/util/checkCrossOriginOpenerPolicy.d.ts\":2,\"web/vendor/types/coinbase/dist/util/cipher.d.ts\":12,\"web/vendor/types/coinbase/dist/util/provider.d.ts\":20,\"web/vendor/types/coinbase/dist/util/validatePreferences.d.ts\":7,\"web/vendor/types/coinbase/dist/util/web.d.ts\":3,\"web/vendor/types/coinbase/dist/vendor-js/eth-eip712-util/LICENSE\":14,\"web/vendor/types/coinbase/dist/vendor-js/eth-eip712-util/index.d.ts\":11,\"web/vendor/types/coinbase/package.json\":74,\"web/vendor/types/csstype/LICENSE\":19,\"web/vendor/types/csstype/index.d.ts\":21297,\"web/vendor/types/csstype/package.json\":66,\"web/vendor/types/lock.json\":58,\"web/vendor/types/node/LICENSE\":21,\"web/vendor/types/node/assert.d.ts\":1056,\"web/vendor/types/node/assert/strict.d.ts\":8,\"web/vendor/types/node/async_hooks.d.ts\":623,\"web/vendor/types/node/buffer.buffer.d.ts\":463,\"web/vendor/types/node/buffer.d.ts\":1930,\"web/vendor/types/node/child_process.d.ts\":1453,\"web/vendor/types/node/cluster.d.ts\":579,\"web/vendor/types/node/compatibility/iterators.d.ts\":21,\"web/vendor/types/node/console.d.ts\":452,\"web/vendor/types/node/constants.d.ts\":21,\"web/vendor/types/node/crypto.d.ts\":4566,\"web/vendor/types/node/dgram.d.ts\":599,\"web/vendor/types/node/diagnostics_channel.d.ts\":578,\"web/vendor/types/node/dns.d.ts\":923,\"web/vendor/types/node/dns/promises.d.ts\":503,\"web/vendor/types/node/domain.d.ts\":170,\"web/vendor/types/node/events.d.ts\":930,\"web/vendor/types/node/fs.d.ts\":4473,\"web/vendor/types/node/fs/promises.d.ts\":1299,\"web/vendor/types/node/globals.d.ts\":168,\"web/vendor/types/node/globals.typedarray.d.ts\":22,\"web/vendor/types/node/http.d.ts\":2070,\"web/vendor/types/node/http2.d.ts\":2630,\"web/vendor/types/node/https.d.ts\":550,\"web/vendor/types/node/index.d.ts\":99,\"web/vendor/types/node/inspector.d.ts\":253,\"web/vendor/types/node/inspector.generated.d.ts\":4052,\"web/vendor/types/node/module.d.ts\":894,\"web/vendor/types/node/net.d.ts\":1053,\"web/vendor/types/node/os.d.ts\":496,\"web/vendor/types/node/package.json\":155,\"web/vendor/types/node/path.d.ts\":200,\"web/vendor/types/node/perf_hooks.d.ts\":984,\"web/vendor/types/node/process.d.ts\":2073,\"web/vendor/types/node/punycode.d.ts\":117,\"web/vendor/types/node/querystring.d.ts\":152,\"web/vendor/types/node/readline.d.ts\":594,\"web/vendor/types/node/readline/promises.d.ts\":161,\"web/vendor/types/node/repl.d.ts\":438,\"web/vendor/types/node/sea.d.ts\":153,\"web/vendor/types/node/sqlite.d.ts\":721,\"web/vendor/types/node/stream.d.ts\":1668,\"web/vendor/types/node/stream/consumers.d.ts\":38,\"web/vendor/types/node/stream/promises.d.ts\":90,\"web/vendor/types/node/stream/web.d.ts\":622,\"web/vendor/types/node/string_decoder.d.ts\":67,\"web/vendor/types/node/test.d.ts\":2334,\"web/vendor/types/node/timers.d.ts\":285,\"web/vendor/types/node/timers/promises.d.ts\":108,\"web/vendor/types/node/tls.d.ts\":1245,\"web/vendor/types/node/trace_events.d.ts\":197,\"web/vendor/types/node/ts5.6/buffer.buffer.d.ts\":460,\"web/vendor/types/node/ts5.6/compatibility/float16array.d.ts\":71,\"web/vendor/types/node/ts5.6/globals.typedarray.d.ts\":20,\"web/vendor/types/node/ts5.6/index.d.ts\":101,\"web/vendor/types/node/ts5.7/compatibility/float16array.d.ts\":72,\"web/vendor/types/node/ts5.7/index.d.ts\":101,\"web/vendor/types/node/tty.d.ts\":208,\"web/vendor/types/node/url.d.ts\":1028,\"web/vendor/types/node/util.d.ts\":2311,\"web/vendor/types/node/v8.d.ts\":919,\"web/vendor/types/node/vm.d.ts\":1099,\"web/vendor/types/node/wasi.d.ts\":202,\"web/vendor/types/node/web-globals/abortcontroller.d.ts\":34,\"web/vendor/types/node/web-globals/domexception.d.ts\":68,\"web/vendor/types/node/web-globals/events.d.ts\":94,\"web/vendor/types/node/web-globals/fetch.d.ts\":50,\"web/vendor/types/node/web-globals/navigator.d.ts\":25,\"web/vendor/types/node/web-globals/storage.d.ts\":24,\"web/vendor/types/node/worker_threads.d.ts\":835,\"web/vendor/types/node/zlib.d.ts\":674,\"web/vendor/types/react-dom/LICENSE\":21,\"web/vendor/types/react-dom/canary.d.ts\":37,\"web/vendor/types/react-dom/client.d.ts\":105,\"web/vendor/types/react-dom/experimental.d.ts\":87,\"web/vendor/types/react-dom/index.d.ts\":128,\"web/vendor/types/react-dom/package.json\":128,\"web/vendor/types/react-dom/server.browser.d.ts\":1,\"web/vendor/types/react-dom/server.bun.d.ts\":1,\"web/vendor/types/react-dom/server.d.ts\":116,\"web/vendor/types/react-dom/server.edge.d.ts\":1,\"web/vendor/types/react-dom/server.node.d.ts\":1,\"web/vendor/types/react-dom/static.browser.d.ts\":1,\"web/vendor/types/react-dom/static.d.ts\":78,\"web/vendor/types/react-dom/static.edge.d.ts\":1,\"web/vendor/types/react-dom/static.node.d.ts\":1,\"web/vendor/types/react-dom/test-utils/index.d.ts\":7,\"web/vendor/types/react/LICENSE\":21,\"web/vendor/types/react/canary.d.ts\":60,\"web/vendor/types/react/compiler-runtime.d.ts\":4,\"web/vendor/types/react/experimental.d.ts\":228,\"web/vendor/types/react/global.d.ts\":165,\"web/vendor/types/react/index.d.ts\":4265,\"web/vendor/types/react/jsx-dev-runtime.d.ts\":45,\"web/vendor/types/react/jsx-runtime.d.ts\":36,\"web/vendor/types/react/package.json\":210,\"web/vendor/types/react/ts5.0/canary.d.ts\":60,\"web/vendor/types/react/ts5.0/experimental.d.ts\":228,\"web/vendor/types/react/ts5.0/global.d.ts\":165,\"web/vendor/types/react/ts5.0/index.d.ts\":4251,\"web/vendor/types/react/ts5.0/jsx-dev-runtime.d.ts\":44,\"web/vendor/types/react/ts5.0/jsx-runtime.d.ts\":35,\"web/vendor/types/react/ts5.0/v18/global.d.ts\":161,\"web/vendor/types/react/ts5.0/v18/index.d.ts\":4564,\"web/vendor/types/react/ts5.0/v18/jsx-dev-runtime.d.ts\":45,\"web/vendor/types/react/ts5.0/v18/jsx-runtime.d.ts\":36,\"web/vendor/types/react/ts5.0/v18/ts5.0/global.d.ts\":161,\"web/vendor/types/react/ts5.0/v18/ts5.0/index.d.ts\":4551,\"web/vendor/types/react/ts5.0/v18/ts5.0/jsx-dev-runtime.d.ts\":44,\"web/vendor/types/react/ts5.0/v18/ts5.0/jsx-runtime.d.ts\":35,\"web/vendor/types/typescript/LICENSE.txt\":55,\"web/vendor/types/typescript/ThirdPartyNoticeText.txt\":193,\"web/vendor/types/typescript/lib/_tsc.js.br\":2756,\"web/vendor/types/typescript/lib/lib.d.ts\":22,\"web/vendor/types/typescript/lib/lib.decorators.d.ts\":384,\"web/vendor/types/typescript/lib/lib.decorators.legacy.d.ts\":22,\"web/vendor/types/typescript/lib/lib.dom.asynciterable.d.ts\":41,\"web/vendor/types/typescript/lib/lib.dom.d.ts\":39429,\"web/vendor/types/typescript/lib/lib.dom.iterable.d.ts\":571,\"web/vendor/types/typescript/lib/lib.es2015.collection.d.ts\":147,\"web/vendor/types/typescript/lib/lib.es2015.core.d.ts\":597,\"web/vendor/types/typescript/lib/lib.es2015.d.ts\":28,\"web/vendor/types/typescript/lib/lib.es2015.generator.d.ts\":77,\"web/vendor/types/typescript/lib/lib.es2015.iterable.d.ts\":605,\"web/vendor/types/typescript/lib/lib.es2015.promise.d.ts\":81,\"web/vendor/types/typescript/lib/lib.es2015.proxy.d.ts\":128,\"web/vendor/types/typescript/lib/lib.es2015.reflect.d.ts\":144,\"web/vendor/types/typescript/lib/lib.es2015.symbol.d.ts\":46,\"web/vendor/types/typescript/lib/lib.es2015.symbol.wellknown.d.ts\":326,\"web/vendor/types/typescript/lib/lib.es2016.array.include.d.ts\":116,\"web/vendor/types/typescript/lib/lib.es2016.d.ts\":21,\"web/vendor/types/typescript/lib/lib.es2016.full.d.ts\":23,\"web/vendor/types/typescript/lib/lib.es2016.intl.d.ts\":31,\"web/vendor/types/typescript/lib/lib.es2017.arraybuffer.d.ts\":21,\"web/vendor/types/typescript/lib/lib.es2017.d.ts\":26,\"web/vendor/types/typescript/lib/lib.es2017.date.d.ts\":31,\"web/vendor/types/typescript/lib/lib.es2017.full.d.ts\":23,\"web/vendor/types/typescript/lib/lib.es2017.intl.d.ts\":44,\"web/vendor/types/typescript/lib/lib.es2017.object.d.ts\":49,\"web/vendor/types/typescript/lib/lib.es2017.sharedmemory.d.ts\":135,\"web/vendor/types/typescript/lib/lib.es2017.string.d.ts\":45,\"web/vendor/types/typescript/lib/lib.es2017.typedarrays.d.ts\":53,\"web/vendor/types/typescript/lib/lib.es2018.asyncgenerator.d.ts\":77,\"web/vendor/types/typescript/lib/lib.es2018.asynciterable.d.ts\":53,\"web/vendor/types/typescript/lib/lib.es2018.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2018.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2018.intl.d.ts\":83,\"web/vendor/types/typescript/lib/lib.es2018.promise.d.ts\":30,\"web/vendor/types/typescript/lib/lib.es2018.regexp.d.ts\":37,\"web/vendor/types/typescript/lib/lib.es2019.array.d.ts\":79,\"web/vendor/types/typescript/lib/lib.es2019.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2019.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2019.intl.d.ts\":23,\"web/vendor/types/typescript/lib/lib.es2019.object.d.ts\":33,\"web/vendor/types/typescript/lib/lib.es2019.string.d.ts\":37,\"web/vendor/types/typescript/lib/lib.es2019.symbol.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2020.bigint.d.ts\":765,\"web/vendor/types/typescript/lib/lib.es2020.d.ts\":27,\"web/vendor/types/typescript/lib/lib.es2020.date.d.ts\":42,\"web/vendor/types/typescript/lib/lib.es2020.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2020.intl.d.ts\":474,\"web/vendor/types/typescript/lib/lib.es2020.number.d.ts\":28,\"web/vendor/types/typescript/lib/lib.es2020.promise.d.ts\":47,\"web/vendor/types/typescript/lib/lib.es2020.sharedmemory.d.ts\":99,\"web/vendor/types/typescript/lib/lib.es2020.string.d.ts\":44,\"web/vendor/types/typescript/lib/lib.es2020.symbol.wellknown.d.ts\":41,\"web/vendor/types/typescript/lib/lib.es2021.d.ts\":23,\"web/vendor/types/typescript/lib/lib.es2021.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2021.intl.d.ts\":166,\"web/vendor/types/typescript/lib/lib.es2021.promise.d.ts\":48,\"web/vendor/types/typescript/lib/lib.es2021.string.d.ts\":33,\"web/vendor/types/typescript/lib/lib.es2021.weakref.d.ts\":78,\"web/vendor/types/typescript/lib/lib.es2022.array.d.ts\":121,\"web/vendor/types/typescript/lib/lib.es2022.d.ts\":25,\"web/vendor/types/typescript/lib/lib.es2022.error.d.ts\":75,\"web/vendor/types/typescript/lib/lib.es2022.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2022.intl.d.ts\":145,\"web/vendor/types/typescript/lib/lib.es2022.object.d.ts\":26,\"web/vendor/types/typescript/lib/lib.es2022.regexp.d.ts\":39,\"web/vendor/types/typescript/lib/lib.es2022.string.d.ts\":25,\"web/vendor/types/typescript/lib/lib.es2023.array.d.ts\":924,\"web/vendor/types/typescript/lib/lib.es2023.collection.d.ts\":21,\"web/vendor/types/typescript/lib/lib.es2023.d.ts\":22,\"web/vendor/types/typescript/lib/lib.es2023.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2023.intl.d.ts\":56,\"web/vendor/types/typescript/lib/lib.es2024.arraybuffer.d.ts\":65,\"web/vendor/types/typescript/lib/lib.es2024.collection.d.ts\":29,\"web/vendor/types/typescript/lib/lib.es2024.d.ts\":26,\"web/vendor/types/typescript/lib/lib.es2024.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2024.object.d.ts\":29,\"web/vendor/types/typescript/lib/lib.es2024.promise.d.ts\":35,\"web/vendor/types/typescript/lib/lib.es2024.regexp.d.ts\":25,\"web/vendor/types/typescript/lib/lib.es2024.sharedmemory.d.ts\":68,\"web/vendor/types/typescript/lib/lib.es2024.string.d.ts\":29,\"web/vendor/types/typescript/lib/lib.es5.d.ts\":4601,\"web/vendor/types/typescript/lib/lib.es6.d.ts\":23,\"web/vendor/types/typescript/lib/lib.esnext.array.d.ts\":35,\"web/vendor/types/typescript/lib/lib.esnext.collection.d.ts\":96,\"web/vendor/types/typescript/lib/lib.esnext.d.ts\":29,\"web/vendor/types/typescript/lib/lib.esnext.decorators.d.ts\":28,\"web/vendor/types/typescript/lib/lib.esnext.disposable.d.ts\":193,\"web/vendor/types/typescript/lib/lib.esnext.error.d.ts\":24,\"web/vendor/types/typescript/lib/lib.esnext.float16.d.ts\":443,\"web/vendor/types/typescript/lib/lib.esnext.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.esnext.intl.d.ts\":21,\"web/vendor/types/typescript/lib/lib.esnext.iterator.d.ts\":148,\"web/vendor/types/typescript/lib/lib.esnext.promise.d.ts\":34,\"web/vendor/types/typescript/lib/lib.esnext.sharedmemory.d.ts\":25,\"web/vendor/types/typescript/lib/lib.scripthost.d.ts\":322,\"web/vendor/types/typescript/lib/lib.webworker.asynciterable.d.ts\":41,\"web/vendor/types/typescript/lib/lib.webworker.d.ts\":13150,\"web/vendor/types/typescript/lib/lib.webworker.importscripts.d.ts\":23,\"web/vendor/types/typescript/lib/lib.webworker.iterable.d.ts\":340,\"web/vendor/types/typescript/lib/tsc.js\":8,\"web/vendor/types/typescript/lib/tsserverlibrary.d.ts\":17,\"web/vendor/types/typescript/package.json\":120,\"web/vendor/types/viem/LICENSE\":21,\"web/vendor/types/viem/_cjs/package.json\":1,\"web/vendor/types/viem/_esm/package.json\":1,\"web/vendor/types/viem/_types/account-abstraction/accounts/createWebAuthnCredential.d.ts\":11,\"web/vendor/types/viem/_types/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.d.ts\":674,\"web/vendor/types/viem/_types/account-abstraction/accounts/implementations/toSimple7702SmartAccount.d.ts\":311,\"web/vendor/types/viem/_types/account-abstraction/accounts/implementations/toSoladySmartAccount.d.ts\":458,\"web/vendor/types/viem/_types/account-abstraction/accounts/toSmartAccount.d.ts\":14,\"web/vendor/types/viem/_types/account-abstraction/accounts/toWebAuthnAccount.d.ts\":33,\"web/vendor/types/viem/_types/account-abstraction/accounts/types.d.ts\":216,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/estimateUserOperationGas.d.ts\":69,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/getSupportedEntryPoints.d.ts\":30,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/getUserOperation.d.ts\":57,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/getUserOperationReceipt.d.ts\":39,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/prepareUserOperation.d.ts\":127,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/sendUserOperation.d.ts\":63,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/waitForUserOperationReceipt.d.ts\":52,\"web/vendor/types/viem/_types/account-abstraction/actions/paymaster/getPaymasterData.d.ts\":49,\"web/vendor/types/viem/_types/account-abstraction/actions/paymaster/getPaymasterStubData.d.ts\":55,\"web/vendor/types/viem/_types/account-abstraction/clients/createBundlerClient.d.ts\":65,\"web/vendor/types/viem/_types/account-abstraction/clients/createPaymasterClient.d.ts\":27,\"web/vendor/types/viem/_types/account-abstraction/clients/decorators/bundler.d.ts\":206,\"web/vendor/types/viem/_types/account-abstraction/clients/decorators/paymaster.d.ts\":60,\"web/vendor/types/viem/_types/account-abstraction/constants/abis.d.ts\":2298,\"web/vendor/types/viem/_types/account-abstraction/constants/address.d.ts\":4,\"web/vendor/types/viem/_types/account-abstraction/errors/bundler.d.ts\":361,\"web/vendor/types/viem/_types/account-abstraction/errors/userOperation.d.ts\":37,\"web/vendor/types/viem/_types/account-abstraction/index.d.ts\":39,\"web/vendor/types/viem/_types/account-abstraction/types/account.d.ts\":11,\"web/vendor/types/viem/_types/account-abstraction/types/entryPointVersion.d.ts\":9,\"web/vendor/types/viem/_types/account-abstraction/types/rpc.d.ts\":12,\"web/vendor/types/viem/_types/account-abstraction/types/userOperation.d.ts\":173,\"web/vendor/types/viem/_types/account-abstraction/utils/errors/getBundlerError.d.ts\":8,\"web/vendor/types/viem/_types/account-abstraction/utils/errors/getUserOperationError.d.ts\":15,\"web/vendor/types/viem/_types/account-abstraction/utils/formatters/userOperation.d.ts\":6,\"web/vendor/types/viem/_types/account-abstraction/utils/formatters/userOperationGas.d.ts\":6,\"web/vendor/types/viem/_types/account-abstraction/utils/formatters/userOperationReceipt.d.ts\":6,\"web/vendor/types/viem/_types/account-abstraction/utils/formatters/userOperationRequest.d.ts\":7,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/getInitCode.d.ts\":3,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/getUserOperationHash.d.ts\":13,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/getUserOperationTypedData.d.ts\":39,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/toPackedUserOperation.d.ts\":3,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/toUserOperation.d.ts\":3,\"web/vendor/types/viem/_types/accounts/generateMnemonic.d.ts\":12,\"web/vendor/types/viem/_types/accounts/generatePrivateKey.d.ts\":11,\"web/vendor/types/viem/_types/accounts/hdKeyToAccount.d.ts\":14,\"web/vendor/types/viem/_types/accounts/index.d.ts\":25,\"web/vendor/types/viem/_types/accounts/mnemonicToAccount.d.ts\":12,\"web/vendor/types/viem/_types/accounts/privateKeyToAccount.d.ts\":22,\"web/vendor/types/viem/_types/accounts/toAccount.d.ts\":15,\"web/vendor/types/viem/_types/accounts/types.d.ts\":62,\"web/vendor/types/viem/_types/accounts/utils/parseAccount.d.ts\":6,\"web/vendor/types/viem/_types/accounts/utils/privateKeyToAddress.d.ts\":15,\"web/vendor/types/viem/_types/accounts/utils/publicKeyToAddress.d.ts\":15,\"web/vendor/types/viem/_types/accounts/utils/sign.d.ts\":28,\"web/vendor/types/viem/_types/accounts/utils/signAuthorization.d.ts\":20,\"web/vendor/types/viem/_types/accounts/utils/signMessage.d.ts\":20,\"web/vendor/types/viem/_types/accounts/utils/signTransaction.d.ts\":16,\"web/vendor/types/viem/_types/accounts/utils/signTypedData.d.ts\":20,\"web/vendor/types/viem/_types/accounts/wordlists.d.ts\":11,\"web/vendor/types/viem/_types/actions/ens/getEnsAddress.d.ts\":78,\"web/vendor/types/viem/_types/actions/ens/getEnsAvatar.d.ts\":44,\"web/vendor/types/viem/_types/actions/ens/getEnsName.d.ts\":71,\"web/vendor/types/viem/_types/actions/ens/getEnsResolver.d.ts\":48,\"web/vendor/types/viem/_types/actions/ens/getEnsText.d.ts\":57,\"web/vendor/types/viem/_types/actions/getContract.d.ts\":360,\"web/vendor/types/viem/_types/actions/index.d.ts\":119,\"web/vendor/types/viem/_types/actions/public/call.d.ts\":91,\"web/vendor/types/viem/_types/actions/public/createAccessList.d.ts\":61,\"web/vendor/types/viem/_types/actions/public/createBlockFilter.d.ts\":31,\"web/vendor/types/viem/_types/actions/public/createContractEventFilter.d.ts\":55,\"web/vendor/types/viem/_types/actions/public/createEventFilter.d.ts\":81,\"web/vendor/types/viem/_types/actions/public/createPendingTransactionFilter.d.ts\":31,\"web/vendor/types/viem/_types/actions/public/estimateContractGas.d.ts\":47,\"web/vendor/types/viem/_types/actions/public/estimateFeesPerGas.d.ts\":53,\"web/vendor/types/viem/_types/actions/public/estimateGas.d.ts\":61,\"web/vendor/types/viem/_types/actions/public/estimateMaxPriorityFeePerGas.d.ts\":43,\"web/vendor/types/viem/_types/actions/public/getBalance.d.ts\":59,\"web/vendor/types/viem/_types/actions/public/getBlobBaseFee.d.ts\":30,\"web/vendor/types/viem/_types/actions/public/getBlock.d.ts\":62,\"web/vendor/types/viem/_types/actions/public/getBlockNumber.d.ts\":62,\"web/vendor/types/viem/_types/actions/public/getBlockTransactionCount.d.ts\":52,\"web/vendor/types/viem/_types/actions/public/getChainId.d.ts\":32,\"web/vendor/types/viem/_types/actions/public/getCode.d.ts\":45,\"web/vendor/types/viem/_types/actions/public/getContractEvents.d.ts\":66,\"web/vendor/types/viem/_types/actions/public/getEip712Domain.d.ts\":51,\"web/vendor/types/viem/_types/actions/public/getFeeHistory.d.ts\":57,\"web/vendor/types/viem/_types/actions/public/getFilterChanges.d.ts\":101,\"web/vendor/types/viem/_types/actions/public/getFilterLogs.d.ts\":45,\"web/vendor/types/viem/_types/actions/public/getGasPrice.d.ts\":30,\"web/vendor/types/viem/_types/actions/public/getLogs.d.ts\":78,\"web/vendor/types/viem/_types/actions/public/getProof.d.ts\":57,\"web/vendor/types/viem/_types/actions/public/getStorageAt.d.ts\":47,\"web/vendor/types/viem/_types/actions/public/getTransaction.d.ts\":71,\"web/vendor/types/viem/_types/actions/public/getTransactionConfirmations.d.ts\":45,\"web/vendor/types/viem/_types/actions/public/getTransactionCount.d.ts\":49,\"web/vendor/types/viem/_types/actions/public/getTransactionReceipt.d.ts\":40,\"web/vendor/types/viem/_types/actions/public/multicall.d.ts\":81,\"web/vendor/types/viem/_types/actions/public/readContract.d.ts\":46,\"web/vendor/types/viem/_types/actions/public/simulateBlocks.d.ts\":116,\"web/vendor/types/viem/_types/actions/public/simulateCalls.d.ts\":89,\"web/vendor/types/viem/_types/actions/public/simulateContract.d.ts\":79,\"web/vendor/types/viem/_types/actions/public/uninstallFilter.d.ts\":37,\"web/vendor/types/viem/_types/actions/public/verifyHash.d.ts\":89,\"web/vendor/types/viem/_types/actions/public/verifyMessage.d.ts\":32,\"web/vendor/types/viem/_types/actions/public/verifyTypedData.d.ts\":28,\"web/vendor/types/viem/_types/actions/public/waitForTransactionReceipt.d.ts\":98,\"web/vendor/types/viem/_types/actions/public/watchBlockNumber.d.ts\":58,\"web/vendor/types/viem/_types/actions/public/watchBlocks.d.ts\":66,\"web/vendor/types/viem/_types/actions/public/watchContractEvent.d.ts\":67,\"web/vendor/types/viem/_types/actions/public/watchEvent.d.ts\":82,\"web/vendor/types/viem/_types/actions/public/watchPendingTransactions.d.ts\":49,\"web/vendor/types/viem/_types/actions/siwe/verifySiweMessage.d.ts\":34,\"web/vendor/types/viem/_types/actions/test/dropTransaction.d.ts\":36,\"web/vendor/types/viem/_types/actions/test/dumpState.d.ts\":31,\"web/vendor/types/viem/_types/actions/test/getAutomine.d.ts\":30,\"web/vendor/types/viem/_types/actions/test/getTxpoolContent.d.ts\":37,\"web/vendor/types/viem/_types/actions/test/getTxpoolStatus.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/impersonateAccount.d.ts\":36,\"web/vendor/types/viem/_types/actions/test/increaseTime.d.ts\":35,\"web/vendor/types/viem/_types/actions/test/inspectTxpool.d.ts\":34,\"web/vendor/types/viem/_types/actions/test/loadState.d.ts\":34,\"web/vendor/types/viem/_types/actions/test/mine.d.ts\":35,\"web/vendor/types/viem/_types/actions/test/removeBlockTimestampInterval.d.ts\":28,\"web/vendor/types/viem/_types/actions/test/reset.d.ts\":35,\"web/vendor/types/viem/_types/actions/test/revert.d.ts\":34,\"web/vendor/types/viem/_types/actions/test/sendUnsignedTransaction.d.ts\":38,\"web/vendor/types/viem/_types/actions/test/setAutomine.d.ts\":28,\"web/vendor/types/viem/_types/actions/test/setBalance.d.ts\":39,\"web/vendor/types/viem/_types/actions/test/setBlockGasLimit.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/setBlockTimestampInterval.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/setCode.d.ts\":40,\"web/vendor/types/viem/_types/actions/test/setCoinbase.d.ts\":36,\"web/vendor/types/viem/_types/actions/test/setIntervalMining.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/setLoggingEnabled.d.ts\":28,\"web/vendor/types/viem/_types/actions/test/setMinGasPrice.d.ts\":37,\"web/vendor/types/viem/_types/actions/test/setNextBlockBaseFeePerGas.d.ts\":35,\"web/vendor/types/viem/_types/actions/test/setNextBlockTimestamp.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/setNonce.d.ts\":39,\"web/vendor/types/viem/_types/actions/test/setRpcUrl.d.ts\":29,\"web/vendor/types/viem/_types/actions/test/setStorageAt.d.ts\":43,\"web/vendor/types/viem/_types/actions/test/snapshot.d.ts\":28,\"web/vendor/types/viem/_types/actions/test/stopImpersonatingAccount.d.ts\":36,\"web/vendor/types/viem/_types/actions/wallet/addChain.d.ts\":33,\"web/vendor/types/viem/_types/actions/wallet/deployContract.d.ts\":49,\"web/vendor/types/viem/_types/actions/wallet/getAddresses.d.ts\":32,\"web/vendor/types/viem/_types/actions/wallet/getCallsStatus.d.ts\":39,\"web/vendor/types/viem/_types/actions/wallet/getCapabilities.d.ts\":36,\"web/vendor/types/viem/_types/actions/wallet/getPermissions.d.ts\":31,\"web/vendor/types/viem/_types/actions/wallet/prepareAuthorization.d.ts\":66,\"web/vendor/types/viem/_types/actions/wallet/prepareTransactionRequest.d.ts\":96,\"web/vendor/types/viem/_types/actions/wallet/requestAddresses.d.ts\":35,\"web/vendor/types/viem/_types/actions/wallet/requestPermissions.d.ts\":40,\"web/vendor/types/viem/_types/actions/wallet/sendCalls.d.ts\":62,\"web/vendor/types/viem/_types/actions/wallet/sendRawTransaction.d.ts\":39,\"web/vendor/types/viem/_types/actions/wallet/sendTransaction.d.ts\":73,\"web/vendor/types/viem/_types/actions/wallet/showCallsStatus.d.ts\":34,\"web/vendor/types/viem/_types/actions/wallet/signAuthorization.d.ts\":56,\"web/vendor/types/viem/_types/actions/wallet/signMessage.d.ts\":64,\"web/vendor/types/viem/_types/actions/wallet/signTransaction.d.ts\":67,\"web/vendor/types/viem/_types/actions/wallet/signTypedData.d.ts\":119,\"web/vendor/types/viem/_types/actions/wallet/switchChain.d.ts\":34,\"web/vendor/types/viem/_types/actions/wallet/waitForCallsStatus.d.ts\":83,\"web/vendor/types/viem/_types/actions/wallet/watchAsset.d.ts\":40,\"web/vendor/types/viem/_types/actions/wallet/writeContract.d.ts\":75,\"web/vendor/types/viem/_types/celo/chainConfig.d.ts\":879,\"web/vendor/types/viem/_types/celo/fees.d.ts\":4,\"web/vendor/types/viem/_types/celo/formatters.d.ts\":428,\"web/vendor/types/viem/_types/celo/index.d.ts\":5,\"web/vendor/types/viem/_types/celo/parsers.d.ts\":6,\"web/vendor/types/viem/_types/celo/serializers.d.ts\":10,\"web/vendor/types/viem/_types/celo/types.d.ts\":87,\"web/vendor/types/viem/_types/celo/utils.d.ts\":7,\"web/vendor/types/viem/_types/chains/definitions/0g.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/0gGalileoTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/0gMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/5ireChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/abey.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/abstract.d.ts\":435,\"web/vendor/types/viem/_types/chains/definitions/abstractTestnet.d.ts\":434,\"web/vendor/types/viem/_types/chains/definitions/acala.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/acria.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/adf.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/agungTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/aioz.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/alephZero.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/alephZeroTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/alienX.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/alienXHalTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ancient8.d.ts\":300,\"web/vendor/types/viem/_types/chains/definitions/ancient8Sepolia.d.ts\":300,\"web/vendor/types/viem/_types/chains/definitions/anvil.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/apeChain.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/apexTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arbitrum.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arbitrumGoerli.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/arbitrumNova.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arbitrumSepolia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arenaz.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/areonNetwork.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/areonNetworkTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/areum.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/artelaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arthera.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/artheraTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/assetChain.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/assetChainTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/astar.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/astarZkEVM.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/astarZkyoto.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/atletaOlympia.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/aurora.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/auroraTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/auroria.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/autheoTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/avalanche.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/avalancheFuji.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/b3.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/b3Sepolia.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/bahamut.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/base.d.ts\":617,\"web/vendor/types/viem/_types/chains/definitions/baseGoerli.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/baseSepolia.d.ts\":619,\"web/vendor/types/viem/_types/chains/definitions/basecampTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/beam.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/beamTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/bearNetworkChainMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bearNetworkChainTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/berachain.d.ts\":44,\"web/vendor/types/viem/_types/chains/definitions/berachainBepolia.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/berachainTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/berachainTestnetbArtio.d.ts\":44,\"web/vendor/types/viem/_types/chains/definitions/bevmMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bifrost.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/birdlayer.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bitTorrent.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/bitTorrentTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/bitgert.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/bitkub.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bitkubTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/bitlayer.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bitlayerTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bitrock.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/blast.d.ts\":305,\"web/vendor/types/viem/_types/chains/definitions/blastSepolia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bob.d.ts\":299,\"web/vendor/types/viem/_types/chains/definitions/bobSepolia.d.ts\":299,\"web/vendor/types/viem/_types/chains/definitions/boba.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/bobaSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/boolBetaMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/botanix.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/botanixTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bounceBit.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bounceBitTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bronos.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bronosTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bsc.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bscGreenfield.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bscTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bsquared.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bsquaredTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/btr.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/btrTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bxn.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bxnTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/cannon.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/canto.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/celo.d.ts\":889,\"web/vendor/types/viem/_types/chains/definitions/celoAlfajores.d.ts\":931,\"web/vendor/types/viem/_types/chains/definitions/celoSepolia.d.ts\":925,\"web/vendor/types/viem/_types/chains/definitions/chang.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/chiliz.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/chips.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/citreaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/classic.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/coinbit.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/coinex.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/confluxESpace.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/confluxESpaceTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/coreDao.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/coreTestnet1.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/coreTestnet2.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/corn.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/cornTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/crab.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/creatorTestnet.d.ts\":35,\"web/vendor/types/viem/_types/chains/definitions/creditCoin3Devnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/creditCoin3Mainnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/creditCoin3Testnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/cronos.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/cronosTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/cronoszkEVM.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/cronoszkEVMTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/crossbell.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/crossfi.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/curtis.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/cyber.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/cyberTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dailyNetwork.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dailyNetworkTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/darwinia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dbkchain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dchain.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/dchainTestnet.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/defichainEvm.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/defichainEvmTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/degen.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/dfk.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/diode.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/disChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dodochainTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/dogechain.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/domaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/donatuz.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/dosChain.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dosChainTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dreyerxMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dreyerxTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dustboyIoT.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dymension.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edexa.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edexaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edgeless.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edgelessTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edgeware.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/edgewareTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/eduChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/eduChainTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/ekta.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/ektaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/elastos.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/elastosTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/electroneum.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/electroneumTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/elysiumTestnet.d.ts\":282,\"web/vendor/types/viem/_types/chains/definitions/energy.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/eni.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/eniTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/enuls.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/eon.d.ts\":31,\"web/vendor/types/viem/_types/chains/definitions/eos.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/eosTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/eteria.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/etherlink.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/etherlinkTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ethernity.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/etp.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/evmos.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/evmosTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/exSat.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/exSatTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/excelonMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/expanse.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/fantom.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/fantomSonicTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/fantomTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/fibo.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/filecoin.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/filecoinCalibration.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/filecoinHyperspace.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/flame.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/flare.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/flareTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/flowMainnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/flowPreviewnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/flowTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/fluence.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/fluenceStage.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/fluenceTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/fluentTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/form.d.ts\":79,\"web/vendor/types/viem/_types/chains/definitions/formTestnet.d.ts\":79,\"web/vendor/types/viem/_types/chains/definitions/forma.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/forta.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/foundry.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/fraxtal.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/fraxtalTestnet.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/funkiMainnet.d.ts\":282,\"web/vendor/types/viem/_types/chains/definitions/funkiSepolia.d.ts\":287,\"web/vendor/types/viem/_types/chains/definitions/fuse.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/fuseSparknet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/fusion.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/fusionTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/garnet.d.ts\":304,\"web/vendor/types/viem/_types/chains/definitions/geist.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/genesys.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/giwaSepolia.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/glideL1Protocol.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/glideL2Protocol.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/gnosis.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/gnosisChiado.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/goChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/goat.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/gobi.d.ts\":31,\"web/vendor/types/viem/_types/chains/definitions/godwoken.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/goerli.d.ts\":44,\"web/vendor/types/viem/_types/chains/definitions/graphite.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/graphiteTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/gravity.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/gunz.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/guruNetwork.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/guruTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ham.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/happychainTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/haqqMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/haqqTestedge2.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hardhat.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/harmonyOne.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/hashKeyChain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/hashkeyChainTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/haustTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/hedera.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hederaPreviewnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hederaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hela.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/hemi.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hemiSepolia.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/holesky.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/hoodi.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/hpb.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/huddle01Mainnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/huddle01Testnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/humanity.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/humanityTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/humanode.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/humanodeTestnet5.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/hychain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/hychainTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/hyperliquidEvmTestnet.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/iSunCoin.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/icbNetwork.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/idchain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/immutableZkEvm.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/immutableZkEvmTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/inEVM.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/initVerse.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/initVerseGenesis.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/ink.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/inkSepolia.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/iota.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/iotaTestnet.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/iotex.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/iotexTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/jbc.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/jbcTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/jocMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/jocTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/jovay.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/jovaySepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/juneo.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoBCH1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoDAI1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoDOGE1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoEUR1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoGLD1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoLINK1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoLTC1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoSGD1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoSocotraTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoUSD1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoUSDT1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneomBTC1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/kaia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kairos.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kakarotSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/kakarotStarknetSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/kardiaChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/karura.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/katana.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/kava.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/kavaTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/kcc.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kinto.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/klaytn.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/klaytnBaobab.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/koi.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kroma.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kromaSepolia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/l3x.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/l3xTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/lavita.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/lens.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/lensTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/lestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/lightlinkPegasus.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/lightlinkPhoenix.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/linea.d.ts\":49,\"web/vendor/types/viem/_types/chains/definitions/lineaGoerli.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/lineaSepolia.d.ts\":49,\"web/vendor/types/viem/_types/chains/definitions/lineaTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/lisk.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/liskSepolia.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/loadAlphanet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/localhost.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/loop.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/lukso.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/luksoTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/lumiaMainnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/lumiaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/lumoz.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/lumozTestnet.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/lycan.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/lyra.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/mainnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/mandala.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/manta.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/mantaSepoliaTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/mantaTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/mantle.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/mantleSepoliaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/mantleTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/mantraDuKongEVMTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mantraEVM.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/mapProtocol.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/matchain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/matchainTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mchVerse.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/megaethTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/mekong.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/meld.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/memecore.d.ts\":50,\"web/vendor/types/viem/_types/chains/definitions/memecoreFormicariumTestnet.d.ts\":49,\"web/vendor/types/viem/_types/chains/definitions/merlin.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/merlinErigonTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/metachain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/metachainIstanbul.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/metadium.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/metalL2.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/meter.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/meterTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/metis.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/metisGoerli.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/metisSepolia.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/mev.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/mevTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/mint.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mintSepoliaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mitosisTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mode.d.ts\":301,\"web/vendor/types/viem/_types/chains/definitions/modeTestnet.d.ts\":305,\"web/vendor/types/viem/_types/chains/definitions/monadTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/moonbaseAlpha.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/moonbeam.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/moonbeamDev.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/moonriver.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/morph.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/morphHolesky.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/morphSepolia.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/nahmii.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/nautilus.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/near.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/nearTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/neonDevnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/neonMainnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/neoxMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/neoxT4.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/newton.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/nexi.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/nexilix.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/nibiru.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/nitrographTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/oasisTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/oasys.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/odysseyTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/okc.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/omax.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/omni.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/omniOmega.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/oneWorld.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/oortmainnetDev.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/opBNB.d.ts\":70,\"web/vendor/types/viem/_types/chains/definitions/opBNBTestnet.d.ts\":69,\"web/vendor/types/viem/_types/chains/definitions/openledger.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/optimism.d.ts\":307,\"web/vendor/types/viem/_types/chains/definitions/optimismGoerli.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/optimismSepolia.d.ts\":307,\"web/vendor/types/viem/_types/chains/definitions/optopia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/optopiaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/orderly.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/orderlySepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/otimDevnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/palm.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/palmTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/peaq.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/pgn.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/pgnTestnet.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/phoenix.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/planq.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/plasma.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/plasmaDevnet.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/plasmaTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/playfiAlbireo.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/plinga.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/plume.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/plumeDevnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/plumeMainnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/plumeSepolia.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/plumeTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/polterTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/polygon.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonAmoy.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonMumbai.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonZkEvm.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonZkEvmCardona.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonZkEvmTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polynomial.d.ts\":35,\"web/vendor/types/viem/_types/chains/definitions/polynomialSepolia.d.ts\":35,\"web/vendor/types/viem/_types/chains/definitions/premiumBlock.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/pulsechain.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/pulsechainV4.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/pumpfiTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/pyrope.d.ts\":288,\"web/vendor/types/viem/_types/chains/definitions/qMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/qTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/ql1.d.ts\":35,\"web/vendor/types/viem/_types/chains/definitions/real.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/redbellyMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/redbellyTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/reddio.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/reddioSepolia.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/redstone.d.ts\":304,\"web/vendor/types/viem/_types/chains/definitions/rei.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/reyaNetwork.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/riseTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rivalz.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/rollux.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/rolluxTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/ronin.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/root.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rootPorcini.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rootstock.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rootstockTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rss3.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/rss3Sepolia.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/saakuru.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/saga.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/saigon.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/sanko.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/sapphire.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/sapphireTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/satoshivm.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/satoshivmTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/scroll.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/scrollSepolia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/sei.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/seiDevnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/seiTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/seismicDevnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/sepolia.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/shape.d.ts\":305,\"web/vendor/types/viem/_types/chains/definitions/shapeSepolia.d.ts\":287,\"web/vendor/types/viem/_types/chains/definitions/shardeum.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/shardeumSphinx.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/shibarium.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/shibariumTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/shiden.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/shimmer.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/shimmerTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/sidra.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/silicon.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/siliconSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/sixProtocol.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/skale/brawl.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/calypso.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/calypsoTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/cryptoBlades.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/cryptoColosseum.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/europa.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/europaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/exorde.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/humanProtocol.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/nebula.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/nebulaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/razor.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/titan.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/titanTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/sketchpad.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/snax.d.ts\":307,\"web/vendor/types/viem/_types/chains/definitions/snaxTestnet.d.ts\":307,\"web/vendor/types/viem/_types/chains/definitions/somniaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/soneium.d.ts\":309,\"web/vendor/types/viem/_types/chains/definitions/soneiumMinato.d.ts\":309,\"web/vendor/types/viem/_types/chains/definitions/songbird.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/songbirdTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/sonic.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/sonicBlazeTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/sonicTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/sophon.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/sophonTestnet.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/sova.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/sovaSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/spicy.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/statusNetworkSepolia.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/step.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/story.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/storyAeneid.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/storyOdyssey.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/storyTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/stratis.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/superlumio.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/superposition.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/superseed.d.ts\":310,\"web/vendor/types/viem/_types/chains/definitions/superseedSepolia.d.ts\":298,\"web/vendor/types/viem/_types/chains/definitions/swan.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/swanProximaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/swanSaturnTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/swellchain.d.ts\":287,\"web/vendor/types/viem/_types/chains/definitions/swellchainTestnet.d.ts\":287,\"web/vendor/types/viem/_types/chains/definitions/swissdlt.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/syscoin.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/syscoinTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/tac.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/tacSPB.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/taiko.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/taikoHekla.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/taikoJolnir.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/taikoKatla.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/taikoTestnetSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/taraxa.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/taraxaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/teaSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/telcoinTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/telos.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/telosTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/tenet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/ternoa.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/thaiChain.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/that.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/theta.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/thetaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/thunderCore.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/thunderTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/tiktrixTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/tomb.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/treasure.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/treasureTopaz.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/tron.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/tronNile.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/tronShasta.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ubiq.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ultra.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ultraTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ultron.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ultronTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/unichain.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/unichainSepolia.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/unique.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/uniqueOpal.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/uniqueQuartz.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/unreal.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/vanar.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/vechain.d.ts\":43,\"web/vendor/types/viem/_types/chains/definitions/velas.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/viction.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/victionTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/vision.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/visionTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/wanchain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/wanchainTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/weavevmAlphanet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/wemix.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/wemixTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/westendAssetHub.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/whitechain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/whitechainTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/wmcTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/worldLand.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/worldchain.d.ts\":313,\"web/vendor/types/viem/_types/chains/definitions/worldchainSepolia.d.ts\":313,\"web/vendor/types/viem/_types/chains/definitions/xLayer.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/xLayerTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/xai.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/xaiTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xdc.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/xdcTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/xphereMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xphereTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xrOne.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/xrSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xrplevmDevnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xrplevmTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/yooldoVerse.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/yooldoVerseTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zenchainTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/zeniq.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zeroNetwork.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zetachain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/zetachainAthensTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/zhejiang.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zilliqa.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/zilliqaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/zircuit.d.ts\":282,\"web/vendor/types/viem/_types/chains/definitions/zircuitGarfieldTestnet.d.ts\":282,\"web/vendor/types/viem/_types/chains/definitions/zircuitTestnet.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/zkFair.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/zkFairTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/zkLinkNova.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zkLinkNovaSepoliaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zksync.d.ts\":437,\"web/vendor/types/viem/_types/chains/definitions/zksyncInMemoryNode.d.ts\":436,\"web/vendor/types/viem/_types/chains/definitions/zksyncLocalCustomHyperchain.d.ts\":431,\"web/vendor/types/viem/_types/chains/definitions/zksyncLocalHyperchain.d.ts\":431,\"web/vendor/types/viem/_types/chains/definitions/zksyncLocalHyperchainL1.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/zksyncLocalNode.d.ts\":436,\"web/vendor/types/viem/_types/chains/definitions/zksyncSepoliaTestnet.d.ts\":437,\"web/vendor/types/viem/_types/chains/definitions/zora.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/zoraSepolia.d.ts\":304,\"web/vendor/types/viem/_types/chains/definitions/zoraTestnet.d.ts\":293,\"web/vendor/types/viem/_types/chains/index.d.ts\":745,\"web/vendor/types/viem/_types/chains/utils.d.ts\":5,\"web/vendor/types/viem/_types/clients/createClient.d.ts\":120,\"web/vendor/types/viem/_types/clients/createPublicClient.d.ts\":33,\"web/vendor/types/viem/_types/clients/createTestClient.d.ts\":47,\"web/vendor/types/viem/_types/clients/createWalletClient.d.ts\":51},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":true}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"740838e5efbda7daa94b2bfcef3152b14d23edd106b2636f809a5f1d98147b11","verifiedTreeHash":"e70403be4f88e8db830871033b4c08f9650020e3","verifierVersion":"0.1.0+c3fba9eb"},{"checks":[{"durationMs":102775,"exitCode":0,"name":"build","output":"Compiling 216 files with Solc 0.8.26\nSolc 0.8.26 finished in 102.33s\nCompiler run successful with warnings:\nWarning (2519): This declaration shadows an existing declaration.\n  --> src/mainnet/StateProof.sol:62:14:\n   |\n62 |         for (uint256 at = parent.payload; at < parent.end;) {\n   |              ^^^^^^^^^^\nNote: The shadowed declaration is here:\n  --> src/mainnet/StateProof.sol:69:9:\n   |\n69 |         uint256 at = parent.payload;\n   |         ^^^^^^^^^^\n\nWarning (8760): This declaration has the same name as another declaration.\n  --> src/mainnet/ImdSampledUsdSource.sol:69:29:\n   |\n69 |         (uint160 sqrtPrice, int24 spot, uint128 liquidity, uint24 lpFee) = _pool();\n   |                             ^^^^^^^^^^\nNote: The other declaration is here:\n   --> src/mainnet/ImdSampledUsdSource.sol:133:5:\n    |\n133 |     function spot()\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (8760): This declaration has the same name as another declaration.\n  --> test/mainnet/QuotaMitigationInvariants.t.sol:45:34:\n   |\n45 |     function _trade(address who, bool buy, uint256 amount) private returns (bool ok) {\n   |                                  ^^^^^^^^\nNote: The other declaration is here:\n  --> test/mainnet/QuotaMitigationInvariants.t.sol:58:5:\n   |\n58 |     function buy(uint256 actor, uint96 raw) external {\n   |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2519): This declaration shadows an existing declaration.\n  --> test/mainnet/SpotCustodyInvariants.t.sol:93:22:\n   |\n93 |     function _inputs(bool buy, uint256 amount) private view returns (bytes[] memory inputs) {\n   |                      ^^^^^^^^\nNote: The shadowed declaration is here:\n   --> test/mainnet/SpotCustodyInvariants.t.sol:115:5:\n    |\n115 |     function buy(uint256 actorSeed, uint256 raw) public {\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (8760): This declaration has the same name as another declaration.\n  --> test/successor/SuccessorInvariants.t.sol:59:20:\n   |\n59 |     function _plan(bool buy, uint256 amount, address recipient)\n   |                    ^^^^^^^^\nNote: The other declaration is here:\n  --> test/successor/SuccessorInvariants.t.sol:74:5:\n   |\n74 |     function buy(uint256 who, uint256 to, uint256 amount) external {\n   |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (5159): \"selfdestruct\" has been deprecated. Note that, starting from the Cancun hard fork, the underlying opcode no longer deletes the code and data associated with an account and only transfers its Ether to the beneficiary, unless executed in the same transaction in which the contract was created (see EIP-6780). Any use in newly deployed contracts is strongly discouraged even if the new behavior is taken into account. Future changes to the EVM might further reduce the functionality of the opcode.\n  --> test/BatchSettlementProperties.t.sol:14:9:\n   |\n14 |         selfdestruct(recipient);\n   |         ^^^^^^^^^^^^\n\nWarning (5159): \"selfdestruct\" has been deprecated. Note that, starting from the Cancun hard fork, the underlying opcode no longer deletes the code and data associated with an account and only transfers its Ether to the beneficiary, unless executed in the same transaction in which the contract was created (see EIP-6780). Any use in newly deployed contracts is strongly discouraged even if the new behavior is taken into account. Future changes to the EVM might further reduce the functionality of the opcode.\n  --> test/FeeCustodyProperties.t.sol:19:9:\n   |\n19 |         selfdestruct(recipient);\n   |         ^^^^^^^^^^^^\n\nWarning (5159): \"selfdestruct\" has been deprecated. Note that, starting from the Cancun hard fork, the underlying opcode no longer deletes the code and data associated with an account and only transfers its Ether to the beneficiary, unless executed in the same transaction in which the contract was created (see EIP-6780). Any use in newly deployed contracts is strongly discouraged even if the new behavior is taken into account. Future changes to the EVM might further reduce the functionality of the opcode.\n  --> test/NativeCustodyInvariants.t.sol:15:9:\n   |\n15 |         selfdestruct(recipient);\n   |         ^^^^^^^^^^^^\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/UnlkHook.sol:209:5:\n    |\n209 |     function afterInitialize(address, PoolKey calldata key, uint160, int24)\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/candidate/UnlkHookV2.sol:224:5:\n    |\n224 |     function afterInitialize(address, PoolKey calldata key, uint160, int24)\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/mainnet/UnlkImdHook.sol:214:5:\n    |\n214 |     function afterInitialize(address, PoolKey calldata key, uint160, int24)\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/mainnet/UnlkImdHook.sol:546:5:\n    |\n546 |     function afterAddLiquidity(\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/mainnet/UnlkImdHook.sol:558:5:\n    |\n558 |     function beforeRemoveLiquidity(\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/mainnet/UnlkImdHook.sol:571:5:\n    |\n571 |     function afterRemoveLiquidity(\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/successor/UnlkHookV3.sol:230:5:\n    |\n230 |     function afterInitialize(address, PoolKey calldata key, uint160, int24)\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n  --> test/mainnet/ImdPermitAndBatch.t.sol:57:5:\n   |\n57 |     function _signPermit(IPermit2Signing.Permit memory permit, uint256 signingKey)\n   |     ^ (Relevant source part starts here and spans across multiple lines).\n\n","passed":true},{"durationMs":20809,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 2 tests for test/LocalScript.t.sol:LocalScriptTest\n[PASS] testLocalScriptRefusesPublicChainId() (gas: 13983272)\n[PASS] testLocalSimulationFunctionDoesNotDependOnCaller() (gas: 63694238)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 14.32ms (13.32ms CPU time)\n\nRan 5 tests for test/HookDeployer.t.sol:HookDeployerTest\n[PASS] testChangedCreationBodyCannotMatchReviewedHash() (gas: 135903)\n[PASS] testChangedSetupAuthorityChangesHashAndCreate2Prediction() (gas: 226228)\n[PASS] testDeployedHelperFitsEvmCodeLimits() (gas: 8947)\n[PASS] testFuzzEncodesCallerSuppliedBytesAndFourAddresses(bytes,address,address,address,address) (runs: 256, μ: 20835, ~: 20428)\n[PASS] testReviewedHookInitCodeAndHash() (gas: 196628)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 16.54ms (14.54ms CPU time)\n\nRan 2 tests for test/mainnet/ExternalSpotTouch.t.sol:ExternalSpotTouchTest\n[PASS] testRevertedFlashTouchCannotPersistGateOrReferenceMutation() (gas: 840121)\n[PASS] testUnsettledExternalSpotTouchPermanentlyUnlocksTransferOnlyHolder() (gas: 1477003)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 19.06ms (3.34ms CPU time)\n\nRan 8 tests for test/mainnet/SpotOracle.t.sol:SpotOracleTest\n[PASS] testChainlinkValidation() (gas: 280354)\n[PASS] testExtremeSqrtPricesDoNotOverflow() (gas: 69143)\n[PASS] testFuzzExactFloorAndMonotonic(uint160) (runs: 256, μ: 53638, ~: 67987)\n[PASS] testImmediateCurrentPriceNoHistoryNoSample() (gas: 51558)\n[PASS] testManipulatedSpotMovesPriceImmediately() (gas: 60494)\n[PASS] testMissingPoolLiquidityFeeChainAndCodeFailClosed() (gas: 203552)\n[PASS] testNoSamplerSurfaceOrState() (gas: 51618)\n[PASS] testPoolIdIsTheVerifiedPreimage() (gas: 49203)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 29.02ms (26.39ms CPU time)\n\nRan 6 tests for test/mainnet/ImdOracle.t.sol:ImdOracleTest\n[PASS] testBadRoundFutureNegativeAndIncompleteRejected() (gas: 120054)\n[PASS] testCompositeAdapterWarmupDepthFreshnessAndRealDepeg() (gas: 241190)\n[PASS] testCrossWindowDivergenceAndHarmonicDepthFailClosed() (gas: 164709)\n[PASS] testFullMilestoneLadderReachableAndFeeContinuesAfterPermanentBypass() (gas: 1179585)\n[PASS] testNoUnlkWarmupAndFeedOutageDoesNotAdvanceOrRevoke() (gas: 1635343)\n[PASS] testSustainedCrossMarketManipulationRemainsEconomicRisk() (gas: 100110)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 29.58ms (6.17ms CPU time)\n\nRan 3 tests for test/mainnet/ImdSetup.t.sol:ImdSetupTest\n[PASS] testOfficialLpEntitlementActualAssetsAndPrincipalUnchanged() (gas: 1339755)\n[PASS] testPreparedBundlePredictionsAndPermanentSeal() (gas: 7615167)\n[PASS] testUnauthorizedStagingAndUnbackedAccrualRejected() (gas: 74664)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 26.60ms (2.83ms CPU time)\n\nRan 3 tests for test/mainnet/ImdAuthentication.t.sol:ImdAuthenticationTest\n[PASS] testDifferentCodeAtPinnedRouterAndQuoterCannotAuthenticate() (gas: 588927)\n[PASS] testDirectUnlockerWithSpoofedMsgSenderCannotExecute() (gas: 525900)\n[PASS] testOnlyManagerCanCallSwapCallbacks() (gas: 42687)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 17.97ms (514.41µs CPU time)\n\nRan 2 tests for test/mainnet/ImdFeeMath.t.sol:ImdFeeMathTest\n[PASS] testFuzzAllModeRounding(uint128) (runs: 256, μ: 3626, ~: 3640)\n[PASS] testSeedDepthReversesWithSortingNoEthFloor() (gas: 9336)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.57ms (4.47ms CPU time)\n\nRan 4 tests for test/mainnet/ImdPermitAndBatch.t.sol:ImdPermitAndBatchTest\n[PASS] testBatchCreditsAndExplicitRecipientStillUseInitiator() (gas: 564755)\n[PASS] testFeeInclusiveInputOutputLimitsAndExpiryRollback() (gas: 650277)\n[PASS] testLocallySignedPermit2PermitAndBuyAtomicReplayRejected() (gas: 624644)\n[PASS] testSameExecutionCycleFullSaleRejectedAtomically() (gas: 703146)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 26.22ms (5.60ms CPU time)\n\nRan 12 tests for test/candidate/Fees.t.sol:CandidateFeesTest\n[PASS] testDonatedManagerClaimsAreNotFeeRevenueAndLockedRedemptionRollsBack() (gas: 1135553)\n[PASS] testExactOutputBoundsCannotWrapIntoExactInput() (gas: 599580)\n[PASS] testFreshTokenOnlyManagerAndAllFourSwapModes() (gas: 1699039)\n[PASS] testFuzzBuyRounding(uint128) (runs: 256, μ: 1993, ~: 1996)\n[PASS] testFuzzSellRounding(uint128) (runs: 256, μ: 1600, ~: 1627)\n[PASS] testOnlyBeneficiaryWithdrawsNoRedirectAndDonationsSeparate() (gas: 855328)\n[PASS] testPartialBuyChargesExecutedLegAndRefundsUnusedBudget() (gas: 524800)\n[PASS] testPartialExactOutputRevertsAllPoolCreditsAndFeeChanges() (gas: 977721)\n[PASS] testPartialSellChargesOnlyExecutedOutputAndReturnsUnusedTokens() (gas: 920453)\n[PASS] testRejectingBeneficiaryCannotHaltSwapsAndFailedWithdrawalRetainsFunds() (gas: 1363888)\n[PASS] testSlippageAndOverQuotaRollbackFeesAndCredits() (gas: 1204447)\n[PASS] testTransfersClaimsAndLpCollectionDoNotAccrueFees() (gas: 1219280)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 75.41ms (30.74ms CPU time)\n\nRan 2 tests for test/mainnet/ImdPreparation.t.sol:ImdPreparationTest\n[PASS] testChangedImdRuntimeOrWrongChainCannotStage() (gas: 11102597)\n[PASS] testSourceThenPreparedCompanionsCertificationAndActivation() (gas: 16343264)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 24.70ms (6.66ms CPU time)\n\nRan 1 test for test/FailurePaths.t.sol:UnpaidLaunchTest\n[PASS] testNoRequesterMeansNoPayerCreditAnywhere() (gas: 1267642)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 85.13ms (2.60ms CPU time)\n\nRan 1 test for test/successor/SetupScript.t.sol:SuccessorSetupScriptTest\n[PASS] testFactoryLaunchThenPreparedCompanionsAndAtomicActivation() (gas: 13076591)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 80.67ms (3.44ms CPU time)\n\nRan 1 test for test/successor/SuccessorInvariants.t.sol:SuccessorMultihopTest\n[PASS] testMultihopOfficialLegCreditsInitiatorEvenWhenOutputLeavesUnlk() (gas: 1961728)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 58.50ms (981.36µs CPU time)\n\nRan 1 test for test/mainnet/SharedExecutorReview.t.sol:IndependentSharedExecutorProof\n[PASS] testUnrelatedUserConsumesVictimSharedExecutorQuotaWithoutVictimFunds() (gas: 1463354)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 90.94ms (2.01ms CPU time)\n\nRan 2 tests for test/Stage2Script.t.sol:Stage2ScriptTest\n[PASS] testStage2DeploysFromActualIdentitiesAndOwnerActivates() (gas: 7071565)\n[PASS] testStage2RefusesUnknownLaunchNumber() (gas: 33767)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 68.82ms (2.69ms CPU time)\n\nRan 3 tests for test/mainnet/SpotFailureIsolation.t.sol:SpotFailureIsolationReverseOrderTest\n[PASS] testEveryInvalidReferenceLeavesTradingNativeClaimsAndEarnedGateLive() (gas: 28380907)\n[PASS] testFreshnessBoundaryAtExactlyNinetyMinutesThenOneSecondLater() (gas: 320588)\n[PASS] testRejectedRouterSuffixRollsBackARealSpotDrivenGate() (gas: 1173567)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 98.76ms (32.13ms CPU time)\n\nRan 8 tests for test/Adversarial.t.sol:AdversarialTest\n[PASS] test100PercentAloneIsNotFullUnlock() (gas: 7257766)\n[PASS] testArbitraryHookDataAndMultihopPayloadCannotSelectVictim() (gas: 89207)\n[PASS] testCallbacksAllRequireCanonicalManager() (gas: 211512)\n[PASS] testForeignPoolKeyRejectedEvenWithManagerPrank() (gas: 49882)\n[PASS] testNoMintPauseBlacklistUpgradeOrCounterResetEntrypoint() (gas: 114793)\n[PASS] testProtocolFeeChangeCannotSilentlyAlterTradingEconomics() (gas: 359163)\n[PASS] testQuotaMultiplicationDoesNotOverflowAtMaxEligible() (gas: 239235)\n[PASS] testTokenMintsWholeSupplyToDeployerOnly() (gas: 32832)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 104.20ms (13.83ms CPU time)\n\nRan 3 tests for test/FailurePaths.t.sol:ActivationFailurePathsTest\n[PASS] testCompanionConstructorsRejectMissingInputs() (gas: 6057)\n[PASS] testCrossLaunchSetupIsRefusedInEveryDirection() (gas: 24766771)\n[PASS] testSepoliaRefusesLocallyClonedServicesEvenWithFeedAtPublishedAddress() (gas: 676766)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 89.04ms (22.98ms CPU time)\n\nRan 6 tests for test/mainnet/ImdLaunchPlan.t.sol:ImdLaunchPlanReverseTest\n[PASS] testAllPolicyCapEndpointsAndIntermediateSeedsLaunch() (gas: 62092681)\n[PASS] testDeliveredRepositoryIsAnExplicitProvenanceInput() (gas: 15441071)\n[PASS] testEmptyDeliveredRepositoryIsRejected() (gas: 7843678)\n[PASS] testMissingProvenanceIdentityOrWrongPolicyFailsWithoutDeploying() (gas: 7925283)\n[PASS] testPredictedNativeDistributorCannotReceivePayerAllocation() (gas: 8103666)\n[PASS] testPreparedFactoryCalldataLaunchesExactSeedAndBindings() (gas: 15492635)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 89.52ms (23.23ms CPU time)\n\nRan 3 tests for test/mainnet/SpotFailureIsolation.t.sol:SpotFailureIsolationTest\n[PASS] testEveryInvalidReferenceLeavesTradingNativeClaimsAndEarnedGateLive() (gas: 27908572)\n[PASS] testFreshnessBoundaryAtExactlyNinetyMinutesThenOneSecondLater() (gas: 321814)\n[PASS] testRejectedRouterSuffixRollsBackARealSpotDrivenGate() (gas: 1107543)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 46.66ms (33.76ms CPU time)\n\nRan 3 tests for test/ReleaseConfig.t.sol:ReleaseConfigTest\n[PASS] testReadOnlyReleaseChecksOnLocalFixture() (gas: 2011487)\n[PASS] testReadOnlyReleaseChecksRejectWrongChainOrHash() (gas: 1903758)\n[PASS] testStageOneAloneCannotPassReleaseGate() (gas: 63801371)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 138.20ms (72.26ms CPU time)\n\nRan 3 tests for test/mainnet/SpotMath.t.sol:ImdSpotMathTest\n[PASS] testExactInvertedThresholdAboveUint128HasNoNormalizationLoss() (gas: 16029)\n[PASS] testFuzzPowerOfTwoPricesAreExactInBothOrders(uint256,uint8) (runs: 256, μ: 11243, ~: 1800)\n[PASS] testGoldenWideProductsDivisionAndSaturation() (gas: 680973)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 19.22ms (19.03ms CPU time)\n\nRan 6 tests for test/ActivationRobustness.t.sol:ActivationRobustnessTest\n[PASS] testPolicySeedRecordsCapacityAndConfirmsTiers() (gas: 30575729)\n[PASS] testSeedBelowOpeningValueFloorCannotLaunch() (gas: 9054745)\n[PASS] testSeedBelowThePoolShareBandCannotLaunch() (gas: 9050786)\n[PASS] testSeedInsideTheOnePercentBandActivates() (gas: 15887629)\n[PASS] testStagingRunsActivationPreconditionsAndCanRepeat() (gas: 21576209)\n[PASS] testSubDustSeedRoundingStillActivates() (gas: 16247257)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 153.83ms (35.33ms CPU time)\n\nRan 6 tests for test/compatibility/RecordedRouter.t.sol:RecordedRouterTest\n[PASS] testActualQuoterCannotCommitPoolTradesOrHookWrites() (gas: 298154)\n[PASS] testBatchBuysCanAggregateDeliveryToAnotherWallet() (gas: 325865)\n[PASS] testCounterexampleTakeAllVersusTakeBobIdenticalHookObservations() (gas: 611752)\nLogs:\n  Same executed output; different beneficiary: 987402494003717132\n  Identical beforeSwap observation: 0x09425f78d614b06a99b96ecaa53d10f355049f4254c4da8b0ab9e441803f2f7b\n  Identical afterSwap observation: 0x388a843e3ad3404e674bed2096e9eed7203549b09c755340fd280b3259400fe1\n\n[PASS] testMultihopBuyOutputNeverDeliveredToAnyWallet() (gas: 1235667)\n[PASS] testPermit2UserSourceVersusRouterPrefundingSameLogicalSender() (gas: 809841)\n[PASS] testSmartWalletDoesNotRevealTakeBeneficiary() (gas: 449760)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 170.02ms (5.41ms CPU time)\n\nRan 6 tests for test/mainnet/ImdLaunchPlan.t.sol:ImdLaunchPlanTest\n[PASS] testAllPolicyCapEndpointsAndIntermediateSeedsLaunch() (gas: 62404715)\n[PASS] testDeliveredRepositoryIsAnExplicitProvenanceInput() (gas: 15485707)\n[PASS] testEmptyDeliveredRepositoryIsRejected() (gas: 7843678)\n[PASS] testMissingProvenanceIdentityOrWrongPolicyFailsWithoutDeploying() (gas: 7925283)\n[PASS] testPredictedNativeDistributorCannotReceivePayerAllocation() (gas: 8104251)\n[PASS] testPreparedFactoryCalldataLaunchesExactSeedAndBindings() (gas: 15537271)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 60.92ms (21.14ms CPU time)\n\nRan 1 test for test/RevisionProperties.t.sol:RestagingIsolationTest\n[PASS] testAbandonedBundleIsInertAndMixedBundlesAreRefused() (gas: 7156292)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 85.94ms (2.94ms CPU time)\n\nRan 1 test for test/mainnet/ImdMultihop.t.sol:ImdMultihopTest\n[PASS] testMultihopAuxiliaryImdUnlkUsesInitiatorAndSettlesBothPools() (gas: 1674649)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 16.79ms (1.64ms CPU time)\n\nRan 4 tests for test/ActivationRobustness.t.sol:ChunkedCertificationTest\n[PASS] testChunkBoundsAndSizeAreFixedByTheFirstChunk() (gas: 29517535)\n[PASS] testDuplicateAcrossChunksWrongRootAndForeignSessionsAreRefused() (gas: 231631551)\n[PASS] testSingleLeafRoundCertifiesThroughTheChunkedPath() (gas: 398202)\n[PASS] testSingleShotRefusesButChunksCertifyAndCredit() (gas: 124071664)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 232.76ms (138.87ms CPU time)\n\nRan 4 tests for test/SeedBoundary.t.sol:SeedBoundaryTest\n[PASS] testBuyLimitIsBoundedByTheSeedFloor() (gas: 390660)\n[PASS] testLimitsInsideTheRangeAreHonoured() (gas: 771508)\n[PASS] testSellIntoAnEmptyReserveRevertsWithoutState() (gas: 394827)\n[PASS] testSellThatDrainsTheReserveStopsAtTheSeedBoundary() (gas: 1586847)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 73.07ms (4.17ms CPU time)\n\nRan 9 tests for test/mainnet/QuotaMitigation.t.sol:QuotaMitigationTest\n[PASS] testDirectRightsIsolatedFromTwoAlternateExecutorsAndRecipients() (gas: 1944496)\n[PASS] testFuzzFreshBuysCannotEnlargeMatureCapacity(uint96) (runs: 256, μ: 963496, ~: 961908)\n[PASS] testLegitimateSmartAccountCanUseDirectRouterAndWalletExecutor() (gas: 1302354)\n[PASS] testMainnetSegregatedFundsHighPersistsAfterMaturity() (gas: 1664888)\nLogs:\n  Alice gross IMD capital: 100000000000000000000\n  Alice UNLK buy credit: 37520205924135432073673623\n  Alice buy treasury fee IMD: 744416873449131513\n  before mitigation and after maturity exposed UNLK capacity: 7504041184827086414734724\n  Bob net IMD proceeds: 19901531076301633668\n  total treasury fee IMD: 894806277048388190\n\n[PASS] testNativeCreditsNeverWaitForBuyMaturity() (gas: 517499)\n[PASS] testSameBlockPartialCycleAndSeparateExecutionsCannotRecycleCredit() (gas: 1683285)\n[PASS] testStandardRouterPrefundingDoesNotAuthenticateUnderlyingQuotaOwner() (gas: 996749)\n[PASS] testStandardRouterRecipientDoesNotAuthenticateUnderlyingQuotaOwner() (gas: 935582)\n[PASS] testWalletExecutorAuthenticatesCallerSettlementAndBudgets() (gas: 1277847)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 432.24ms (402.55ms CPU time)\n\nRan 11 tests for test/NativeLaunch.t.sol:NativeWithdrawalTest\n[PASS] testDeepNativePoolWarmsUpAndCanUnlock() (gas: 136095725)\n[PASS] testNativeBatchSettlement() (gas: 870289)\n[PASS] testNativeBuySellAndFeeDistribution() (gas: 1127528)\n[PASS] testNativeExactOutputRefundToAuthenticatedCaller() (gas: 453473)\n[PASS] testNativeSettlementResetsPriorSyncCurrency() (gas: 605836)\n[PASS] testNativeValueMismatchAndUnsolicitedSendRejected() (gas: 91930)\n[PASS] testNativeWithdrawalUsesCEIAndCannotDoubleWithdraw() (gas: 996338)\n[PASS] testOneSidedOpeningLocks87PercentWithoutEthFunding() (gas: 62586)\n[PASS] testOtherWalletCannotWithdrawNativeRefund() (gas: 461374)\n[PASS] testRejectingNativeWalletCanTradeAndRetryWithdrawal() (gas: 1074660)\n[PASS] testThinLaunchCannotUnlockFromInitialSpotOrTinyBuy() (gas: 29940461)\nSuite result: ok. 11 passed; 0 failed; 0 skipped; finished in 281.55ms (204.14ms CPU time)\n\nRan 7 tests for test/mainnet/ImdSwaps.t.sol:ImdSwapsTest\n[PASS] testAllFourModesAndFeeInclusiveQuoter() (gas: 2493685)\n[PASS] testExplorerBuySellClaimsRevenueAndDonationSeparation() (gas: 1418830)\n[PASS] testFuzzExecutedImdConservation(uint96,uint16) (runs: 256, μ: 1004800, ~: 1003263)\n[PASS] testMissingTokenReceiptRollsBackWithdrawalAccounting() (gas: 882330)\n[PASS] testQuotaTransfersAndNativeClaimIndependence() (gas: 1258622)\n[PASS] testQuoteRollbackNoAccrualOrCredits() (gas: 1185512)\n[PASS] testRangeExitRollsBackFeesLedgerAndPool() (gas: 1204196)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 388.70ms (374.14ms CPU time)\n\nRan 9 tests for test/Trading.t.sol:TradingTest\n[PASS] testAnotherWalletCannotConsumeVictimsAllowanceOrQuota() (gas: 472208)\n[PASS] testDirectManagerAndForeignRouterSpoofingRejected() (gas: 644028)\n[PASS] testDonatedRouterBalancesCannotCreateCreditOrBeSwept() (gas: 497543)\n[PASS] testExactOutputSaleAccountsActualInput() (gas: 735195)\n[PASS] testExcessSaleRollsBackPoolBalancesOracleAndNonce() (gas: 800579)\n[PASS] testFuzzQuotaBoundary(uint96) (runs: 256, μ: 1037671, ~: 1037777)\n[PASS] testReplayOldCallbackHasNoLiveContext() (gas: 427364)\n[PASS] testSaleBoundaryExecutedInputIncludesPoolFee() (gas: 1067073)\n[PASS] testTransfersDoNotMoveRightsOrAllowChainCredit() (gas: 830532)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 553.10ms (469.81ms CPU time)\n\nRan 2 tests for test/RevisionProperties.t.sol:ChunkedCertificationPropertiesTest\n[PASS] testFuzz_abandonedSessionIsInertAndRestartable(uint8,uint256) (runs: 128, μ: 2587107, ~: 2350110)\n[PASS] testFuzz_anyChunkingAndReductionScheduleMatchesSingleShot(uint8,uint256,uint256,uint256,uint8,uint8) (runs: 128, μ: 3484786, ~: 3049829)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 455.09ms (396.07ms CPU time)\n\nRan 7 tests for test/NativeLaunch.t.sol:NativeLaunchTest\n[PASS] testDeepNativePoolWarmsUpAndCanUnlock() (gas: 136095724)\n[PASS] testNativeBatchSettlement() (gas: 870289)\n[PASS] testNativeBuySellAndFeeDistribution() (gas: 1127517)\n[PASS] testNativeExactOutputRefundToAuthenticatedCaller() (gas: 453384)\n[PASS] testNativeValueMismatchAndUnsolicitedSendRejected() (gas: 91952)\n[PASS] testOneSidedOpeningLocks87PercentWithoutEthFunding() (gas: 62608)\n[PASS] testThinLaunchCannotUnlockFromInitialSpotOrTinyBuy() (gas: 29940461)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 484.77ms (366.11ms CPU time)\n\nRan 1 test for test/SecurityRegression.t.sol:LargeTreeCertificationTest\n[PASS] testMaximumSortedTreeFitsTransactionGasLimit() (gas: 15973574)\nLogs:\n  1024-leaf sorted certification gas: 13939470\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 117.57ms (60.64ms CPU time)\n\nRan 1 test for test/EvidenceAndOracleProperties.t.sol:RouterDeadlineTest\n[PASS] testDeadlineIsInclusive() (gas: 423552)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 57.99ms (885.35µs CPU time)\n\nRan 8 tests for test/SepoliaPins.t.sol:SepoliaPinsTest\n[PASS] testEmbeddedRuntimeMatchesThePins() (gas: 22518)\n[PASS] testLocalChainDoesNotConsultThePins() (gas: 10226069)\n[PASS] testSepoliaAcceptsThePinnedServicesAtInitialize() (gas: 10488386)\n[PASS] testSepoliaRefusesAnUnpinnedFactory() (gas: 6489939)\n[PASS] testSepoliaRefusesAnUnpinnedManager() (gas: 159347398)\n[PASS] testSepoliaRefusesLookalikeFeesBehindThePinnedFactory() (gas: 10451800)\n[PASS] testSepoliaRefusesLookalikeRegistryBehindThePinnedFactory() (gas: 10438631)\n[PASS] testSepoliaRefusesUnpinnedServicesAtInitialize() (gas: 10157187)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 184.00ms (182.97ms CPU time)\n\nRan 2 tests for test/TwoStage.t.sol:StageOneConstructorTest\n[PASS] testConstructorRejectsMissingOrConflatedInputs() (gas: 8207)\n[PASS] testOnlyFactoryCanInitializeTheHooksPool() (gas: 43150)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 75.51ms (467.70µs CPU time)\n\nRan 3 tests for test/ManipulationEconomics.t.sol:ManipulationEconomicsTest\n[PASS] testCounterSellingOfAllInitialNonPoolTokens() (gas: 157505516)\nLogs:\n  gross ETH capital (wei): 404492004375936755769\n  attacker ETH exit (wei): 139667041180374722901\n  net ETH exit cost before fee recapture (wei): 264824963195562032868\n  payer ETH fee receipts (wei): 4044920043759367559\n  counter-seller ETH proceeds (wei): 259768813140862823404\n  duration seconds: 201600\n\n[PASS] testPayerCanRecaptureItsNativeFeeShare() (gas: 144656869)\nLogs:\n  gross ETH capital (wei): 181211119085726918584\n  attacker ETH exit (wei): 178745758707992549273\n  net ETH exit cost before fee recapture (wei): 2465360377734369311\n  payer ETH fee receipts (wei): 1812111190857269186\n  counter-seller ETH proceeds (wei): 0\n  duration seconds: 201600\n  net ETH cost after native fee recapture (wei): 653249186877100125\n\n[PASS] testSustainedManipulationUnlockAndExit() (gas: 144670589)\nLogs:\n  gross ETH capital (wei): 181211119085726918584\n  attacker ETH exit (wei): 178745758707992549273\n  net ETH exit cost before fee recapture (wei): 2465360377734369311\n  payer ETH fee receipts (wei): 1812111190857269186\n  counter-seller ETH proceeds (wei): 0\n  duration seconds: 201600\n\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 622.04ms (559.86ms CPU time)\n\nRan 3 tests for test/mainnet/ServiceAttestation.t.sol:ServiceAttestationTest\n[PASS] testEveryServiceRuntimeIsRequiredAtEverySetupBoundary() (gas: 18834335)\n[PASS] testFactoryGettersAndQuoteDecimalsRevalidatedWithoutCodeChanges() (gas: 6793889)\n[PASS] testWrongChainCannotStageOrActivate() (gas: 2674217)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 33.15ms (14.12ms CPU time)\n\nRan 7 tests for test/mainnet/ImdSwaps.t.sol:ImdReverseOrderTest\n[PASS] testAllFourModesAndFeeInclusiveQuoter() (gas: 2642796)\n[PASS] testExplorerBuySellClaimsRevenueAndDonationSeparation() (gas: 1450745)\n[PASS] testFuzzExecutedImdConservation(uint96,uint16) (runs: 256, μ: 1036898, ~: 1035216)\n[PASS] testMissingTokenReceiptRollsBackWithdrawalAccounting() (gas: 915091)\n[PASS] testQuotaTransfersAndNativeClaimIndependence() (gas: 1290677)\n[PASS] testQuoteRollbackNoAccrualOrCredits() (gas: 1286596)\n[PASS] testRangeExitRollsBackFeesLedgerAndPool() (gas: 1250604)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 626.30ms (532.52ms CPU time)\n\nRan 18 tests for test/mainnet/OneWayGates.t.sol:OneWayGatesTest\n[PASS] testBriefBuySpikeThenFullSaleSameTransactionPreservesHighestSwapBoundary() (gas: 945372)\n[PASS] testEveryExactThresholdAndOneWeiBelowUsesSqrtNotRoundedTick() (gas: 6367380)\n[PASS] testExact1000Then200ThenOnly100At30Percent() (gas: 1970795)\n[PASS] testFuzzCumulativeEntitlementSurvivesGateJumpAndAdditionalBuy(uint96,uint8) (runs: 256, μ: 1498687, ~: 1498129)\n[PASS] testInvalidReferenceOnlyBlocksNewGatesNotTradingTransfersOrNativeClaims() (gas: 1888298)\n[PASS] testLateBatchRevertRestoresFinalBypassSalesCreditsFeesAndPool() (gas: 967339)\n[PASS] testLiquidityFeeReceiptsAndDonationsNeverCreditEligibility() (gas: 1489647)\n[PASS] testMultiTierJumpBriefSpikeAndPriceDeclineNeverReduceRights() (gas: 423923)\n[PASS] testOracleCannotBindUnauthorizedDifferentPoolOrSecondTime() (gas: 334200)\n[PASS] testPartialSalesRoundingAndNewAcquisitionsNeverResetSold() (gas: 2457467)\n[PASS] testPermanentFinalBypassForTransferOnlyHolderWithZeroEAfterDeclineAndOutage() (gas: 1195363)\n[PASS] testProtocolFeeDoesNotInvalidateSpotOrPreventPermanentGateAdvancement() (gas: 403894)\n[PASS] testRevertingReferenceStillSettlesQualifyingBuyAndWithinOldQuotaSale() (gas: 1051513)\n[PASS] testSaleCannotUseItsOwnPostSwapGateRetroactively() (gas: 1716712)\n[PASS] testSameTransactionEarlierBuyOpensGateForMatureQuotaButNewCreditWaits() (gas: 1324349)\n[PASS] testSameTransactionNewGateDoesNotMatureFreshCreditsAndRevertedBatchRestoresGate() (gas: 1290408)\n[PASS] testUnobservedPriceTouchIsNotBackfilled() (gas: 247900)\n[PASS] testWrongPoolCheckpointAndInvalidCurrentStateCannotGrantRights() (gas: 472483)\nSuite result: ok. 18 passed; 0 failed; 0 skipped; finished in 662.84ms (641.43ms CPU time)\n\nRan 23 tests for test/successor/Successor.t.sol:SuccessorTest\n[PASS] testBatchedBuysAllCreditTheInitiator() (gas: 463840)\n[PASS] testClaimsAndPayerCreditIndependentOfTradingAndDeduplicated() (gas: 754542)\n[PASS] testCycleInOneExecutionCannotFarmQuota() (gas: 1199533)\n[PASS] testDirectUnlockerCannotTrade() (gas: 513524)\n[PASS] testDivertedDeliveryCreditsInitiatorNotRecipient() (gas: 596333)\n[PASS] testExactOutputBuyChargesEthOnExecutedInputAndRefundsUnusedValue() (gas: 586480)\n[PASS] testExactOutputSellDeliversExactNetEth() (gas: 915573)\n[PASS] testExplorerBuyExactInputChargesEthFeeOnExecutedPoolLeg() (gas: 651573)\n[PASS] testExplorerSellExactInputThroughPermit2ChargesExecutedEthOutput() (gas: 903970)\n[PASS] testFeeInclusiveMinimumAboveQuoteRevertsWithoutState() (gas: 594299)\n[PASS] testFullUnlockKeepsTheStandardRouteAndBypassesQuota() (gas: 301039236)\n[PASS] testFuzzBuyThenSellConservesEthAndFees(uint96,uint16) (runs: 256, μ: 728480, ~: 730050)\n[PASS] testFuzzSpecifiedFeeBounds(uint128) (runs: 256, μ: 6324, ~: 6325)\n[PASS] testGenericQuoteForZeroQuotaWalletIsSimulationOnly() (gas: 674606)\n[PASS] testHookDataIsIgnored() (gas: 731203)\n[PASS] testLookalikeCodeAtRouterOrQuoterAddressRejected() (gas: 575287)\n[PASS] testPrefundedSaleConsumesInitiatorQuotaNotFunder() (gas: 796620)\n[PASS] testSaleBeyondSeedBoundaryIsRejectedAndNotCharged() (gas: 1247945)\n[PASS] testSetupIsSealedAndCompanionsPinned() (gas: 475937)\n[PASS] testSmartAccountIsTheInitiator() (gas: 532401)\n[PASS] testTransfersNeverMigrateRights() (gas: 679420)\n[PASS] testTreasuryRedeemsAndOnlyBeneficiaryWithdrawsEth() (gas: 571674)\n[PASS] testUnactivatedLaunchRejectsStandardSwapsAndWrongCodes() (gas: 24303844)\nSuite result: ok. 23 passed; 0 failed; 0 skipped; finished in 673.34ms (1.08s CPU time)\n\nRan 1 test for test/candidate/SetupScript.t.sol:CandidateSetupScriptTest\n[PASS] testActualFactoryLaunchThenPreparedCompanionsAndAtomicActivation() (gas: 17380932)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 32.74ms (3.25ms CPU time)\n\nRan 2 tests for test/mainnet/ExternalSpotTouch.t.sol:ExternalSpotTouchReverseOrderTest\n[PASS] testRevertedFlashTouchCannotPersistGateOrReferenceMutation() (gas: 837691)\n[PASS] testUnsettledExternalSpotTouchPermanentlyUnlocksTransferOnlyHolder() (gas: 1508197)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 74.69ms (3.52ms CPU time)\n\nRan 4 tests for test/TokenLedgerProperties.t.sol:TokenReceiptPropertiesTest\n[PASS] testFuzz_ReceiptsSurviveRoundingDelegationAndReturnedInventory(uint96) (runs: 1000, μ: 611435, ~: 611245)\n[PASS] test_FailedFinalTransferRollsBackAllowanceAndDistribution() (gas: 395800)\n[PASS] test_MetadataAndUnsealedIssuance() (gas: 72386)\n[PASS] test_ZeroAndSelfTransfersCannotSealOrCreateAllocationReceipts() (gas: 521375)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 271.24ms (270.15ms CPU time)\n\nRan 5 tests for test/mainnet/OwnerTransactions.t.sol:OwnerTransactionsTest\n[PASS] testChangedServiceSourceAndAllocationRejectedBeforeSigning() (gas: 1450954)\n[PASS] testMalformedOrIncompleteTreeCannotBecomeWalletCalls() (gas: 1552818)\n[PASS] testWalletTransactionsExecuteAndSealWithoutWarmup() (gas: 7635404)\n[PASS] testWrongChainOwnerPayerAndRuntimeRejected() (gas: 179208)\n[PASS] testWrongDistributorAndNumberRejectedBeforeWalletSigning() (gas: 1283598)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 22.74ms (8.00ms CPU time)\n\nRan 7 tests for test/mainnet/V4Activation.t.sol:V4ActivationTest\n[PASS] testHistoricalProofSourceIsNoLongerAdmitted() (gas: 236430)\n[PASS] testHistoricalSampledSourceIsNoLongerAdmitted() (gas: 152893)\n[PASS] testInactiveV3CodeIsNoLongerAdmittedAsProductionSource() (gas: 134582)\n[PASS] testPermissionlessGateCheckpointRequiresActivation() (gas: 57074)\n[PASS] testStaleFeedBlocksActivationThenValidCurrentReferenceActivatesInSameBlock() (gas: 7304209)\n[PASS] testUninitializedReferencePoolBlocksActivationAtomicallyAndClaimsRemainIndependent() (gas: 7030852)\n[PASS] testZeroLiquidityReferenceBlocksActivation() (gas: 6795996)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 20.17ms (6.32ms CPU time)\n\nRan 2 tests for test/SecurityRegression.t.sol:StagingCreationRegressionTest\n[PASS] testCounterfeitConstructorIsRefusedBeforeAnyDeployment() (gas: 6413863)\n[PASS] testOnlySetupAuthorityMayStageAndOnlyUntilActivation() (gas: 12289760)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 76.22ms (5.26ms CPU time)\n\nRan 4 tests for test/SecurityRegression.t.sol:CodeAuthenticationRegressionTest\n[PASS] testActivationExternalFailureRollsBackEveryBinding() (gas: 912953)\n[PASS] testInconsistentImmutablePatchesAreRejected() (gas: 2018871)\n[PASS] testLaterFactoryDonationsCannotRewriteInitialAllocationReceipts() (gas: 688934)\n[PASS] testRuntimeMutationCannotPassGetterChecks() (gas: 85252)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 116.34ms (12.17ms CPU time)\n\nRan 4 tests for test/mainnet/SpotArithmeticProperties.t.sol:SpotArithmeticPropertiesTest\n[PASS] testFuzzExactFloorAcrossFullNonzeroUint160AndUint256Domain(uint160,uint256,bool) (runs: 1000, μ: 113011, ~: 117293)\n[PASS] testFuzzWideDenominatorHasNoLostPrecision(uint160,uint256) (runs: 1000, μ: 123528, ~: 117256)\n[PASS] testIndependentLimbOracleAgreesWithSmallIntegerProductsAndKnownCarry() (gas: 78088)\n[PASS] testZeroOneSupplyAndMaxAtEveryArithmeticBranchBoundary() (gas: 10231366)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 767.17ms (960.30ms CPU time)\n\nRan 2 tests for test/RevisionProperties.t.sol:SeedGatePropertiesTest\n[PASS] testFuzz_launchedSeedIsAlwaysLiquidAndRefusedSeedIsAlwaysBelowFloor(uint8) (runs: 96, μ: 11309870, ~: 9050245)\n[PASS] testFuzz_poolShareBandDecidesLaunchAndActivation(uint16) (runs: 96, μ: 11187023, ~: 9047728)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 599.94ms (737.12ms CPU time)\n\nRan 13 tests for test/TwoStage.t.sol:StageOneTest\n[PASS] testActivationSealsAndCannotBeReplayed() (gas: 6134570)\n[PASS] testCrossLaunchNumberRejected() (gas: 5594038)\n[PASS] testFactoryLiquidityAllowedBeforeActivationButPrincipalStaysLocked() (gas: 37293)\n[PASS] testFirstTierConfirmsBelowTenEthActualReserves() (gas: 35619197)\n[PASS] testLaunchSucceedsWithoutCompanions() (gas: 122562)\n[PASS] testPayerCanTransferBeforeActivationWithoutLosingHistoricalCredit() (gas: 6125881)\n[PASS] testPayerCreditOnlyAfterActivationAndFromOriginalTransferReceipt() (gas: 6075022)\n[PASS] testRequesterReassignmentCannotMoveInitialAllocationCredit() (gas: 6081688)\n[PASS] testSepoliaRequiresPublishedChainlinkFeed() (gas: 5610561)\n[PASS] testSwapsSyncAndMilestonesRevertBeforeActivation() (gas: 6082593)\n[PASS] testTransfersAndNativeClaimsWorkBeforeActivationAndClaimIsCreditedLater() (gas: 6432841)\n[PASS] testUnauthorizedActivationRejected() (gas: 5606198)\n[PASS] testWrongContractsRejected() (gas: 6294420)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 182.09ms (57.64ms CPU time)\n\nRan 5 tests for test/candidate/TiersAndSetup.t.sol:CandidateTiersTest\n[PASS] testAllSixteenThresholds() (gas: 461702)\n[PASS] testInvalidDataCadenceAndGapCannotAdvanceOrRevoke() (gas: 16292660)\n[PASS] testNativePreActivationClaimDeduplicatesAndAllocationSurvivesTransfers() (gas: 35647833)\n[PASS] testSequentialAllTiersFinal24HoursPermanentBypassAndFeePersists() (gas: 321640971)\n[PASS] testSetupAndBypassFailClosed() (gas: 1280938)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 818.83ms (772.04ms CPU time)\n\nRan 7 tests for test/candidate/Quoter.t.sol:CandidateQuoterTest\n[PASS] testExactOutputBuyQuoteIncludesFeeAndRollsBack() (gas: 982523)\n[PASS] testExactOutputSellQuoteRequiresGrossTranslationAndRollsBack() (gas: 1058630)\n[PASS] testGenericBuyQuoteMatchesFeeInclusiveExecutionWithoutCommitting() (gas: 704054)\n[PASS] testGenericSellQuoteIsNotWalletSellCapacity() (gas: 1128840)\n[PASS] testNonemptyQuoteDataIsRejected() (gas: 69218)\n[PASS] testUniversalRouterTradesExplicitlyRejectedUntilAttributionRedesign() (gas: 110317)\n[PASS] testWrongQuoterCodeCannotUseQuoteExemptionToCommit() (gas: 612054)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 43.51ms (16.21ms CPU time)\n\nRan 4 tests for test/candidate/Adversarial.t.sol:CandidateAdversarialTest\n[PASS] testAfterCallbackAndReplayCannotCreateRightsOrFees() (gas: 575539)\n[PASS] testBatchAndPrefundingCannotChangeSourcingOrDelivery() (gas: 818510)\n[PASS] testEveryCompanionCreationPinRejectsTamperedCodeAtomically() (gas: 38438727)\n[PASS] testFuzzExecutedBuyAndSellFees(uint96) (runs: 256, μ: 974912, ~: 972082)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 743.18ms (712.85ms CPU time)\n\nRan 4 tests for test/SecurityRegression.t.sol:EvidenceCertificationRegressionTest\n[PASS] testActualLaterRoundClaimsHaveNoArtificialCumulativeCeiling() (gas: 1511648)\n[PASS] testDuplicateRecipientCannotOvercreditSmallerActualClaim() (gas: 441218)\n[PASS] testIncompleteTreeCannotBeCertified() (gas: 59593)\n[PASS] testOddTreeReconstructionAndPreCertificationNativeClaim() (gas: 580532)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 101.21ms (1.90ms CPU time)\n\nRan 1 test for test/mainnet/SpotFailureIsolation.t.sol:SpotActivationFailureMatrixTest\n[PASS] testAllInvalidReferenceStatesRefuseActivationAtomicallyAndCanRetryImmediately() (gas: 4418528)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 32.73ms (18.60ms CPU time)\n\nRan 5 tests for test/mainnet/OwnerTransactions.t.sol:OwnerTransactionsLargeTreeTest\n[PASS] testChangedServiceSourceAndAllocationRejectedBeforeSigning() (gas: 19063927)\n[PASS] testMalformedOrIncompleteTreeCannotBecomeWalletCalls() (gas: 18122520)\n[PASS] testWalletTransactionsExecuteAndSealWithoutWarmup() (gas: 93212249)\n[PASS] testWrongChainOwnerPayerAndRuntimeRejected() (gas: 179208)\n[PASS] testWrongDistributorAndNumberRejectedBeforeWalletSigning() (gas: 10254190)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 150.48ms (122.40ms CPU time)\n\nRan 3 tests for test/SecurityRegression.t.sol:OracleOutageRegressionTest\n[PASS] testDepthDipInvalidatesWholeWindowAndRetainsReachedRights() (gas: 16317055)\n[PASS] testFinalTierRequiresItsOwnTwentyFourHours() (gas: 138827744)\n[PASS] testNextTierClockWaitsForItsOwnThreshold() (gas: 15295035)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 438.57ms (363.01ms CPU time)\n\nRan 17 tests for test/Oracle.t.sol:OracleTest\n[PASS] testBadChainlinkRoundsAndAnswersFailClosed() (gas: 2352246)\n[PASS] testConfirmationGapRestartsRatherThanCountingUnobservedTime() (gas: 14857451)\n[PASS] testEveryTierAndPermanentUnlock() (gas: 136512808)\n[PASS] testFallingPricesNeverLowerReachedTier() (gas: 29259665)\n[PASS] testInvalidDataCannotCountTowardPendingConfirmationOrRevokeRights() (gas: 15083422)\n[PASS] testInvalidDataLongerThanGapRestartsOnNextValidCall() (gas: 694951)\n[PASS] testLongInvalidIntervalRestartsWhetherObservedOrNot() (gas: 807692)\n[PASS] testNegativeTickAveragesRoundConservativelyForBothOrders() (gas: 769389)\n[PASS] testObservedAndUnobservedInvalidIntervalsAgree() (gas: 29667292)\n[PASS] testOneBlockSpikeCannotConfirm() (gas: 740812)\n[PASS] testOracleCannotBeReboundOrConfiguredByAnyone() (gas: 73530)\n[PASS] testRealFeedCadenceCannotBeUsedToResetConfirmation() (gas: 18790257)\n[PASS] testSameTimestampManipulationHasNoTimeWeight() (gas: 760132)\n[PASS] testStaleCheckpointAndFeedPreventNewTierButNotTrades() (gas: 1332186)\n[PASS] testSustainedManipulationRequiresWindowAndConfirmation() (gas: 15128037)\n[PASS] testThresholdMappingBoundaries() (gas: 69776)\n[PASS] testWarmupAndExactWindow() (gas: 400906)\nSuite result: ok. 17 passed; 0 failed; 0 skipped; finished in 399.02ms (315.35ms CPU time)\n\nRan 18 tests for test/mainnet/OneWayGates.t.sol:OneWayGatesReverseOrderTest\n[PASS] testBriefBuySpikeThenFullSaleSameTransactionPreservesHighestSwapBoundary() (gas: 1024927)\n[PASS] testEveryExactThresholdAndOneWeiBelowUsesSqrtNotRoundedTick() (gas: 6341812)\n[PASS] testExact1000Then200ThenOnly100At30Percent() (gas: 2048635)\n[PASS] testFuzzCumulativeEntitlementSurvivesGateJumpAndAdditionalBuy(uint96,uint8) (runs: 256, μ: 1577687, ~: 1577169)\n[PASS] testInvalidReferenceOnlyBlocksNewGatesNotTradingTransfersOrNativeClaims() (gas: 1967336)\n[PASS] testLateBatchRevertRestoresFinalBypassSalesCreditsFeesAndPool() (gas: 1047299)\n[PASS] testLiquidityFeeReceiptsAndDonationsNeverCreditEligibility() (gas: 1521554)\n[PASS] testMultiTierJumpBriefSpikeAndPriceDeclineNeverReduceRights() (gas: 423113)\n[PASS] testOracleCannotBindUnauthorizedDifferentPoolOrSecondTime() (gas: 333794)\n[PASS] testPartialSalesRoundingAndNewAcquisitionsNeverResetSold() (gas: 2550084)\n[PASS] testPermanentFinalBypassForTransferOnlyHolderWithZeroEAfterDeclineAndOutage() (gas: 1228107)\n[PASS] testProtocolFeeDoesNotInvalidateSpotOrPreventPermanentGateAdvancement() (gas: 403084)\n[PASS] testRevertingReferenceStillSettlesQualifyingBuyAndWithinOldQuotaSale() (gas: 1083154)\n[PASS] testSaleCannotUseItsOwnPostSwapGateRetroactively() (gas: 1795362)\n[PASS] testSameTransactionEarlierBuyOpensGateForMatureQuotaButNewCreditWaits() (gas: 1403041)\n[PASS] testSameTransactionNewGateDoesNotMatureFreshCreditsAndRevertedBatchRestoresGate() (gas: 1369491)\n[PASS] testUnobservedPriceTouchIsNotBackfilled() (gas: 247112)\n[PASS] testWrongPoolCheckpointAndInvalidCurrentStateCannotGrantRights() (gas: 471858)\nSuite result: ok. 18 passed; 0 failed; 0 skipped; finished in 735.89ms (690.55ms CPU time)\n\nRan 7 tests for test/mainnet/ImdTreasuryFailurePaths.t.sol:ImdTreasuryFailurePathsTest\n[PASS] testFalseTransferReturnRestoresRevenueAndDonationWithdrawalsIndependently() (gas: 1112673)\n[PASS] testFuzzDonatedClaimsCannotMasqueradeAsSwapRevenue(uint256) (runs: 1000, μ: 887959, ~: 888154)\n[PASS] testManagerCannotReplayCallbackOutsideAnAuthorizedRedemption() (gas: 745893)\n[PASS] testMissingRedemptionReceiptRollsBackBurnAndCanBeRetried() (gas: 1047738)\n[PASS] testPrincipalGuardPersistsThroughGlobalBypassAndReferenceFailure() (gas: 1166266)\n[PASS] testRedemptionDuringManagerUnlockFailsWithoutLosingClaimsOrLiveness() (gas: 778542)\n[PASS] testZeroAndOneWeiReceiptBoundaries() (gas: 426264)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 1.19s (1.16s CPU time)\n\nRan 6 tests for test/mainnet/InitializationAdmission.t.sol:InitializationAdmissionTest\n[PASS] testInactiveTradingCreditsAndGatesStayDisabledWhileTransfersWork() (gas: 847540)\n[PASS] testOnlyManagerAndConstructorBoundFactoryCanInitialize() (gas: 302987)\n[PASS] testRepeatedInitializationCannotRebind() (gas: 290147)\n[PASS] testSeedWithoutCompanionsAndCollectWithoutActivation() (gas: 786749)\n[PASS] testWrongCurrencySortingFeeSpacingAndHookRejected() (gas: 419820)\n[PASS] test_initializesFromTheLaunchFactory() (gas: 247771)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 41.75ms (2.41ms CPU time)\n\nRan 6 tests for test/mainnet/InitializationAdmission.t.sol:InitializationAdmissionToken1Test\n[PASS] testInactiveTradingCreditsAndGatesStayDisabledWhileTransfersWork() (gas: 802968)\n[PASS] testOnlyManagerAndConstructorBoundFactoryCanInitialize() (gas: 283167)\n[PASS] testRepeatedInitializationCannotRebind() (gas: 270327)\n[PASS] testSeedWithoutCompanionsAndCollectWithoutActivation() (gas: 738132)\n[PASS] testWrongCurrencySortingFeeSpacingAndHookRejected() (gas: 400097)\n[PASS] test_initializesFromTheLaunchFactory() (gas: 227823)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 11.38ms (2.47ms CPU time)\n\nRan 6 tests for test/mainnet/V4OracleProof.t.sol:V4BlockProofTest\n[PASS] testActualMainnetProofVerifiesExactStorageButCannotPrice() (gas: 5170288)\n[PASS] testDuplicateAndTrailingProofNodesRejected() (gas: 6163390)\n[PASS] testFuzzChangedHeaderNeverAuthenticates(uint16,uint8) (runs: 256, μ: 83310, ~: 90783)\n[PASS] testFuzzChangedStorageProofRejected(uint16,uint8) (runs: 256, μ: 525511, ~: 525196)\n[PASS] testNonCanonicalRlpAndMalformedNodesRejected() (gas: 94027)\n[PASS] testWrongAccountSlotChainAgeAndConfirmationRejected() (gas: 4781659)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 567.34ms (579.86ms CPU time)\n\nRan 10 tests for test/CreditsAndFees.t.sol:CreditsAndFeesTest\n[PASS] testAttestationRequiresActualClaimAndExactLeaf() (gas: 438961)\n[PASS] testClaimTransferAndPayerTransferDoNotDuplicateCredit() (gas: 577960)\n[PASS] testFeeCollectionDoesNotReducePrincipal() (gas: 647552)\n[PASS] testNativeClaimNeverDependsOnAdapterOrFeed() (gas: 1190278)\n[PASS] testNativeClaimThenAttestThenSyncThenSale() (gas: 1607696)\n[PASS] testNegativeLiquidityForbiddenEvenForFactory() (gas: 82464)\n[PASS] testProofReleaseAndDedupRemainNativeRules() (gas: 573172)\n[PASS] testSaleFeesCountGrossInputAndNeverCreditFeeRecipients() (gas: 1191477)\n[PASS] testUnauthorizedLiquidityAndDonationNoCredit() (gas: 232025)\n[PASS] testUnclaimedRewardsNotEligible() (gas: 39399)\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 100.06ms (9.95ms CPU time)\n\nRan 8 tests for test/Launch.t.sol:LaunchTest\n[PASS] testCompanionsAreImmutablyBound() (gas: 37886)\n[PASS] testFactoryHoldsPrincipalAndCannotRemoveIt() (gas: 333697)\n[PASS] testLaunchAllocationAndLockedPrincipal() (gas: 191055)\n[PASS] testLaunchIsOnceAndDeployerOnly() (gas: 2731433)\n[PASS] testOnlyCanonicalManagerCanCallHook() (gas: 66479)\n[PASS] testPayerCreditExactDeduplicated() (gas: 137462)\n[PASS] testUnauthorizedFactoryAndWrongPoolRejected() (gas: 80623)\n[PASS] testUnconfiguredComponentsFailClosed() (gas: 42307)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 78.54ms (2.24ms CPU time)\n\nRan 5 tests for test/EvidenceAndOracleProperties.t.sol:MultiLeafEvidenceTest\n[PASS] testDecreasingEvidenceCannotRevokePreviouslyCreditedClaims() (gas: 1100730)\n[PASS] testProofsFromTheActualTreeCreditExactlyWhatWasDelivered() (gas: 2298063)\n[PASS] testSiblingCannotAttestAnotherWalletsClaim() (gas: 771322)\n[PASS] testSweptRoundFreezesEvidence() (gas: 1136164)\n[PASS] testTheTreeIsWellFormed() (gas: 40973)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 98.99ms (5.59ms CPU time)\n\nRan 10 tests for test/mainnet/ProtocolFees.t.sol:ImdProtocolFeesTest\n[PASS] testAllFourModesAndFeeInclusiveQuoter() (gas: 2609879)\n[PASS] testControllerChangesDoNotResetQuotaOrBlockTradingDuringReferenceOutage() (gas: 2421091)\n[PASS] testExplorerBuySellClaimsRevenueAndDonationSeparation() (gas: 1463650)\n[PASS] testFuzzDirectionalProtocolFeesPreserveExecutedLegFeeAndSolvency(uint16,uint16,uint96) (runs: 256, μ: 1116302, ~: 1118519)\n[PASS] testFuzzExecutedImdConservation(uint96,uint16) (runs: 256, μ: 1049863, ~: 1048160)\n[PASS] testMissingTokenReceiptRollsBackWithdrawalAccounting() (gas: 904738)\n[PASS] testProtocolRevenueIsSeparateFromTreasuryAndLockedPrincipal() (gas: 768342)\n[PASS] testQuotaTransfersAndNativeClaimIndependence() (gas: 1303438)\n[PASS] testQuoteRollbackNoAccrualOrCredits() (gas: 1263218)\n[PASS] testRangeExitRollsBackFeesLedgerAndPool() (gas: 1256684)\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 816.06ms (804.43ms CPU time)\n\nRan 1 test for test/StageOneInvariants.t.sol:StageOneInvariantTest\n[PASS]\nStageOneInvariantTest invariants:\n[PASS] invariant_onlyTheAuthorizedCallActivates\n[PASS] invariant_tokenAndClaimsIndependentOfTheHook\n[PASS] invariant_unconfiguredPoolIsInert\n StageOneInvariantTest invariants (runs: 96, calls: 3840, reverts: 0)\n\n╭-----------------+------------------+-------+---------+----------╮\n| Contract        | Selector         | Calls | Reverts | Discards |\n+=================================================================+\n| StageOneHandler | advance          | 477   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | attemptActivate  | 443   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | claimAndAttest   | 485   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | directSwap       | 483   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | foreignLiquidity | 532   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | routerSwap       | 485   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | syncAndMilestone | 479   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | transfer         | 456   | 0       | 0        |\n╰-----------------+------------------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.55s (1.49s CPU time)\n\nRan 15 tests for test/mainnet/SampledOracle.t.sol:SampledOracleTest\n[PASS] testChainlinkValidation() (gas: 40426014)\n[PASS] testCheckpointTimedRepeatedFlashRatchetsAndItsCost() (gas: 47381145)\nLogs:\n  sole-sampler 2x: samples 81 fee cost USD 1092185\n  per-sample 2x flash fee USD 14032\n  24h at 1-minute honest cadence USD 20206682\n  24h, attacker-owned LP recaptures 1% LP fee, USD 91932\n\n[PASS] testColdStartWarmupDirectionAndDecimals() (gas: 39918613)\n[PASS] testCrossPoolFactorsMultiplyAndNetProfitModel() (gas: 62295127)\nLogs:\n  per-sample fee USD: full 2x leg / sqrt2 leg 14032 6409\n  bypass value of 2% holding USD 500000\n  cost: sole sampler / attacker LP / per-minute honest cadence USD 1136625 103423\n  cost per-minute honest cadence USD 22732517\n  sole-sampler breakeven holding (UNLK) 45465000\n\n[PASS] testFlashSameBlockSampleIsClampedAndHasNoImmediateWeight() (gas: 40743874)\nLogs:\n  flash 5000 ticks: ETH in 177 fee cost USD 9621\n\n[PASS] testFlashedAnchorConvergesBeforeAnyPriceIsServed() (gas: 39886705)\n[PASS] testFuzzRecordedStepBoundedAndAccountingMonotone(int24[8],uint16[8]) (runs: 256, μ: 1060409, ~: 1060320)\n[PASS] testGapVoidsWindowsUntilFullCleanLongWindow() (gas: 60067062)\n[PASS] testHonestMoveDelayIsExplicit() (gas: 61598596)\nLogs:\n  honest 2x move: minutes unavailable 100\n\n[PASS] testSameBlockAndTooFrequentSamplesRejected() (gas: 233313)\n[PASS] testStaleLatestSampleNeverExtrapolated() (gas: 39786385)\n[PASS] testSustainedManipulationPasses() (gas: 62272176)\n[PASS] testThinPoolOrChangedFeeIsRecordedIlliquid() (gas: 59962853)\n[PASS] testUninitializedPoolWrongChainAndWrongManagerFailClosed() (gas: 105297)\n[PASS] testUnsandwichedHonestSamplesNeutralizeAlternatingFlashes() (gas: 162950149)\nSuite result: ok. 15 passed; 0 failed; 0 skipped; finished in 2.13s (1.48s CPU time)\n\nRan 1 test for test/successor/SuccessorInvariants.t.sol:SuccessorInvariantTest\n[PASS]\nSuccessorInvariantTest invariants:\n[PASS] invariant_creditsEqualExecutedBuysOnly\n[PASS] invariant_feesAreNativeClaimsAndNeverUnlk\n[PASS] invariant_quotaNeverExceededForAnyInitiator\n SuccessorInvariantTest invariants (runs: 128, calls: 5120, reverts: 0)\n\n╭------------------+----------+-------+---------+----------╮\n| Contract         | Selector | Calls | Reverts | Discards |\n+==========================================================+\n| SuccessorHandler | buy      | 1740  | 0       | 0        |\n|------------------+----------+-------+---------+----------|\n| SuccessorHandler | sell     | 1665  | 0       | 0        |\n|------------------+----------+-------+---------+----------|\n| SuccessorHandler | transfer | 1715  | 0       | 0        |\n╰------------------+----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.95s (3.86s CPU time)\n\nRan 1 test for test/mainnet/QuotaMitigationInvariants.t.sol:QuotaMitigationInvariantTest\n[PASS]\nQuotaMitigationInvariantTest invariants:\n[PASS] invariantDirectRightsMatchOnlyExecutedAcquisitionsAndSales\n[PASS] invariantFeeReceiptsAndProtectedPrincipalRemainConserved\n QuotaMitigationInvariantTest invariants (runs: 128, calls: 5120, reverts: 0)\n\n╭------------------------+-----------+-------+---------+----------╮\n| Contract               | Selector  | Calls | Reverts | Discards |\n+=================================================================+\n| QuotaMitigationHandler | buy       | 1262  | 0       | 0        |\n|------------------------+-----------+-------+---------+----------|\n| QuotaMitigationHandler | nextBlock | 1302  | 0       | 0        |\n|------------------------+-----------+-------+---------+----------|\n| QuotaMitigationHandler | sell      | 1230  | 0       | 0        |\n|------------------------+-----------+-------+---------+----------|\n| QuotaMitigationHandler | transfer  | 1326  | 0       | 0        |\n╰------------------------+-----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.08s (4.05s CPU time)\n\nRan 7 tests for test/mainnet/V4OracleProof.t.sol:V4OracleIntervalsTest\n[PASS] testBadEthRoundsAndCodeFailClosed() (gas: 152659126)\n[PASS] testCurrentDepthWithdrawalInvalidatesEvenFreshProvenHistory() (gas: 152161531)\n[PASS] testDepthAndGapInvalidateWholeWindowThenRecoverWithoutReset() (gas: 522369133)\n[PASS] testInsufficientHistoryWarmupAndNoExtrapolation() (gas: 152203426)\n[PASS] testOmittedBlocksCannotBeSmoothedAndLateRecoveryRecordsBadInterval() (gas: 335725603)\n[PASS] testSameBlockAndFlashSampleCannotSupplyElapsedHistory() (gas: 152482577)\n[PASS] testSustainedAndCrossMarketManipulationRemainExecutableLimit() (gas: 320225835)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 3.63s (7.28s CPU time)\n\nRan 3 tests for test/EvidenceAndOracleProperties.t.sol:OracleReferenceTest\n[PASS] testCheckpointReplacementRewritesOnlyTheCurrentSecond() (gas: 997263)\n[PASS] testFuzzFdvIsMonotonicInTheEthUsdAnswer(uint64,uint64) (runs: 256, μ: 751867, ~: 752051)\n[PASS] testFuzzTwapMatchesBruteForceReference(uint256) (runs: 160, μ: 2866236, ~: 2871531)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 4.33s (683.88ms CPU time)\n\nRan 17 tests for test/FailurePaths.t.sol:RouterAndHookFailurePathsTest\n[PASS] testBatchBoundsAndValueMustMatch() (gas: 186758)\n[PASS] testBatchIsAtomicWhenALaterStepFails() (gas: 834234)\n[PASS] testConfirmationRequiresSixHoursAndCannotSkipTiers() (gas: 15341697)\n[PASS] testFullUnlockKeepsFeesAndRouterAuthentication() (gas: 137007309)\n[PASS] testFuzzOperationHashBindsTraderNonceAndChain(address,uint256,uint64) (runs: 256, μ: 17656, ~: 17656)\n[PASS] testFuzzRemainingQuotaFormula(uint128,uint128,uint8) (runs: 512, μ: 7293365, ~: 7293203)\n[PASS] testFuzzTierIsMonotonicInFdv(uint256,uint256) (runs: 512, μ: 16938, ~: 16913)\n[PASS] testFuzzTransfersMoveExactlyTheAmount(address,uint96) (runs: 256, μ: 122469, ~: 122475)\n[PASS] testHookRejectsMalformedRouteDataAndUnknownSenders() (gas: 238753)\n[PASS] testPartialFillAtPriceLimitChargesOnlyExecutedInput() (gas: 1213883)\n[PASS] testQuotaWidensWithTierAndNeverDoubleCounts() (gas: 16795708)\n[PASS] testRequesterChangeAfterActivationDoesNotMoveThePayer() (gas: 146383)\n[PASS] testRouterCallbackNeedsALiveSwap() (gas: 73817)\n[PASS] testRouterRefusesDegenerateRequests() (gas: 500273)\n[PASS] testSecondRoundClaimsAccumulateOncePerRound() (gas: 995639)\n[PASS] testSlippageRefusalsLeaveNoTrace() (gas: 899401)\n[PASS] testSyncForStrangerAndZeroAddressCreatesNothing() (gas: 108400)\nSuite result: ok. 17 passed; 0 failed; 0 skipped; finished in 5.00s (5.04s CPU time)\n\nRan 2 tests for test/RevisionProperties.t.sol:MilestoneSampleInvariantTest\n[PASS]\nMilestoneSampleInvariantTest invariants:\n[PASS] invariant_confirmationNeedsAnUnbrokenChainOfValidSamples\n[PASS] invariant_invalidSamplesNeverAdvanceTiers\n[PASS] invariant_nothingEverRelocksAndStateIsConsistent\n MilestoneSampleInvariantTest invariants (runs: 48, calls: 1920, reverts: 0)\n\n╭------------------------+----------+-------+---------+----------╮\n| Contract               | Selector | Calls | Reverts | Discards |\n+================================================================+\n| MilestoneSampleHandler | advance  | 312   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | corrupt  | 334   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | heal     | 331   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | march    | 293   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | sample   | 317   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | setPrice | 333   | 0       | 0        |\n╰------------------------+----------+-------+---------+----------╯\n\n[PASS] testHandlerReachesTiersAndEveryCorruptionIsInvalid() (gas: 12640787)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 5.09s (5.03s CPU time)\n\nRan 2 tests for test/SeedRangeLimitProperties.t.sol:SeedRangeInvariantTest\n[PASS]\nSeedRangeInvariantTest invariants:\n[PASS] invariant_EveryObservationIsLiquid\n[PASS] invariant_PriceNeverLeavesTheSeedRange\n[PASS] invariant_PrincipalLockedAndManagerAssetsEqualExecutedFlows\n[PASS] invariant_SoldMatchesExecutedSalesAndQuota\n SeedRangeInvariantTest invariants (runs: 128, calls: 6144, reverts: 0)\n\n╭-----------------------+--------------+-------+---------+----------╮\n| Contract              | Selector     | Calls | Reverts | Discards |\n+===================================================================+\n| SeedRangeTradeHandler | advance      | 1009  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | buyExactIn   | 1023  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | sellExactIn  | 1016  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | sellExactOut | 1012  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | syncPayer    | 1026  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | withdraw     | 1058  | 0       | 0        |\n╰-----------------------+--------------+-------+---------+----------╯\n\n[PASS] testHandlerBranchesAreReachable() (gas: 3844289)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.97s (4.92s CPU time)\n\nRan 1 test for test/Invariants.t.sol:SystemInvariantTest\n[PASS]\nSystemInvariantTest invariants:\n[PASS] invariantEligibleEqualsOnlyExecutedBuysAndSynchronizedProofs\n[PASS] invariantNoActorExceedsItsQuotaBeforeUnlock\n[PASS] invariantPrincipalLiquidityNeverDecreases\n[PASS] invariantSupplyConservedAndRouterHasNoCustody\n SystemInvariantTest invariants (runs: 128, calls: 5120, reverts: 0)\n\n╭---------------+----------+-------+---------+----------╮\n| Contract      | Selector | Calls | Reverts | Discards |\n+=======================================================+\n| ActionHandler | advance  | 859   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | buy      | 888   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | claim    | 794   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | sell     | 865   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | sync     | 864   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | transfer | 850   | 0       | 0        |\n╰---------------+----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.16s (4.08s CPU time)\n\nRan 1 test for test/Invariants.t.sol:FullyUnlockedInvariantTest\n[PASS]\nFullyUnlockedInvariantTest invariants:\n[PASS] invariantEligibleEqualsOnlyExecutedBuysAndSynchronizedProofs\n[PASS] invariantNoActorExceedsItsQuotaBeforeUnlock\n[PASS] invariantPrincipalLiquidityNeverDecreases\n[PASS] invariantSupplyConservedAndRouterHasNoCustody\n[PASS] invariantUnlockRemainsPermanentDespiteInvalidFeed\n FullyUnlockedInvariantTest invariants (runs: 128, calls: 5120, reverts: 0)\n\n╭---------------+----------+-------+---------+----------╮\n| Contract      | Selector | Calls | Reverts | Discards |\n+=======================================================+\n| ActionHandler | advance  | 859   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | buy      | 888   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | claim    | 794   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | sell     | 865   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | sync     | 864   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | transfer | 850   | 0       | 0        |\n╰---------------+----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.85s (4.43s CPU time)\n\nRan 10 tests for test/mainnet/ProtocolFees.t.sol:ImdProtocolFeesReverseTest\n[PASS] testAllFourModesAndFeeInclusiveQuoter() (gas: 2759296)\n[PASS] testControllerChangesDoNotResetQuotaOrBlockTradingDuringReferenceOutage() (gas: 2450696)\n[PASS] testExplorerBuySellClaimsRevenueAndDonationSeparation() (gas: 1495710)\n[PASS] testFuzzDirectionalProtocolFeesPreserveExecutedLegFeeAndSolvency(uint16,uint16,uint96) (runs: 256, μ: 1148353, ~: 1150461)\n[PASS] testFuzzExecutedImdConservation(uint96,uint16) (runs: 256, μ: 1082054, ~: 1080246)\n[PASS] testMissingTokenReceiptRollsBackWithdrawalAccounting() (gas: 937652)\n[PASS] testProtocolRevenueIsSeparateFromTreasuryAndLockedPrincipal() (gas: 801256)\n[PASS] testQuotaTransfersAndNativeClaimIndependence() (gas: 1335646)\n[PASS] testQuoteRollbackNoAccrualOrCredits() (gas: 1364447)\n[PASS] testRangeExitRollsBackFeesLedgerAndPool() (gas: 1303245)\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 5.44s (5.50s CPU time)\n\nRan 5 tests for test/SeedRangeLimitProperties.t.sol:SeedRangeLimitPropertiesTest\n[PASS] testBuyLimitBelowTheFloorIsClampedAndLimitAboveThePriceIsRefused() (gas: 1123455)\n[PASS] testExactOutputSellBeyondTheReserveRevertsSlippageWithoutState() (gas: 1324053)\n[PASS] testFuzzDrainAndRebuyKeepsTheOracleReadable(uint96,uint96,uint8) (runs: 256, μ: 1689035, ~: 1680502)\n[PASS] testFuzzSellLimitIsClampedExactlyToTheSeedCeiling(uint96,uint160,uint8) (runs: 512, μ: 1128461, ~: 1206362)\n[PASS] testLaunchStateSellRevertsAsPriceLimitAlreadyExceeded() (gas: 1161675)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 5.57s (9.47s CPU time)\n\nRan 5 tests for test/BatchSettlementProperties.t.sol:BatchSettlementPropertiesTest\n[PASS] testFuzz_BatchEqualsSequentialExecution(uint256,uint8,bool) (runs: 1000, μ: 4613613, ~: 4198416)\n[PASS] testFuzz_FailureAtAnyBatchIndexRestoresAllowancesFeesAndCredits(uint256,uint8) (runs: 1000, μ: 11514225, ~: 11312575)\n[PASS] test_MaximumMixedBatchOnFreshTokenOnlyManager() (gas: 9253895)\n[PASS] test_OneWeiShortAllowanceRestoresEntireBatchAndRetryWorks() (gas: 1872568)\n[PASS] test_PartialSaleMayPrefundMoreThanQuotaButChargesOnlyExecution() (gas: 906671)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 5.47s (9.13s CPU time)\n\nRan 2 tests for test/candidate/QuotaInvariants.t.sol:CandidateQuotaInvariantTest\n[PASS]\nCandidateQuotaInvariantTest invariants:\n[PASS] invariant_configurationSealedAndRouteEnforced\n[PASS] invariant_ledgerMatchesExecutedDeltas\n[PASS] invariant_milestonesMonotonicAndConsistent\n[PASS] invariant_principalLockedAndFeeTermsFixed\n[PASS] invariant_routerNativeSolvency\n[PASS] invariant_salesNeverExceedQuota\n[PASS] invariant_supplyConservedAndNoCustody\n[PASS] invariant_vaultReceiptsBackAllAccrual\n CandidateQuotaInvariantTest invariants (runs: 96, calls: 5760, reverts: 0)\n\n╭-----------------------+-----------------+-------+---------+----------╮\n| Contract              | Selector        | Calls | Reverts | Discards |\n+======================================================================+\n| CandidateQuotaHandler | advance         | 363   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | buyExactIn      | 340   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | buyExactOut     | 348   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | claimAndAttest  | 354   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | claimFees       | 372   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | directSwap      | 355   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | donate          | 326   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | foreignActivate | 374   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | sellExactOut    | 347   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | sellOverQuota   | 379   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | sellWithinQuota | 770   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | setFeed         | 318   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | sync            | 362   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | transfer        | 382   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | withdrawNative  | 370   | 0       | 0        |\n╰-----------------------+-----------------+-------+---------+----------╯\n\n[PASS] testHandlerActionsActuallyExecute() (gas: 24312591)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 6.97s (6.96s CPU time)\n\nRan 2 tests for test/QuotaInvariants.t.sol:QuotaInvariantTest\n[PASS]\nQuotaInvariantTest invariants:\n[PASS] invariant_configurationSealedAndRouteEnforced\n[PASS] invariant_ledgerMatchesExecutedDeltas\n[PASS] invariant_milestonesMonotonicAndConsistent\n[PASS] invariant_principalLockedAndFeeTermsFixed\n[PASS] invariant_routerNativeSolvency\n[PASS] invariant_salesNeverExceedQuota\n[PASS] invariant_supplyConservedAndNoCustody\n QuotaInvariantTest invariants (runs: 96, calls: 5760, reverts: 0)\n\n╭--------------+-----------------+-------+---------+----------╮\n| Contract     | Selector        | Calls | Reverts | Discards |\n+=============================================================+\n| QuotaHandler | advance         | 363   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | buyExactIn      | 340   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | buyExactOut     | 348   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | claimAndAttest  | 354   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | claimFees       | 372   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | directSwap      | 355   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | donate          | 326   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | foreignActivate | 374   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | sellExactOut    | 347   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | sellOverQuota   | 379   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | sellWithinQuota | 770   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | setFeed         | 318   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | sync            | 362   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | transfer        | 382   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | withdrawNative  | 370   | 0       | 0        |\n╰--------------+-----------------+-------+---------+----------╯\n\n[PASS] testHandlerActionsActuallyExecute() (gas: 23822211)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 7.21s (7.06s CPU time)\n\nRan 2 tests for test/TokenLedgerProperties.t.sol:TokenLedgerInvariantTest\n[PASS]\nTokenLedgerInvariantTest invariants:\n[PASS] invariant_BalancesAndAllowancesMatchIndependentLedger\n[PASS] invariant_OriginalReceiptsRemainSealedDespiteArbitraryTransfers\n TokenLedgerInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭--------------------+-------------------+-------+---------+----------╮\n| Contract           | Selector          | Calls | Reverts | Discards |\n+=====================================================================+\n| TokenLedgerHandler | approve           | 2813  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | refuseOverspend   | 2793  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | refuseZeroAddress | 2659  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | transfer          | 2763  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | transferAll       | 2645  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | transferFrom      | 2711  | 0       | 0        |\n╰--------------------+-------------------+-------+---------+----------╯\n\n[PASS] test_HandlerCoversFiniteInfiniteSelfRevokedAndFailedAllowancePaths() (gas: 2246042)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 9.27s (9.27s CPU time)\n\nRan 5 tests for test/FeeCustodyProperties.t.sol:FeeCustodyInvariantTest\n[PASS]\nFeeCustodyInvariantTest invariants:\n[PASS] invariant_FactoryAssetsBackEveryUnpaidFeeAndDonationsRemainSurplus\n[PASS] invariant_FeeCollectionCannotTouchPrincipalOrCreateQuota\n[PASS] invariant_RecipientsAndSettlementStayBoundToTheirActualOwners\n FeeCustodyInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭-------------------+-------------------------+-------+---------+----------╮\n| Contract          | Selector                | Calls | Reverts | Discards |\n+==========================================================================+\n| FeeCustodyHandler | collect                 | 1857  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | donate                  | 1724  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | refuseInvalidOperations | 1839  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | rotateNetwork           | 1850  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | setRecipientMode        | 1789  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | tradePair               | 1838  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | transferRequester       | 1764  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | withdrawAccount         | 1870  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | withdrawNetwork         | 1853  | 0       | 0        |\n╰-------------------+-------------------------+-------+---------+----------╯\n\n[PASS] test_DeferredPayerDebtStaysWithOldWalletWhileNetworkDebtFollowsRecipient() (gas: 6376558)\n[PASS] test_ReentrantFeeCollectionHasNoSecondPrincipalOrFeeWithdrawal() (gas: 4131841)\n[PASS] test_ReentrantFeeWithdrawalsCannotPayEitherShareTwice() (gas: 4037988)\n[PASS] test_RejectingNetworkRecipientCannotHoldPayerFeesHostage() (gas: 3956563)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 14.42s (14.36s CPU time)\n\nRan 2 tests for test/mainnet/SpotCustodyInvariants.t.sol:SpotCustodyInvariantsReverseOrderTest\n[PASS]\nSpotCustodyInvariantsReverseOrderTest invariants:\n[PASS] invariant_PrincipalSupplyAndSealedConfigurationSurviveEverySequence\n[PASS] invariant_QuotaUsesOnlyMatureAcquisitionsAndNeverForgetsSales\n[PASS] invariant_TreasuryReceiptsCashAndPayoutsReconcile\n SpotCustodyInvariantsReverseOrderTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭--------------------+-----------------------+-------+---------+----------╮\n| Contract           | Selector              | Calls | Reverts | Discards |\n+=========================================================================+\n| SpotCustodyHandler | buy                   | 2134  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | checkpoint            | 1121  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | claimAndSync          | 1050  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | collectLpFees         | 1143  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | donate                | 1101  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | nextBlock             | 1144  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | redeem                | 1104  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | referenceState        | 1054  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectExcessSale      | 1117  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectReconfiguration | 1081  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectUnauthorized    | 1090  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | sell                  | 1073  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | transfer              | 1062  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | withdraw              | 1110  | 0       | 0        |\n╰--------------------+-----------------------+-------+---------+----------╯\n\n[PASS] testHandlerExercisesFailuresDonationsClaimsAndPermanentBypass() (gas: 5193195)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 16.69s (16.61s CPU time)\n\nRan 2 tests for test/mainnet/SpotCustodyInvariants.t.sol:SpotCustodyInvariantsTest\n[PASS]\nSpotCustodyInvariantsTest invariants:\n[PASS] invariant_PrincipalSupplyAndSealedConfigurationSurviveEverySequence\n[PASS] invariant_QuotaUsesOnlyMatureAcquisitionsAndNeverForgetsSales\n[PASS] invariant_TreasuryReceiptsCashAndPayoutsReconcile\n SpotCustodyInvariantsTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭--------------------+-----------------------+-------+---------+----------╮\n| Contract           | Selector              | Calls | Reverts | Discards |\n+=========================================================================+\n| SpotCustodyHandler | buy                   | 2134  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | checkpoint            | 1121  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | claimAndSync          | 1050  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | collectLpFees         | 1143  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | donate                | 1101  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | nextBlock             | 1144  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | redeem                | 1104  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | referenceState        | 1054  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectExcessSale      | 1117  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectReconfiguration | 1081  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectUnauthorized    | 1090  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | sell                  | 1073  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | transfer              | 1062  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | withdraw              | 1110  | 0       | 0        |\n╰--------------------+-----------------------+-------+---------+----------╯\n\n[PASS] testHandlerExercisesFailuresDonationsClaimsAndPermanentBypass() (gas: 5199101)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 16.89s (16.83s CPU time)\n\nRan 2 tests for test/ClaimLifecycleInvariants.t.sol:ClaimLifecycleInvariantsTest\n[PASS]\nClaimLifecycleInvariantsTest invariants:\n[PASS] invariant_DistributorReservesAndCashMatchIndependentRoundModel\n[PASS] invariant_FixedSupplyAndInitialReceiptsSurviveAllClaimSequences\n[PASS] invariant_OnlyDeliveredAttestedAndSyncedClaimsCreateRights\n ClaimLifecycleInvariantsTest invariants (runs: 256, calls: 20480, reverts: 0)\n\n╭-----------------------+-------------------+-------+---------+----------╮\n| Contract              | Selector          | Calls | Reverts | Discards |\n+========================================================================+\n| ClaimLifecycleHandler | advance           | 1899  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | attest            | 1793  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | certify           | 1920  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | claim             | 1891  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | deliverAndSync    | 1806  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | openRound         | 1797  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | sweep             | 1867  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | sync              | 1904  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | syncPayer         | 1855  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | transferOrDonate  | 1847  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | unauthorizedRound | 1901  | 0       | 0        |\n╰-----------------------+-------------------+-------+---------+----------╯\n\n[PASS] test_ModelExercisesDelayedCertificationSweepsAndRecycledFunding() (gas: 4966220)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 18.73s (18.65s CPU time)\n\nRan 2 tests for test/NativeCustodyInvariants.t.sol:NativeCustodyInvariantsTest\n[PASS]\nNativeCustodyInvariantsTest invariants:\n[PASS] invariant_ManagerHasNoUnsettledDeltaOrReusableRouteContext\n[PASS] invariant_NativeLiabilitiesRemainFullyBackedAndBelongToTheirWallet\n[PASS] invariant_TransfersDonationsAndFailedBatchesCannotCreateOrMoveRights\n NativeCustodyInvariantsTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭----------------------+--------------+-------+---------+----------╮\n| Contract             | Selector     | Calls | Reverts | Discards |\n+==================================================================+\n| NativeCustodyHandler | donateTokens | 2759  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | failBatch    | 2697  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | forceEther   | 2770  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | tradeBatch   | 2699  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | transfer     | 2725  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | withdraw     | 2734  | 0       | 0        |\n╰----------------------+--------------+-------+---------+----------╯\n\n[PASS] test_HandlerTradesRejectsReentersAndDrainsWithoutTakingDonations() (gas: 5323166)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 19.71s (19.63s CPU time)\n\nRan 94 test suites in 20.37s (186.33s CPU time): 479 tests passed, 0 failed, 0 skipped (479 total tests)\n","passed":true},{"durationMs":993,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"ImdFeeVault.recordAccrual(uint256)\",\"ImdFeeVault.redeem()\",\"ImdFeeVault.unlockCallback(bytes)\",\"ImdFeeVault.withdraw()\",\"ImdFeeVault.withdrawDonations()\",\"ImdSampledUsdSource.sample()\",\"ImdV4UsdSource.submit((bytes,bytes[],bytes[],bytes[]))\",\"MerkleClaimEvidence.abandonSession(uint256)\",\"MerkleClaimEvidence.attest(uint256,address,uint256,bytes32[])\",\"MerkleClaimEvidence.certifyRound(uint256,address[],uint256[])\",\"MerkleClaimEvidence.reduce(uint256,uint256)\",\"MerkleClaimEvidence.submitLeaves(uint256,uint256,address[],uint256[])\",\"NftFeeVault.receive()\",\"NftFeeVault.recordAccrual(uint256)\",\"NftFeeVault.redeem()\",\"NftFeeVault.unlockCallback(bytes)\",\"NftFeeVault.withdraw()\",\"NftFeeVault.withdrawDonations()\",\"UnlkHook.afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHook.afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\",\"UnlkHook.afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHook.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"UnlkHook.beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHook.beforeInitialize(address,(address,address,uint24,int24,address),uint160)\",\"UnlkHook.beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHook.beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\",\"UnlkHook.configureAndActivate(address,address,address,uint64)\",\"UnlkHook.deployCompanions(uint64,address,bytes,bytes,bytes)\",\"UnlkHook.syncPayer()\",\"UnlkHook.syncRewards(address)\",\"UnlkHook.updateMilestone()\",\"UnlkHookV2.afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHookV2.afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\",\"UnlkHookV2.afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHookV2.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"UnlkHookV2.beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHookV2.beforeInitialize(address,(address,address,uint24,int24,address),uint160)\",\"UnlkHookV2.beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHookV2.beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\",\"UnlkHookV2.configureAndActivate(address,address,address,uint64)\",\"UnlkHookV2.deployCompanions(uint64,address,bytes[5])\",\"UnlkHookV2.syncPayer()\",\"UnlkHookV2.syncRewards(address)\",\"UnlkHookV2.updateMilestone()\",\"UnlkHookV3.afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHookV3.afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\",\"UnlkHookV3.afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHookV3.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"UnlkHookV3.beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHookV3.beforeInitialize(address,(address,address,uint24,int24,address),uint160)\",\"UnlkHookV3.beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHookV3.beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\",\"UnlkHookV3.configureAndActivate(address,address,uint64)\",\"UnlkHookV3.deployCompanions(uint64,address,bytes[4])\",\"UnlkHookV3.syncPayer()\",\"UnlkHookV3.syncRewards(address)\",\"UnlkHookV3.updateMilestone()\",\"UnlkImdHook.afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkImdHook.afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\",\"UnlkImdHook.afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkImdHook.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"UnlkImdHook.beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkImdHook.beforeInitialize(address,(address,address,uint24,int24,address),uint160)\",\"UnlkImdHook.beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkImdHook.beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\",\"UnlkImdHook.checkpoint()\",\"UnlkImdHook.configureAndActivate(address,address,uint64)\",\"UnlkImdHook.deployCompanions(uint64,address,bytes[4])\",\"UnlkImdHook.deployPriceSource(bytes,bytes)\",\"UnlkImdHook.syncPayer()\",\"UnlkImdHook.syncRewards(address)\",\"UnlkImdHook.updateMilestone()\",\"UnlkImdOracle.bind((address,address,uint24,int24,address),address,int24,int24)\",\"UnlkOracle.bind((address,address,uint24,int24,address),address,int24,int24)\",\"UnlkOracle.checkpoint()\",\"UnlkRouterV2.receive()\",\"UnlkRouterV2.swap((bool,int256,uint160,uint256,uint256,uint256))\",\"UnlkRouterV2.swapBatch((bool,int256,uint160,uint256,uint256,uint256)[])\",\"UnlkRouterV2.unlockCallback(bytes)\",\"UnlkRouterV2.withdrawNative()\",\"UnlkSwapRouter.receive()\",\"UnlkSwapRouter.swap((bool,int256,uint160,uint256,uint256,uint256))\",\"UnlkSwapRouter.swapBatch((bool,int256,uint160,uint256,uint256,uint256)[])\",\"UnlkSwapRouter.unlockCallback(bytes)\",\"UnlkSwapRouter.withdrawNative()\",\"UnlkToken.approve(address,uint256)\",\"UnlkToken.transfer(address,uint256)\",\"UnlkToken.transferFrom(address,address,uint256)\",\"WalletExecutor.recover(address)\",\"WalletExecutor.trade(bool,bool,uint128,uint128,uint256)\"],\"files\":{\".gitignore\":6,\"ADAPTATION.md\":29,\"DELIVERY.md\":103,\"DESIGN.md\":73,\"LICENSE\":25,\"MAINNET_DELIVERY.md\":7,\"README.md\":29,\"RELEASE_STATUS.json\":53,\"delivery/OPERATIONS.md\":112,\"delivery/PACKAGE_SHA256SUMS\":566,\"delivery/STATUS.json\":213,\"delivery/checks/abi-export.txt\":3,\"delivery/checks/artifact-export.txt\":3,\"delivery/checks/build.txt\":3,\"delivery/checks/current-block-fork.txt\":3,\"delivery/checks/extended-fork.txt\":3,\"delivery/checks/final-fmt.txt\":3,\"delivery/checks/final-integrity.txt\":3,\"delivery/checks/fmt.txt\":3,\"delivery/checks/historical-block-fork.txt\":3,\"delivery/checks/imd-launch.txt\":3,\"delivery/checks/integrity.txt\":3,\"delivery/checks/lint.txt\":3,\"delivery/checks/live-rpc.txt\":3,\"delivery/checks/minimal-environment.txt\":3,\"delivery/checks/protected.txt\":3,\"delivery/checks/release-gates.txt\":3,\"delivery/checks/reviewed-code.txt\":3,\"delivery/checks/revision-fmt.txt\":3,\"delivery/checks/revision-fork.txt\":3,\"delivery/checks/revision-protected.txt\":3,\"delivery/checks/revision-test.txt\":3,\"delivery/checks/rpc-tools.txt\":3,\"delivery/checks/saved-network.txt\":3,\"delivery/checks/signing-tools.txt\":3,\"delivery/checks/source-hashes.txt\":3,\"delivery/checks/test.txt\":3,\"delivery/checks/upstream-rehearsal-build.txt\":3,\"delivery/network/block.json\":1,\"delivery/network/capabilities.json\":345,\"delivery/network/current-job.json\":217,\"delivery/network/factory.runtime.hex\":1,\"delivery/network/feed-check.json\":21,\"delivery/network/feed.runtime.hex\":1,\"delivery/network/fees.runtime.hex\":1,\"delivery/network/fix-job.json\":104,\"delivery/network/http-results.json\":117,\"delivery/network/import-check-paths-request.json\":33,\"delivery/network/import-check-paths-response.json\":25,\"delivery/network/import-check-request.json\":15,\"delivery/network/import-check-response.json\":25,\"delivery/network/import-request.json\":5,\"delivery/network/import-response.json\":17,\"delivery/network/manager.runtime.hex\":1,\"delivery/network/openapi.json\":1383,\"delivery/network/platform-rebuild.json\":30,\"delivery/network/policies.json\":1430,\"delivery/network/preflight.json\":347,\"delivery/network/registry.runtime.hex\":1,\"delivery/network/rpc-access.json\":20,\"delivery/network/selected-policy.json\":34,\"delivery/network/services.json\":29,\"delivery/protected-inputs.json\":4,\"delivery/provenance.json\":25,\"delivery/rehearsal/RecordedSepolia.t.sol\":200,\"delivery/source-files.json\":2492,\"delivery/verify.py\":167,\"dependencies.lock.json\":24,\"dist-candidate/abi/IChainlinkEthUsd.json\":48,\"dist-candidate/abi/MerkleClaimEvidence.json\":461,\"dist-candidate/abi/MerkleDistributor.json\":451,\"dist-candidate/abi/UnlkHook.json\":1973,\"dist-candidate/abi/UnlkOracle.json\":443,\"dist-candidate/abi/UnlkSwapRouter.json\":359,\"dist-candidate/abi/UnlkToken.json\":425,\"dist-candidate/assets/app.css\":1,\"dist-candidate/assets/app.js\":150,\"dist-candidate/assets/jetbrains-mono-regular-DYCCJ225.woff2\":369,\"dist-candidate/assets/jetbrains-mono-semibold-MVL5K7GZ.woff2\":424,\"dist-candidate/evidence/allowance-vectors.json\":564,\"dist-candidate/evidence/browser-validation.json\":368,\"dist-candidate/evidence/build.txt\":21,\"dist-candidate/evidence/chain-verification.json\":158,\"dist-candidate/evidence/contrast.json\":197,\"dist-candidate/evidence/cross-language-tests.txt\":19,\"dist-candidate/evidence/design-probe.json\":183,\"dist-candidate/evidence/fork-validation.json\":53,\"dist-candidate/evidence/frontend-tests.txt\":79,\"dist-candidate/evidence/live-interactions.json\":154,\"dist-candidate/evidence/native-claim.json\":17,\"dist-candidate/evidence/publication.json\":16,\"dist-candidate/evidence/recovery-validation.json\":12,\"dist-candidate/evidence/round-0.json\":1,\"dist-candidate/evidence/rpc-check.json\":29,\"dist-candidate/evidence/submission-check.json\":21,\"dist-candidate/evidence/swap-math-vectors.json\":173,\"dist-candidate/evidence/test-results.txt\":206,\"dist-candidate/evidence/typecheck.txt\":8,\"dist-candidate/evidence/validation.md\":101,\"dist-candidate/evidence/wallet-validation.json\":14,\"dist-candidate/evidence/webkit-validation.json\":30,\"dist-candidate/favicon.svg\":1,\"dist-candidate/fonts/JetBrains-Mono-OFL.txt\":93,\"dist-candidate/index.html\":30,\"dist-candidate/share.png\":104,\"dist-candidate/share.svg\":14,\"dist-candidate/wallets/metamask.svg\":1,\"dist-candidate/wallets/phantom.svg\":1,\"dist-candidate/wallets/rabby.svg\":1,\"dist/abi/IChainlinkEthUsd.json\":48,\"dist/abi/MerkleClaimEvidence.json\":461,\"dist/abi/MerkleDistributor.json\":451,\"dist/abi/UnlkHook.json\":1973,\"dist/abi/UnlkOracle.json\":443,\"dist/abi/UnlkSwapRouter.json\":359,\"dist/abi/UnlkToken.json\":425,\"dist/assets/ccip-CJv6SR9J.js\":1,\"dist/assets/index-BDn4nz2S.js\":3,\"dist/assets/index-BkOFwGt7.css\":1,\"dist/assets/index-MshxxFjX.js\":93,\"dist/assets/jetbrains-mono-regular-CA-Os4ii.woff2\":369,\"dist/assets/jetbrains-mono-semibold-BjwzTi7v.woff2\":424,\"dist/evidence/allowance-vectors.json\":564,\"dist/evidence/browser-validation.json\":368,\"dist/evidence/build.txt\":21,\"dist/evidence/chain-verification.json\":158,\"dist/evidence/contrast.json\":197,\"dist/evidence/cross-language-tests.txt\":19,\"dist/evidence/design-probe.json\":183,\"dist/evidence/fork-validation.json\":53,\"dist/evidence/frontend-tests.txt\":79,\"dist/evidence/live-interactions.json\":154,\"dist/evidence/native-claim.json\":17,\"dist/evidence/publication.json\":16,\"dist/evidence/recovery-validation.json\":12,\"dist/evidence/round-0.json\":1,\"dist/evidence/rpc-check.json\":29,\"dist/evidence/submission-check.json\":21,\"dist/evidence/swap-math-vectors.json\":173,\"dist/evidence/test-results.txt\":206,\"dist/evidence/typecheck.txt\":8,\"dist/evidence/validation.md\":101,\"dist/evidence/wallet-validation.json\":14,\"dist/evidence/webkit-validation.json\":30,\"dist/favicon.svg\":1,\"dist/fonts/JetBrains-Mono-OFL.txt\":93,\"dist/index.html\":31,\"dist/share.png\":104,\"dist/share.svg\":14,\"dist/wallets/metamask.svg\":1,\"dist/wallets/phantom.svg\":1,\"dist/wallets/rabby.svg\":1,\"docs/ARTIFACTS.json\":64,\"docs/BUILD_RESULTS.txt\":3,\"docs/BYTECODE_COMPARISON_RESULTS.txt\":3,\"docs/DEPLOYMENT.md\":163,\"docs/ECONOMICS_RESULTS.txt\":3,\"docs/FMT_RESULTS.txt\":3,\"docs/FORK_RESULTS.txt\":3,\"docs/IMD_LAUNCH_CHECK_RESULTS.txt\":3,\"docs/LINT_RESULTS.txt\":3,\"docs/MINIMAL_ENV_TEST_RESULTS.txt\":3,\"docs/NETWORK_VERIFICATION_RESULTS.txt\":3,\"docs/PROTECTED_TEST_RESULTS.txt\":3,\"docs/RECOVERY.md\":65,\"docs/RELEASE_ARTIFACT_TEST_RESULTS.txt\":3,\"docs/REVISION_2026-10-13.md\":120,\"docs/SECURITY_REVIEW.md\":132,\"docs/SIZE_FIX.md\":150,\"docs/SOURCE_SHA256SUMS\":461,\"docs/SOURCE_VERIFICATION_RESULTS.txt\":3,\"docs/TEST_RESULTS.txt\":3,\"docs/VALIDATION.md\":135,\"docs/abi/CheckReleaseConfig.json\":46,\"docs/abi/HookDeployer.json\":94,\"docs/abi/IChainlinkEthUsd.json\":48,\"docs/abi/IClaimEvidence.json\":47,\"docs/abi/IHooks.json\":789,\"docs/abi/ILaunchFactoryView.json\":115,\"docs/abi/ILaunchRegistryView.json\":70,\"docs/abi/IMerkleDistributor.json\":125,\"docs/abi/IPoolManager.json\":1286,\"docs/abi/IRouteContext.json\":20,\"docs/abi/LaunchFactory.json\":896,\"docs/abi/LaunchFees.json\":323,\"docs/abi/LaunchRegistry.json\":320,\"docs/abi/MerkleClaimEvidence.json\":461,\"docs/abi/MerkleDistributor.json\":451,\"docs/abi/Stage2.json\":225,\"docs/abi/UnlkHook.json\":1973,\"docs/abi/UnlkOracle.json\":443,\"docs/abi/UnlkSwapRouter.json\":359,\"docs/abi/UnlkToken.json\":425,\"docs/admission-fix/EVIDENCE_SHA256SUMS\":53,\"docs/admission-fix/INDEPENDENT_REVIEW.md\":60,\"docs/admission-fix/REPORT.md\":95,\"docs/admission-fix/SOURCE_SHA256SUMS\":15,\"docs/admission-fix/STATUS.json\":153,\"docs/admission-fix/artifacts.txt\":1,\"docs/admission-fix/build.txt\":124,\"docs/admission-fix/format.txt\":0,\"docs/admission-fix/full-suite.txt\":1366,\"docs/admission-fix/import-history.json\":93,\"docs/admission-fix/imported-file-hashes.json\":11071,\"docs/admission-fix/imported-launch-manifest.json\":37,\"docs/admission-fix/imported-release-status.json\":81,\"docs/admission-fix/independent-review-tests.txt\":128,\"docs/admission-fix/initialization-after-fix.txt\":87,\"docs/admission-fix/initialization-before-fix.txt\":166,\"docs/admission-fix/lint-independent-bounds.txt\":75,\"docs/admission-fix/lint.txt\":246,\"docs/admission-fix/mainnet-fork.txt\":473,\"docs/admission-fix/manifest-repair/REPORT.md\":25,\"docs/admission-fix/manifest-repair/artifacts-before.json\":512,\"docs/admission-fix/manifest-repair/artifacts-initial-comparison.txt\":4,\"docs/admission-fix/manifest-repair/artifacts.txt\":4,\"docs/admission-fix/manifest-repair/build.txt\":1,\"docs/admission-fix/manifest-repair/format.txt\":0,\"docs/admission-fix/manifest-repair/full-suite.txt\":1183,\"docs/admission-fix/manifest-repair/manifest.txt\":2,\"docs/admission-fix/manifest-repair/python-artifacts.txt\":10,\"docs/admission-fix/manifest-repair/python-manifest.txt\":10,\"docs/admission-fix/manifest.txt\":1,\"docs/admission-fix/network-preflight.txt\":18,\"docs/admission-fix/network/current-job.json\":219,\"docs/admission-fix/network/import-request.json\":5,\"docs/admission-fix/network/import-response.json\":15,\"docs/admission-fix/network/job.json\":352,\"docs/admission-fix/network/launch-open-check-response.json\":1,\"docs/admission-fix/network/launch-open-request.json\":29,\"docs/admission-fix/network/launch.json\":656,\"docs/admission-fix/network/mainnet/capabilities.json\":1,\"docs/admission-fix/network/mainnet/policies.json\":1,\"docs/admission-fix/network/mainnet/preflight.json\":169,\"docs/admission-fix/network/mainnet/services.json\":1,\"docs/admission-fix/network/openapi.json\":1383,\"docs/admission-fix/network/owner-payer-verification.json\":42,\"docs/admission-fix/network/payment-receipt.json\":1,\"docs/admission-fix/network/payment-transaction.json\":1,\"docs/admission-fix/network/rpc-block-probe.json\":1,\"docs/admission-fix/production.patch\":30,\"docs/admission-fix/protected-after-fix.txt\":93,\"docs/admission-fix/protected-before-fix.txt\":95,\"docs/admission-fix/python-tests.txt\":10,\"docs/admission-fix/release-artifacts.json\":520,\"docs/candidate/ARTIFACTS.json\":58,\"docs/candidate/BUNDLE_SIZE.md\":30,\"docs/candidate/COMPATIBILITY.md\":65,\"docs/candidate/DEPENDENCIES.json\":2001,\"docs/candidate/DEPLOYMENT.md\":55,\"docs/candidate/ECONOMICS.md\":82,\"docs/candidate/SECURITY_REVIEW.md\":53,\"docs/candidate/STATUS.json\":15,\"docs/candidate/VALIDATION.md\":62,\"docs/candidate/abi/HookDeployerV2.json\":94,\"docs/candidate/abi/MerkleClaimEvidence.json\":461,\"docs/candidate/abi/NftFeeVault.json\":328,\"docs/candidate/abi/SetupVerifierV2.json\":36,\"docs/candidate/abi/UnlkHookV2.json\":2065,\"docs/candidate/abi/UnlkOracle.json\":443,\"docs/candidate/abi/UnlkRouterV2.json\":359,\"docs/candidate/abi/UnlkToken.json\":425,\"docs/candidate/all-tests.txt\":3,\"docs/candidate/build-results.txt\":3,\"docs/candidate/fmt-results.txt\":3,\"docs/candidate/fork-results.txt\":3,\"docs/candidate/frontend-build.txt\":3,\"docs/candidate/frontend-test-build.txt\":3,\"docs/candidate/frontend-tests.txt\":3,\"docs/candidate/frontend-types.txt\":3,\"docs/candidate/interfaces/deployed-Actions.sol.txt\":3,\"docs/candidate/interfaces/deployed-BaseActionsRouter.sol.txt\":3,\"docs/candidate/interfaces/deployed-Commands.sol.txt\":3,\"docs/candidate/interfaces/deployed-IUniswapV3PoolActions.sol.txt\":3,\"docs/candidate/interfaces/deployed-IUniswapV3PoolOwnerActions.sol.txt\":3,\"docs/candidate/interfaces/deployed-IV4Router.sol.txt\":3,\"docs/candidate/interfaces/deployed-V4Router.sol.txt\":3,\"docs/candidate/interfaces/deployed-V4SwapRouter.sol.txt\":3,\"docs/candidate/interfaces/universal-router-Commands.sol.txt\":3,\"docs/candidate/interfaces/universal-router-Dispatcher.sol.txt\":3,\"docs/candidate/interfaces/universal-router-UniversalRouter.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-Actions.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-BaseActionsRouter.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-BaseV4Quoter.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-DeltaResolver.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-IV4Router.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-V4Quoter.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-V4Router.sol.txt\":3,\"docs/candidate/invariant-results.txt\":3,\"docs/candidate/lint-results.txt\":3,\"docs/candidate/lint-summary.json\":13,\"docs/candidate/network/03vi_jvgsxpe2.evidence.json\":40,\"docs/candidate/network/03vi_jvgsxpe2.js\":3,\"docs/candidate/network/addresses.json\":10,\"docs/candidate/network/block.json\":274,\"docs/candidate/network/current-code-check.json\":28,\"docs/candidate/network/manager.runtime.hex\":1,\"docs/candidate/network/nft-collection.json\":1,\"docs/candidate/network/nft-inventory.json\":10,\"docs/candidate/network/nft-ownership.json\":21,\"docs/candidate/network/permit2.runtime.hex\":1,\"docs/candidate/network/quoter.runtime.hex\":1,\"docs/candidate/network/quoter.verified.json\":1,\"docs/candidate/network/router.runtime.hex\":1,\"docs/candidate/network/router.verified.json.xz\":223,\"docs/candidate/protected-results.txt\":3,\"docs/candidate/recorded-runtime-results.txt\":3,\"docs/candidate/release-gate-tests.txt\":3,\"docs/candidate/release-plan.json\":80,\"docs/candidate/router-fork-results.txt\":3,\"docs/candidate/setup-fork-results.txt\":3,\"docs/candidate/size-repair-build.txt\":3,\"docs/candidate/size-repair-bundle.txt\":3,\"docs/candidate/size-repair-contract-sizes.txt\":3,\"docs/candidate/size-repair-fmt.txt\":3,\"docs/candidate/size-repair-frontend-build.txt\":3,\"docs/candidate/size-repair-frontend-test-build.txt\":3,\"docs/candidate/size-repair-frontend-tests.txt\":3,\"docs/candidate/size-repair-preservation.txt\":3,\"docs/candidate/size-repair-tests.txt\":3,\"docs/candidate/sizes.txt\":3,\"docs/candidate/unit-results.txt\":3,\"docs/mainnet/ARTIFACTS.json\":512,\"docs/mainnet/DEPLOYMENT.md\":7,\"docs/mainnet/DESIGN.md\":44,\"docs/mainnet/INDEPENDENT_REVIEW.md\":59,\"docs/mainnet/ORACLE_EVIDENCE.md\":25,\"docs/mainnet/PROVENANCE.json\":22,\"docs/mainnet/SOURCE_SHA256SUMS\":73,\"docs/mainnet/SPOT_PRICE.md\":58,\"docs/mainnet/VALIDATION.md\":61,\"docs/mainnet/abi/ImdFeeVault.json\":366,\"docs/mainnet/abi/ImdSampledUsdSource.json\":355,\"docs/mainnet/abi/ImdSetupVerifier.json\":36,\"docs/mainnet/abi/ImdSpotUsdSource.json\":188,\"docs/mainnet/abi/ImdUsdSource.json\":184,\"docs/mainnet/abi/ImdV4UsdSource.json\":312,\"docs/mainnet/abi/MerkleClaimEvidence.json\":461,\"docs/mainnet/abi/UnlkImdHook.json\":2049,\"docs/mainnet/abi/UnlkImdOracle.json\":332,\"docs/mainnet/abi/UnlkToken.json\":425,\"docs/mainnet/abi/WalletExecutor.json\":116,\"docs/mainnet/artifact-check.txt\":3,\"docs/mainnet/browser-check.txt\":3,\"docs/mainnet/build.txt\":3,\"docs/mainnet/bundle-size.txt\":3,\"docs/mainnet/evidence-archives.json\":23,\"docs/mainnet/existing-checks.txt\":3,\"docs/mainnet/final-build.txt\":3,\"docs/mainnet/fmt-check.txt\":3,\"docs/mainnet/fork-tests.txt\":3,\"docs/mainnet/frontend-build.txt\":3,\"docs/mainnet/frontend-compile-tests.txt\":3,\"docs/mainnet/frontend-tests.txt\":3,\"docs/mainnet/frontend-typecheck.txt\":3,\"docs/mainnet/full-tests.txt\":3,\"docs/mainnet/historical-checks-unchanged.txt\":3,\"docs/mainnet/initial-build.txt\":3,\"docs/mainnet/lint.txt\":3,\"docs/mainnet/mainnet-tests.txt\":3,\"docs/mainnet/network/archive-access.json\":9,\"docs/mainnet/network/block-number.txt\":3,\"docs/mainnet/network/capabilities.json\":1,\"docs/mainnet/network/deployer.runtime.hex\":1,\"docs/mainnet/network/explorer-encoding.json\":28,\"docs/mainnet/network/factory.verified.json.xz\":166,\"docs/mainnet/network/feed-fees.json\":12,\"docs/mainnet/network/imd-markets.json\":1,\"docs/mainnet/network/imd-weth-v3-discovery.json\":21,\"docs/mainnet/network/imd-weth-v3.json\":42,\"docs/mainnet/network/imd-weth-v3.runtime.hex\":1,\"docs/mainnet/network/imd.verified.json.xz\":120,\"docs/mainnet/network/mainnet.json\":63,\"docs/mainnet/network/manager-interface.json\":1366,\"docs/mainnet/network/permit2-interface.json\":901,\"docs/mainnet/network/policies.json\":1,\"docs/mainnet/network/quoter-interface.json\":637,\"docs/mainnet/network/router-interface.json\":443,\"docs/mainnet/network/services.json\":1,\"docs/mainnet/network/source-verification.json\":15,\"docs/mainnet/network/standard-source-verification.json\":302,\"docs/mainnet/new-source-fmt.txt\":3,\"docs/mainnet/pin-build.txt\":3,\"docs/mainnet/preparation-tests.txt\":3,\"docs/mainnet/preserved-paths.txt\":3,\"docs/mainnet/protected-checks.txt\":3,\"docs/mainnet/recorded-verification.txt\":3,\"docs/mainnet/release-plan.json\":146,\"docs/mainnet/release/OPERATIONS.md\":47,\"docs/mainnet/release/REVIEW.md\":31,\"docs/mainnet/release/STATUS.json\":153,\"docs/mainnet/release/VALIDATION.md\":62,\"docs/mainnet/release/abi/PrepareImdLaunch.json\":361,\"docs/mainnet/release/abi/PrepareOwnerTransactions.json\":351,\"docs/mainnet/release/checks/archived-runtime.txt\":13,\"docs/mainnet/release/checks/artifacts.txt\":1,\"docs/mainnet/release/checks/forge-build.txt\":113,\"docs/mainnet/release/checks/forge-test-all.txt\":1034,\"docs/mainnet/release/checks/forge-test-submission.txt\":1142,\"docs/mainnet/release/checks/manifest.txt\":1,\"docs/mainnet/release/checks/protocol-regressions.txt\":75,\"docs/mainnet/release/checks/python-artifacts.txt\":10,\"docs/mainnet/release/checks/python-manifest.txt\":8,\"docs/mainnet/release/checks/recorded-block-fork.txt\":473,\"docs/mainnet/release/imported-sepolia-manifest.json\":35,\"docs/mainnet/release/native-distributor-artifact.json\":16,\"docs/mainnet/release/network/actual-launch-body.json\":26,\"docs/mainnet/release/network/actual-request-check-response.json\":72,\"docs/mainnet/release/network/actual-request-check.json\":29,\"docs/mainnet/release/network/capabilities.json\":1,\"docs/mainnet/release/network/current-job.json\":94,\"docs/mainnet/release/network/import-request.json\":5,\"docs/mainnet/release/network/import-response.json\":17,\"docs/mainnet/release/network/owner-payer-verification.json\":23,\"docs/mainnet/release/network/payment-record.json\":1,\"docs/mainnet/release/network/policies.json\":1,\"docs/mainnet/release/network/preflight.json\":169,\"docs/mainnet/release/network/services.json\":1,\"docs/mainnet/release/preservation.json\":33,\"docs/mainnet/release/protected-admission.txt\":5,\"docs/mainnet/release/source-import.json\":7,\"docs/mainnet/revision/ARCHIVES.md\":7,\"docs/mainnet/revision/H-01.md\":48,\"docs/mainnet/revision/ORACLE.md\":70,\"docs/mainnet/revision/PROVENANCE.json\":8,\"docs/mainnet/revision/READINESS.md\":58,\"docs/mainnet/revision/README.pre-revision.md\":42,\"docs/mainnet/revision/SAMPLED_ORACLE.md\":124,\"docs/mainnet/revision/SAMPLED_SOURCE_SHA256SUMS\":104,\"docs/mainnet/revision/SOURCE_SHA256SUMS\":94,\"docs/mainnet/revision/STATUS.json\":54,\"docs/mainnet/revision/alternative-feed.json\":75,\"docs/mainnet/revision/artifacts.txt\":3,\"docs/mainnet/revision/browser.txt\":3,\"docs/mainnet/revision/build-final.txt\":3,\"docs/mainnet/revision/bundle-size.txt\":3,\"docs/mainnet/revision/contract-sizes.txt\":3,\"docs/mainnet/revision/dependencies.txt\":3,\"docs/mainnet/revision/economics-tests.txt\":3,\"docs/mainnet/revision/fmt-check.txt\":3,\"docs/mainnet/revision/fork-tests.txt\":3,\"docs/mainnet/revision/frontend-build.txt\":3,\"docs/mainnet/revision/frontend-compile.txt\":3,\"docs/mainnet/revision/frontend-tests.txt\":3,\"docs/mainnet/revision/frontend-typecheck.txt\":3,\"docs/mainnet/revision/full-tests.txt\":3,\"docs/mainnet/revision/historical-artifact-check.txt\":3,\"docs/mainnet/revision/historical-code-pins.txt\":3,\"docs/mainnet/revision/historical-network.txt\":3,\"docs/mainnet/revision/historical-release-tests.txt\":3,\"docs/mainnet/revision/integrity.txt\":3,\"docs/mainnet/revision/lint.txt\":3,\"docs/mainnet/revision/mainnet-tests.txt\":3,\"docs/mainnet/revision/market-evidence.json\":497,\"docs/mainnet/revision/preservation.txt\":3,\"docs/mainnet/revision/proof-tool-check.txt\":3,\"docs/mainnet/revision/protected.txt\":3,\"docs/mainnet/revision/quota-tests.txt\":3,\"docs/mainnet/revision/recorded-runtime-checks.txt\":3,\"docs/mainnet/revision/sampled-fork-test.txt\":3,\"docs/mainnet/revision/sampled-full-tests.txt\":3,\"docs/mainnet/revision/sampled-spot-evidence.json\":35,\"docs/mainnet/revision/unsigned-proof-commitment.json\":8,\"docs/mainnet/source-build.txt\":3,\"docs/mainnet/source-integrity.txt\":3,\"docs/mainnet/spot-results/forge-test-summary.txt\":79,\"docs/mainnet/spot-results/recorded-block-fork.txt\":413,\"docs/mainnet/swaps-test.txt\":3,\"docs/network/capabilities.json\":345,\"docs/network/factory-artifacts.json.xz\":55,\"docs/network/factory-reference.json.xz\":180,\"docs/network/factory.runtime.hex\":1,\"docs/network/feed-reference.json\":67,\"docs/network/feed-rounds.json\":134,\"docs/network/feed.runtime.hex\":1,\"docs/network/fees.runtime.hex\":1,\"docs/network/job-identity.json\":14,\"docs/network/manager.runtime.hex\":1,\"docs/network/policies.json\":36,\"docs/network/registry-reference.json\":108,\"docs/network/registry.runtime.hex\":1,\"docs/network/sepolia.json\":309,\"docs/network/services.json\":29,\"docs/network/size-fix-status.json\":126,\"docs/provenance/README.pinned.md\":241,\"docs/provenance/periphery-head.json\":113,\"docs/provenance/sealed-source.json\":21,\"docs/provenance/source-commits.json\":517,\"docs/provenance/source.json\":15,\"docs/provenance/universal-router-head.json\":125,\"docs/successor/ARTIFACTS.json\":36,\"docs/successor/DEPLOYMENT.md\":48,\"docs/successor/DESIGN.md\":161,\"docs/successor/SECURITY_REVIEW.md\":36,\"docs/successor/abi/UnlkHookV3.json\":2065,\"docs/successor/fork-results.txt\":3,\"docs/successor/release-plan.json\":109,\"docs/successor/test-results.txt\":3,\"docs/unlock-gates/ARCHIVES.md\":18,\"docs/unlock-gates/DEPLOYMENT.md\":62,\"docs/unlock-gates/DESIGN.md\":74,\"docs/unlock-gates/HANDOFF.md\":83,\"docs/unlock-gates/INDEPENDENT_REVIEW.md\":50,\"docs/unlock-gates/PROVENANCE.json\":33,\"docs/unlock-gates/SOURCE_SHA256SUMS\":120,\"docs/unlock-gates/STATUS.json\":97,\"docs/unlock-gates/checks/abi-export.txt\":1,\"docs/unlock-gates/checks/archive-access-attempt.txt\":6,\"docs/unlock-gates/checks/archive-alternative-drpc.txt\":1,\"docs/unlock-gates/checks/archive-alternative-llama.txt\":3,\"docs/unlock-gates/checks/archives.txt\":3,\"docs/unlock-gates/checks/artifacts-final.txt\":1,\"docs/unlock-gates/checks/browser-attempt.txt\":21,\"docs/unlock-gates/checks/build-final.txt\":1,\"docs/unlock-gates/checks/bundle-size.txt\":3,\"docs/unlock-gates/checks/dependencies.txt\":1,\"docs/unlock-gates/checks/fmt-final.txt\":0,\"docs/unlock-gates/checks/frontend-build.txt\":14,\"docs/unlock-gates/checks/frontend-test-build-final.txt\":23,\"docs/unlock-gates/checks/frontend-tests-final.txt\":200,\"docs/unlock-gates/checks/frontend-typecheck-final.txt\":2,\"docs/unlock-gates/checks/full-tests-final.txt\":968,\"docs/unlock-gates/checks/historical-candidate-pins.txt\":1,\"docs/unlock-gates/checks/historical-code-pins.txt\":1,\"docs/unlock-gates/checks/historical-network.txt\":7,\"docs/unlock-gates/checks/lint-final.txt\":254,\"docs/unlock-gates/checks/mainnet-fork-archive-replay.txt\":176,\"docs/unlock-gates/checks/mainnet-fork-final.txt\":176,\"docs/unlock-gates/checks/network-current-head.txt\":18,\"docs/unlock-gates/checks/network-rerun-archive-denied.txt\":72,\"docs/unlock-gates/checks/protected-attempt.txt\":7,\"docs/unlock-gates/checks/recorded-runtime-integrity.txt\":13,\"docs/unlock-gates/checks/release-tests-final.txt\":10,\"docs/unlock-gates/checks/source-integrity.txt\":120,\"docs/unlock-gates/checks/wallet-browser-attempt.txt\":21,\"docs/unlock-gates/historical-checks.json\":854,\"docs/unlock-gates/historical-checks.tar.xz\":200,\"docs/unlock-gates/historical-json.json\":16,\"docs/unlock-gates/network/capabilities.json\":1,\"docs/unlock-gates/network/explorer-encoding.json\":23,\"docs/unlock-gates/network/policies.json\":1,\"docs/unlock-gates/network/preflight.json\":169,\"docs/unlock-gates/network/rehearsal-preflight.json\":169,\"docs/unlock-gates/network/services.json\":1,\"foundry.toml\":31,\"launch.json\":37,\"rehearsal/Sepolia.t.sol\":112,\"rehearsal/candidate/RouterFork.t.sol\":10,\"rehearsal/candidate/SetupFork.t.sol\":127,\"rehearsal/mainnet/MainnetFork.t.sol\":67,\"rehearsal/mainnet/SampledSourceRehearsal.t.sol\":36,\"rehearsal/mainnet/V4OracleRehearsal.t.sol\":102,\"rehearsal/successor/SuccessorFork.t.sol\":20,\"rehearsal/successor/SuccessorSetupFork.t.sol\":108,\"rehearsal/unlock-gates/MainnetHandoff.t.sol\":250,\"remappings.txt\":4,\"script/CheckReleaseConfig.s.sol\":85,\"script/LocalDemo.s.sol\":41,\"script/Stage2.s.sol\":98,\"script/candidate/PrepareCandidate.s.sol\":105,\"script/mainnet/PrepareImd.s.sol\":106,\"script/mainnet/PrepareImdLaunch.s.sol\":188,\"script/mainnet/PrepareOwnerTransactions.s.sol\":192,\"script/successor/PrepareSuccessor.s.sol\":96,\"scripts/candidate/artifacts.py\":32,\"scripts/candidate/bundle-size.py\":52,\"scripts/candidate/check-protected.py\":43,\"scripts/candidate/check.sh\":16,\"scripts/candidate/dependencies.py\":33,\"scripts/candidate/fork.sh\":16,\"scripts/candidate/mine.mjs\":18,\"scripts/candidate/pin.py\":16,\"scripts/check.sh\":12,\"scripts/check_protected.py\":44,\"scripts/export_abis.py\":34,\"scripts/generate_code_checks.py\":22,\"scripts/mainnet/artifacts.py\":44,\"scripts/mainnet/check-manifest.py\":48,\"scripts/mainnet/fork.sh\":21,\"scripts/mainnet/market-evidence.py\":38,\"scripts/mainnet/mine.mjs\":19,\"scripts/mainnet/oracle-proof.py\":70,\"scripts/mainnet/proof-fixture.py\":33,\"scripts/mainnet/record-admission-network.py\":108,\"scripts/mainnet/rehearse-admission.sh\":22,\"scripts/mainnet/verify.py\":46,\"scripts/mine-hook.sh\":9,\"scripts/prepare_claim_tree.py\":37,\"scripts/rehearse-sepolia.sh\":4,\"scripts/release_artifacts.py\":56,\"scripts/successor/fork.sh\":10,\"scripts/successor/mine.mjs\":18,\"scripts/unlock-gates/check-archives.py\":35,\"scripts/unlock-gates/check.sh\":16,\"scripts/unlock-gates/fork.sh\":22,\"scripts/unlock-gates/record-network.py\":108,\"scripts/verify_network.py\":47,\"src/HookDeployer.sol\":37,\"src/HookFlags.sol\":45,\"src/MerkleClaimEvidence.sol\":200,\"src/UnlkHook.sol\":725,\"src/UnlkOracle.sol\":190,\"src/UnlkSwapRouter.sol\":242,\"src/UnlkToken.sol\":42,\"src/candidate/HookDeployerV2.sol\":37,\"src/candidate/NativeFeeMath.sol\":23,\"src/candidate/NftFeeVault.sol\":115,\"src/candidate/ReviewedCodeV2.sol\":12,\"src/candidate/SetupVerifierV2.sol\":125,\"src/candidate/UnlkHookV2.sol\":701,\"src/candidate/UnlkRouterV2.sol\":275,\"src/interfaces/IIntegration.sol\":88,\"src/libraries/OperationHash.sol\":15,\"src/libraries/ReviewedCode.sol\":10,\"src/libraries/SeedDepth.sol\":41,\"src/libraries/SepoliaRelease.sol\":11,\"src/mainnet/BlockState.sol\":62,\"src/mainnet/ImdFeeVault.sol\":122,\"src/mainnet/ImdReviewedCode.sol\":13,\"src/mainnet/ImdSampledUsdSource.sol\":206,\"src/mainnet/ImdSeedDepth.sol\":35,\"src/mainnet/ImdSetupVerifier.sol\":134,\"src/mainnet/ImdSpotMath.sol\":72,\"src/mainnet/ImdSpotUsdSource.sol\":92,\"src/mainnet/ImdUsdSource.sol\":120,\"src/mainnet/ImdV4UsdSource.sol\":164,\"src/mainnet/MainnetPins.sol\":24,\"src/mainnet/StateProof.sol\":171,\"src/mainnet/UnlkImdHook.sol\":727,\"src/mainnet/UnlkImdOracle.sol\":111,\"src/mainnet/WalletExecutor.sol\":94,\"src/successor/SuccessorFeeMath.sol\":34,\"src/successor/UnlkHookV3.sol\":731,\"test/ADDITIONAL_COVERAGE.md\":94,\"test/ActivationRobustness.t.sol\":303,\"test/Adversarial.t.sol\":117,\"test/BatchSettlementProperties.t.sol\":272,\"test/ClaimLifecycleInvariants.t.sol\":444,\"test/CreditsAndFees.t.sol\":180,\"test/EvidenceAndOracleProperties.t.sol\":349,\"test/FailurePaths.t.sol\":581,\"test/FeeCustodyProperties.t.sol\":454,\"test/HookDeployer.t.sol\":98,\"test/Invariants.t.sol\":220,\"test/Launch.t.sol\":112,\"test/LocalScript.t.sol\":28,\"test/ManipulationEconomics.t.sol\":117,\"test/NativeCustodyInvariants.t.sol\":296,\"test/NativeLaunch.t.sol\":236,\"test/Oracle.t.sol\":422,\"test/QuotaInvariants.t.sol\":529,\"test/ReleaseConfig.t.sol\":32,\"test/RevisionProperties.t.sol\":593,\"test/SecurityRegression.t.sol\":337,\"test/SeedBoundary.t.sol\":94,\"test/SeedRangeLimitProperties.t.sol\":599,\"test/SepoliaPins.t.sol\":180,\"test/Stage2Script.t.sol\":62,\"test/StageOneInvariants.t.sol\":281,\"test/TESTING_ADDITIONS.md\":136,\"test/TokenLedgerProperties.t.sol\":310,\"test/Trading.t.sol\":171,\"test/TwoStage.t.sol\":302,\"test/candidate/Adversarial.t.sol\":102,\"test/candidate/CandidateFixture.sol\":382,\"test/candidate/Fees.t.sol\":285,\"test/candidate/QuotaInvariants.t.sol\":554,\"test/candidate/Quoter.t.sol\":134,\"test/candidate/SetupScript.t.sol\":45,\"test/candidate/TiersAndSetup.t.sol\":148,\"test/compatibility/RecordedRouter.t.sol\":316,\"test/compatibility/RecordedRuntime.sol\":22,\"test/fixtures/LocalFixtures.sol\":59,\"test/fixtures/SepoliaRuntime.sol\":28,\"test/fixtures/SystemFixture.sol\":372,\"test/imd/HookFlags.sol\":45,\"test/imd/LaunchFactory.sol\":375,\"test/imd/LaunchFees.sol\":73,\"test/imd/LaunchRegistry.sol\":109,\"test/imd/MerkleDistributor.sol\":181,\"test/imd/PoolFees.sol\":220,\"test/imd/README.md\":29,\"test/mainnet/ExternalSpotTouch.t.sol\":166,\"test/mainnet/ImdAuthentication.t.sol\":41,\"test/mainnet/ImdFeeMath.t.sol\":32,\"test/mainnet/ImdFixture.sol\":497,\"test/mainnet/ImdLaunchPlan.t.sol\":145,\"test/mainnet/ImdMultihop.t.sol\":93,\"test/mainnet/ImdOracle.t.sol\":102,\"test/mainnet/ImdPermitAndBatch.t.sol\":134,\"test/mainnet/ImdPreparation.t.sol\":96,\"test/mainnet/ImdSetup.t.sol\":57,\"test/mainnet/ImdSwaps.t.sol\":150,\"test/mainnet/ImdTreasuryFailurePaths.t.sol\":218,\"test/mainnet/InitializationAdmission.t.sol\":238,\"test/mainnet/MainnetRuntime.sol\":41,\"test/mainnet/MockImdMarket.sol\":64,\"test/mainnet/OneWayGates.t.sol\":413,\"test/mainnet/OwnerTransactions.t.sol\":176,\"test/mainnet/ProtocolFees.t.sol\":104,\"test/mainnet/QuotaMitigation.t.sol\":270,\"test/mainnet/QuotaMitigationInvariants.t.sol\":136,\"test/mainnet/SPOT_TEST_COVERAGE.md\":80,\"test/mainnet/SampledOracle.t.sol\":425,\"test/mainnet/ServiceAttestation.t.sol\":93,\"test/mainnet/SharedExecutorReview.t.sol\":72,\"test/mainnet/SpotArithmeticProperties.t.sol\":118,\"test/mainnet/SpotCustodyInvariants.t.sol\":560,\"test/mainnet/SpotFailureIsolation.t.sol\":193,\"test/mainnet/SpotIntegrationFixture.sol\":64,\"test/mainnet/SpotMath.t.sol\":466,\"test/mainnet/SpotOracle.t.sol\":209,\"test/mainnet/V4Activation.t.sol\":122,\"test/mainnet/V4OracleProof.t.sol\":318,\"test/mainnet/V4StateEvidence.sol\":66,\"test/mocks/MockERC20.sol\":11,\"test/results/build.txt\":8,\"test/results/foundry-tests.txt\":450,\"test/results/protected-checks.txt\":22,\"test/results/release-checks.txt\":18,\"test/successor/SetupScript.t.sol\":46,\"test/successor/Successor.t.sol\":432,\"test/successor/SuccessorFixture.sol\":494,\"test/successor/SuccessorInvariants.t.sol\":205,\"test/test_mainnet_manifest.py\":69,\"test/test_release_artifacts.py\":96,\"web/NOTICE.md\":7,\"web/index.html\":30,\"web/licenses/design-guidance.txt\":220,\"web/package-lock.json\":2197,\"web/package.json\":33,\"web/public/abi/IChainlinkEthUsd.json\":48,\"web/public/abi/MerkleClaimEvidence.json\":461,\"web/public/abi/MerkleDistributor.json\":451,\"web/public/abi/UnlkHook.json\":1973,\"web/public/abi/UnlkOracle.json\":443,\"web/public/abi/UnlkSwapRouter.json\":359,\"web/public/abi/UnlkToken.json\":425,\"web/public/evidence/allowance-vectors.json\":564,\"web/public/evidence/browser-validation.json\":368,\"web/public/evidence/build.txt\":21,\"web/public/evidence/chain-verification.json\":158,\"web/public/evidence/contrast.json\":197,\"web/public/evidence/cross-language-tests.txt\":19,\"web/public/evidence/design-probe.json\":183,\"web/public/evidence/fork-validation.json\":53,\"web/public/evidence/frontend-tests.txt\":79,\"web/public/evidence/live-interactions.json\":154,\"web/public/evidence/native-claim.json\":17,\"web/public/evidence/publication.json\":16,\"web/public/evidence/recovery-validation.json\":12,\"web/public/evidence/round-0.json\":1,\"web/public/evidence/rpc-check.json\":29,\"web/public/evidence/submission-check.json\":21,\"web/public/evidence/swap-math-vectors.json\":173,\"web/public/evidence/test-results.txt\":206,\"web/public/evidence/typecheck.txt\":8,\"web/public/evidence/validation.md\":101,\"web/public/evidence/wallet-validation.json\":14,\"web/public/evidence/webkit-validation.json\":30,\"web/public/favicon.svg\":1,\"web/public/fonts/JetBrains-Mono-OFL.txt\":93,\"web/public/share.png\":104,\"web/public/share.svg\":14,\"web/public/wallets/metamask.svg\":1,\"web/public/wallets/phantom.svg\":1,\"web/public/wallets/rabby.svg\":1,\"web/scripts/build-offline.mjs\":38,\"web/scripts/check-allowance-math.ts\":72,\"web/scripts/check-browser.mjs\":345,\"web/scripts/check-fork.mjs\":477,\"web/scripts/check-recovery.mjs\":196,\"web/scripts/check-swap-math.ts\":50,\"web/scripts/check-wallet.mjs\":319,\"web/scripts/check-webkit.mjs\":141,\"web/scripts/inspect-claim.ts\":22,\"web/scripts/prepare-toolchain.mjs\":28,\"web/scripts/typecheck-offline.mjs\":15,\"web/scripts/verify-chain.ts\":281,\"web/scripts/verify-live-interactions.ts\":137,\"web/src/App.tsx\":123,\"web/src/NextRelease.tsx\":94,\"web/src/NftGallery.tsx\":90,\"web/src/Rewards.tsx\":615,\"web/src/Terminal.tsx\":356,\"web/src/Trade.tsx\":699,\"web/src/Unlock.tsx\":171,\"web/src/abis/IChainlinkEthUsd.json\":22,\"web/src/abis/MerkleClaimEvidence.json\":275,\"web/src/abis/MerkleDistributor.json\":263,\"web/src/abis/UnlkHook.json\":1193,\"web/src/abis/UnlkOracle.json\":255,\"web/src/abis/UnlkSwapRouter.json\":232,\"web/src/abis/UnlkToken.json\":233,\"web/src/assets/fonts/jetbrains-mono-regular.woff2\":369,\"web/src/assets/fonts/jetbrains-mono-semibold.woff2\":424,\"web/src/candidate.ts\":62,\"web/src/candidateReader.ts\":71,\"web/src/charts.tsx\":542,\"web/src/components.tsx\":159,\"web/src/config.ts\":81,\"web/src/data.tsx\":146,\"web/src/indexer.ts\":322,\"web/src/live.ts\":423,\"web/src/main.tsx\":41,\"web/src/mainnet.ts\":23,\"web/src/mainnetReader.ts\":87,\"web/src/mainnetSwap.ts\":32,\"web/src/math.ts\":220,\"web/src/nftInventory.ts\":25,\"web/src/nftSafety.ts\":82,\"web/src/pages.tsx\":1078,\"web/src/rewards.ts\":94,\"web/src/spotPrice.ts\":93,\"web/src/storage.ts\":24,\"web/src/styles.css\":2343,\"web/src/verified.json\":77,\"web/src/wallet.tsx\":676,\"web/tests/candidate.test.ts\":121,\"web/tests/mainnet.test.ts\":58,\"web/tests/math.test.ts\":210,\"web/tests/spot.test.ts\":42,\"web/tsconfig.json\":18,\"web/tsconfig.offline.json\":42,\"web/vendor/README.md\":26,\"web/vendor/esbuild-wasm/LICENSE.md\":21,\"web/vendor/esbuild-wasm/README.md\":3,\"web/vendor/esbuild-wasm/bin/esbuild\":91,\"web/vendor/esbuild-wasm/esbuild.wasm.br\":8524,\"web/vendor/esbuild-wasm/lib/main.d.ts\":716,\"web/vendor/esbuild-wasm/lib/main.js\":2047,\"web/vendor/esbuild-wasm/package.json\":19,\"web/vendor/esbuild-wasm/wasm_exec.js\":561,\"web/vendor/esbuild-wasm/wasm_exec_node.js\":39,\"web/vendor/licenses/buffer-6.0.3.txt\":21,\"web/vendor/licenses/clsx-1.2.1.txt\":9,\"web/vendor/licenses/eventemitter3-5.0.1.txt\":21,\"web/vendor/licenses/ieee754-1.2.1.txt\":11,\"web/vendor/licenses/isows-1.0.7.txt\":21,\"web/vendor/licenses/noble_curves-1.9.1.txt\":21,\"web/vendor/licenses/noble_hashes-1.8.0.txt\":21,\"web/vendor/licenses/ox-0.9.6.txt\":21,\"web/vendor/licenses/preact-10.24.2.txt\":21,\"web/vendor/licenses/provenance.json\":107,\"web/vendor/licenses/react-19.1.1.txt\":21,\"web/vendor/licenses/react-dom-19.1.1.txt\":21,\"web/vendor/licenses/scheduler-0.26.0.txt\":21,\"web/vendor/licenses/scure_bip32-1.7.0.txt\":21,\"web/vendor/licenses/scure_bip39-1.6.0.txt\":21,\"web/vendor/licenses/ws-8.18.3.txt\":20,\"web/vendor/runtime/16296a5ca250926751e3.mjs\":14,\"web/vendor/runtime/5c6113df38c00955dc88.mjs\":48,\"web/vendor/runtime/79686c7ff29c42b4482b.mjs\":16,\"web/vendor/runtime/ab03d5bbf1867256af7c.mjs\":16,\"web/vendor/runtime/bfd99eb87afaf129b7b9.mjs\":13,\"web/vendor/runtime/c5e656ecf7fbe34e412c.mjs\":61,\"web/vendor/runtime/lock.json\":47,\"web/vendor/toolchain.json\":18,\"web/vendor/types/abitype/LICENSE\":21,\"web/vendor/types/abitype/abis/package.json\":5,\"web/vendor/types/abitype/dist/cjs/package.json\":1,\"web/vendor/types/abitype/dist/esm/package.json\":1,\"web/vendor/types/abitype/dist/types/abi.d.ts\":140,\"web/vendor/types/abitype/dist/types/abis/human-readable.d.ts\":43,\"web/vendor/types/abitype/dist/types/abis/json.d.ts\":3958,\"web/vendor/types/abitype/dist/types/errors.d.ts\":19,\"web/vendor/types/abitype/dist/types/exports/abis.d.ts\":3,\"web/vendor/types/abitype/dist/types/exports/index.d.ts\":20,\"web/vendor/types/abitype/dist/types/exports/zod.d.ts\":2,\"web/vendor/types/abitype/dist/types/human-readable/errors/abiItem.d.ts\":20,\"web/vendor/types/abitype/dist/types/human-readable/errors/abiParameter.d.ts\":53,\"web/vendor/types/abitype/dist/types/human-readable/errors/signature.d.ts\":22,\"web/vendor/types/abitype/dist/types/human-readable/errors/splitParameters.d.ts\":9,\"web/vendor/types/abitype/dist/types/human-readable/errors/struct.d.ts\":8,\"web/vendor/types/abitype/dist/types/human-readable/formatAbi.d.ts\":19,\"web/vendor/types/abitype/dist/types/human-readable/formatAbiItem.d.ts\":23,\"web/vendor/types/abitype/dist/types/human-readable/formatAbiParameter.d.ts\":49,\"web/vendor/types/abitype/dist/types/human-readable/formatAbiParameters.d.ts\":40,\"web/vendor/types/abitype/dist/types/human-readable/parseAbi.d.ts\":38,\"web/vendor/types/abitype/dist/types/human-readable/parseAbiItem.d.ts\":44,\"web/vendor/types/abitype/dist/types/human-readable/parseAbiParameter.d.ts\":49,\"web/vendor/types/abitype/dist/types/human-readable/parseAbiParameters.d.ts\":63,\"web/vendor/types/abitype/dist/types/human-readable/runtime/cache.d.ts\":18,\"web/vendor/types/abitype/dist/types/human-readable/runtime/signatures.d.ts\":39,\"web/vendor/types/abitype/dist/types/human-readable/runtime/structs.d.ts\":3,\"web/vendor/types/abitype/dist/types/human-readable/runtime/utils.d.ts\":205,\"web/vendor/types/abitype/dist/types/human-readable/types/signatures.d.ts\":38,\"web/vendor/types/abitype/dist/types/human-readable/types/structs.d.ts\":48,\"web/vendor/types/abitype/dist/types/human-readable/types/utils.d.ts\":161,\"web/vendor/types/abitype/dist/types/narrow.d.ts\":24,\"web/vendor/types/abitype/dist/types/regex.d.ts\":5,\"web/vendor/types/abitype/dist/types/register.d.ts\":149,\"web/vendor/types/abitype/dist/types/types.d.ts\":151,\"web/vendor/types/abitype/dist/types/utils.d.ts\":234,\"web/vendor/types/abitype/dist/types/version.d.ts\":2,\"web/vendor/types/abitype/dist/types/zod.d.ts\":534,\"web/vendor/types/abitype/package.json\":80,\"web/vendor/types/abitype/zod/package.json\":5,\"web/vendor/types/coinbase/LICENSE\":13,\"web/vendor/types/coinbase/dist/CoinbaseWalletProvider.d.ts\":16,\"web/vendor/types/coinbase/dist/CoinbaseWalletSDK.d.ts\":24,\"web/vendor/types/coinbase/dist/assets/wallet-logo.d.ts\":3,\"web/vendor/types/coinbase/dist/core/communicator/Communicator.d.ts\":47,\"web/vendor/types/coinbase/dist/core/constants.d.ts\":5,\"web/vendor/types/coinbase/dist/core/error/constants.d.ts\":96,\"web/vendor/types/coinbase/dist/core/error/errors.d.ts\":48,\"web/vendor/types/coinbase/dist/core/error/serialize.d.ts\":13,\"web/vendor/types/coinbase/dist/core/error/utils.d.ts\":31,\"web/vendor/types/coinbase/dist/core/message/ConfigMessage.d.ts\":7,\"web/vendor/types/coinbase/dist/core/message/Message.d.ts\":8,\"web/vendor/types/coinbase/dist/core/message/RPCMessage.d.ts\":30,\"web/vendor/types/coinbase/dist/core/message/RPCRequest.d.ts\":6,\"web/vendor/types/coinbase/dist/core/message/RPCResponse.d.ts\":15,\"web/vendor/types/coinbase/dist/core/provider/interface.d.ts\":70,\"web/vendor/types/coinbase/dist/core/storage/ScopedLocalStorage.d.ts\":14,\"web/vendor/types/coinbase/dist/core/type/index.d.ts\":19,\"web/vendor/types/coinbase/dist/core/type/util.d.ts\":29,\"web/vendor/types/coinbase/dist/createCoinbaseWalletProvider.d.ts\":8,\"web/vendor/types/coinbase/dist/createCoinbaseWalletSDK.d.ts\":13,\"web/vendor/types/coinbase/dist/index.d.ts\":7,\"web/vendor/types/coinbase/dist/sdk-info.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/interface.d.ts\":7,\"web/vendor/types/coinbase/dist/sign/scw/SCWKeyManager.d.ts\":16,\"web/vendor/types/coinbase/dist/sign/scw/SCWSigner.d.ts\":34,\"web/vendor/types/coinbase/dist/sign/scw/utils.d.ts\":2,\"web/vendor/types/coinbase/dist/sign/util.d.ts\":20,\"web/vendor/types/coinbase/dist/sign/walletlink/WalletLinkSigner.d.ts\":40,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/RelayEventManager.d.ts\":9,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/WalletLinkRelay.d.ts\":58,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/connection/WalletLinkCipher.d.ts\":19,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/connection/WalletLinkConnection.d.ts\":102,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/connection/WalletLinkHTTP.d.ts\":10,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/connection/WalletLinkWebSocket.d.ts\":46,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/constants.d.ts\":4,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/mocks/fixtures.d.ts\":5,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/mocks/relay.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/ClientMessage.d.ts\":30,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/EthereumTransactionParams.d.ts\":14,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/ServerMessage.d.ts\":61,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/WalletLinkEventData.d.ts\":15,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/WalletLinkSession.d.ts\":16,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/Web3Request.d.ts\":99,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/Web3Response.d.ts\":51,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/RelayUI.d.ts\":16,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/WLMobileRelayUI.d.ts\":15,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/WalletLinkRelayUI.d.ts\":14,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/RedirectDialog/RedirectDialog-css.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/RedirectDialog/RedirectDialog.d.ts\":16,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/Snackbar/Snackbar-css.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/Snackbar/Snackbar.d.ts\":32,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/cssReset/cssReset-css.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/cssReset/cssReset.d.ts\":2,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/util.d.ts\":5,\"web/vendor/types/coinbase/dist/util/checkCrossOriginOpenerPolicy.d.ts\":2,\"web/vendor/types/coinbase/dist/util/cipher.d.ts\":12,\"web/vendor/types/coinbase/dist/util/provider.d.ts\":20,\"web/vendor/types/coinbase/dist/util/validatePreferences.d.ts\":7,\"web/vendor/types/coinbase/dist/util/web.d.ts\":3,\"web/vendor/types/coinbase/dist/vendor-js/eth-eip712-util/LICENSE\":14,\"web/vendor/types/coinbase/dist/vendor-js/eth-eip712-util/index.d.ts\":11,\"web/vendor/types/coinbase/package.json\":74,\"web/vendor/types/csstype/LICENSE\":19,\"web/vendor/types/csstype/index.d.ts\":21297,\"web/vendor/types/csstype/package.json\":66,\"web/vendor/types/lock.json\":58,\"web/vendor/types/node/LICENSE\":21,\"web/vendor/types/node/assert.d.ts\":1056,\"web/vendor/types/node/assert/strict.d.ts\":8,\"web/vendor/types/node/async_hooks.d.ts\":623,\"web/vendor/types/node/buffer.buffer.d.ts\":463,\"web/vendor/types/node/buffer.d.ts\":1930,\"web/vendor/types/node/child_process.d.ts\":1453,\"web/vendor/types/node/cluster.d.ts\":579,\"web/vendor/types/node/compatibility/iterators.d.ts\":21,\"web/vendor/types/node/console.d.ts\":452,\"web/vendor/types/node/constants.d.ts\":21,\"web/vendor/types/node/crypto.d.ts\":4566,\"web/vendor/types/node/dgram.d.ts\":599,\"web/vendor/types/node/diagnostics_channel.d.ts\":578,\"web/vendor/types/node/dns.d.ts\":923,\"web/vendor/types/node/dns/promises.d.ts\":503,\"web/vendor/types/node/domain.d.ts\":170,\"web/vendor/types/node/events.d.ts\":930,\"web/vendor/types/node/fs.d.ts\":4473,\"web/vendor/types/node/fs/promises.d.ts\":1299,\"web/vendor/types/node/globals.d.ts\":168,\"web/vendor/types/node/globals.typedarray.d.ts\":22,\"web/vendor/types/node/http.d.ts\":2070,\"web/vendor/types/node/http2.d.ts\":2630,\"web/vendor/types/node/https.d.ts\":550,\"web/vendor/types/node/index.d.ts\":99,\"web/vendor/types/node/inspector.d.ts\":253,\"web/vendor/types/node/inspector.generated.d.ts\":4052,\"web/vendor/types/node/module.d.ts\":894,\"web/vendor/types/node/net.d.ts\":1053,\"web/vendor/types/node/os.d.ts\":496,\"web/vendor/types/node/package.json\":155,\"web/vendor/types/node/path.d.ts\":200,\"web/vendor/types/node/perf_hooks.d.ts\":984,\"web/vendor/types/node/process.d.ts\":2073,\"web/vendor/types/node/punycode.d.ts\":117,\"web/vendor/types/node/querystring.d.ts\":152,\"web/vendor/types/node/readline.d.ts\":594,\"web/vendor/types/node/readline/promises.d.ts\":161,\"web/vendor/types/node/repl.d.ts\":438,\"web/vendor/types/node/sea.d.ts\":153,\"web/vendor/types/node/sqlite.d.ts\":721,\"web/vendor/types/node/stream.d.ts\":1668,\"web/vendor/types/node/stream/consumers.d.ts\":38,\"web/vendor/types/node/stream/promises.d.ts\":90,\"web/vendor/types/node/stream/web.d.ts\":622,\"web/vendor/types/node/string_decoder.d.ts\":67,\"web/vendor/types/node/test.d.ts\":2334,\"web/vendor/types/node/timers.d.ts\":285,\"web/vendor/types/node/timers/promises.d.ts\":108,\"web/vendor/types/node/tls.d.ts\":1245,\"web/vendor/types/node/trace_events.d.ts\":197,\"web/vendor/types/node/ts5.6/buffer.buffer.d.ts\":460,\"web/vendor/types/node/ts5.6/compatibility/float16array.d.ts\":71,\"web/vendor/types/node/ts5.6/globals.typedarray.d.ts\":20,\"web/vendor/types/node/ts5.6/index.d.ts\":101,\"web/vendor/types/node/ts5.7/compatibility/float16array.d.ts\":72,\"web/vendor/types/node/ts5.7/index.d.ts\":101,\"web/vendor/types/node/tty.d.ts\":208,\"web/vendor/types/node/url.d.ts\":1028,\"web/vendor/types/node/util.d.ts\":2311,\"web/vendor/types/node/v8.d.ts\":919,\"web/vendor/types/node/vm.d.ts\":1099,\"web/vendor/types/node/wasi.d.ts\":202,\"web/vendor/types/node/web-globals/abortcontroller.d.ts\":34,\"web/vendor/types/node/web-globals/domexception.d.ts\":68,\"web/vendor/types/node/web-globals/events.d.ts\":94,\"web/vendor/types/node/web-globals/fetch.d.ts\":50,\"web/vendor/types/node/web-globals/navigator.d.ts\":25,\"web/vendor/types/node/web-globals/storage.d.ts\":24,\"web/vendor/types/node/worker_threads.d.ts\":835,\"web/vendor/types/node/zlib.d.ts\":674,\"web/vendor/types/react-dom/LICENSE\":21,\"web/vendor/types/react-dom/canary.d.ts\":37,\"web/vendor/types/react-dom/client.d.ts\":105,\"web/vendor/types/react-dom/experimental.d.ts\":87,\"web/vendor/types/react-dom/index.d.ts\":128,\"web/vendor/types/react-dom/package.json\":128,\"web/vendor/types/react-dom/server.browser.d.ts\":1,\"web/vendor/types/react-dom/server.bun.d.ts\":1,\"web/vendor/types/react-dom/server.d.ts\":116,\"web/vendor/types/react-dom/server.edge.d.ts\":1,\"web/vendor/types/react-dom/server.node.d.ts\":1,\"web/vendor/types/react-dom/static.browser.d.ts\":1,\"web/vendor/types/react-dom/static.d.ts\":78,\"web/vendor/types/react-dom/static.edge.d.ts\":1,\"web/vendor/types/react-dom/static.node.d.ts\":1,\"web/vendor/types/react-dom/test-utils/index.d.ts\":7,\"web/vendor/types/react/LICENSE\":21,\"web/vendor/types/react/canary.d.ts\":60,\"web/vendor/types/react/compiler-runtime.d.ts\":4,\"web/vendor/types/react/experimental.d.ts\":228,\"web/vendor/types/react/global.d.ts\":165,\"web/vendor/types/react/index.d.ts\":4265,\"web/vendor/types/react/jsx-dev-runtime.d.ts\":45,\"web/vendor/types/react/jsx-runtime.d.ts\":36,\"web/vendor/types/react/package.json\":210,\"web/vendor/types/react/ts5.0/canary.d.ts\":60,\"web/vendor/types/react/ts5.0/experimental.d.ts\":228,\"web/vendor/types/react/ts5.0/global.d.ts\":165,\"web/vendor/types/react/ts5.0/index.d.ts\":4251,\"web/vendor/types/react/ts5.0/jsx-dev-runtime.d.ts\":44,\"web/vendor/types/react/ts5.0/jsx-runtime.d.ts\":35,\"web/vendor/types/react/ts5.0/v18/global.d.ts\":161,\"web/vendor/types/react/ts5.0/v18/index.d.ts\":4564,\"web/vendor/types/react/ts5.0/v18/jsx-dev-runtime.d.ts\":45,\"web/vendor/types/react/ts5.0/v18/jsx-runtime.d.ts\":36,\"web/vendor/types/react/ts5.0/v18/ts5.0/global.d.ts\":161,\"web/vendor/types/react/ts5.0/v18/ts5.0/index.d.ts\":4551,\"web/vendor/types/react/ts5.0/v18/ts5.0/jsx-dev-runtime.d.ts\":44,\"web/vendor/types/react/ts5.0/v18/ts5.0/jsx-runtime.d.ts\":35,\"web/vendor/types/typescript/LICENSE.txt\":55,\"web/vendor/types/typescript/ThirdPartyNoticeText.txt\":193,\"web/vendor/types/typescript/lib/_tsc.js.br\":2756,\"web/vendor/types/typescript/lib/lib.d.ts\":22,\"web/vendor/types/typescript/lib/lib.decorators.d.ts\":384,\"web/vendor/types/typescript/lib/lib.decorators.legacy.d.ts\":22,\"web/vendor/types/typescript/lib/lib.dom.asynciterable.d.ts\":41,\"web/vendor/types/typescript/lib/lib.dom.d.ts\":39429,\"web/vendor/types/typescript/lib/lib.dom.iterable.d.ts\":571,\"web/vendor/types/typescript/lib/lib.es2015.collection.d.ts\":147,\"web/vendor/types/typescript/lib/lib.es2015.core.d.ts\":597,\"web/vendor/types/typescript/lib/lib.es2015.d.ts\":28,\"web/vendor/types/typescript/lib/lib.es2015.generator.d.ts\":77,\"web/vendor/types/typescript/lib/lib.es2015.iterable.d.ts\":605,\"web/vendor/types/typescript/lib/lib.es2015.promise.d.ts\":81,\"web/vendor/types/typescript/lib/lib.es2015.proxy.d.ts\":128,\"web/vendor/types/typescript/lib/lib.es2015.reflect.d.ts\":144,\"web/vendor/types/typescript/lib/lib.es2015.symbol.d.ts\":46,\"web/vendor/types/typescript/lib/lib.es2015.symbol.wellknown.d.ts\":326,\"web/vendor/types/typescript/lib/lib.es2016.array.include.d.ts\":116,\"web/vendor/types/typescript/lib/lib.es2016.d.ts\":21,\"web/vendor/types/typescript/lib/lib.es2016.full.d.ts\":23,\"web/vendor/types/typescript/lib/lib.es2016.intl.d.ts\":31,\"web/vendor/types/typescript/lib/lib.es2017.arraybuffer.d.ts\":21,\"web/vendor/types/typescript/lib/lib.es2017.d.ts\":26,\"web/vendor/types/typescript/lib/lib.es2017.date.d.ts\":31,\"web/vendor/types/typescript/lib/lib.es2017.full.d.ts\":23,\"web/vendor/types/typescript/lib/lib.es2017.intl.d.ts\":44,\"web/vendor/types/typescript/lib/lib.es2017.object.d.ts\":49,\"web/vendor/types/typescript/lib/lib.es2017.sharedmemory.d.ts\":135,\"web/vendor/types/typescript/lib/lib.es2017.string.d.ts\":45,\"web/vendor/types/typescript/lib/lib.es2017.typedarrays.d.ts\":53,\"web/vendor/types/typescript/lib/lib.es2018.asyncgenerator.d.ts\":77,\"web/vendor/types/typescript/lib/lib.es2018.asynciterable.d.ts\":53,\"web/vendor/types/typescript/lib/lib.es2018.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2018.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2018.intl.d.ts\":83,\"web/vendor/types/typescript/lib/lib.es2018.promise.d.ts\":30,\"web/vendor/types/typescript/lib/lib.es2018.regexp.d.ts\":37,\"web/vendor/types/typescript/lib/lib.es2019.array.d.ts\":79,\"web/vendor/types/typescript/lib/lib.es2019.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2019.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2019.intl.d.ts\":23,\"web/vendor/types/typescript/lib/lib.es2019.object.d.ts\":33,\"web/vendor/types/typescript/lib/lib.es2019.string.d.ts\":37,\"web/vendor/types/typescript/lib/lib.es2019.symbol.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2020.bigint.d.ts\":765,\"web/vendor/types/typescript/lib/lib.es2020.d.ts\":27,\"web/vendor/types/typescript/lib/lib.es2020.date.d.ts\":42,\"web/vendor/types/typescript/lib/lib.es2020.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2020.intl.d.ts\":474,\"web/vendor/types/typescript/lib/lib.es2020.number.d.ts\":28,\"web/vendor/types/typescript/lib/lib.es2020.promise.d.ts\":47,\"web/vendor/types/typescript/lib/lib.es2020.sharedmemory.d.ts\":99,\"web/vendor/types/typescript/lib/lib.es2020.string.d.ts\":44,\"web/vendor/types/typescript/lib/lib.es2020.symbol.wellknown.d.ts\":41,\"web/vendor/types/typescript/lib/lib.es2021.d.ts\":23,\"web/vendor/types/typescript/lib/lib.es2021.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2021.intl.d.ts\":166,\"web/vendor/types/typescript/lib/lib.es2021.promise.d.ts\":48,\"web/vendor/types/typescript/lib/lib.es2021.string.d.ts\":33,\"web/vendor/types/typescript/lib/lib.es2021.weakref.d.ts\":78,\"web/vendor/types/typescript/lib/lib.es2022.array.d.ts\":121,\"web/vendor/types/typescript/lib/lib.es2022.d.ts\":25,\"web/vendor/types/typescript/lib/lib.es2022.error.d.ts\":75,\"web/vendor/types/typescript/lib/lib.es2022.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2022.intl.d.ts\":145,\"web/vendor/types/typescript/lib/lib.es2022.object.d.ts\":26,\"web/vendor/types/typescript/lib/lib.es2022.regexp.d.ts\":39,\"web/vendor/types/typescript/lib/lib.es2022.string.d.ts\":25,\"web/vendor/types/typescript/lib/lib.es2023.array.d.ts\":924,\"web/vendor/types/typescript/lib/lib.es2023.collection.d.ts\":21,\"web/vendor/types/typescript/lib/lib.es2023.d.ts\":22,\"web/vendor/types/typescript/lib/lib.es2023.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2023.intl.d.ts\":56,\"web/vendor/types/typescript/lib/lib.es2024.arraybuffer.d.ts\":65,\"web/vendor/types/typescript/lib/lib.es2024.collection.d.ts\":29,\"web/vendor/types/typescript/lib/lib.es2024.d.ts\":26,\"web/vendor/types/typescript/lib/lib.es2024.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2024.object.d.ts\":29,\"web/vendor/types/typescript/lib/lib.es2024.promise.d.ts\":35,\"web/vendor/types/typescript/lib/lib.es2024.regexp.d.ts\":25,\"web/vendor/types/typescript/lib/lib.es2024.sharedmemory.d.ts\":68,\"web/vendor/types/typescript/lib/lib.es2024.string.d.ts\":29,\"web/vendor/types/typescript/lib/lib.es5.d.ts\":4601,\"web/vendor/types/typescript/lib/lib.es6.d.ts\":23,\"web/vendor/types/typescript/lib/lib.esnext.array.d.ts\":35,\"web/vendor/types/typescript/lib/lib.esnext.collection.d.ts\":96,\"web/vendor/types/typescript/lib/lib.esnext.d.ts\":29,\"web/vendor/types/typescript/lib/lib.esnext.decorators.d.ts\":28,\"web/vendor/types/typescript/lib/lib.esnext.disposable.d.ts\":193,\"web/vendor/types/typescript/lib/lib.esnext.error.d.ts\":24,\"web/vendor/types/typescript/lib/lib.esnext.float16.d.ts\":443,\"web/vendor/types/typescript/lib/lib.esnext.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.esnext.intl.d.ts\":21,\"web/vendor/types/typescript/lib/lib.esnext.iterator.d.ts\":148,\"web/vendor/types/typescript/lib/lib.esnext.promise.d.ts\":34,\"web/vendor/types/typescript/lib/lib.esnext.sharedmemory.d.ts\":25,\"web/vendor/types/typescript/lib/lib.scripthost.d.ts\":322,\"web/vendor/types/typescript/lib/lib.webworker.asynciterable.d.ts\":41,\"web/vendor/types/typescript/lib/lib.webworker.d.ts\":13150,\"web/vendor/types/typescript/lib/lib.webworker.importscripts.d.ts\":23,\"web/vendor/types/typescript/lib/lib.webworker.iterable.d.ts\":340,\"web/vendor/types/typescript/lib/tsc.js\":8,\"web/vendor/types/typescript/lib/tsserverlibrary.d.ts\":17,\"web/vendor/types/typescript/package.json\":120,\"web/vendor/types/viem/LICENSE\":21,\"web/vendor/types/viem/_cjs/package.json\":1,\"web/vendor/types/viem/_esm/package.json\":1,\"web/vendor/types/viem/_types/account-abstraction/accounts/createWebAuthnCredential.d.ts\":11,\"web/vendor/types/viem/_types/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.d.ts\":674,\"web/vendor/types/viem/_types/account-abstraction/accounts/implementations/toSimple7702SmartAccount.d.ts\":311,\"web/vendor/types/viem/_types/account-abstraction/accounts/implementations/toSoladySmartAccount.d.ts\":458,\"web/vendor/types/viem/_types/account-abstraction/accounts/toSmartAccount.d.ts\":14,\"web/vendor/types/viem/_types/account-abstraction/accounts/toWebAuthnAccount.d.ts\":33,\"web/vendor/types/viem/_types/account-abstraction/accounts/types.d.ts\":216,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/estimateUserOperationGas.d.ts\":69,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/getSupportedEntryPoints.d.ts\":30,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/getUserOperation.d.ts\":57,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/getUserOperationReceipt.d.ts\":39,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/prepareUserOperation.d.ts\":127,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/sendUserOperation.d.ts\":63,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/waitForUserOperationReceipt.d.ts\":52,\"web/vendor/types/viem/_types/account-abstraction/actions/paymaster/getPaymasterData.d.ts\":49,\"web/vendor/types/viem/_types/account-abstraction/actions/paymaster/getPaymasterStubData.d.ts\":55,\"web/vendor/types/viem/_types/account-abstraction/clients/createBundlerClient.d.ts\":65,\"web/vendor/types/viem/_types/account-abstraction/clients/createPaymasterClient.d.ts\":27,\"web/vendor/types/viem/_types/account-abstraction/clients/decorators/bundler.d.ts\":206,\"web/vendor/types/viem/_types/account-abstraction/clients/decorators/paymaster.d.ts\":60,\"web/vendor/types/viem/_types/account-abstraction/constants/abis.d.ts\":2298,\"web/vendor/types/viem/_types/account-abstraction/constants/address.d.ts\":4,\"web/vendor/types/viem/_types/account-abstraction/errors/bundler.d.ts\":361,\"web/vendor/types/viem/_types/account-abstraction/errors/userOperation.d.ts\":37,\"web/vendor/types/viem/_types/account-abstraction/index.d.ts\":39,\"web/vendor/types/viem/_types/account-abstraction/types/account.d.ts\":11,\"web/vendor/types/viem/_types/account-abstraction/types/entryPointVersion.d.ts\":9,\"web/vendor/types/viem/_types/account-abstraction/types/rpc.d.ts\":12,\"web/vendor/types/viem/_types/account-abstraction/types/userOperation.d.ts\":173,\"web/vendor/types/viem/_types/account-abstraction/utils/errors/getBundlerError.d.ts\":8,\"web/vendor/types/viem/_types/account-abstraction/utils/errors/getUserOperationError.d.ts\":15,\"web/vendor/types/viem/_types/account-abstraction/utils/formatters/userOperation.d.ts\":6,\"web/vendor/types/viem/_types/account-abstraction/utils/formatters/userOperationGas.d.ts\":6,\"web/vendor/types/viem/_types/account-abstraction/utils/formatters/userOperationReceipt.d.ts\":6,\"web/vendor/types/viem/_types/account-abstraction/utils/formatters/userOperationRequest.d.ts\":7,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/getInitCode.d.ts\":3,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/getUserOperationHash.d.ts\":13,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/getUserOperationTypedData.d.ts\":39,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/toPackedUserOperation.d.ts\":3,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/toUserOperation.d.ts\":3,\"web/vendor/types/viem/_types/accounts/generateMnemonic.d.ts\":12,\"web/vendor/types/viem/_types/accounts/generatePrivateKey.d.ts\":11,\"web/vendor/types/viem/_types/accounts/hdKeyToAccount.d.ts\":14,\"web/vendor/types/viem/_types/accounts/index.d.ts\":25,\"web/vendor/types/viem/_types/accounts/mnemonicToAccount.d.ts\":12,\"web/vendor/types/viem/_types/accounts/privateKeyToAccount.d.ts\":22,\"web/vendor/types/viem/_types/accounts/toAccount.d.ts\":15,\"web/vendor/types/viem/_types/accounts/types.d.ts\":62,\"web/vendor/types/viem/_types/accounts/utils/parseAccount.d.ts\":6,\"web/vendor/types/viem/_types/accounts/utils/privateKeyToAddress.d.ts\":15,\"web/vendor/types/viem/_types/accounts/utils/publicKeyToAddress.d.ts\":15,\"web/vendor/types/viem/_types/accounts/utils/sign.d.ts\":28,\"web/vendor/types/viem/_types/accounts/utils/signAuthorization.d.ts\":20,\"web/vendor/types/viem/_types/accounts/utils/signMessage.d.ts\":20,\"web/vendor/types/viem/_types/accounts/utils/signTransaction.d.ts\":16,\"web/vendor/types/viem/_types/accounts/utils/signTypedData.d.ts\":20,\"web/vendor/types/viem/_types/accounts/wordlists.d.ts\":11,\"web/vendor/types/viem/_types/actions/ens/getEnsAddress.d.ts\":78,\"web/vendor/types/viem/_types/actions/ens/getEnsAvatar.d.ts\":44,\"web/vendor/types/viem/_types/actions/ens/getEnsName.d.ts\":71,\"web/vendor/types/viem/_types/actions/ens/getEnsResolver.d.ts\":48,\"web/vendor/types/viem/_types/actions/ens/getEnsText.d.ts\":57,\"web/vendor/types/viem/_types/actions/getContract.d.ts\":360,\"web/vendor/types/viem/_types/actions/index.d.ts\":119,\"web/vendor/types/viem/_types/actions/public/call.d.ts\":91,\"web/vendor/types/viem/_types/actions/public/createAccessList.d.ts\":61,\"web/vendor/types/viem/_types/actions/public/createBlockFilter.d.ts\":31,\"web/vendor/types/viem/_types/actions/public/createContractEventFilter.d.ts\":55,\"web/vendor/types/viem/_types/actions/public/createEventFilter.d.ts\":81,\"web/vendor/types/viem/_types/actions/public/createPendingTransactionFilter.d.ts\":31,\"web/vendor/types/viem/_types/actions/public/estimateContractGas.d.ts\":47,\"web/vendor/types/viem/_types/actions/public/estimateFeesPerGas.d.ts\":53,\"web/vendor/types/viem/_types/actions/public/estimateGas.d.ts\":61,\"web/vendor/types/viem/_types/actions/public/estimateMaxPriorityFeePerGas.d.ts\":43,\"web/vendor/types/viem/_types/actions/public/getBalance.d.ts\":59,\"web/vendor/types/viem/_types/actions/public/getBlobBaseFee.d.ts\":30,\"web/vendor/types/viem/_types/actions/public/getBlock.d.ts\":62,\"web/vendor/types/viem/_types/actions/public/getBlockNumber.d.ts\":62,\"web/vendor/types/viem/_types/actions/public/getBlockTransactionCount.d.ts\":52,\"web/vendor/types/viem/_types/actions/public/getChainId.d.ts\":32,\"web/vendor/types/viem/_types/actions/public/getCode.d.ts\":45,\"web/vendor/types/viem/_types/actions/public/getContractEvents.d.ts\":66,\"web/vendor/types/viem/_types/actions/public/getEip712Domain.d.ts\":51,\"web/vendor/types/viem/_types/actions/public/getFeeHistory.d.ts\":57,\"web/vendor/types/viem/_types/actions/public/getFilterChanges.d.ts\":101,\"web/vendor/types/viem/_types/actions/public/getFilterLogs.d.ts\":45,\"web/vendor/types/viem/_types/actions/public/getGasPrice.d.ts\":30,\"web/vendor/types/viem/_types/actions/public/getLogs.d.ts\":78,\"web/vendor/types/viem/_types/actions/public/getProof.d.ts\":57,\"web/vendor/types/viem/_types/actions/public/getStorageAt.d.ts\":47,\"web/vendor/types/viem/_types/actions/public/getTransaction.d.ts\":71,\"web/vendor/types/viem/_types/actions/public/getTransactionConfirmations.d.ts\":45,\"web/vendor/types/viem/_types/actions/public/getTransactionCount.d.ts\":49,\"web/vendor/types/viem/_types/actions/public/getTransactionReceipt.d.ts\":40,\"web/vendor/types/viem/_types/actions/public/multicall.d.ts\":81,\"web/vendor/types/viem/_types/actions/public/readContract.d.ts\":46,\"web/vendor/types/viem/_types/actions/public/simulateBlocks.d.ts\":116,\"web/vendor/types/viem/_types/actions/public/simulateCalls.d.ts\":89,\"web/vendor/types/viem/_types/actions/public/simulateContract.d.ts\":79,\"web/vendor/types/viem/_types/actions/public/uninstallFilter.d.ts\":37,\"web/vendor/types/viem/_types/actions/public/verifyHash.d.ts\":89,\"web/vendor/types/viem/_types/actions/public/verifyMessage.d.ts\":32,\"web/vendor/types/viem/_types/actions/public/verifyTypedData.d.ts\":28,\"web/vendor/types/viem/_types/actions/public/waitForTransactionReceipt.d.ts\":98,\"web/vendor/types/viem/_types/actions/public/watchBlockNumber.d.ts\":58,\"web/vendor/types/viem/_types/actions/public/watchBlocks.d.ts\":66,\"web/vendor/types/viem/_types/actions/public/watchContractEvent.d.ts\":67,\"web/vendor/types/viem/_types/actions/public/watchEvent.d.ts\":82,\"web/vendor/types/viem/_types/actions/public/watchPendingTransactions.d.ts\":49,\"web/vendor/types/viem/_types/actions/siwe/verifySiweMessage.d.ts\":34,\"web/vendor/types/viem/_types/actions/test/dropTransaction.d.ts\":36,\"web/vendor/types/viem/_types/actions/test/dumpState.d.ts\":31,\"web/vendor/types/viem/_types/actions/test/getAutomine.d.ts\":30,\"web/vendor/types/viem/_types/actions/test/getTxpoolContent.d.ts\":37,\"web/vendor/types/viem/_types/actions/test/getTxpoolStatus.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/impersonateAccount.d.ts\":36,\"web/vendor/types/viem/_types/actions/test/increaseTime.d.ts\":35,\"web/vendor/types/viem/_types/actions/test/inspectTxpool.d.ts\":34,\"web/vendor/types/viem/_types/actions/test/loadState.d.ts\":34,\"web/vendor/types/viem/_types/actions/test/mine.d.ts\":35,\"web/vendor/types/viem/_types/actions/test/removeBlockTimestampInterval.d.ts\":28,\"web/vendor/types/viem/_types/actions/test/reset.d.ts\":35,\"web/vendor/types/viem/_types/actions/test/revert.d.ts\":34,\"web/vendor/types/viem/_types/actions/test/sendUnsignedTransaction.d.ts\":38,\"web/vendor/types/viem/_types/actions/test/setAutomine.d.ts\":28,\"web/vendor/types/viem/_types/actions/test/setBalance.d.ts\":39,\"web/vendor/types/viem/_types/actions/test/setBlockGasLimit.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/setBlockTimestampInterval.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/setCode.d.ts\":40,\"web/vendor/types/viem/_types/actions/test/setCoinbase.d.ts\":36,\"web/vendor/types/viem/_types/actions/test/setIntervalMining.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/setLoggingEnabled.d.ts\":28,\"web/vendor/types/viem/_types/actions/test/setMinGasPrice.d.ts\":37,\"web/vendor/types/viem/_types/actions/test/setNextBlockBaseFeePerGas.d.ts\":35,\"web/vendor/types/viem/_types/actions/test/setNextBlockTimestamp.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/setNonce.d.ts\":39,\"web/vendor/types/viem/_types/actions/test/setRpcUrl.d.ts\":29,\"web/vendor/types/viem/_types/actions/test/setStorageAt.d.ts\":43,\"web/vendor/types/viem/_types/actions/test/snapshot.d.ts\":28,\"web/vendor/types/viem/_types/actions/test/stopImpersonatingAccount.d.ts\":36,\"web/vendor/types/viem/_types/actions/wallet/addChain.d.ts\":33,\"web/vendor/types/viem/_types/actions/wallet/deployContract.d.ts\":49,\"web/vendor/types/viem/_types/actions/wallet/getAddresses.d.ts\":32,\"web/vendor/types/viem/_types/actions/wallet/getCallsStatus.d.ts\":39,\"web/vendor/types/viem/_types/actions/wallet/getCapabilities.d.ts\":36,\"web/vendor/types/viem/_types/actions/wallet/getPermissions.d.ts\":31,\"web/vendor/types/viem/_types/actions/wallet/prepareAuthorization.d.ts\":66,\"web/vendor/types/viem/_types/actions/wallet/prepareTransactionRequest.d.ts\":96,\"web/vendor/types/viem/_types/actions/wallet/requestAddresses.d.ts\":35,\"web/vendor/types/viem/_types/actions/wallet/requestPermissions.d.ts\":40,\"web/vendor/types/viem/_types/actions/wallet/sendCalls.d.ts\":62,\"web/vendor/types/viem/_types/actions/wallet/sendRawTransaction.d.ts\":39,\"web/vendor/types/viem/_types/actions/wallet/sendTransaction.d.ts\":73,\"web/vendor/types/viem/_types/actions/wallet/showCallsStatus.d.ts\":34,\"web/vendor/types/viem/_types/actions/wallet/signAuthorization.d.ts\":56,\"web/vendor/types/viem/_types/actions/wallet/signMessage.d.ts\":64,\"web/vendor/types/viem/_types/actions/wallet/signTransaction.d.ts\":67,\"web/vendor/types/viem/_types/actions/wallet/signTypedData.d.ts\":119,\"web/vendor/types/viem/_types/actions/wallet/switchChain.d.ts\":34,\"web/vendor/types/viem/_types/actions/wallet/waitForCallsStatus.d.ts\":83,\"web/vendor/types/viem/_types/actions/wallet/watchAsset.d.ts\":40,\"web/vendor/types/viem/_types/actions/wallet/writeContract.d.ts\":75,\"web/vendor/types/viem/_types/celo/chainConfig.d.ts\":879,\"web/vendor/types/viem/_types/celo/fees.d.ts\":4,\"web/vendor/types/viem/_types/celo/formatters.d.ts\":428,\"web/vendor/types/viem/_types/celo/index.d.ts\":5,\"web/vendor/types/viem/_types/celo/parsers.d.ts\":6,\"web/vendor/types/viem/_types/celo/serializers.d.ts\":10,\"web/vendor/types/viem/_types/celo/types.d.ts\":87,\"web/vendor/types/viem/_types/celo/utils.d.ts\":7,\"web/vendor/types/viem/_types/chains/definitions/0g.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/0gGalileoTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/0gMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/5ireChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/abey.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/abstract.d.ts\":435,\"web/vendor/types/viem/_types/chains/definitions/abstractTestnet.d.ts\":434,\"web/vendor/types/viem/_types/chains/definitions/acala.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/acria.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/adf.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/agungTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/aioz.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/alephZero.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/alephZeroTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/alienX.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/alienXHalTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ancient8.d.ts\":300,\"web/vendor/types/viem/_types/chains/definitions/ancient8Sepolia.d.ts\":300,\"web/vendor/types/viem/_types/chains/definitions/anvil.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/apeChain.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/apexTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arbitrum.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arbitrumGoerli.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/arbitrumNova.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arbitrumSepolia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arenaz.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/areonNetwork.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/areonNetworkTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/areum.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/artelaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arthera.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/artheraTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/assetChain.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/assetChainTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/astar.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/astarZkEVM.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/astarZkyoto.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/atletaOlympia.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/aurora.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/auroraTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/auroria.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/autheoTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/avalanche.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/avalancheFuji.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/b3.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/b3Sepolia.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/bahamut.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/base.d.ts\":617,\"web/vendor/types/viem/_types/chains/definitions/baseGoerli.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/baseSepolia.d.ts\":619,\"web/vendor/types/viem/_types/chains/definitions/basecampTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/beam.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/beamTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/bearNetworkChainMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bearNetworkChainTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/berachain.d.ts\":44,\"web/vendor/types/viem/_types/chains/definitions/berachainBepolia.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/berachainTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/berachainTestnetbArtio.d.ts\":44,\"web/vendor/types/viem/_types/chains/definitions/bevmMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bifrost.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/birdlayer.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bitTorrent.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/bitTorrentTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/bitgert.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/bitkub.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bitkubTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/bitlayer.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bitlayerTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bitrock.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/blast.d.ts\":305,\"web/vendor/types/viem/_types/chains/definitions/blastSepolia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bob.d.ts\":299,\"web/vendor/types/viem/_types/chains/definitions/bobSepolia.d.ts\":299,\"web/vendor/types/viem/_types/chains/definitions/boba.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/bobaSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/boolBetaMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/botanix.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/botanixTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bounceBit.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bounceBitTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bronos.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bronosTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bsc.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bscGreenfield.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bscTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bsquared.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bsquaredTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/btr.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/btrTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bxn.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bxnTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/cannon.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/canto.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/celo.d.ts\":889,\"web/vendor/types/viem/_types/chains/definitions/celoAlfajores.d.ts\":931,\"web/vendor/types/viem/_types/chains/definitions/celoSepolia.d.ts\":925,\"web/vendor/types/viem/_types/chains/definitions/chang.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/chiliz.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/chips.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/citreaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/classic.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/coinbit.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/coinex.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/confluxESpace.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/confluxESpaceTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/coreDao.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/coreTestnet1.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/coreTestnet2.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/corn.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/cornTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/crab.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/creatorTestnet.d.ts\":35,\"web/vendor/types/viem/_types/chains/definitions/creditCoin3Devnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/creditCoin3Mainnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/creditCoin3Testnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/cronos.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/cronosTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/cronoszkEVM.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/cronoszkEVMTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/crossbell.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/crossfi.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/curtis.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/cyber.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/cyberTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dailyNetwork.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dailyNetworkTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/darwinia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dbkchain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dchain.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/dchainTestnet.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/defichainEvm.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/defichainEvmTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/degen.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/dfk.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/diode.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/disChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dodochainTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/dogechain.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/domaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/donatuz.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/dosChain.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dosChainTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dreyerxMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dreyerxTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dustboyIoT.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dymension.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edexa.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edexaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edgeless.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edgelessTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edgeware.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/edgewareTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/eduChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/eduChainTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/ekta.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/ektaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/elastos.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/elastosTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/electroneum.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/electroneumTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/elysiumTestnet.d.ts\":282,\"web/vendor/types/viem/_types/chains/definitions/energy.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/eni.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/eniTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/enuls.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/eon.d.ts\":31,\"web/vendor/types/viem/_types/chains/definitions/eos.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/eosTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/eteria.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/etherlink.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/etherlinkTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ethernity.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/etp.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/evmos.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/evmosTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/exSat.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/exSatTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/excelonMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/expanse.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/fantom.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/fantomSonicTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/fantomTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/fibo.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/filecoin.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/filecoinCalibration.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/filecoinHyperspace.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/flame.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/flare.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/flareTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/flowMainnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/flowPreviewnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/flowTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/fluence.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/fluenceStage.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/fluenceTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/fluentTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/form.d.ts\":79,\"web/vendor/types/viem/_types/chains/definitions/formTestnet.d.ts\":79,\"web/vendor/types/viem/_types/chains/definitions/forma.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/forta.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/foundry.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/fraxtal.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/fraxtalTestnet.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/funkiMainnet.d.ts\":282,\"web/vendor/types/viem/_types/chains/definitions/funkiSepolia.d.ts\":287,\"web/vendor/types/viem/_types/chains/definitions/fuse.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/fuseSparknet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/fusion.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/fusionTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/garnet.d.ts\":304,\"web/vendor/types/viem/_types/chains/definitions/geist.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/genesys.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/giwaSepolia.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/glideL1Protocol.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/glideL2Protocol.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/gnosis.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/gnosisChiado.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/goChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/goat.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/gobi.d.ts\":31,\"web/vendor/types/viem/_types/chains/definitions/godwoken.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/goerli.d.ts\":44,\"web/vendor/types/viem/_types/chains/definitions/graphite.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/graphiteTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/gravity.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/gunz.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/guruNetwork.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/guruTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ham.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/happychainTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/haqqMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/haqqTestedge2.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hardhat.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/harmonyOne.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/hashKeyChain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/hashkeyChainTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/haustTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/hedera.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hederaPreviewnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hederaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hela.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/hemi.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hemiSepolia.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/holesky.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/hoodi.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/hpb.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/huddle01Mainnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/huddle01Testnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/humanity.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/humanityTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/humanode.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/humanodeTestnet5.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/hychain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/hychainTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/hyperliquidEvmTestnet.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/iSunCoin.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/icbNetwork.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/idchain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/immutableZkEvm.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/immutableZkEvmTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/inEVM.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/initVerse.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/initVerseGenesis.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/ink.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/inkSepolia.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/iota.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/iotaTestnet.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/iotex.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/iotexTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/jbc.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/jbcTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/jocMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/jocTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/jovay.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/jovaySepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/juneo.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoBCH1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoDAI1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoDOGE1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoEUR1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoGLD1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoLINK1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoLTC1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoSGD1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoSocotraTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoUSD1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoUSDT1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneomBTC1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/kaia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kairos.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kakarotSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/kakarotStarknetSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/kardiaChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/karura.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/katana.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/kava.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/kavaTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/kcc.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kinto.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/klaytn.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/klaytnBaobab.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/koi.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kroma.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kromaSepolia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/l3x.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/l3xTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/lavita.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/lens.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/lensTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/lestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/lightlinkPegasus.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/lightlinkPhoenix.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/linea.d.ts\":49,\"web/vendor/types/viem/_types/chains/definitions/lineaGoerli.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/lineaSepolia.d.ts\":49,\"web/vendor/types/viem/_types/chains/definitions/lineaTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/lisk.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/liskSepolia.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/loadAlphanet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/localhost.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/loop.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/lukso.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/luksoTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/lumiaMainnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/lumiaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/lumoz.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/lumozTestnet.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/lycan.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/lyra.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/mainnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/mandala.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/manta.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/mantaSepoliaTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/mantaTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/mantle.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/mantleSepoliaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/mantleTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/mantraDuKongEVMTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mantraEVM.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/mapProtocol.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/matchain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/matchainTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mchVerse.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/megaethTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/mekong.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/meld.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/memecore.d.ts\":50,\"web/vendor/types/viem/_types/chains/definitions/memecoreFormicariumTestnet.d.ts\":49,\"web/vendor/types/viem/_types/chains/definitions/merlin.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/merlinErigonTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/metachain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/metachainIstanbul.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/metadium.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/metalL2.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/meter.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/meterTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/metis.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/metisGoerli.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/metisSepolia.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/mev.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/mevTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/mint.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mintSepoliaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mitosisTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mode.d.ts\":301,\"web/vendor/types/viem/_types/chains/definitions/modeTestnet.d.ts\":305,\"web/vendor/types/viem/_types/chains/definitions/monadTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/moonbaseAlpha.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/moonbeam.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/moonbeamDev.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/moonriver.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/morph.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/morphHolesky.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/morphSepolia.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/nahmii.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/nautilus.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/near.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/nearTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/neonDevnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/neonMainnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/neoxMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/neoxT4.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/newton.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/nexi.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/nexilix.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/nibiru.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/nitrographTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/oasisTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/oasys.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/odysseyTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/okc.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/omax.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/omni.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/omniOmega.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/oneWorld.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/oortmainnetDev.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/opBNB.d.ts\":70,\"web/vendor/types/viem/_types/chains/definitions/opBNBTestnet.d.ts\":69,\"web/vendor/types/viem/_types/chains/definitions/openledger.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/optimism.d.ts\":307,\"web/vendor/types/viem/_types/chains/definitions/optimismGoerli.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/optimismSepolia.d.ts\":307,\"web/vendor/types/viem/_types/chains/definitions/optopia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/optopiaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/orderly.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/orderlySepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/otimDevnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/palm.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/palmTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/peaq.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/pgn.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/pgnTestnet.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/phoenix.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/planq.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/plasma.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/plasmaDevnet.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/plasmaTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/playfiAlbireo.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/plinga.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/plume.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/plumeDevnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/plumeMainnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/plumeSepolia.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/plumeTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/polterTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/polygon.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonAmoy.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonMumbai.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonZkEvm.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonZkEvmCardona.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonZkEvmTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polynomial.d.ts\":35,\"web/vendor/types/viem/_types/chains/definitions/polynomialSepolia.d.ts\":35,\"web/vendor/types/viem/_types/chains/definitions/premiumBlock.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/pulsechain.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/pulsechainV4.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/pumpfiTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/pyrope.d.ts\":288,\"web/vendor/types/viem/_types/chains/definitions/qMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/qTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/ql1.d.ts\":35,\"web/vendor/types/viem/_types/chains/definitions/real.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/redbellyMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/redbellyTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/reddio.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/reddioSepolia.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/redstone.d.ts\":304,\"web/vendor/types/viem/_types/chains/definitions/rei.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/reyaNetwork.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/riseTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rivalz.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/rollux.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/rolluxTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/ronin.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/root.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rootPorcini.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rootstock.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rootstockTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rss3.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/rss3Sepolia.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/saakuru.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/saga.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/saigon.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/sanko.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/sapphire.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/sapphireTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/satoshivm.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/satoshivmTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/scroll.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/scrollSepolia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/sei.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/seiDevnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/seiTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/seismicDevnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/sepolia.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/shape.d.ts\":305,\"web/vendor/types/viem/_types/chains/definitions/shapeSepolia.d.ts\":287,\"web/vendor/types/viem/_types/chains/definitions/shardeum.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/shardeumSphinx.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/shibarium.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/shibariumTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/shiden.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/shimmer.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/shimmerTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/sidra.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/silicon.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/siliconSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/sixProtocol.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/skale/brawl.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/calypso.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/calypsoTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/cryptoBlades.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/cryptoColosseum.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/europa.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/europaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/exorde.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/humanProtocol.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/nebula.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/nebulaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/razor.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/titan.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/titanTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/sketchpad.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/snax.d.ts\":307,\"web/vendor/types/viem/_types/chains/definitions/snaxTestnet.d.ts\":307,\"web/vendor/types/viem/_types/chains/definitions/somniaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/soneium.d.ts\":309,\"web/vendor/types/viem/_types/chains/definitions/soneiumMinato.d.ts\":309,\"web/vendor/types/viem/_types/chains/definitions/songbird.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/songbirdTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/sonic.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/sonicBlazeTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/sonicTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/sophon.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/sophonTestnet.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/sova.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/sovaSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/spicy.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/statusNetworkSepolia.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/step.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/story.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/storyAeneid.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/storyOdyssey.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/storyTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/stratis.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/superlumio.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/superposition.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/superseed.d.ts\":310,\"web/vendor/types/viem/_types/chains/definitions/superseedSepolia.d.ts\":298,\"web/vendor/types/viem/_types/chains/definitions/swan.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/swanProximaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/swanSaturnTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/swellchain.d.ts\":287,\"web/vendor/types/viem/_types/chains/definitions/swellchainTestnet.d.ts\":287,\"web/vendor/types/viem/_types/chains/definitions/swissdlt.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/syscoin.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/syscoinTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/tac.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/tacSPB.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/taiko.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/taikoHekla.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/taikoJolnir.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/taikoKatla.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/taikoTestnetSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/taraxa.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/taraxaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/teaSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/telcoinTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/telos.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/telosTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/tenet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/ternoa.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/thaiChain.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/that.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/theta.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/thetaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/thunderCore.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/thunderTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/tiktrixTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/tomb.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/treasure.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/treasureTopaz.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/tron.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/tronNile.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/tronShasta.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ubiq.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ultra.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ultraTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ultron.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ultronTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/unichain.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/unichainSepolia.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/unique.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/uniqueOpal.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/uniqueQuartz.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/unreal.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/vanar.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/vechain.d.ts\":43,\"web/vendor/types/viem/_types/chains/definitions/velas.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/viction.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/victionTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/vision.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/visionTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/wanchain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/wanchainTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/weavevmAlphanet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/wemix.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/wemixTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/westendAssetHub.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/whitechain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/whitechainTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/wmcTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/worldLand.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/worldchain.d.ts\":313,\"web/vendor/types/viem/_types/chains/definitions/worldchainSepolia.d.ts\":313,\"web/vendor/types/viem/_types/chains/definitions/xLayer.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/xLayerTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/xai.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/xaiTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xdc.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/xdcTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/xphereMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xphereTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xrOne.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/xrSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xrplevmDevnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xrplevmTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/yooldoVerse.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/yooldoVerseTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zenchainTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/zeniq.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zeroNetwork.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zetachain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/zetachainAthensTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/zhejiang.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zilliqa.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/zilliqaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/zircuit.d.ts\":282,\"web/vendor/types/viem/_types/chains/definitions/zircuitGarfieldTestnet.d.ts\":282,\"web/vendor/types/viem/_types/chains/definitions/zircuitTestnet.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/zkFair.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/zkFairTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/zkLinkNova.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zkLinkNovaSepoliaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zksync.d.ts\":437,\"web/vendor/types/viem/_types/chains/definitions/zksyncInMemoryNode.d.ts\":436,\"web/vendor/types/viem/_types/chains/definitions/zksyncLocalCustomHyperchain.d.ts\":431,\"web/vendor/types/viem/_types/chains/definitions/zksyncLocalHyperchain.d.ts\":431,\"web/vendor/types/viem/_types/chains/definitions/zksyncLocalHyperchainL1.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/zksyncLocalNode.d.ts\":436,\"web/vendor/types/viem/_types/chains/definitions/zksyncSepoliaTestnet.d.ts\":437,\"web/vendor/types/viem/_types/chains/definitions/zora.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/zoraSepolia.d.ts\":304,\"web/vendor/types/viem/_types/chains/definitions/zoraTestnet.d.ts\":293,\"web/vendor/types/viem/_types/chains/index.d.ts\":745,\"web/vendor/types/viem/_types/chains/utils.d.ts\":5,\"web/vendor/types/viem/_types/clients/createClient.d.ts\":120,\"web/vendor/types/viem/_types/clients/createPublicClient.d.ts\":33,\"web/vendor/types/viem/_types/clients/createTestClient.d.ts\":47,\"web/vendor/types/viem/_types/clients/createWalletClient.d.ts\":51,\"web/vendor/types/viem/_types/clients/decorators/public.d.ts\":1457,\"web/vendor/types/viem/_types/clients/decorators/test.d.ts\":640,\"web/vendor/types/viem/_types/clients/decorators/wallet.d.ts\":774,\"web/vendor/types/viem/_types/clients/transports/createTransport.d.ts\":43},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":true}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"bb36db87ff53cf5070483282aa1d0a9c3515bd73ef6978dce747747eb02c3b51","verifiedTreeHash":"b3d055cbc06d2a4d8c612ce4cbceee3ba50f68a1","verifierVersion":"0.1.0+c3fba9eb"},{"checks":[{"durationMs":102886,"exitCode":0,"name":"build","output":"Compiling 216 files with Solc 0.8.26\nSolc 0.8.26 finished in 102.40s\nCompiler run successful with warnings:\nWarning (2519): This declaration shadows an existing declaration.\n  --> src/mainnet/StateProof.sol:62:14:\n   |\n62 |         for (uint256 at = parent.payload; at < parent.end;) {\n   |              ^^^^^^^^^^\nNote: The shadowed declaration is here:\n  --> src/mainnet/StateProof.sol:69:9:\n   |\n69 |         uint256 at = parent.payload;\n   |         ^^^^^^^^^^\n\nWarning (8760): This declaration has the same name as another declaration.\n  --> src/mainnet/ImdSampledUsdSource.sol:69:29:\n   |\n69 |         (uint160 sqrtPrice, int24 spot, uint128 liquidity, uint24 lpFee) = _pool();\n   |                             ^^^^^^^^^^\nNote: The other declaration is here:\n   --> src/mainnet/ImdSampledUsdSource.sol:133:5:\n    |\n133 |     function spot()\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (8760): This declaration has the same name as another declaration.\n  --> test/mainnet/QuotaMitigationInvariants.t.sol:45:34:\n   |\n45 |     function _trade(address who, bool buy, uint256 amount) private returns (bool ok) {\n   |                                  ^^^^^^^^\nNote: The other declaration is here:\n  --> test/mainnet/QuotaMitigationInvariants.t.sol:58:5:\n   |\n58 |     function buy(uint256 actor, uint96 raw) external {\n   |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2519): This declaration shadows an existing declaration.\n  --> test/mainnet/SpotCustodyInvariants.t.sol:93:22:\n   |\n93 |     function _inputs(bool buy, uint256 amount) private view returns (bytes[] memory inputs) {\n   |                      ^^^^^^^^\nNote: The shadowed declaration is here:\n   --> test/mainnet/SpotCustodyInvariants.t.sol:115:5:\n    |\n115 |     function buy(uint256 actorSeed, uint256 raw) public {\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (8760): This declaration has the same name as another declaration.\n  --> test/successor/SuccessorInvariants.t.sol:59:20:\n   |\n59 |     function _plan(bool buy, uint256 amount, address recipient)\n   |                    ^^^^^^^^\nNote: The other declaration is here:\n  --> test/successor/SuccessorInvariants.t.sol:74:5:\n   |\n74 |     function buy(uint256 who, uint256 to, uint256 amount) external {\n   |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (5159): \"selfdestruct\" has been deprecated. Note that, starting from the Cancun hard fork, the underlying opcode no longer deletes the code and data associated with an account and only transfers its Ether to the beneficiary, unless executed in the same transaction in which the contract was created (see EIP-6780). Any use in newly deployed contracts is strongly discouraged even if the new behavior is taken into account. Future changes to the EVM might further reduce the functionality of the opcode.\n  --> test/BatchSettlementProperties.t.sol:14:9:\n   |\n14 |         selfdestruct(recipient);\n   |         ^^^^^^^^^^^^\n\nWarning (5159): \"selfdestruct\" has been deprecated. Note that, starting from the Cancun hard fork, the underlying opcode no longer deletes the code and data associated with an account and only transfers its Ether to the beneficiary, unless executed in the same transaction in which the contract was created (see EIP-6780). Any use in newly deployed contracts is strongly discouraged even if the new behavior is taken into account. Future changes to the EVM might further reduce the functionality of the opcode.\n  --> test/FeeCustodyProperties.t.sol:19:9:\n   |\n19 |         selfdestruct(recipient);\n   |         ^^^^^^^^^^^^\n\nWarning (5159): \"selfdestruct\" has been deprecated. Note that, starting from the Cancun hard fork, the underlying opcode no longer deletes the code and data associated with an account and only transfers its Ether to the beneficiary, unless executed in the same transaction in which the contract was created (see EIP-6780). Any use in newly deployed contracts is strongly discouraged even if the new behavior is taken into account. Future changes to the EVM might further reduce the functionality of the opcode.\n  --> test/NativeCustodyInvariants.t.sol:15:9:\n   |\n15 |         selfdestruct(recipient);\n   |         ^^^^^^^^^^^^\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/UnlkHook.sol:209:5:\n    |\n209 |     function afterInitialize(address, PoolKey calldata key, uint160, int24)\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/candidate/UnlkHookV2.sol:224:5:\n    |\n224 |     function afterInitialize(address, PoolKey calldata key, uint160, int24)\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/mainnet/UnlkImdHook.sol:214:5:\n    |\n214 |     function afterInitialize(address, PoolKey calldata key, uint160, int24)\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/mainnet/UnlkImdHook.sol:546:5:\n    |\n546 |     function afterAddLiquidity(\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/mainnet/UnlkImdHook.sol:558:5:\n    |\n558 |     function beforeRemoveLiquidity(\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/mainnet/UnlkImdHook.sol:571:5:\n    |\n571 |     function afterRemoveLiquidity(\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n   --> src/successor/UnlkHookV3.sol:230:5:\n    |\n230 |     function afterInitialize(address, PoolKey calldata key, uint160, int24)\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2018): Function state mutability can be restricted to view\n  --> test/mainnet/ImdPermitAndBatch.t.sol:57:5:\n   |\n57 |     function _signPermit(IPermit2Signing.Permit memory permit, uint256 signingKey)\n   |     ^ (Relevant source part starts here and spans across multiple lines).\n\n","passed":true},{"durationMs":19430,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 5 tests for test/HookDeployer.t.sol:HookDeployerTest\n[PASS] testChangedCreationBodyCannotMatchReviewedHash() (gas: 135903)\n[PASS] testChangedSetupAuthorityChangesHashAndCreate2Prediction() (gas: 226228)\n[PASS] testDeployedHelperFitsEvmCodeLimits() (gas: 8947)\n[PASS] testFuzzEncodesCallerSuppliedBytesAndFourAddresses(bytes,address,address,address,address) (runs: 256, μ: 20835, ~: 20428)\n[PASS] testReviewedHookInitCodeAndHash() (gas: 196628)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 19.64ms (18.43ms CPU time)\n\nRan 6 tests for test/mainnet/ImdOracle.t.sol:ImdOracleTest\n[PASS] testBadRoundFutureNegativeAndIncompleteRejected() (gas: 120054)\n[PASS] testCompositeAdapterWarmupDepthFreshnessAndRealDepeg() (gas: 241190)\n[PASS] testCrossWindowDivergenceAndHarmonicDepthFailClosed() (gas: 164709)\n[PASS] testFullMilestoneLadderReachableAndFeeContinuesAfterPermanentBypass() (gas: 1179585)\n[PASS] testNoUnlkWarmupAndFeedOutageDoesNotAdvanceOrRevoke() (gas: 1635343)\n[PASS] testSustainedCrossMarketManipulationRemainsEconomicRisk() (gas: 100110)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 24.28ms (4.57ms CPU time)\n\nRan 2 tests for test/mainnet/ExternalSpotTouch.t.sol:ExternalSpotTouchTest\n[PASS] testRevertedFlashTouchCannotPersistGateOrReferenceMutation() (gas: 840121)\n[PASS] testUnsettledExternalSpotTouchPermanentlyUnlocksTransferOnlyHolder() (gas: 1477003)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 28.05ms (3.05ms CPU time)\n\nRan 7 tests for test/candidate/Quoter.t.sol:CandidateQuoterTest\n[PASS] testExactOutputBuyQuoteIncludesFeeAndRollsBack() (gas: 982523)\n[PASS] testExactOutputSellQuoteRequiresGrossTranslationAndRollsBack() (gas: 1058630)\n[PASS] testGenericBuyQuoteMatchesFeeInclusiveExecutionWithoutCommitting() (gas: 704054)\n[PASS] testGenericSellQuoteIsNotWalletSellCapacity() (gas: 1128840)\n[PASS] testNonemptyQuoteDataIsRejected() (gas: 69218)\n[PASS] testUniversalRouterTradesExplicitlyRejectedUntilAttributionRedesign() (gas: 110317)\n[PASS] testWrongQuoterCodeCannotUseQuoteExemptionToCommit() (gas: 612054)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 33.20ms (6.93ms CPU time)\n\nRan 2 tests for test/LocalScript.t.sol:LocalScriptTest\n[PASS] testLocalScriptRefusesPublicChainId() (gas: 13983272)\n[PASS] testLocalSimulationFunctionDoesNotDependOnCaller() (gas: 63694238)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 34.82ms (33.34ms CPU time)\n\nRan 6 tests for test/mainnet/InitializationAdmission.t.sol:InitializationAdmissionTest\n[PASS] testInactiveTradingCreditsAndGatesStayDisabledWhileTransfersWork() (gas: 847540)\n[PASS] testOnlyManagerAndConstructorBoundFactoryCanInitialize() (gas: 302987)\n[PASS] testRepeatedInitializationCannotRebind() (gas: 290147)\n[PASS] testSeedWithoutCompanionsAndCollectWithoutActivation() (gas: 786749)\n[PASS] testWrongCurrencySortingFeeSpacingAndHookRejected() (gas: 419820)\n[PASS] test_initializesFromTheLaunchFactory() (gas: 247771)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 37.42ms (3.28ms CPU time)\n\nRan 3 tests for test/mainnet/ImdAuthentication.t.sol:ImdAuthenticationTest\n[PASS] testDifferentCodeAtPinnedRouterAndQuoterCannotAuthenticate() (gas: 588927)\n[PASS] testDirectUnlockerWithSpoofedMsgSenderCannotExecute() (gas: 525900)\n[PASS] testOnlyManagerCanCallSwapCallbacks() (gas: 42687)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 24.53ms (546.51µs CPU time)\n\nRan 6 tests for test/mainnet/InitializationAdmission.t.sol:InitializationAdmissionToken1Test\n[PASS] testInactiveTradingCreditsAndGatesStayDisabledWhileTransfersWork() (gas: 802968)\n[PASS] testOnlyManagerAndConstructorBoundFactoryCanInitialize() (gas: 283167)\n[PASS] testRepeatedInitializationCannotRebind() (gas: 270327)\n[PASS] testSeedWithoutCompanionsAndCollectWithoutActivation() (gas: 738132)\n[PASS] testWrongCurrencySortingFeeSpacingAndHookRejected() (gas: 400097)\n[PASS] test_initializesFromTheLaunchFactory() (gas: 227823)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 9.81ms (2.13ms CPU time)\n\nRan 2 tests for test/mainnet/ImdFeeMath.t.sol:ImdFeeMathTest\n[PASS] testFuzzAllModeRounding(uint128) (runs: 256, μ: 3626, ~: 3640)\n[PASS] testSeedDepthReversesWithSortingNoEthFloor() (gas: 9336)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.33ms (4.20ms CPU time)\n\nRan 4 tests for test/mainnet/ImdPermitAndBatch.t.sol:ImdPermitAndBatchTest\n[PASS] testBatchCreditsAndExplicitRecipientStillUseInitiator() (gas: 564755)\n[PASS] testFeeInclusiveInputOutputLimitsAndExpiryRollback() (gas: 650277)\n[PASS] testLocallySignedPermit2PermitAndBuyAtomicReplayRejected() (gas: 624644)\n[PASS] testSameExecutionCycleFullSaleRejectedAtomically() (gas: 703146)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 26.74ms (4.44ms CPU time)\n\nRan 1 test for test/FailurePaths.t.sol:UnpaidLaunchTest\n[PASS] testNoRequesterMeansNoPayerCreditAnywhere() (gas: 1267642)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 63.82ms (1.49ms CPU time)\n\nRan 8 tests for test/Adversarial.t.sol:AdversarialTest\n[PASS] test100PercentAloneIsNotFullUnlock() (gas: 7257766)\n[PASS] testArbitraryHookDataAndMultihopPayloadCannotSelectVictim() (gas: 89207)\n[PASS] testCallbacksAllRequireCanonicalManager() (gas: 211512)\n[PASS] testForeignPoolKeyRejectedEvenWithManagerPrank() (gas: 49882)\n[PASS] testNoMintPauseBlacklistUpgradeOrCounterResetEntrypoint() (gas: 114793)\n[PASS] testProtocolFeeChangeCannotSilentlyAlterTradingEconomics() (gas: 359163)\n[PASS] testQuotaMultiplicationDoesNotOverflowAtMaxEligible() (gas: 239235)\n[PASS] testTokenMintsWholeSupplyToDeployerOnly() (gas: 32832)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 81.09ms (9.34ms CPU time)\n\nRan 2 tests for test/mainnet/ImdPreparation.t.sol:ImdPreparationTest\n[PASS] testChangedImdRuntimeOrWrongChainCannotStage() (gas: 11102597)\n[PASS] testSourceThenPreparedCompanionsCertificationAndActivation() (gas: 16343264)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 31.72ms (6.29ms CPU time)\n\nRan 4 tests for test/SeedBoundary.t.sol:SeedBoundaryTest\n[PASS] testBuyLimitIsBoundedByTheSeedFloor() (gas: 390660)\n[PASS] testLimitsInsideTheRangeAreHonoured() (gas: 771508)\n[PASS] testSellIntoAnEmptyReserveRevertsWithoutState() (gas: 394827)\n[PASS] testSellThatDrainsTheReserveStopsAtTheSeedBoundary() (gas: 1586847)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 53.88ms (2.96ms CPU time)\n\nRan 1 test for test/mainnet/SpotFailureIsolation.t.sol:SpotActivationFailureMatrixTest\n[PASS] testAllInvalidReferenceStatesRefuseActivationAtomicallyAndCanRetryImmediately() (gas: 4418528)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 26.32ms (7.86ms CPU time)\n\nRan 3 tests for test/mainnet/ImdSetup.t.sol:ImdSetupTest\n[PASS] testOfficialLpEntitlementActualAssetsAndPrincipalUnchanged() (gas: 1339755)\n[PASS] testPreparedBundlePredictionsAndPermanentSeal() (gas: 7615167)\n[PASS] testUnauthorizedStagingAndUnbackedAccrualRejected() (gas: 74664)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 21.60ms (2.63ms CPU time)\n\nRan 3 tests for test/FailurePaths.t.sol:ActivationFailurePathsTest\n[PASS] testCompanionConstructorsRejectMissingInputs() (gas: 6057)\n[PASS] testCrossLaunchSetupIsRefusedInEveryDirection() (gas: 24766771)\n[PASS] testSepoliaRefusesLocallyClonedServicesEvenWithFeedAtPublishedAddress() (gas: 676766)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 84.11ms (28.65ms CPU time)\n\nRan 1 test for test/successor/SetupScript.t.sol:SuccessorSetupScriptTest\n[PASS] testFactoryLaunchThenPreparedCompanionsAndAtomicActivation() (gas: 13076591)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 119.24ms (3.56ms CPU time)\n\nRan 3 tests for test/mainnet/SpotFailureIsolation.t.sol:SpotFailureIsolationReverseOrderTest\n[PASS] testEveryInvalidReferenceLeavesTradingNativeClaimsAndEarnedGateLive() (gas: 28380907)\n[PASS] testFreshnessBoundaryAtExactlyNinetyMinutesThenOneSecondLater() (gas: 320588)\n[PASS] testRejectedRouterSuffixRollsBackARealSpotDrivenGate() (gas: 1173567)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 123.22ms (39.13ms CPU time)\n\nRan 6 tests for test/compatibility/RecordedRouter.t.sol:RecordedRouterTest\n[PASS] testActualQuoterCannotCommitPoolTradesOrHookWrites() (gas: 298154)\n[PASS] testBatchBuysCanAggregateDeliveryToAnotherWallet() (gas: 325865)\n[PASS] testCounterexampleTakeAllVersusTakeBobIdenticalHookObservations() (gas: 611752)\nLogs:\n  Same executed output; different beneficiary: 987402494003717132\n  Identical beforeSwap observation: 0x09425f78d614b06a99b96ecaa53d10f355049f4254c4da8b0ab9e441803f2f7b\n  Identical afterSwap observation: 0x388a843e3ad3404e674bed2096e9eed7203549b09c755340fd280b3259400fe1\n\n[PASS] testMultihopBuyOutputNeverDeliveredToAnyWallet() (gas: 1235667)\n[PASS] testPermit2UserSourceVersusRouterPrefundingSameLogicalSender() (gas: 809841)\n[PASS] testSmartWalletDoesNotRevealTakeBeneficiary() (gas: 449760)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 138.43ms (3.21ms CPU time)\n\nRan 6 tests for test/mainnet/ImdLaunchPlan.t.sol:ImdLaunchPlanReverseTest\n[PASS] testAllPolicyCapEndpointsAndIntermediateSeedsLaunch() (gas: 62092681)\n[PASS] testDeliveredRepositoryIsAnExplicitProvenanceInput() (gas: 15441071)\n[PASS] testEmptyDeliveredRepositoryIsRejected() (gas: 7843678)\n[PASS] testMissingProvenanceIdentityOrWrongPolicyFailsWithoutDeploying() (gas: 7925283)\n[PASS] testPredictedNativeDistributorCannotReceivePayerAllocation() (gas: 8103666)\n[PASS] testPreparedFactoryCalldataLaunchesExactSeedAndBindings() (gas: 15492635)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 92.92ms (20.26ms CPU time)\n\nRan 6 tests for test/ActivationRobustness.t.sol:ActivationRobustnessTest\n[PASS] testPolicySeedRecordsCapacityAndConfirmsTiers() (gas: 30575729)\n[PASS] testSeedBelowOpeningValueFloorCannotLaunch() (gas: 9054745)\n[PASS] testSeedBelowThePoolShareBandCannotLaunch() (gas: 9050786)\n[PASS] testSeedInsideTheOnePercentBandActivates() (gas: 15887629)\n[PASS] testStagingRunsActivationPreconditionsAndCanRepeat() (gas: 21576209)\n[PASS] testSubDustSeedRoundingStillActivates() (gas: 16247257)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 146.16ms (46.47ms CPU time)\n\nRan 3 tests for test/ReleaseConfig.t.sol:ReleaseConfigTest\n[PASS] testReadOnlyReleaseChecksOnLocalFixture() (gas: 2011487)\n[PASS] testReadOnlyReleaseChecksRejectWrongChainOrHash() (gas: 1903758)\n[PASS] testStageOneAloneCannotPassReleaseGate() (gas: 63801371)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 156.13ms (89.91ms CPU time)\n\nRan 6 tests for test/mainnet/ImdLaunchPlan.t.sol:ImdLaunchPlanTest\n[PASS] testAllPolicyCapEndpointsAndIntermediateSeedsLaunch() (gas: 62404715)\n[PASS] testDeliveredRepositoryIsAnExplicitProvenanceInput() (gas: 15485707)\n[PASS] testEmptyDeliveredRepositoryIsRejected() (gas: 7843678)\n[PASS] testMissingProvenanceIdentityOrWrongPolicyFailsWithoutDeploying() (gas: 7925283)\n[PASS] testPredictedNativeDistributorCannotReceivePayerAllocation() (gas: 8104251)\n[PASS] testPreparedFactoryCalldataLaunchesExactSeedAndBindings() (gas: 15537271)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 36.14ms (20.34ms CPU time)\n\nRan 3 tests for test/mainnet/SpotFailureIsolation.t.sol:SpotFailureIsolationTest\n[PASS] testEveryInvalidReferenceLeavesTradingNativeClaimsAndEarnedGateLive() (gas: 27908572)\n[PASS] testFreshnessBoundaryAtExactlyNinetyMinutesThenOneSecondLater() (gas: 321814)\n[PASS] testRejectedRouterSuffixRollsBackARealSpotDrivenGate() (gas: 1107543)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 59.56ms (41.55ms CPU time)\n\nRan 8 tests for test/Launch.t.sol:LaunchTest\n[PASS] testCompanionsAreImmutablyBound() (gas: 37886)\n[PASS] testFactoryHoldsPrincipalAndCannotRemoveIt() (gas: 333697)\n[PASS] testLaunchAllocationAndLockedPrincipal() (gas: 191055)\n[PASS] testLaunchIsOnceAndDeployerOnly() (gas: 2731433)\n[PASS] testOnlyCanonicalManagerCanCallHook() (gas: 66479)\n[PASS] testPayerCreditExactDeduplicated() (gas: 137462)\n[PASS] testUnauthorizedFactoryAndWrongPoolRejected() (gas: 80623)\n[PASS] testUnconfiguredComponentsFailClosed() (gas: 42307)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 46.40ms (1.84ms CPU time)\n\nRan 1 test for test/mainnet/ImdMultihop.t.sol:ImdMultihopTest\n[PASS] testMultihopAuxiliaryImdUnlkUsesInitiatorAndSettlesBothPools() (gas: 1674649)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 22.19ms (1.30ms CPU time)\n\nRan 3 tests for test/mainnet/SpotMath.t.sol:ImdSpotMathTest\n[PASS] testExactInvertedThresholdAboveUint128HasNoNormalizationLoss() (gas: 16029)\n[PASS] testFuzzPowerOfTwoPricesAreExactInBothOrders(uint256,uint8) (runs: 256, μ: 11243, ~: 1800)\n[PASS] testGoldenWideProductsDivisionAndSaturation() (gas: 680973)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 19.37ms (19.20ms CPU time)\n\nRan 1 test for test/mainnet/SharedExecutorReview.t.sol:IndependentSharedExecutorProof\n[PASS] testUnrelatedUserConsumesVictimSharedExecutorQuotaWithoutVictimFunds() (gas: 1463354)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 85.81ms (1.94ms CPU time)\n\nRan 1 test for test/RevisionProperties.t.sol:RestagingIsolationTest\n[PASS] testAbandonedBundleIsInertAndMixedBundlesAreRefused() (gas: 7156292)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 49.86ms (2.27ms CPU time)\n\nRan 8 tests for test/mainnet/SpotOracle.t.sol:SpotOracleTest\n[PASS] testChainlinkValidation() (gas: 280354)\n[PASS] testExtremeSqrtPricesDoNotOverflow() (gas: 69143)\n[PASS] testFuzzExactFloorAndMonotonic(uint160) (runs: 256, μ: 53638, ~: 67987)\n[PASS] testImmediateCurrentPriceNoHistoryNoSample() (gas: 51558)\n[PASS] testManipulatedSpotMovesPriceImmediately() (gas: 60494)\n[PASS] testMissingPoolLiquidityFeeChainAndCodeFailClosed() (gas: 203552)\n[PASS] testNoSamplerSurfaceOrState() (gas: 51618)\n[PASS] testPoolIdIsTheVerifiedPreimage() (gas: 49203)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 37.69ms (36.15ms CPU time)\n\nRan 4 tests for test/ActivationRobustness.t.sol:ChunkedCertificationTest\n[PASS] testChunkBoundsAndSizeAreFixedByTheFirstChunk() (gas: 29517535)\n[PASS] testDuplicateAcrossChunksWrongRootAndForeignSessionsAreRefused() (gas: 231631551)\n[PASS] testSingleLeafRoundCertifiesThroughTheChunkedPath() (gas: 398202)\n[PASS] testSingleShotRefusesButChunksCertifyAndCredit() (gas: 124071664)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 249.90ms (153.04ms CPU time)\n\nRan 4 tests for test/TokenLedgerProperties.t.sol:TokenReceiptPropertiesTest\n[PASS] testFuzz_ReceiptsSurviveRoundingDelegationAndReturnedInventory(uint96) (runs: 1000, μ: 611435, ~: 611245)\n[PASS] test_FailedFinalTransferRollsBackAllowanceAndDistribution() (gas: 395800)\n[PASS] test_MetadataAndUnsealedIssuance() (gas: 72386)\n[PASS] test_ZeroAndSelfTransfersCannotSealOrCreateAllocationReceipts() (gas: 521375)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 271.04ms (270.53ms CPU time)\n\nRan 1 test for test/SecurityRegression.t.sol:LargeTreeCertificationTest\n[PASS] testMaximumSortedTreeFitsTransactionGasLimit() (gas: 15973574)\nLogs:\n  1024-leaf sorted certification gas: 13939470\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 97.52ms (50.46ms CPU time)\n\nRan 2 tests for test/Stage2Script.t.sol:Stage2ScriptTest\n[PASS] testStage2DeploysFromActualIdentitiesAndOwnerActivates() (gas: 7071565)\n[PASS] testStage2RefusesUnknownLaunchNumber() (gas: 33767)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 74.94ms (4.16ms CPU time)\n\nRan 4 tests for test/SecurityRegression.t.sol:CodeAuthenticationRegressionTest\n[PASS] testActivationExternalFailureRollsBackEveryBinding() (gas: 912953)\n[PASS] testInconsistentImmutablePatchesAreRejected() (gas: 2018871)\n[PASS] testLaterFactoryDonationsCannotRewriteInitialAllocationReceipts() (gas: 688934)\n[PASS] testRuntimeMutationCannotPassGetterChecks() (gas: 85252)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 88.75ms (11.31ms CPU time)\n\nRan 4 tests for test/SecurityRegression.t.sol:EvidenceCertificationRegressionTest\n[PASS] testActualLaterRoundClaimsHaveNoArtificialCumulativeCeiling() (gas: 1511648)\n[PASS] testDuplicateRecipientCannotOvercreditSmallerActualClaim() (gas: 441218)\n[PASS] testIncompleteTreeCannotBeCertified() (gas: 59593)\n[PASS] testOddTreeReconstructionAndPreCertificationNativeClaim() (gas: 580532)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 84.91ms (3.32ms CPU time)\n\nRan 2 tests for test/SecurityRegression.t.sol:StagingCreationRegressionTest\n[PASS] testCounterfeitConstructorIsRefusedBeforeAnyDeployment() (gas: 6413863)\n[PASS] testOnlySetupAuthorityMayStageAndOnlyUntilActivation() (gas: 12289760)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 89.13ms (7.06ms CPU time)\n\nRan 9 tests for test/Trading.t.sol:TradingTest\n[PASS] testAnotherWalletCannotConsumeVictimsAllowanceOrQuota() (gas: 472208)\n[PASS] testDirectManagerAndForeignRouterSpoofingRejected() (gas: 644028)\n[PASS] testDonatedRouterBalancesCannotCreateCreditOrBeSwept() (gas: 497543)\n[PASS] testExactOutputSaleAccountsActualInput() (gas: 735195)\n[PASS] testExcessSaleRollsBackPoolBalancesOracleAndNonce() (gas: 800579)\n[PASS] testFuzzQuotaBoundary(uint96) (runs: 256, μ: 1037671, ~: 1037777)\n[PASS] testReplayOldCallbackHasNoLiveContext() (gas: 427364)\n[PASS] testSaleBoundaryExecutedInputIncludesPoolFee() (gas: 1067073)\n[PASS] testTransfersDoNotMoveRightsOrAllowChainCredit() (gas: 830532)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 475.27ms (414.41ms CPU time)\n\nRan 9 tests for test/mainnet/QuotaMitigation.t.sol:QuotaMitigationTest\n[PASS] testDirectRightsIsolatedFromTwoAlternateExecutorsAndRecipients() (gas: 1944496)\n[PASS] testFuzzFreshBuysCannotEnlargeMatureCapacity(uint96) (runs: 256, μ: 963496, ~: 961908)\n[PASS] testLegitimateSmartAccountCanUseDirectRouterAndWalletExecutor() (gas: 1302354)\n[PASS] testMainnetSegregatedFundsHighPersistsAfterMaturity() (gas: 1664888)\nLogs:\n  Alice gross IMD capital: 100000000000000000000\n  Alice UNLK buy credit: 37520205924135432073673623\n  Alice buy treasury fee IMD: 744416873449131513\n  before mitigation and after maturity exposed UNLK capacity: 7504041184827086414734724\n  Bob net IMD proceeds: 19901531076301633668\n  total treasury fee IMD: 894806277048388190\n\n[PASS] testNativeCreditsNeverWaitForBuyMaturity() (gas: 517499)\n[PASS] testSameBlockPartialCycleAndSeparateExecutionsCannotRecycleCredit() (gas: 1683285)\n[PASS] testStandardRouterPrefundingDoesNotAuthenticateUnderlyingQuotaOwner() (gas: 996749)\n[PASS] testStandardRouterRecipientDoesNotAuthenticateUnderlyingQuotaOwner() (gas: 935582)\n[PASS] testWalletExecutorAuthenticatesCallerSettlementAndBudgets() (gas: 1277847)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 497.99ms (472.60ms CPU time)\n\nRan 4 tests for test/candidate/Adversarial.t.sol:CandidateAdversarialTest\n[PASS] testAfterCallbackAndReplayCannotCreateRightsOrFees() (gas: 575539)\n[PASS] testBatchAndPrefundingCannotChangeSourcingOrDelivery() (gas: 818510)\n[PASS] testEveryCompanionCreationPinRejectsTamperedCodeAtomically() (gas: 38438727)\n[PASS] testFuzzExecutedBuyAndSellFees(uint96) (runs: 256, μ: 974912, ~: 972082)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 454.49ms (430.81ms CPU time)\n\nRan 2 tests for test/TwoStage.t.sol:StageOneConstructorTest\n[PASS] testConstructorRejectsMissingOrConflatedInputs() (gas: 8207)\n[PASS] testOnlyFactoryCanInitializeTheHooksPool() (gas: 43150)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 60.85ms (457.46µs CPU time)\n\nRan 1 test for test/successor/SuccessorInvariants.t.sol:SuccessorMultihopTest\n[PASS] testMultihopOfficialLegCreditsInitiatorEvenWhenOutputLeavesUnlk() (gas: 1961728)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 81.73ms (1.31ms CPU time)\n\nRan 3 tests for test/SecurityRegression.t.sol:OracleOutageRegressionTest\n[PASS] testDepthDipInvalidatesWholeWindowAndRetainsReachedRights() (gas: 16317055)\n[PASS] testFinalTierRequiresItsOwnTwentyFourHours() (gas: 138827744)\n[PASS] testNextTierClockWaitsForItsOwnThreshold() (gas: 15295035)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 257.99ms (218.08ms CPU time)\n\nRan 5 tests for test/mainnet/OwnerTransactions.t.sol:OwnerTransactionsTest\n[PASS] testChangedServiceSourceAndAllocationRejectedBeforeSigning() (gas: 1450954)\n[PASS] testMalformedOrIncompleteTreeCannotBecomeWalletCalls() (gas: 1552818)\n[PASS] testWalletTransactionsExecuteAndSealWithoutWarmup() (gas: 7635404)\n[PASS] testWrongChainOwnerPayerAndRuntimeRejected() (gas: 179208)\n[PASS] testWrongDistributorAndNumberRejectedBeforeWalletSigning() (gas: 1283598)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 27.93ms (8.45ms CPU time)\n\nRan 2 tests for test/RevisionProperties.t.sol:ChunkedCertificationPropertiesTest\n[PASS] testFuzz_abandonedSessionIsInertAndRestartable(uint8,uint256) (runs: 128, μ: 2587107, ~: 2350110)\n[PASS] testFuzz_anyChunkingAndReductionScheduleMatchesSingleShot(uint8,uint256,uint256,uint256,uint8,uint8) (runs: 128, μ: 3484786, ~: 3049829)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 432.97ms (356.19ms CPU time)\n\nRan 5 tests for test/candidate/TiersAndSetup.t.sol:CandidateTiersTest\n[PASS] testAllSixteenThresholds() (gas: 461702)\n[PASS] testInvalidDataCadenceAndGapCannotAdvanceOrRevoke() (gas: 16292660)\n[PASS] testNativePreActivationClaimDeduplicatesAndAllocationSurvivesTransfers() (gas: 35647833)\n[PASS] testSequentialAllTiersFinal24HoursPermanentBypassAndFeePersists() (gas: 321640971)\n[PASS] testSetupAndBypassFailClosed() (gas: 1280938)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 630.17ms (594.19ms CPU time)\n\nRan 10 tests for test/CreditsAndFees.t.sol:CreditsAndFeesTest\n[PASS] testAttestationRequiresActualClaimAndExactLeaf() (gas: 438961)\n[PASS] testClaimTransferAndPayerTransferDoNotDuplicateCredit() (gas: 577960)\n[PASS] testFeeCollectionDoesNotReducePrincipal() (gas: 647552)\n[PASS] testNativeClaimNeverDependsOnAdapterOrFeed() (gas: 1190278)\n[PASS] testNativeClaimThenAttestThenSyncThenSale() (gas: 1607696)\n[PASS] testNegativeLiquidityForbiddenEvenForFactory() (gas: 82464)\n[PASS] testProofReleaseAndDedupRemainNativeRules() (gas: 573172)\n[PASS] testSaleFeesCountGrossInputAndNeverCreditFeeRecipients() (gas: 1191477)\n[PASS] testUnauthorizedLiquidityAndDonationNoCredit() (gas: 232025)\n[PASS] testUnclaimedRewardsNotEligible() (gas: 39399)\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 80.29ms (8.28ms CPU time)\n\nRan 13 tests for test/TwoStage.t.sol:StageOneTest\n[PASS] testActivationSealsAndCannotBeReplayed() (gas: 6134570)\n[PASS] testCrossLaunchNumberRejected() (gas: 5594038)\n[PASS] testFactoryLiquidityAllowedBeforeActivationButPrincipalStaysLocked() (gas: 37293)\n[PASS] testFirstTierConfirmsBelowTenEthActualReserves() (gas: 35619197)\n[PASS] testLaunchSucceedsWithoutCompanions() (gas: 122562)\n[PASS] testPayerCanTransferBeforeActivationWithoutLosingHistoricalCredit() (gas: 6125881)\n[PASS] testPayerCreditOnlyAfterActivationAndFromOriginalTransferReceipt() (gas: 6075022)\n[PASS] testRequesterReassignmentCannotMoveInitialAllocationCredit() (gas: 6081688)\n[PASS] testSepoliaRequiresPublishedChainlinkFeed() (gas: 5610561)\n[PASS] testSwapsSyncAndMilestonesRevertBeforeActivation() (gas: 6082593)\n[PASS] testTransfersAndNativeClaimsWorkBeforeActivationAndClaimIsCreditedLater() (gas: 6432841)\n[PASS] testUnauthorizedActivationRejected() (gas: 5606198)\n[PASS] testWrongContractsRejected() (gas: 6294420)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 139.39ms (60.49ms CPU time)\n\nRan 7 tests for test/mainnet/V4Activation.t.sol:V4ActivationTest\n[PASS] testHistoricalProofSourceIsNoLongerAdmitted() (gas: 236430)\n[PASS] testHistoricalSampledSourceIsNoLongerAdmitted() (gas: 152893)\n[PASS] testInactiveV3CodeIsNoLongerAdmittedAsProductionSource() (gas: 134582)\n[PASS] testPermissionlessGateCheckpointRequiresActivation() (gas: 57074)\n[PASS] testStaleFeedBlocksActivationThenValidCurrentReferenceActivatesInSameBlock() (gas: 7304209)\n[PASS] testUninitializedReferencePoolBlocksActivationAtomicallyAndClaimsRemainIndependent() (gas: 7030852)\n[PASS] testZeroLiquidityReferenceBlocksActivation() (gas: 6795996)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 27.57ms (9.32ms CPU time)\n\nRan 7 tests for test/mainnet/ImdSwaps.t.sol:ImdReverseOrderTest\n[PASS] testAllFourModesAndFeeInclusiveQuoter() (gas: 2642796)\n[PASS] testExplorerBuySellClaimsRevenueAndDonationSeparation() (gas: 1450745)\n[PASS] testFuzzExecutedImdConservation(uint96,uint16) (runs: 256, μ: 1036898, ~: 1035216)\n[PASS] testMissingTokenReceiptRollsBackWithdrawalAccounting() (gas: 915091)\n[PASS] testQuotaTransfersAndNativeClaimIndependence() (gas: 1290677)\n[PASS] testQuoteRollbackNoAccrualOrCredits() (gas: 1286596)\n[PASS] testRangeExitRollsBackFeesLedgerAndPool() (gas: 1250604)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 601.31ms (520.07ms CPU time)\n\nRan 3 tests for test/mainnet/ServiceAttestation.t.sol:ServiceAttestationTest\n[PASS] testEveryServiceRuntimeIsRequiredAtEverySetupBoundary() (gas: 18834335)\n[PASS] testFactoryGettersAndQuoteDecimalsRevalidatedWithoutCodeChanges() (gas: 6793889)\n[PASS] testWrongChainCannotStageOrActivate() (gas: 2674217)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 28.86ms (9.46ms CPU time)\n\nRan 8 tests for test/SepoliaPins.t.sol:SepoliaPinsTest\n[PASS] testEmbeddedRuntimeMatchesThePins() (gas: 22518)\n[PASS] testLocalChainDoesNotConsultThePins() (gas: 10226069)\n[PASS] testSepoliaAcceptsThePinnedServicesAtInitialize() (gas: 10488386)\n[PASS] testSepoliaRefusesAnUnpinnedFactory() (gas: 6489939)\n[PASS] testSepoliaRefusesAnUnpinnedManager() (gas: 159347398)\n[PASS] testSepoliaRefusesLookalikeFeesBehindThePinnedFactory() (gas: 10451800)\n[PASS] testSepoliaRefusesLookalikeRegistryBehindThePinnedFactory() (gas: 10438631)\n[PASS] testSepoliaRefusesUnpinnedServicesAtInitialize() (gas: 10157187)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 196.27ms (195.29ms CPU time)\n\nRan 3 tests for test/ManipulationEconomics.t.sol:ManipulationEconomicsTest\n[PASS] testCounterSellingOfAllInitialNonPoolTokens() (gas: 157505516)\nLogs:\n  gross ETH capital (wei): 404492004375936755769\n  attacker ETH exit (wei): 139667041180374722901\n  net ETH exit cost before fee recapture (wei): 264824963195562032868\n  payer ETH fee receipts (wei): 4044920043759367559\n  counter-seller ETH proceeds (wei): 259768813140862823404\n  duration seconds: 201600\n\n[PASS] testPayerCanRecaptureItsNativeFeeShare() (gas: 144656869)\nLogs:\n  gross ETH capital (wei): 181211119085726918584\n  attacker ETH exit (wei): 178745758707992549273\n  net ETH exit cost before fee recapture (wei): 2465360377734369311\n  payer ETH fee receipts (wei): 1812111190857269186\n  counter-seller ETH proceeds (wei): 0\n  duration seconds: 201600\n  net ETH cost after native fee recapture (wei): 653249186877100125\n\n[PASS] testSustainedManipulationUnlockAndExit() (gas: 144670589)\nLogs:\n  gross ETH capital (wei): 181211119085726918584\n  attacker ETH exit (wei): 178745758707992549273\n  net ETH exit cost before fee recapture (wei): 2465360377734369311\n  payer ETH fee receipts (wei): 1812111190857269186\n  counter-seller ETH proceeds (wei): 0\n  duration seconds: 201600\n\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 693.06ms (604.36ms CPU time)\n\nRan 5 tests for test/EvidenceAndOracleProperties.t.sol:MultiLeafEvidenceTest\n[PASS] testDecreasingEvidenceCannotRevokePreviouslyCreditedClaims() (gas: 1100730)\n[PASS] testProofsFromTheActualTreeCreditExactlyWhatWasDelivered() (gas: 2298063)\n[PASS] testSiblingCannotAttestAnotherWalletsClaim() (gas: 771322)\n[PASS] testSweptRoundFreezesEvidence() (gas: 1136164)\n[PASS] testTheTreeIsWellFormed() (gas: 40973)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 68.03ms (4.80ms CPU time)\n\nRan 2 tests for test/RevisionProperties.t.sol:SeedGatePropertiesTest\n[PASS] testFuzz_launchedSeedIsAlwaysLiquidAndRefusedSeedIsAlwaysBelowFloor(uint8) (runs: 96, μ: 11309870, ~: 9050245)\n[PASS] testFuzz_poolShareBandDecidesLaunchAndActivation(uint16) (runs: 96, μ: 11187023, ~: 9047728)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 518.32ms (453.38ms CPU time)\n\nRan 1 test for test/candidate/SetupScript.t.sol:CandidateSetupScriptTest\n[PASS] testActualFactoryLaunchThenPreparedCompanionsAndAtomicActivation() (gas: 17380932)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 36.84ms (2.88ms CPU time)\n\nRan 7 tests for test/mainnet/ImdTreasuryFailurePaths.t.sol:ImdTreasuryFailurePathsTest\n[PASS] testFalseTransferReturnRestoresRevenueAndDonationWithdrawalsIndependently() (gas: 1112673)\n[PASS] testFuzzDonatedClaimsCannotMasqueradeAsSwapRevenue(uint256) (runs: 1000, μ: 887959, ~: 888154)\n[PASS] testManagerCannotReplayCallbackOutsideAnAuthorizedRedemption() (gas: 745893)\n[PASS] testMissingRedemptionReceiptRollsBackBurnAndCanBeRetried() (gas: 1047738)\n[PASS] testPrincipalGuardPersistsThroughGlobalBypassAndReferenceFailure() (gas: 1166266)\n[PASS] testRedemptionDuringManagerUnlockFailsWithoutLosingClaimsOrLiveness() (gas: 778542)\n[PASS] testZeroAndOneWeiReceiptBoundaries() (gas: 426264)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 987.38ms (978.30ms CPU time)\n\nRan 12 tests for test/candidate/Fees.t.sol:CandidateFeesTest\n[PASS] testDonatedManagerClaimsAreNotFeeRevenueAndLockedRedemptionRollsBack() (gas: 1135553)\n[PASS] testExactOutputBoundsCannotWrapIntoExactInput() (gas: 599580)\n[PASS] testFreshTokenOnlyManagerAndAllFourSwapModes() (gas: 1699039)\n[PASS] testFuzzBuyRounding(uint128) (runs: 256, μ: 1993, ~: 1996)\n[PASS] testFuzzSellRounding(uint128) (runs: 256, μ: 1600, ~: 1627)\n[PASS] testOnlyBeneficiaryWithdrawsNoRedirectAndDonationsSeparate() (gas: 855328)\n[PASS] testPartialBuyChargesExecutedLegAndRefundsUnusedBudget() (gas: 524800)\n[PASS] testPartialExactOutputRevertsAllPoolCreditsAndFeeChanges() (gas: 977721)\n[PASS] testPartialSellChargesOnlyExecutedOutputAndReturnsUnusedTokens() (gas: 920453)\n[PASS] testRejectingBeneficiaryCannotHaltSwapsAndFailedWithdrawalRetainsFunds() (gas: 1363888)\n[PASS] testSlippageAndOverQuotaRollbackFeesAndCredits() (gas: 1204447)\n[PASS] testTransfersClaimsAndLpCollectionDoNotAccrueFees() (gas: 1219280)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 79.97ms (32.05ms CPU time)\n\nRan 18 tests for test/mainnet/OneWayGates.t.sol:OneWayGatesTest\n[PASS] testBriefBuySpikeThenFullSaleSameTransactionPreservesHighestSwapBoundary() (gas: 945372)\n[PASS] testEveryExactThresholdAndOneWeiBelowUsesSqrtNotRoundedTick() (gas: 6367380)\n[PASS] testExact1000Then200ThenOnly100At30Percent() (gas: 1970795)\n[PASS] testFuzzCumulativeEntitlementSurvivesGateJumpAndAdditionalBuy(uint96,uint8) (runs: 256, μ: 1498687, ~: 1498129)\n[PASS] testInvalidReferenceOnlyBlocksNewGatesNotTradingTransfersOrNativeClaims() (gas: 1888298)\n[PASS] testLateBatchRevertRestoresFinalBypassSalesCreditsFeesAndPool() (gas: 967339)\n[PASS] testLiquidityFeeReceiptsAndDonationsNeverCreditEligibility() (gas: 1489647)\n[PASS] testMultiTierJumpBriefSpikeAndPriceDeclineNeverReduceRights() (gas: 423923)\n[PASS] testOracleCannotBindUnauthorizedDifferentPoolOrSecondTime() (gas: 334200)\n[PASS] testPartialSalesRoundingAndNewAcquisitionsNeverResetSold() (gas: 2457467)\n[PASS] testPermanentFinalBypassForTransferOnlyHolderWithZeroEAfterDeclineAndOutage() (gas: 1195363)\n[PASS] testProtocolFeeDoesNotInvalidateSpotOrPreventPermanentGateAdvancement() (gas: 403894)\n[PASS] testRevertingReferenceStillSettlesQualifyingBuyAndWithinOldQuotaSale() (gas: 1051513)\n[PASS] testSaleCannotUseItsOwnPostSwapGateRetroactively() (gas: 1716712)\n[PASS] testSameTransactionEarlierBuyOpensGateForMatureQuotaButNewCreditWaits() (gas: 1324349)\n[PASS] testSameTransactionNewGateDoesNotMatureFreshCreditsAndRevertedBatchRestoresGate() (gas: 1290408)\n[PASS] testUnobservedPriceTouchIsNotBackfilled() (gas: 247900)\n[PASS] testWrongPoolCheckpointAndInvalidCurrentStateCannotGrantRights() (gas: 472483)\nSuite result: ok. 18 passed; 0 failed; 0 skipped; finished in 517.58ms (516.92ms CPU time)\n\nRan 17 tests for test/Oracle.t.sol:OracleTest\n[PASS] testBadChainlinkRoundsAndAnswersFailClosed() (gas: 2352246)\n[PASS] testConfirmationGapRestartsRatherThanCountingUnobservedTime() (gas: 14857451)\n[PASS] testEveryTierAndPermanentUnlock() (gas: 136512808)\n[PASS] testFallingPricesNeverLowerReachedTier() (gas: 29259665)\n[PASS] testInvalidDataCannotCountTowardPendingConfirmationOrRevokeRights() (gas: 15083422)\n[PASS] testInvalidDataLongerThanGapRestartsOnNextValidCall() (gas: 694951)\n[PASS] testLongInvalidIntervalRestartsWhetherObservedOrNot() (gas: 807692)\n[PASS] testNegativeTickAveragesRoundConservativelyForBothOrders() (gas: 769389)\n[PASS] testObservedAndUnobservedInvalidIntervalsAgree() (gas: 29667292)\n[PASS] testOneBlockSpikeCannotConfirm() (gas: 740812)\n[PASS] testOracleCannotBeReboundOrConfiguredByAnyone() (gas: 73530)\n[PASS] testRealFeedCadenceCannotBeUsedToResetConfirmation() (gas: 18790257)\n[PASS] testSameTimestampManipulationHasNoTimeWeight() (gas: 760132)\n[PASS] testStaleCheckpointAndFeedPreventNewTierButNotTrades() (gas: 1332186)\n[PASS] testSustainedManipulationRequiresWindowAndConfirmation() (gas: 15128037)\n[PASS] testThresholdMappingBoundaries() (gas: 69776)\n[PASS] testWarmupAndExactWindow() (gas: 400906)\nSuite result: ok. 17 passed; 0 failed; 0 skipped; finished in 405.25ms (330.32ms CPU time)\n\nRan 1 test for test/EvidenceAndOracleProperties.t.sol:RouterDeadlineTest\n[PASS] testDeadlineIsInclusive() (gas: 423552)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 83.89ms (853.41µs CPU time)\n\nRan 4 tests for test/mainnet/SpotArithmeticProperties.t.sol:SpotArithmeticPropertiesTest\n[PASS] testFuzzExactFloorAcrossFullNonzeroUint160AndUint256Domain(uint160,uint256,bool) (runs: 1000, μ: 113011, ~: 117293)\n[PASS] testFuzzWideDenominatorHasNoLostPrecision(uint160,uint256) (runs: 1000, μ: 123528, ~: 117256)\n[PASS] testIndependentLimbOracleAgreesWithSmallIntegerProductsAndKnownCarry() (gas: 78088)\n[PASS] testZeroOneSupplyAndMaxAtEveryArithmeticBranchBoundary() (gas: 10231366)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 987.75ms (1.04s CPU time)\n\nRan 5 tests for test/mainnet/OwnerTransactions.t.sol:OwnerTransactionsLargeTreeTest\n[PASS] testChangedServiceSourceAndAllocationRejectedBeforeSigning() (gas: 19063927)\n[PASS] testMalformedOrIncompleteTreeCannotBecomeWalletCalls() (gas: 18122520)\n[PASS] testWalletTransactionsExecuteAndSealWithoutWarmup() (gas: 93212249)\n[PASS] testWrongChainOwnerPayerAndRuntimeRejected() (gas: 179208)\n[PASS] testWrongDistributorAndNumberRejectedBeforeWalletSigning() (gas: 10254190)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 167.84ms (136.26ms CPU time)\n\nRan 2 tests for test/mainnet/ExternalSpotTouch.t.sol:ExternalSpotTouchReverseOrderTest\n[PASS] testRevertedFlashTouchCannotPersistGateOrReferenceMutation() (gas: 837691)\n[PASS] testUnsettledExternalSpotTouchPermanentlyUnlocksTransferOnlyHolder() (gas: 1508197)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 87.42ms (4.36ms CPU time)\n\nRan 3 tests for test/EvidenceAndOracleProperties.t.sol:OracleReferenceTest\n[PASS] testCheckpointReplacementRewritesOnlyTheCurrentSecond() (gas: 997263)\n[PASS] testFuzzFdvIsMonotonicInTheEthUsdAnswer(uint64,uint64) (runs: 256, μ: 751867, ~: 752051)\n[PASS] testFuzzTwapMatchesBruteForceReference(uint256) (runs: 160, μ: 2866236, ~: 2871531)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 1.01s (935.92ms CPU time)\n\nRan 10 tests for test/mainnet/ProtocolFees.t.sol:ImdProtocolFeesReverseTest\n[PASS] testAllFourModesAndFeeInclusiveQuoter() (gas: 2759296)\n[PASS] testControllerChangesDoNotResetQuotaOrBlockTradingDuringReferenceOutage() (gas: 2450696)\n[PASS] testExplorerBuySellClaimsRevenueAndDonationSeparation() (gas: 1495710)\n[PASS] testFuzzDirectionalProtocolFeesPreserveExecutedLegFeeAndSolvency(uint16,uint16,uint96) (runs: 256, μ: 1148353, ~: 1150461)\n[PASS] testFuzzExecutedImdConservation(uint96,uint16) (runs: 256, μ: 1082054, ~: 1080246)\n[PASS] testMissingTokenReceiptRollsBackWithdrawalAccounting() (gas: 937652)\n[PASS] testProtocolRevenueIsSeparateFromTreasuryAndLockedPrincipal() (gas: 801256)\n[PASS] testQuotaTransfersAndNativeClaimIndependence() (gas: 1335646)\n[PASS] testQuoteRollbackNoAccrualOrCredits() (gas: 1364447)\n[PASS] testRangeExitRollsBackFeesLedgerAndPool() (gas: 1303245)\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 1.10s (1.03s CPU time)\n\nRan 1 test for test/StageOneInvariants.t.sol:StageOneInvariantTest\n[PASS]\nStageOneInvariantTest invariants:\n[PASS] invariant_onlyTheAuthorizedCallActivates\n[PASS] invariant_tokenAndClaimsIndependentOfTheHook\n[PASS] invariant_unconfiguredPoolIsInert\n StageOneInvariantTest invariants (runs: 96, calls: 3840, reverts: 0)\n\n╭-----------------+------------------+-------+---------+----------╮\n| Contract        | Selector         | Calls | Reverts | Discards |\n+=================================================================+\n| StageOneHandler | advance          | 477   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | attemptActivate  | 443   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | claimAndAttest   | 485   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | directSwap       | 483   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | foreignLiquidity | 532   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | routerSwap       | 485   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | syncAndMilestone | 479   | 0       | 0        |\n|-----------------+------------------+-------+---------+----------|\n| StageOneHandler | transfer         | 456   | 0       | 0        |\n╰-----------------+------------------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.58s (1.48s CPU time)\n\nRan 7 tests for test/NativeLaunch.t.sol:NativeLaunchTest\n[PASS] testDeepNativePoolWarmsUpAndCanUnlock() (gas: 136095724)\n[PASS] testNativeBatchSettlement() (gas: 870289)\n[PASS] testNativeBuySellAndFeeDistribution() (gas: 1127517)\n[PASS] testNativeExactOutputRefundToAuthenticatedCaller() (gas: 453384)\n[PASS] testNativeValueMismatchAndUnsolicitedSendRejected() (gas: 91952)\n[PASS] testOneSidedOpeningLocks87PercentWithoutEthFunding() (gas: 62608)\n[PASS] testThinLaunchCannotUnlockFromInitialSpotOrTinyBuy() (gas: 29940461)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 395.52ms (319.11ms CPU time)\n\nRan 11 tests for test/NativeLaunch.t.sol:NativeWithdrawalTest\n[PASS] testDeepNativePoolWarmsUpAndCanUnlock() (gas: 136095725)\n[PASS] testNativeBatchSettlement() (gas: 870289)\n[PASS] testNativeBuySellAndFeeDistribution() (gas: 1127528)\n[PASS] testNativeExactOutputRefundToAuthenticatedCaller() (gas: 453473)\n[PASS] testNativeSettlementResetsPriorSyncCurrency() (gas: 605836)\n[PASS] testNativeValueMismatchAndUnsolicitedSendRejected() (gas: 91930)\n[PASS] testNativeWithdrawalUsesCEIAndCannotDoubleWithdraw() (gas: 996338)\n[PASS] testOneSidedOpeningLocks87PercentWithoutEthFunding() (gas: 62586)\n[PASS] testOtherWalletCannotWithdrawNativeRefund() (gas: 461374)\n[PASS] testRejectingNativeWalletCanTradeAndRetryWithdrawal() (gas: 1074660)\n[PASS] testThinLaunchCannotUnlockFromInitialSpotOrTinyBuy() (gas: 29940461)\nSuite result: ok. 11 passed; 0 failed; 0 skipped; finished in 231.68ms (179.49ms CPU time)\n\nRan 1 test for test/successor/SuccessorInvariants.t.sol:SuccessorInvariantTest\n[PASS]\nSuccessorInvariantTest invariants:\n[PASS] invariant_creditsEqualExecutedBuysOnly\n[PASS] invariant_feesAreNativeClaimsAndNeverUnlk\n[PASS] invariant_quotaNeverExceededForAnyInitiator\n SuccessorInvariantTest invariants (runs: 128, calls: 5120, reverts: 0)\n\n╭------------------+----------+-------+---------+----------╮\n| Contract         | Selector | Calls | Reverts | Discards |\n+==========================================================+\n| SuccessorHandler | buy      | 1740  | 0       | 0        |\n|------------------+----------+-------+---------+----------|\n| SuccessorHandler | sell     | 1665  | 0       | 0        |\n|------------------+----------+-------+---------+----------|\n| SuccessorHandler | transfer | 1715  | 0       | 0        |\n╰------------------+----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 3.55s (3.48s CPU time)\n\nRan 18 tests for test/mainnet/OneWayGates.t.sol:OneWayGatesReverseOrderTest\n[PASS] testBriefBuySpikeThenFullSaleSameTransactionPreservesHighestSwapBoundary() (gas: 1024927)\n[PASS] testEveryExactThresholdAndOneWeiBelowUsesSqrtNotRoundedTick() (gas: 6341812)\n[PASS] testExact1000Then200ThenOnly100At30Percent() (gas: 2048635)\n[PASS] testFuzzCumulativeEntitlementSurvivesGateJumpAndAdditionalBuy(uint96,uint8) (runs: 256, μ: 1577687, ~: 1577169)\n[PASS] testInvalidReferenceOnlyBlocksNewGatesNotTradingTransfersOrNativeClaims() (gas: 1967336)\n[PASS] testLateBatchRevertRestoresFinalBypassSalesCreditsFeesAndPool() (gas: 1047299)\n[PASS] testLiquidityFeeReceiptsAndDonationsNeverCreditEligibility() (gas: 1521554)\n[PASS] testMultiTierJumpBriefSpikeAndPriceDeclineNeverReduceRights() (gas: 423113)\n[PASS] testOracleCannotBindUnauthorizedDifferentPoolOrSecondTime() (gas: 333794)\n[PASS] testPartialSalesRoundingAndNewAcquisitionsNeverResetSold() (gas: 2550084)\n[PASS] testPermanentFinalBypassForTransferOnlyHolderWithZeroEAfterDeclineAndOutage() (gas: 1228107)\n[PASS] testProtocolFeeDoesNotInvalidateSpotOrPreventPermanentGateAdvancement() (gas: 403084)\n[PASS] testRevertingReferenceStillSettlesQualifyingBuyAndWithinOldQuotaSale() (gas: 1083154)\n[PASS] testSaleCannotUseItsOwnPostSwapGateRetroactively() (gas: 1795362)\n[PASS] testSameTransactionEarlierBuyOpensGateForMatureQuotaButNewCreditWaits() (gas: 1403041)\n[PASS] testSameTransactionNewGateDoesNotMatureFreshCreditsAndRevertedBatchRestoresGate() (gas: 1369491)\n[PASS] testUnobservedPriceTouchIsNotBackfilled() (gas: 247112)\n[PASS] testWrongPoolCheckpointAndInvalidCurrentStateCannotGrantRights() (gas: 471858)\nSuite result: ok. 18 passed; 0 failed; 0 skipped; finished in 499.97ms (465.23ms CPU time)\n\nRan 6 tests for test/mainnet/V4OracleProof.t.sol:V4BlockProofTest\n[PASS] testActualMainnetProofVerifiesExactStorageButCannotPrice() (gas: 5170288)\n[PASS] testDuplicateAndTrailingProofNodesRejected() (gas: 6163390)\n[PASS] testFuzzChangedHeaderNeverAuthenticates(uint16,uint8) (runs: 256, μ: 83310, ~: 90783)\n[PASS] testFuzzChangedStorageProofRejected(uint16,uint8) (runs: 256, μ: 525511, ~: 525196)\n[PASS] testNonCanonicalRlpAndMalformedNodesRejected() (gas: 94027)\n[PASS] testWrongAccountSlotChainAgeAndConfirmationRejected() (gas: 4781659)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 3.28s (3.29s CPU time)\n\nRan 1 test for test/Invariants.t.sol:FullyUnlockedInvariantTest\n[PASS]\nFullyUnlockedInvariantTest invariants:\n[PASS] invariantEligibleEqualsOnlyExecutedBuysAndSynchronizedProofs\n[PASS] invariantNoActorExceedsItsQuotaBeforeUnlock\n[PASS] invariantPrincipalLiquidityNeverDecreases\n[PASS] invariantSupplyConservedAndRouterHasNoCustody\n[PASS] invariantUnlockRemainsPermanentDespiteInvalidFeed\n FullyUnlockedInvariantTest invariants (runs: 128, calls: 5120, reverts: 0)\n\n╭---------------+----------+-------+---------+----------╮\n| Contract      | Selector | Calls | Reverts | Discards |\n+=======================================================+\n| ActionHandler | advance  | 859   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | buy      | 888   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | claim    | 794   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | sell     | 865   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | sync     | 864   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | transfer | 850   | 0       | 0        |\n╰---------------+----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.05s (3.67s CPU time)\n\nRan 1 test for test/mainnet/QuotaMitigationInvariants.t.sol:QuotaMitigationInvariantTest\n[PASS]\nQuotaMitigationInvariantTest invariants:\n[PASS] invariantDirectRightsMatchOnlyExecutedAcquisitionsAndSales\n[PASS] invariantFeeReceiptsAndProtectedPrincipalRemainConserved\n QuotaMitigationInvariantTest invariants (runs: 128, calls: 5120, reverts: 0)\n\n╭------------------------+-----------+-------+---------+----------╮\n| Contract               | Selector  | Calls | Reverts | Discards |\n+=================================================================+\n| QuotaMitigationHandler | buy       | 1262  | 0       | 0        |\n|------------------------+-----------+-------+---------+----------|\n| QuotaMitigationHandler | nextBlock | 1302  | 0       | 0        |\n|------------------------+-----------+-------+---------+----------|\n| QuotaMitigationHandler | sell      | 1230  | 0       | 0        |\n|------------------------+-----------+-------+---------+----------|\n| QuotaMitigationHandler | transfer  | 1326  | 0       | 0        |\n╰------------------------+-----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.05s (4.02s CPU time)\n\nRan 2 tests for test/SeedRangeLimitProperties.t.sol:SeedRangeInvariantTest\n[PASS]\nSeedRangeInvariantTest invariants:\n[PASS] invariant_EveryObservationIsLiquid\n[PASS] invariant_PriceNeverLeavesTheSeedRange\n[PASS] invariant_PrincipalLockedAndManagerAssetsEqualExecutedFlows\n[PASS] invariant_SoldMatchesExecutedSalesAndQuota\n SeedRangeInvariantTest invariants (runs: 128, calls: 6144, reverts: 0)\n\n╭-----------------------+--------------+-------+---------+----------╮\n| Contract              | Selector     | Calls | Reverts | Discards |\n+===================================================================+\n| SeedRangeTradeHandler | advance      | 1009  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | buyExactIn   | 1023  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | sellExactIn  | 1016  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | sellExactOut | 1012  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | syncPayer    | 1026  | 0       | 0        |\n|-----------------------+--------------+-------+---------+----------|\n| SeedRangeTradeHandler | withdraw     | 1058  | 0       | 0        |\n╰-----------------------+--------------+-------+---------+----------╯\n\n[PASS] testHandlerBranchesAreReachable() (gas: 3844289)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.07s (4.03s CPU time)\n\nRan 2 tests for test/RevisionProperties.t.sol:MilestoneSampleInvariantTest\n[PASS]\nMilestoneSampleInvariantTest invariants:\n[PASS] invariant_confirmationNeedsAnUnbrokenChainOfValidSamples\n[PASS] invariant_invalidSamplesNeverAdvanceTiers\n[PASS] invariant_nothingEverRelocksAndStateIsConsistent\n MilestoneSampleInvariantTest invariants (runs: 48, calls: 1920, reverts: 0)\n\n╭------------------------+----------+-------+---------+----------╮\n| Contract               | Selector | Calls | Reverts | Discards |\n+================================================================+\n| MilestoneSampleHandler | advance  | 312   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | corrupt  | 334   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | heal     | 331   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | march    | 293   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | sample   | 317   | 0       | 0        |\n|------------------------+----------+-------+---------+----------|\n| MilestoneSampleHandler | setPrice | 333   | 0       | 0        |\n╰------------------------+----------+-------+---------+----------╯\n\n[PASS] testHandlerReachesTiersAndEveryCorruptionIsInvalid() (gas: 12640787)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.26s (4.20s CPU time)\n\nRan 17 tests for test/FailurePaths.t.sol:RouterAndHookFailurePathsTest\n[PASS] testBatchBoundsAndValueMustMatch() (gas: 186758)\n[PASS] testBatchIsAtomicWhenALaterStepFails() (gas: 834234)\n[PASS] testConfirmationRequiresSixHoursAndCannotSkipTiers() (gas: 15341697)\n[PASS] testFullUnlockKeepsFeesAndRouterAuthentication() (gas: 137007309)\n[PASS] testFuzzOperationHashBindsTraderNonceAndChain(address,uint256,uint64) (runs: 256, μ: 17656, ~: 17656)\n[PASS] testFuzzRemainingQuotaFormula(uint128,uint128,uint8) (runs: 512, μ: 7293365, ~: 7293203)\n[PASS] testFuzzTierIsMonotonicInFdv(uint256,uint256) (runs: 512, μ: 16938, ~: 16913)\n[PASS] testFuzzTransfersMoveExactlyTheAmount(address,uint96) (runs: 256, μ: 122469, ~: 122475)\n[PASS] testHookRejectsMalformedRouteDataAndUnknownSenders() (gas: 238753)\n[PASS] testPartialFillAtPriceLimitChargesOnlyExecutedInput() (gas: 1213883)\n[PASS] testQuotaWidensWithTierAndNeverDoubleCounts() (gas: 16795708)\n[PASS] testRequesterChangeAfterActivationDoesNotMoveThePayer() (gas: 146383)\n[PASS] testRouterCallbackNeedsALiveSwap() (gas: 73817)\n[PASS] testRouterRefusesDegenerateRequests() (gas: 500273)\n[PASS] testSecondRoundClaimsAccumulateOncePerRound() (gas: 995639)\n[PASS] testSlippageRefusalsLeaveNoTrace() (gas: 899401)\n[PASS] testSyncForStrangerAndZeroAddressCreatesNothing() (gas: 108400)\nSuite result: ok. 17 passed; 0 failed; 0 skipped; finished in 4.55s (4.55s CPU time)\n\nRan 5 tests for test/SeedRangeLimitProperties.t.sol:SeedRangeLimitPropertiesTest\n[PASS] testBuyLimitBelowTheFloorIsClampedAndLimitAboveThePriceIsRefused() (gas: 1123455)\n[PASS] testExactOutputSellBeyondTheReserveRevertsSlippageWithoutState() (gas: 1324053)\n[PASS] testFuzzDrainAndRebuyKeepsTheOracleReadable(uint96,uint96,uint8) (runs: 256, μ: 1689035, ~: 1680502)\n[PASS] testFuzzSellLimitIsClampedExactlyToTheSeedCeiling(uint96,uint160,uint8) (runs: 512, μ: 1128461, ~: 1206362)\n[PASS] testLaunchStateSellRevertsAsPriceLimitAlreadyExceeded() (gas: 1161675)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 1.64s (2.14s CPU time)\n\nRan 23 tests for test/successor/Successor.t.sol:SuccessorTest\n[PASS] testBatchedBuysAllCreditTheInitiator() (gas: 463840)\n[PASS] testClaimsAndPayerCreditIndependentOfTradingAndDeduplicated() (gas: 754542)\n[PASS] testCycleInOneExecutionCannotFarmQuota() (gas: 1199533)\n[PASS] testDirectUnlockerCannotTrade() (gas: 513524)\n[PASS] testDivertedDeliveryCreditsInitiatorNotRecipient() (gas: 596333)\n[PASS] testExactOutputBuyChargesEthOnExecutedInputAndRefundsUnusedValue() (gas: 586480)\n[PASS] testExactOutputSellDeliversExactNetEth() (gas: 915573)\n[PASS] testExplorerBuyExactInputChargesEthFeeOnExecutedPoolLeg() (gas: 651573)\n[PASS] testExplorerSellExactInputThroughPermit2ChargesExecutedEthOutput() (gas: 903970)\n[PASS] testFeeInclusiveMinimumAboveQuoteRevertsWithoutState() (gas: 594299)\n[PASS] testFullUnlockKeepsTheStandardRouteAndBypassesQuota() (gas: 301039236)\n[PASS] testFuzzBuyThenSellConservesEthAndFees(uint96,uint16) (runs: 256, μ: 728480, ~: 730050)\n[PASS] testFuzzSpecifiedFeeBounds(uint128) (runs: 256, μ: 6324, ~: 6325)\n[PASS] testGenericQuoteForZeroQuotaWalletIsSimulationOnly() (gas: 674606)\n[PASS] testHookDataIsIgnored() (gas: 731203)\n[PASS] testLookalikeCodeAtRouterOrQuoterAddressRejected() (gas: 575287)\n[PASS] testPrefundedSaleConsumesInitiatorQuotaNotFunder() (gas: 796620)\n[PASS] testSaleBeyondSeedBoundaryIsRejectedAndNotCharged() (gas: 1247945)\n[PASS] testSetupIsSealedAndCompanionsPinned() (gas: 475937)\n[PASS] testSmartAccountIsTheInitiator() (gas: 532401)\n[PASS] testTransfersNeverMigrateRights() (gas: 679420)\n[PASS] testTreasuryRedeemsAndOnlyBeneficiaryWithdrawsEth() (gas: 571674)\n[PASS] testUnactivatedLaunchRejectsStandardSwapsAndWrongCodes() (gas: 24303844)\nSuite result: ok. 23 passed; 0 failed; 0 skipped; finished in 4.68s (1.14s CPU time)\n\nRan 7 tests for test/mainnet/V4OracleProof.t.sol:V4OracleIntervalsTest\n[PASS] testBadEthRoundsAndCodeFailClosed() (gas: 152659126)\n[PASS] testCurrentDepthWithdrawalInvalidatesEvenFreshProvenHistory() (gas: 152161531)\n[PASS] testDepthAndGapInvalidateWholeWindowThenRecoverWithoutReset() (gas: 522369133)\n[PASS] testInsufficientHistoryWarmupAndNoExtrapolation() (gas: 152203426)\n[PASS] testOmittedBlocksCannotBeSmoothedAndLateRecoveryRecordsBadInterval() (gas: 335725603)\n[PASS] testSameBlockAndFlashSampleCannotSupplyElapsedHistory() (gas: 152482577)\n[PASS] testSustainedAndCrossMarketManipulationRemainExecutableLimit() (gas: 320225835)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 3.69s (6.40s CPU time)\n\nRan 1 test for test/Invariants.t.sol:SystemInvariantTest\n[PASS]\nSystemInvariantTest invariants:\n[PASS] invariantEligibleEqualsOnlyExecutedBuysAndSynchronizedProofs\n[PASS] invariantNoActorExceedsItsQuotaBeforeUnlock\n[PASS] invariantPrincipalLiquidityNeverDecreases\n[PASS] invariantSupplyConservedAndRouterHasNoCustody\n SystemInvariantTest invariants (runs: 128, calls: 5120, reverts: 0)\n\n╭---------------+----------+-------+---------+----------╮\n| Contract      | Selector | Calls | Reverts | Discards |\n+=======================================================+\n| ActionHandler | advance  | 859   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | buy      | 888   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | claim    | 794   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | sell     | 865   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | sync     | 864   | 0       | 0        |\n|---------------+----------+-------+---------+----------|\n| ActionHandler | transfer | 850   | 0       | 0        |\n╰---------------+----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.95s (4.84s CPU time)\n\nRan 10 tests for test/mainnet/ProtocolFees.t.sol:ImdProtocolFeesTest\n[PASS] testAllFourModesAndFeeInclusiveQuoter() (gas: 2609879)\n[PASS] testControllerChangesDoNotResetQuotaOrBlockTradingDuringReferenceOutage() (gas: 2421091)\n[PASS] testExplorerBuySellClaimsRevenueAndDonationSeparation() (gas: 1463650)\n[PASS] testFuzzDirectionalProtocolFeesPreserveExecutedLegFeeAndSolvency(uint16,uint16,uint96) (runs: 256, μ: 1116302, ~: 1118519)\n[PASS] testFuzzExecutedImdConservation(uint96,uint16) (runs: 256, μ: 1049863, ~: 1048160)\n[PASS] testMissingTokenReceiptRollsBackWithdrawalAccounting() (gas: 904738)\n[PASS] testProtocolRevenueIsSeparateFromTreasuryAndLockedPrincipal() (gas: 768342)\n[PASS] testQuotaTransfersAndNativeClaimIndependence() (gas: 1303438)\n[PASS] testQuoteRollbackNoAccrualOrCredits() (gas: 1263218)\n[PASS] testRangeExitRollsBackFeesLedgerAndPool() (gas: 1256684)\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 4.17s (4.43s CPU time)\n\nRan 15 tests for test/mainnet/SampledOracle.t.sol:SampledOracleTest\n[PASS] testChainlinkValidation() (gas: 40426014)\n[PASS] testCheckpointTimedRepeatedFlashRatchetsAndItsCost() (gas: 47381145)\nLogs:\n  sole-sampler 2x: samples 81 fee cost USD 1092185\n  per-sample 2x flash fee USD 14032\n  24h at 1-minute honest cadence USD 20206682\n  24h, attacker-owned LP recaptures 1% LP fee, USD 91932\n\n[PASS] testColdStartWarmupDirectionAndDecimals() (gas: 39918613)\n[PASS] testCrossPoolFactorsMultiplyAndNetProfitModel() (gas: 62295127)\nLogs:\n  per-sample fee USD: full 2x leg / sqrt2 leg 14032 6409\n  bypass value of 2% holding USD 500000\n  cost: sole sampler / attacker LP / per-minute honest cadence USD 1136625 103423\n  cost per-minute honest cadence USD 22732517\n  sole-sampler breakeven holding (UNLK) 45465000\n\n[PASS] testFlashSameBlockSampleIsClampedAndHasNoImmediateWeight() (gas: 40743874)\nLogs:\n  flash 5000 ticks: ETH in 177 fee cost USD 9621\n\n[PASS] testFlashedAnchorConvergesBeforeAnyPriceIsServed() (gas: 39886705)\n[PASS] testFuzzRecordedStepBoundedAndAccountingMonotone(int24[8],uint16[8]) (runs: 256, μ: 1060409, ~: 1060320)\n[PASS] testGapVoidsWindowsUntilFullCleanLongWindow() (gas: 60067062)\n[PASS] testHonestMoveDelayIsExplicit() (gas: 61598596)\nLogs:\n  honest 2x move: minutes unavailable 100\n\n[PASS] testSameBlockAndTooFrequentSamplesRejected() (gas: 233313)\n[PASS] testStaleLatestSampleNeverExtrapolated() (gas: 39786385)\n[PASS] testSustainedManipulationPasses() (gas: 62272176)\n[PASS] testThinPoolOrChangedFeeIsRecordedIlliquid() (gas: 59962853)\n[PASS] testUninitializedPoolWrongChainAndWrongManagerFailClosed() (gas: 105297)\n[PASS] testUnsandwichedHonestSamplesNeutralizeAlternatingFlashes() (gas: 162950149)\nSuite result: ok. 15 passed; 0 failed; 0 skipped; finished in 4.98s (1.30s CPU time)\n\nRan 7 tests for test/mainnet/ImdSwaps.t.sol:ImdSwapsTest\n[PASS] testAllFourModesAndFeeInclusiveQuoter() (gas: 2493685)\n[PASS] testExplorerBuySellClaimsRevenueAndDonationSeparation() (gas: 1418830)\n[PASS] testFuzzExecutedImdConservation(uint96,uint16) (runs: 256, μ: 1004800, ~: 1003263)\n[PASS] testMissingTokenReceiptRollsBackWithdrawalAccounting() (gas: 882330)\n[PASS] testQuotaTransfersAndNativeClaimIndependence() (gas: 1258622)\n[PASS] testQuoteRollbackNoAccrualOrCredits() (gas: 1185512)\n[PASS] testRangeExitRollsBackFeesLedgerAndPool() (gas: 1204196)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 4.77s (4.76s CPU time)\n\nRan 5 tests for test/BatchSettlementProperties.t.sol:BatchSettlementPropertiesTest\n[PASS] testFuzz_BatchEqualsSequentialExecution(uint256,uint8,bool) (runs: 1000, μ: 4613613, ~: 4198416)\n[PASS] testFuzz_FailureAtAnyBatchIndexRestoresAllowancesFeesAndCredits(uint256,uint8) (runs: 1000, μ: 11514225, ~: 11312575)\n[PASS] test_MaximumMixedBatchOnFreshTokenOnlyManager() (gas: 9253895)\n[PASS] test_OneWeiShortAllowanceRestoresEntireBatchAndRetryWorks() (gas: 1872568)\n[PASS] test_PartialSaleMayPrefundMoreThanQuotaButChargesOnlyExecution() (gas: 906671)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 4.88s (8.84s CPU time)\n\nRan 2 tests for test/candidate/QuotaInvariants.t.sol:CandidateQuotaInvariantTest\n[PASS]\nCandidateQuotaInvariantTest invariants:\n[PASS] invariant_configurationSealedAndRouteEnforced\n[PASS] invariant_ledgerMatchesExecutedDeltas\n[PASS] invariant_milestonesMonotonicAndConsistent\n[PASS] invariant_principalLockedAndFeeTermsFixed\n[PASS] invariant_routerNativeSolvency\n[PASS] invariant_salesNeverExceedQuota\n[PASS] invariant_supplyConservedAndNoCustody\n[PASS] invariant_vaultReceiptsBackAllAccrual\n CandidateQuotaInvariantTest invariants (runs: 96, calls: 5760, reverts: 0)\n\n╭-----------------------+-----------------+-------+---------+----------╮\n| Contract              | Selector        | Calls | Reverts | Discards |\n+======================================================================+\n| CandidateQuotaHandler | advance         | 363   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | buyExactIn      | 340   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | buyExactOut     | 348   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | claimAndAttest  | 354   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | claimFees       | 372   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | directSwap      | 355   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | donate          | 326   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | foreignActivate | 374   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | sellExactOut    | 347   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | sellOverQuota   | 379   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | sellWithinQuota | 770   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | setFeed         | 318   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | sync            | 362   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | transfer        | 382   | 0       | 0        |\n|-----------------------+-----------------+-------+---------+----------|\n| CandidateQuotaHandler | withdrawNative  | 370   | 0       | 0        |\n╰-----------------------+-----------------+-------+---------+----------╯\n\n[PASS] testHandlerActionsActuallyExecute() (gas: 24312591)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 6.58s (6.58s CPU time)\n\nRan 2 tests for test/QuotaInvariants.t.sol:QuotaInvariantTest\n[PASS]\nQuotaInvariantTest invariants:\n[PASS] invariant_configurationSealedAndRouteEnforced\n[PASS] invariant_ledgerMatchesExecutedDeltas\n[PASS] invariant_milestonesMonotonicAndConsistent\n[PASS] invariant_principalLockedAndFeeTermsFixed\n[PASS] invariant_routerNativeSolvency\n[PASS] invariant_salesNeverExceedQuota\n[PASS] invariant_supplyConservedAndNoCustody\n QuotaInvariantTest invariants (runs: 96, calls: 5760, reverts: 0)\n\n╭--------------+-----------------+-------+---------+----------╮\n| Contract     | Selector        | Calls | Reverts | Discards |\n+=============================================================+\n| QuotaHandler | advance         | 363   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | buyExactIn      | 340   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | buyExactOut     | 348   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | claimAndAttest  | 354   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | claimFees       | 372   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | directSwap      | 355   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | donate          | 326   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | foreignActivate | 374   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | sellExactOut    | 347   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | sellOverQuota   | 379   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | sellWithinQuota | 770   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | setFeed         | 318   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | sync            | 362   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | transfer        | 382   | 0       | 0        |\n|--------------+-----------------+-------+---------+----------|\n| QuotaHandler | withdrawNative  | 370   | 0       | 0        |\n╰--------------+-----------------+-------+---------+----------╯\n\n[PASS] testHandlerActionsActuallyExecute() (gas: 23822211)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 6.90s (6.83s CPU time)\n\nRan 2 tests for test/TokenLedgerProperties.t.sol:TokenLedgerInvariantTest\n[PASS]\nTokenLedgerInvariantTest invariants:\n[PASS] invariant_BalancesAndAllowancesMatchIndependentLedger\n[PASS] invariant_OriginalReceiptsRemainSealedDespiteArbitraryTransfers\n TokenLedgerInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭--------------------+-------------------+-------+---------+----------╮\n| Contract           | Selector          | Calls | Reverts | Discards |\n+=====================================================================+\n| TokenLedgerHandler | approve           | 2813  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | refuseOverspend   | 2793  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | refuseZeroAddress | 2659  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | transfer          | 2763  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | transferAll       | 2645  | 0       | 0        |\n|--------------------+-------------------+-------+---------+----------|\n| TokenLedgerHandler | transferFrom      | 2711  | 0       | 0        |\n╰--------------------+-------------------+-------+---------+----------╯\n\n[PASS] test_HandlerCoversFiniteInfiniteSelfRevokedAndFailedAllowancePaths() (gas: 2246042)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 8.65s (8.65s CPU time)\n\nRan 5 tests for test/FeeCustodyProperties.t.sol:FeeCustodyInvariantTest\n[PASS]\nFeeCustodyInvariantTest invariants:\n[PASS] invariant_FactoryAssetsBackEveryUnpaidFeeAndDonationsRemainSurplus\n[PASS] invariant_FeeCollectionCannotTouchPrincipalOrCreateQuota\n[PASS] invariant_RecipientsAndSettlementStayBoundToTheirActualOwners\n FeeCustodyInvariantTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭-------------------+-------------------------+-------+---------+----------╮\n| Contract          | Selector                | Calls | Reverts | Discards |\n+==========================================================================+\n| FeeCustodyHandler | collect                 | 1857  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | donate                  | 1724  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | refuseInvalidOperations | 1839  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | rotateNetwork           | 1850  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | setRecipientMode        | 1789  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | tradePair               | 1838  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | transferRequester       | 1764  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | withdrawAccount         | 1870  | 0       | 0        |\n|-------------------+-------------------------+-------+---------+----------|\n| FeeCustodyHandler | withdrawNetwork         | 1853  | 0       | 0        |\n╰-------------------+-------------------------+-------+---------+----------╯\n\n[PASS] test_DeferredPayerDebtStaysWithOldWalletWhileNetworkDebtFollowsRecipient() (gas: 6376558)\n[PASS] test_ReentrantFeeCollectionHasNoSecondPrincipalOrFeeWithdrawal() (gas: 4131841)\n[PASS] test_ReentrantFeeWithdrawalsCannotPayEitherShareTwice() (gas: 4037988)\n[PASS] test_RejectingNetworkRecipientCannotHoldPayerFeesHostage() (gas: 3956563)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 13.51s (13.47s CPU time)\n\nRan 2 tests for test/mainnet/SpotCustodyInvariants.t.sol:SpotCustodyInvariantsReverseOrderTest\n[PASS]\nSpotCustodyInvariantsReverseOrderTest invariants:\n[PASS] invariant_PrincipalSupplyAndSealedConfigurationSurviveEverySequence\n[PASS] invariant_QuotaUsesOnlyMatureAcquisitionsAndNeverForgetsSales\n[PASS] invariant_TreasuryReceiptsCashAndPayoutsReconcile\n SpotCustodyInvariantsReverseOrderTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭--------------------+-----------------------+-------+---------+----------╮\n| Contract           | Selector              | Calls | Reverts | Discards |\n+=========================================================================+\n| SpotCustodyHandler | buy                   | 2134  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | checkpoint            | 1121  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | claimAndSync          | 1050  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | collectLpFees         | 1143  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | donate                | 1101  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | nextBlock             | 1144  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | redeem                | 1104  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | referenceState        | 1054  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectExcessSale      | 1117  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectReconfiguration | 1081  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectUnauthorized    | 1090  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | sell                  | 1073  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | transfer              | 1062  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | withdraw              | 1110  | 0       | 0        |\n╰--------------------+-----------------------+-------+---------+----------╯\n\n[PASS] testHandlerExercisesFailuresDonationsClaimsAndPermanentBypass() (gas: 5193195)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 15.17s (15.08s CPU time)\n\nRan 2 tests for test/mainnet/SpotCustodyInvariants.t.sol:SpotCustodyInvariantsTest\n[PASS]\nSpotCustodyInvariantsTest invariants:\n[PASS] invariant_PrincipalSupplyAndSealedConfigurationSurviveEverySequence\n[PASS] invariant_QuotaUsesOnlyMatureAcquisitionsAndNeverForgetsSales\n[PASS] invariant_TreasuryReceiptsCashAndPayoutsReconcile\n SpotCustodyInvariantsTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭--------------------+-----------------------+-------+---------+----------╮\n| Contract           | Selector              | Calls | Reverts | Discards |\n+=========================================================================+\n| SpotCustodyHandler | buy                   | 2134  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | checkpoint            | 1121  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | claimAndSync          | 1050  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | collectLpFees         | 1143  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | donate                | 1101  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | nextBlock             | 1144  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | redeem                | 1104  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | referenceState        | 1054  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectExcessSale      | 1117  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectReconfiguration | 1081  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | rejectUnauthorized    | 1090  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | sell                  | 1073  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | transfer              | 1062  | 0       | 0        |\n|--------------------+-----------------------+-------+---------+----------|\n| SpotCustodyHandler | withdraw              | 1110  | 0       | 0        |\n╰--------------------+-----------------------+-------+---------+----------╯\n\n[PASS] testHandlerExercisesFailuresDonationsClaimsAndPermanentBypass() (gas: 5199101)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 15.37s (15.33s CPU time)\n\nRan 2 tests for test/ClaimLifecycleInvariants.t.sol:ClaimLifecycleInvariantsTest\n[PASS]\nClaimLifecycleInvariantsTest invariants:\n[PASS] invariant_DistributorReservesAndCashMatchIndependentRoundModel\n[PASS] invariant_FixedSupplyAndInitialReceiptsSurviveAllClaimSequences\n[PASS] invariant_OnlyDeliveredAttestedAndSyncedClaimsCreateRights\n ClaimLifecycleInvariantsTest invariants (runs: 256, calls: 20480, reverts: 0)\n\n╭-----------------------+-------------------+-------+---------+----------╮\n| Contract              | Selector          | Calls | Reverts | Discards |\n+========================================================================+\n| ClaimLifecycleHandler | advance           | 1899  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | attest            | 1793  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | certify           | 1920  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | claim             | 1891  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | deliverAndSync    | 1806  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | openRound         | 1797  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | sweep             | 1867  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | sync              | 1904  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | syncPayer         | 1855  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | transferOrDonate  | 1847  | 0       | 0        |\n|-----------------------+-------------------+-------+---------+----------|\n| ClaimLifecycleHandler | unauthorizedRound | 1901  | 0       | 0        |\n╰-----------------------+-------------------+-------+---------+----------╯\n\n[PASS] test_ModelExercisesDelayedCertificationSweepsAndRecycledFunding() (gas: 4966220)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 17.19s (17.11s CPU time)\n\nRan 2 tests for test/NativeCustodyInvariants.t.sol:NativeCustodyInvariantsTest\n[PASS]\nNativeCustodyInvariantsTest invariants:\n[PASS] invariant_ManagerHasNoUnsettledDeltaOrReusableRouteContext\n[PASS] invariant_NativeLiabilitiesRemainFullyBackedAndBelongToTheirWallet\n[PASS] invariant_TransfersDonationsAndFailedBatchesCannotCreateOrMoveRights\n NativeCustodyInvariantsTest invariants (runs: 256, calls: 16384, reverts: 0)\n\n╭----------------------+--------------+-------+---------+----------╮\n| Contract             | Selector     | Calls | Reverts | Discards |\n+==================================================================+\n| NativeCustodyHandler | donateTokens | 2759  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | failBatch    | 2697  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | forceEther   | 2770  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | tradeBatch   | 2699  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | transfer     | 2725  | 0       | 0        |\n|----------------------+--------------+-------+---------+----------|\n| NativeCustodyHandler | withdraw     | 2734  | 0       | 0        |\n╰----------------------+--------------+-------+---------+----------╯\n\n[PASS] test_HandlerTradesRejectsReentersAndDrainsWithoutTakingDonations() (gas: 5323166)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 18.22s (18.16s CPU time)\n\nRan 94 test suites in 18.97s (179.30s CPU time): 479 tests passed, 0 failed, 0 skipped (479 total tests)\n","passed":true},{"durationMs":1041,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"ImdFeeVault.recordAccrual(uint256)\",\"ImdFeeVault.redeem()\",\"ImdFeeVault.unlockCallback(bytes)\",\"ImdFeeVault.withdraw()\",\"ImdFeeVault.withdrawDonations()\",\"ImdSampledUsdSource.sample()\",\"ImdV4UsdSource.submit((bytes,bytes[],bytes[],bytes[]))\",\"MerkleClaimEvidence.abandonSession(uint256)\",\"MerkleClaimEvidence.attest(uint256,address,uint256,bytes32[])\",\"MerkleClaimEvidence.certifyRound(uint256,address[],uint256[])\",\"MerkleClaimEvidence.reduce(uint256,uint256)\",\"MerkleClaimEvidence.submitLeaves(uint256,uint256,address[],uint256[])\",\"NftFeeVault.receive()\",\"NftFeeVault.recordAccrual(uint256)\",\"NftFeeVault.redeem()\",\"NftFeeVault.unlockCallback(bytes)\",\"NftFeeVault.withdraw()\",\"NftFeeVault.withdrawDonations()\",\"UnlkHook.afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHook.afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\",\"UnlkHook.afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHook.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"UnlkHook.beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHook.beforeInitialize(address,(address,address,uint24,int24,address),uint160)\",\"UnlkHook.beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHook.beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\",\"UnlkHook.configureAndActivate(address,address,address,uint64)\",\"UnlkHook.deployCompanions(uint64,address,bytes,bytes,bytes)\",\"UnlkHook.syncPayer()\",\"UnlkHook.syncRewards(address)\",\"UnlkHook.updateMilestone()\",\"UnlkHookV2.afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHookV2.afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\",\"UnlkHookV2.afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHookV2.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"UnlkHookV2.beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHookV2.beforeInitialize(address,(address,address,uint24,int24,address),uint160)\",\"UnlkHookV2.beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHookV2.beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\",\"UnlkHookV2.configureAndActivate(address,address,address,uint64)\",\"UnlkHookV2.deployCompanions(uint64,address,bytes[5])\",\"UnlkHookV2.syncPayer()\",\"UnlkHookV2.syncRewards(address)\",\"UnlkHookV2.updateMilestone()\",\"UnlkHookV3.afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHookV3.afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\",\"UnlkHookV3.afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkHookV3.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"UnlkHookV3.beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHookV3.beforeInitialize(address,(address,address,uint24,int24,address),uint160)\",\"UnlkHookV3.beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkHookV3.beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\",\"UnlkHookV3.configureAndActivate(address,address,uint64)\",\"UnlkHookV3.deployCompanions(uint64,address,bytes[4])\",\"UnlkHookV3.syncPayer()\",\"UnlkHookV3.syncRewards(address)\",\"UnlkHookV3.updateMilestone()\",\"UnlkImdHook.afterAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkImdHook.afterInitialize(address,(address,address,uint24,int24,address),uint160,int24)\",\"UnlkImdHook.afterRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),int256,int256,bytes)\",\"UnlkImdHook.afterSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),int256,bytes)\",\"UnlkImdHook.beforeAddLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkImdHook.beforeInitialize(address,(address,address,uint24,int24,address),uint160)\",\"UnlkImdHook.beforeRemoveLiquidity(address,(address,address,uint24,int24,address),(int24,int24,int256,bytes32),bytes)\",\"UnlkImdHook.beforeSwap(address,(address,address,uint24,int24,address),(bool,int256,uint160),bytes)\",\"UnlkImdHook.checkpoint()\",\"UnlkImdHook.configureAndActivate(address,address,uint64)\",\"UnlkImdHook.deployCompanions(uint64,address,bytes[4])\",\"UnlkImdHook.deployPriceSource(bytes,bytes)\",\"UnlkImdHook.syncPayer()\",\"UnlkImdHook.syncRewards(address)\",\"UnlkImdHook.updateMilestone()\",\"UnlkImdOracle.bind((address,address,uint24,int24,address),address,int24,int24)\",\"UnlkOracle.bind((address,address,uint24,int24,address),address,int24,int24)\",\"UnlkOracle.checkpoint()\",\"UnlkRouterV2.receive()\",\"UnlkRouterV2.swap((bool,int256,uint160,uint256,uint256,uint256))\",\"UnlkRouterV2.swapBatch((bool,int256,uint160,uint256,uint256,uint256)[])\",\"UnlkRouterV2.unlockCallback(bytes)\",\"UnlkRouterV2.withdrawNative()\",\"UnlkSwapRouter.receive()\",\"UnlkSwapRouter.swap((bool,int256,uint160,uint256,uint256,uint256))\",\"UnlkSwapRouter.swapBatch((bool,int256,uint160,uint256,uint256,uint256)[])\",\"UnlkSwapRouter.unlockCallback(bytes)\",\"UnlkSwapRouter.withdrawNative()\",\"UnlkToken.approve(address,uint256)\",\"UnlkToken.transfer(address,uint256)\",\"UnlkToken.transferFrom(address,address,uint256)\",\"WalletExecutor.recover(address)\",\"WalletExecutor.trade(bool,bool,uint128,uint128,uint256)\"],\"files\":{\".gitignore\":6,\"ADAPTATION.md\":29,\"DELIVERY.md\":103,\"DESIGN.md\":73,\"LICENSE\":25,\"MAINNET_DELIVERY.md\":7,\"README.md\":29,\"RELEASE_STATUS.json\":53,\"delivery/OPERATIONS.md\":112,\"delivery/PACKAGE_SHA256SUMS\":566,\"delivery/STATUS.json\":213,\"delivery/checks/abi-export.txt\":3,\"delivery/checks/artifact-export.txt\":3,\"delivery/checks/build.txt\":3,\"delivery/checks/current-block-fork.txt\":3,\"delivery/checks/extended-fork.txt\":3,\"delivery/checks/final-fmt.txt\":3,\"delivery/checks/final-integrity.txt\":3,\"delivery/checks/fmt.txt\":3,\"delivery/checks/historical-block-fork.txt\":3,\"delivery/checks/imd-launch.txt\":3,\"delivery/checks/integrity.txt\":3,\"delivery/checks/lint.txt\":3,\"delivery/checks/live-rpc.txt\":3,\"delivery/checks/minimal-environment.txt\":3,\"delivery/checks/protected.txt\":3,\"delivery/checks/release-gates.txt\":3,\"delivery/checks/reviewed-code.txt\":3,\"delivery/checks/revision-fmt.txt\":3,\"delivery/checks/revision-fork.txt\":3,\"delivery/checks/revision-protected.txt\":3,\"delivery/checks/revision-test.txt\":3,\"delivery/checks/rpc-tools.txt\":3,\"delivery/checks/saved-network.txt\":3,\"delivery/checks/signing-tools.txt\":3,\"delivery/checks/source-hashes.txt\":3,\"delivery/checks/test.txt\":3,\"delivery/checks/upstream-rehearsal-build.txt\":3,\"delivery/network/block.json\":1,\"delivery/network/capabilities.json\":345,\"delivery/network/current-job.json\":217,\"delivery/network/factory.runtime.hex\":1,\"delivery/network/feed-check.json\":21,\"delivery/network/feed.runtime.hex\":1,\"delivery/network/fees.runtime.hex\":1,\"delivery/network/fix-job.json\":104,\"delivery/network/http-results.json\":117,\"delivery/network/import-check-paths-request.json\":33,\"delivery/network/import-check-paths-response.json\":25,\"delivery/network/import-check-request.json\":15,\"delivery/network/import-check-response.json\":25,\"delivery/network/import-request.json\":5,\"delivery/network/import-response.json\":17,\"delivery/network/manager.runtime.hex\":1,\"delivery/network/openapi.json\":1383,\"delivery/network/platform-rebuild.json\":30,\"delivery/network/policies.json\":1430,\"delivery/network/preflight.json\":347,\"delivery/network/registry.runtime.hex\":1,\"delivery/network/rpc-access.json\":20,\"delivery/network/selected-policy.json\":34,\"delivery/network/services.json\":29,\"delivery/protected-inputs.json\":4,\"delivery/provenance.json\":25,\"delivery/rehearsal/RecordedSepolia.t.sol\":200,\"delivery/source-files.json\":2492,\"delivery/verify.py\":167,\"dependencies.lock.json\":24,\"dist-candidate/abi/IChainlinkEthUsd.json\":48,\"dist-candidate/abi/MerkleClaimEvidence.json\":461,\"dist-candidate/abi/MerkleDistributor.json\":451,\"dist-candidate/abi/UnlkHook.json\":1973,\"dist-candidate/abi/UnlkOracle.json\":443,\"dist-candidate/abi/UnlkSwapRouter.json\":359,\"dist-candidate/abi/UnlkToken.json\":425,\"dist-candidate/assets/app.css\":1,\"dist-candidate/assets/app.js\":150,\"dist-candidate/assets/jetbrains-mono-regular-DYCCJ225.woff2\":369,\"dist-candidate/assets/jetbrains-mono-semibold-MVL5K7GZ.woff2\":424,\"dist-candidate/evidence/allowance-vectors.json\":564,\"dist-candidate/evidence/browser-validation.json\":368,\"dist-candidate/evidence/build.txt\":21,\"dist-candidate/evidence/chain-verification.json\":158,\"dist-candidate/evidence/contrast.json\":197,\"dist-candidate/evidence/cross-language-tests.txt\":19,\"dist-candidate/evidence/design-probe.json\":183,\"dist-candidate/evidence/fork-validation.json\":53,\"dist-candidate/evidence/frontend-tests.txt\":79,\"dist-candidate/evidence/live-interactions.json\":154,\"dist-candidate/evidence/native-claim.json\":17,\"dist-candidate/evidence/publication.json\":16,\"dist-candidate/evidence/recovery-validation.json\":12,\"dist-candidate/evidence/round-0.json\":1,\"dist-candidate/evidence/rpc-check.json\":29,\"dist-candidate/evidence/submission-check.json\":21,\"dist-candidate/evidence/swap-math-vectors.json\":173,\"dist-candidate/evidence/test-results.txt\":206,\"dist-candidate/evidence/typecheck.txt\":8,\"dist-candidate/evidence/validation.md\":101,\"dist-candidate/evidence/wallet-validation.json\":14,\"dist-candidate/evidence/webkit-validation.json\":30,\"dist-candidate/favicon.svg\":1,\"dist-candidate/fonts/JetBrains-Mono-OFL.txt\":93,\"dist-candidate/index.html\":30,\"dist-candidate/share.png\":104,\"dist-candidate/share.svg\":14,\"dist-candidate/wallets/metamask.svg\":1,\"dist-candidate/wallets/phantom.svg\":1,\"dist-candidate/wallets/rabby.svg\":1,\"dist/abi/IChainlinkEthUsd.json\":48,\"dist/abi/MerkleClaimEvidence.json\":461,\"dist/abi/MerkleDistributor.json\":451,\"dist/abi/UnlkHook.json\":1973,\"dist/abi/UnlkOracle.json\":443,\"dist/abi/UnlkSwapRouter.json\":359,\"dist/abi/UnlkToken.json\":425,\"dist/assets/ccip-CJv6SR9J.js\":1,\"dist/assets/index-BDn4nz2S.js\":3,\"dist/assets/index-BkOFwGt7.css\":1,\"dist/assets/index-MshxxFjX.js\":93,\"dist/assets/jetbrains-mono-regular-CA-Os4ii.woff2\":369,\"dist/assets/jetbrains-mono-semibold-BjwzTi7v.woff2\":424,\"dist/evidence/allowance-vectors.json\":564,\"dist/evidence/browser-validation.json\":368,\"dist/evidence/build.txt\":21,\"dist/evidence/chain-verification.json\":158,\"dist/evidence/contrast.json\":197,\"dist/evidence/cross-language-tests.txt\":19,\"dist/evidence/design-probe.json\":183,\"dist/evidence/fork-validation.json\":53,\"dist/evidence/frontend-tests.txt\":79,\"dist/evidence/live-interactions.json\":154,\"dist/evidence/native-claim.json\":17,\"dist/evidence/publication.json\":16,\"dist/evidence/recovery-validation.json\":12,\"dist/evidence/round-0.json\":1,\"dist/evidence/rpc-check.json\":29,\"dist/evidence/submission-check.json\":21,\"dist/evidence/swap-math-vectors.json\":173,\"dist/evidence/test-results.txt\":206,\"dist/evidence/typecheck.txt\":8,\"dist/evidence/validation.md\":101,\"dist/evidence/wallet-validation.json\":14,\"dist/evidence/webkit-validation.json\":30,\"dist/favicon.svg\":1,\"dist/fonts/JetBrains-Mono-OFL.txt\":93,\"dist/index.html\":31,\"dist/share.png\":104,\"dist/share.svg\":14,\"dist/wallets/metamask.svg\":1,\"dist/wallets/phantom.svg\":1,\"dist/wallets/rabby.svg\":1,\"docs/ARTIFACTS.json\":64,\"docs/BUILD_RESULTS.txt\":3,\"docs/BYTECODE_COMPARISON_RESULTS.txt\":3,\"docs/DEPLOYMENT.md\":163,\"docs/ECONOMICS_RESULTS.txt\":3,\"docs/FMT_RESULTS.txt\":3,\"docs/FORK_RESULTS.txt\":3,\"docs/IMD_LAUNCH_CHECK_RESULTS.txt\":3,\"docs/LINT_RESULTS.txt\":3,\"docs/MINIMAL_ENV_TEST_RESULTS.txt\":3,\"docs/NETWORK_VERIFICATION_RESULTS.txt\":3,\"docs/PROTECTED_TEST_RESULTS.txt\":3,\"docs/RECOVERY.md\":65,\"docs/RELEASE_ARTIFACT_TEST_RESULTS.txt\":3,\"docs/REVISION_2026-10-13.md\":120,\"docs/SECURITY_REVIEW.md\":132,\"docs/SIZE_FIX.md\":150,\"docs/SOURCE_SHA256SUMS\":461,\"docs/SOURCE_VERIFICATION_RESULTS.txt\":3,\"docs/TEST_RESULTS.txt\":3,\"docs/VALIDATION.md\":135,\"docs/abi/CheckReleaseConfig.json\":46,\"docs/abi/HookDeployer.json\":94,\"docs/abi/IChainlinkEthUsd.json\":48,\"docs/abi/IClaimEvidence.json\":47,\"docs/abi/IHooks.json\":789,\"docs/abi/ILaunchFactoryView.json\":115,\"docs/abi/ILaunchRegistryView.json\":70,\"docs/abi/IMerkleDistributor.json\":125,\"docs/abi/IPoolManager.json\":1286,\"docs/abi/IRouteContext.json\":20,\"docs/abi/LaunchFactory.json\":896,\"docs/abi/LaunchFees.json\":323,\"docs/abi/LaunchRegistry.json\":320,\"docs/abi/MerkleClaimEvidence.json\":461,\"docs/abi/MerkleDistributor.json\":451,\"docs/abi/Stage2.json\":225,\"docs/abi/UnlkHook.json\":1973,\"docs/abi/UnlkOracle.json\":443,\"docs/abi/UnlkSwapRouter.json\":359,\"docs/abi/UnlkToken.json\":425,\"docs/admission-fix/EVIDENCE_SHA256SUMS\":53,\"docs/admission-fix/INDEPENDENT_REVIEW.md\":60,\"docs/admission-fix/REPORT.md\":95,\"docs/admission-fix/SOURCE_SHA256SUMS\":15,\"docs/admission-fix/STATUS.json\":153,\"docs/admission-fix/artifacts.txt\":1,\"docs/admission-fix/build.txt\":124,\"docs/admission-fix/format.txt\":0,\"docs/admission-fix/full-suite.txt\":1366,\"docs/admission-fix/import-history.json\":93,\"docs/admission-fix/imported-file-hashes.json\":11071,\"docs/admission-fix/imported-launch-manifest.json\":37,\"docs/admission-fix/imported-release-status.json\":81,\"docs/admission-fix/independent-review-tests.txt\":128,\"docs/admission-fix/initialization-after-fix.txt\":87,\"docs/admission-fix/initialization-before-fix.txt\":166,\"docs/admission-fix/lint-independent-bounds.txt\":75,\"docs/admission-fix/lint.txt\":246,\"docs/admission-fix/mainnet-fork.txt\":473,\"docs/admission-fix/manifest-repair/REPORT.md\":25,\"docs/admission-fix/manifest-repair/artifacts-before.json\":512,\"docs/admission-fix/manifest-repair/artifacts-initial-comparison.txt\":4,\"docs/admission-fix/manifest-repair/artifacts.txt\":4,\"docs/admission-fix/manifest-repair/build.txt\":1,\"docs/admission-fix/manifest-repair/format.txt\":0,\"docs/admission-fix/manifest-repair/full-suite.txt\":1183,\"docs/admission-fix/manifest-repair/manifest.txt\":2,\"docs/admission-fix/manifest-repair/python-artifacts.txt\":10,\"docs/admission-fix/manifest-repair/python-manifest.txt\":10,\"docs/admission-fix/manifest.txt\":1,\"docs/admission-fix/network-preflight.txt\":18,\"docs/admission-fix/network/current-job.json\":219,\"docs/admission-fix/network/import-request.json\":5,\"docs/admission-fix/network/import-response.json\":15,\"docs/admission-fix/network/job.json\":352,\"docs/admission-fix/network/launch-open-check-response.json\":1,\"docs/admission-fix/network/launch-open-request.json\":29,\"docs/admission-fix/network/launch.json\":656,\"docs/admission-fix/network/mainnet/capabilities.json\":1,\"docs/admission-fix/network/mainnet/policies.json\":1,\"docs/admission-fix/network/mainnet/preflight.json\":169,\"docs/admission-fix/network/mainnet/services.json\":1,\"docs/admission-fix/network/openapi.json\":1383,\"docs/admission-fix/network/owner-payer-verification.json\":42,\"docs/admission-fix/network/payment-receipt.json\":1,\"docs/admission-fix/network/payment-transaction.json\":1,\"docs/admission-fix/network/rpc-block-probe.json\":1,\"docs/admission-fix/production.patch\":30,\"docs/admission-fix/protected-after-fix.txt\":93,\"docs/admission-fix/protected-before-fix.txt\":95,\"docs/admission-fix/python-tests.txt\":10,\"docs/admission-fix/release-artifacts.json\":520,\"docs/candidate/ARTIFACTS.json\":58,\"docs/candidate/BUNDLE_SIZE.md\":30,\"docs/candidate/COMPATIBILITY.md\":65,\"docs/candidate/DEPENDENCIES.json\":2001,\"docs/candidate/DEPLOYMENT.md\":55,\"docs/candidate/ECONOMICS.md\":82,\"docs/candidate/SECURITY_REVIEW.md\":53,\"docs/candidate/STATUS.json\":15,\"docs/candidate/VALIDATION.md\":62,\"docs/candidate/abi/HookDeployerV2.json\":94,\"docs/candidate/abi/MerkleClaimEvidence.json\":461,\"docs/candidate/abi/NftFeeVault.json\":328,\"docs/candidate/abi/SetupVerifierV2.json\":36,\"docs/candidate/abi/UnlkHookV2.json\":2065,\"docs/candidate/abi/UnlkOracle.json\":443,\"docs/candidate/abi/UnlkRouterV2.json\":359,\"docs/candidate/abi/UnlkToken.json\":425,\"docs/candidate/all-tests.txt\":3,\"docs/candidate/build-results.txt\":3,\"docs/candidate/fmt-results.txt\":3,\"docs/candidate/fork-results.txt\":3,\"docs/candidate/frontend-build.txt\":3,\"docs/candidate/frontend-test-build.txt\":3,\"docs/candidate/frontend-tests.txt\":3,\"docs/candidate/frontend-types.txt\":3,\"docs/candidate/interfaces/deployed-Actions.sol.txt\":3,\"docs/candidate/interfaces/deployed-BaseActionsRouter.sol.txt\":3,\"docs/candidate/interfaces/deployed-Commands.sol.txt\":3,\"docs/candidate/interfaces/deployed-IUniswapV3PoolActions.sol.txt\":3,\"docs/candidate/interfaces/deployed-IUniswapV3PoolOwnerActions.sol.txt\":3,\"docs/candidate/interfaces/deployed-IV4Router.sol.txt\":3,\"docs/candidate/interfaces/deployed-V4Router.sol.txt\":3,\"docs/candidate/interfaces/deployed-V4SwapRouter.sol.txt\":3,\"docs/candidate/interfaces/universal-router-Commands.sol.txt\":3,\"docs/candidate/interfaces/universal-router-Dispatcher.sol.txt\":3,\"docs/candidate/interfaces/universal-router-UniversalRouter.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-Actions.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-BaseActionsRouter.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-BaseV4Quoter.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-DeltaResolver.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-IV4Router.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-V4Quoter.sol.txt\":3,\"docs/candidate/interfaces/v4-periphery-V4Router.sol.txt\":3,\"docs/candidate/invariant-results.txt\":3,\"docs/candidate/lint-results.txt\":3,\"docs/candidate/lint-summary.json\":13,\"docs/candidate/network/03vi_jvgsxpe2.evidence.json\":40,\"docs/candidate/network/03vi_jvgsxpe2.js\":3,\"docs/candidate/network/addresses.json\":10,\"docs/candidate/network/block.json\":274,\"docs/candidate/network/current-code-check.json\":28,\"docs/candidate/network/manager.runtime.hex\":1,\"docs/candidate/network/nft-collection.json\":1,\"docs/candidate/network/nft-inventory.json\":10,\"docs/candidate/network/nft-ownership.json\":21,\"docs/candidate/network/permit2.runtime.hex\":1,\"docs/candidate/network/quoter.runtime.hex\":1,\"docs/candidate/network/quoter.verified.json\":1,\"docs/candidate/network/router.runtime.hex\":1,\"docs/candidate/network/router.verified.json.xz\":223,\"docs/candidate/protected-results.txt\":3,\"docs/candidate/recorded-runtime-results.txt\":3,\"docs/candidate/release-gate-tests.txt\":3,\"docs/candidate/release-plan.json\":80,\"docs/candidate/router-fork-results.txt\":3,\"docs/candidate/setup-fork-results.txt\":3,\"docs/candidate/size-repair-build.txt\":3,\"docs/candidate/size-repair-bundle.txt\":3,\"docs/candidate/size-repair-contract-sizes.txt\":3,\"docs/candidate/size-repair-fmt.txt\":3,\"docs/candidate/size-repair-frontend-build.txt\":3,\"docs/candidate/size-repair-frontend-test-build.txt\":3,\"docs/candidate/size-repair-frontend-tests.txt\":3,\"docs/candidate/size-repair-preservation.txt\":3,\"docs/candidate/size-repair-tests.txt\":3,\"docs/candidate/sizes.txt\":3,\"docs/candidate/unit-results.txt\":3,\"docs/mainnet/ARTIFACTS.json\":512,\"docs/mainnet/DEPLOYMENT.md\":7,\"docs/mainnet/DESIGN.md\":44,\"docs/mainnet/INDEPENDENT_REVIEW.md\":59,\"docs/mainnet/ORACLE_EVIDENCE.md\":25,\"docs/mainnet/PROVENANCE.json\":22,\"docs/mainnet/SOURCE_SHA256SUMS\":73,\"docs/mainnet/SPOT_PRICE.md\":58,\"docs/mainnet/VALIDATION.md\":61,\"docs/mainnet/abi/ImdFeeVault.json\":366,\"docs/mainnet/abi/ImdSampledUsdSource.json\":355,\"docs/mainnet/abi/ImdSetupVerifier.json\":36,\"docs/mainnet/abi/ImdSpotUsdSource.json\":188,\"docs/mainnet/abi/ImdUsdSource.json\":184,\"docs/mainnet/abi/ImdV4UsdSource.json\":312,\"docs/mainnet/abi/MerkleClaimEvidence.json\":461,\"docs/mainnet/abi/UnlkImdHook.json\":2049,\"docs/mainnet/abi/UnlkImdOracle.json\":332,\"docs/mainnet/abi/UnlkToken.json\":425,\"docs/mainnet/abi/WalletExecutor.json\":116,\"docs/mainnet/artifact-check.txt\":3,\"docs/mainnet/browser-check.txt\":3,\"docs/mainnet/build.txt\":3,\"docs/mainnet/bundle-size.txt\":3,\"docs/mainnet/evidence-archives.json\":23,\"docs/mainnet/existing-checks.txt\":3,\"docs/mainnet/final-build.txt\":3,\"docs/mainnet/fmt-check.txt\":3,\"docs/mainnet/fork-tests.txt\":3,\"docs/mainnet/frontend-build.txt\":3,\"docs/mainnet/frontend-compile-tests.txt\":3,\"docs/mainnet/frontend-tests.txt\":3,\"docs/mainnet/frontend-typecheck.txt\":3,\"docs/mainnet/full-tests.txt\":3,\"docs/mainnet/historical-checks-unchanged.txt\":3,\"docs/mainnet/initial-build.txt\":3,\"docs/mainnet/lint.txt\":3,\"docs/mainnet/mainnet-tests.txt\":3,\"docs/mainnet/network/archive-access.json\":9,\"docs/mainnet/network/block-number.txt\":3,\"docs/mainnet/network/capabilities.json\":1,\"docs/mainnet/network/deployer.runtime.hex\":1,\"docs/mainnet/network/explorer-encoding.json\":28,\"docs/mainnet/network/factory.verified.json.xz\":166,\"docs/mainnet/network/feed-fees.json\":12,\"docs/mainnet/network/imd-markets.json\":1,\"docs/mainnet/network/imd-weth-v3-discovery.json\":21,\"docs/mainnet/network/imd-weth-v3.json\":42,\"docs/mainnet/network/imd-weth-v3.runtime.hex\":1,\"docs/mainnet/network/imd.verified.json.xz\":120,\"docs/mainnet/network/mainnet.json\":63,\"docs/mainnet/network/manager-interface.json\":1366,\"docs/mainnet/network/permit2-interface.json\":901,\"docs/mainnet/network/policies.json\":1,\"docs/mainnet/network/quoter-interface.json\":637,\"docs/mainnet/network/router-interface.json\":443,\"docs/mainnet/network/services.json\":1,\"docs/mainnet/network/source-verification.json\":15,\"docs/mainnet/network/standard-source-verification.json\":302,\"docs/mainnet/new-source-fmt.txt\":3,\"docs/mainnet/pin-build.txt\":3,\"docs/mainnet/preparation-tests.txt\":3,\"docs/mainnet/preserved-paths.txt\":3,\"docs/mainnet/protected-checks.txt\":3,\"docs/mainnet/recorded-verification.txt\":3,\"docs/mainnet/release-plan.json\":146,\"docs/mainnet/release/OPERATIONS.md\":47,\"docs/mainnet/release/REVIEW.md\":31,\"docs/mainnet/release/STATUS.json\":153,\"docs/mainnet/release/VALIDATION.md\":62,\"docs/mainnet/release/abi/PrepareImdLaunch.json\":361,\"docs/mainnet/release/abi/PrepareOwnerTransactions.json\":351,\"docs/mainnet/release/checks/archived-runtime.txt\":13,\"docs/mainnet/release/checks/artifacts.txt\":1,\"docs/mainnet/release/checks/forge-build.txt\":113,\"docs/mainnet/release/checks/forge-test-all.txt\":1034,\"docs/mainnet/release/checks/forge-test-submission.txt\":1142,\"docs/mainnet/release/checks/manifest.txt\":1,\"docs/mainnet/release/checks/protocol-regressions.txt\":75,\"docs/mainnet/release/checks/python-artifacts.txt\":10,\"docs/mainnet/release/checks/python-manifest.txt\":8,\"docs/mainnet/release/checks/recorded-block-fork.txt\":473,\"docs/mainnet/release/imported-sepolia-manifest.json\":35,\"docs/mainnet/release/native-distributor-artifact.json\":16,\"docs/mainnet/release/network/actual-launch-body.json\":26,\"docs/mainnet/release/network/actual-request-check-response.json\":72,\"docs/mainnet/release/network/actual-request-check.json\":29,\"docs/mainnet/release/network/capabilities.json\":1,\"docs/mainnet/release/network/current-job.json\":94,\"docs/mainnet/release/network/import-request.json\":5,\"docs/mainnet/release/network/import-response.json\":17,\"docs/mainnet/release/network/owner-payer-verification.json\":23,\"docs/mainnet/release/network/payment-record.json\":1,\"docs/mainnet/release/network/policies.json\":1,\"docs/mainnet/release/network/preflight.json\":169,\"docs/mainnet/release/network/services.json\":1,\"docs/mainnet/release/preservation.json\":33,\"docs/mainnet/release/protected-admission.txt\":5,\"docs/mainnet/release/source-import.json\":7,\"docs/mainnet/revision/ARCHIVES.md\":7,\"docs/mainnet/revision/H-01.md\":48,\"docs/mainnet/revision/ORACLE.md\":70,\"docs/mainnet/revision/PROVENANCE.json\":8,\"docs/mainnet/revision/READINESS.md\":58,\"docs/mainnet/revision/README.pre-revision.md\":42,\"docs/mainnet/revision/SAMPLED_ORACLE.md\":124,\"docs/mainnet/revision/SAMPLED_SOURCE_SHA256SUMS\":104,\"docs/mainnet/revision/SOURCE_SHA256SUMS\":94,\"docs/mainnet/revision/STATUS.json\":54,\"docs/mainnet/revision/alternative-feed.json\":75,\"docs/mainnet/revision/artifacts.txt\":3,\"docs/mainnet/revision/browser.txt\":3,\"docs/mainnet/revision/build-final.txt\":3,\"docs/mainnet/revision/bundle-size.txt\":3,\"docs/mainnet/revision/contract-sizes.txt\":3,\"docs/mainnet/revision/dependencies.txt\":3,\"docs/mainnet/revision/economics-tests.txt\":3,\"docs/mainnet/revision/fmt-check.txt\":3,\"docs/mainnet/revision/fork-tests.txt\":3,\"docs/mainnet/revision/frontend-build.txt\":3,\"docs/mainnet/revision/frontend-compile.txt\":3,\"docs/mainnet/revision/frontend-tests.txt\":3,\"docs/mainnet/revision/frontend-typecheck.txt\":3,\"docs/mainnet/revision/full-tests.txt\":3,\"docs/mainnet/revision/historical-artifact-check.txt\":3,\"docs/mainnet/revision/historical-code-pins.txt\":3,\"docs/mainnet/revision/historical-network.txt\":3,\"docs/mainnet/revision/historical-release-tests.txt\":3,\"docs/mainnet/revision/integrity.txt\":3,\"docs/mainnet/revision/lint.txt\":3,\"docs/mainnet/revision/mainnet-tests.txt\":3,\"docs/mainnet/revision/market-evidence.json\":497,\"docs/mainnet/revision/preservation.txt\":3,\"docs/mainnet/revision/proof-tool-check.txt\":3,\"docs/mainnet/revision/protected.txt\":3,\"docs/mainnet/revision/quota-tests.txt\":3,\"docs/mainnet/revision/recorded-runtime-checks.txt\":3,\"docs/mainnet/revision/sampled-fork-test.txt\":3,\"docs/mainnet/revision/sampled-full-tests.txt\":3,\"docs/mainnet/revision/sampled-spot-evidence.json\":35,\"docs/mainnet/revision/unsigned-proof-commitment.json\":8,\"docs/mainnet/source-build.txt\":3,\"docs/mainnet/source-integrity.txt\":3,\"docs/mainnet/spot-results/forge-test-summary.txt\":79,\"docs/mainnet/spot-results/recorded-block-fork.txt\":413,\"docs/mainnet/swaps-test.txt\":3,\"docs/network/capabilities.json\":345,\"docs/network/factory-artifacts.json.xz\":55,\"docs/network/factory-reference.json.xz\":180,\"docs/network/factory.runtime.hex\":1,\"docs/network/feed-reference.json\":67,\"docs/network/feed-rounds.json\":134,\"docs/network/feed.runtime.hex\":1,\"docs/network/fees.runtime.hex\":1,\"docs/network/job-identity.json\":14,\"docs/network/manager.runtime.hex\":1,\"docs/network/policies.json\":36,\"docs/network/registry-reference.json\":108,\"docs/network/registry.runtime.hex\":1,\"docs/network/sepolia.json\":309,\"docs/network/services.json\":29,\"docs/network/size-fix-status.json\":126,\"docs/provenance/README.pinned.md\":241,\"docs/provenance/periphery-head.json\":113,\"docs/provenance/sealed-source.json\":21,\"docs/provenance/source-commits.json\":517,\"docs/provenance/source.json\":15,\"docs/provenance/universal-router-head.json\":125,\"docs/successor/ARTIFACTS.json\":36,\"docs/successor/DEPLOYMENT.md\":48,\"docs/successor/DESIGN.md\":161,\"docs/successor/SECURITY_REVIEW.md\":36,\"docs/successor/abi/UnlkHookV3.json\":2065,\"docs/successor/fork-results.txt\":3,\"docs/successor/release-plan.json\":109,\"docs/successor/test-results.txt\":3,\"docs/unlock-gates/ARCHIVES.md\":18,\"docs/unlock-gates/DEPLOYMENT.md\":62,\"docs/unlock-gates/DESIGN.md\":74,\"docs/unlock-gates/HANDOFF.md\":83,\"docs/unlock-gates/INDEPENDENT_REVIEW.md\":50,\"docs/unlock-gates/PROVENANCE.json\":33,\"docs/unlock-gates/SOURCE_SHA256SUMS\":120,\"docs/unlock-gates/STATUS.json\":97,\"docs/unlock-gates/checks/abi-export.txt\":1,\"docs/unlock-gates/checks/archive-access-attempt.txt\":6,\"docs/unlock-gates/checks/archive-alternative-drpc.txt\":1,\"docs/unlock-gates/checks/archive-alternative-llama.txt\":3,\"docs/unlock-gates/checks/archives.txt\":3,\"docs/unlock-gates/checks/artifacts-final.txt\":1,\"docs/unlock-gates/checks/browser-attempt.txt\":21,\"docs/unlock-gates/checks/build-final.txt\":1,\"docs/unlock-gates/checks/bundle-size.txt\":3,\"docs/unlock-gates/checks/dependencies.txt\":1,\"docs/unlock-gates/checks/fmt-final.txt\":0,\"docs/unlock-gates/checks/frontend-build.txt\":14,\"docs/unlock-gates/checks/frontend-test-build-final.txt\":23,\"docs/unlock-gates/checks/frontend-tests-final.txt\":200,\"docs/unlock-gates/checks/frontend-typecheck-final.txt\":2,\"docs/unlock-gates/checks/full-tests-final.txt\":968,\"docs/unlock-gates/checks/historical-candidate-pins.txt\":1,\"docs/unlock-gates/checks/historical-code-pins.txt\":1,\"docs/unlock-gates/checks/historical-network.txt\":7,\"docs/unlock-gates/checks/lint-final.txt\":254,\"docs/unlock-gates/checks/mainnet-fork-archive-replay.txt\":176,\"docs/unlock-gates/checks/mainnet-fork-final.txt\":176,\"docs/unlock-gates/checks/network-current-head.txt\":18,\"docs/unlock-gates/checks/network-rerun-archive-denied.txt\":72,\"docs/unlock-gates/checks/protected-attempt.txt\":7,\"docs/unlock-gates/checks/recorded-runtime-integrity.txt\":13,\"docs/unlock-gates/checks/release-tests-final.txt\":10,\"docs/unlock-gates/checks/source-integrity.txt\":120,\"docs/unlock-gates/checks/wallet-browser-attempt.txt\":21,\"docs/unlock-gates/historical-checks.json\":854,\"docs/unlock-gates/historical-checks.tar.xz\":200,\"docs/unlock-gates/historical-json.json\":16,\"docs/unlock-gates/network/capabilities.json\":1,\"docs/unlock-gates/network/explorer-encoding.json\":23,\"docs/unlock-gates/network/policies.json\":1,\"docs/unlock-gates/network/preflight.json\":169,\"docs/unlock-gates/network/rehearsal-preflight.json\":169,\"docs/unlock-gates/network/services.json\":1,\"foundry.toml\":31,\"launch.json\":37,\"rehearsal/Sepolia.t.sol\":112,\"rehearsal/candidate/RouterFork.t.sol\":10,\"rehearsal/candidate/SetupFork.t.sol\":127,\"rehearsal/mainnet/MainnetFork.t.sol\":67,\"rehearsal/mainnet/SampledSourceRehearsal.t.sol\":36,\"rehearsal/mainnet/V4OracleRehearsal.t.sol\":102,\"rehearsal/successor/SuccessorFork.t.sol\":20,\"rehearsal/successor/SuccessorSetupFork.t.sol\":108,\"rehearsal/unlock-gates/MainnetHandoff.t.sol\":250,\"remappings.txt\":4,\"script/CheckReleaseConfig.s.sol\":85,\"script/LocalDemo.s.sol\":41,\"script/Stage2.s.sol\":98,\"script/candidate/PrepareCandidate.s.sol\":105,\"script/mainnet/PrepareImd.s.sol\":106,\"script/mainnet/PrepareImdLaunch.s.sol\":188,\"script/mainnet/PrepareOwnerTransactions.s.sol\":192,\"script/successor/PrepareSuccessor.s.sol\":96,\"scripts/candidate/artifacts.py\":32,\"scripts/candidate/bundle-size.py\":52,\"scripts/candidate/check-protected.py\":43,\"scripts/candidate/check.sh\":16,\"scripts/candidate/dependencies.py\":33,\"scripts/candidate/fork.sh\":16,\"scripts/candidate/mine.mjs\":18,\"scripts/candidate/pin.py\":16,\"scripts/check.sh\":12,\"scripts/check_protected.py\":44,\"scripts/export_abis.py\":34,\"scripts/generate_code_checks.py\":22,\"scripts/mainnet/artifacts.py\":44,\"scripts/mainnet/check-manifest.py\":48,\"scripts/mainnet/fork.sh\":21,\"scripts/mainnet/market-evidence.py\":38,\"scripts/mainnet/mine.mjs\":19,\"scripts/mainnet/oracle-proof.py\":70,\"scripts/mainnet/proof-fixture.py\":33,\"scripts/mainnet/record-admission-network.py\":108,\"scripts/mainnet/rehearse-admission.sh\":22,\"scripts/mainnet/verify.py\":46,\"scripts/mine-hook.sh\":9,\"scripts/prepare_claim_tree.py\":37,\"scripts/rehearse-sepolia.sh\":4,\"scripts/release_artifacts.py\":56,\"scripts/successor/fork.sh\":10,\"scripts/successor/mine.mjs\":18,\"scripts/unlock-gates/check-archives.py\":35,\"scripts/unlock-gates/check.sh\":16,\"scripts/unlock-gates/fork.sh\":22,\"scripts/unlock-gates/record-network.py\":108,\"scripts/verify_network.py\":47,\"src/HookDeployer.sol\":37,\"src/HookFlags.sol\":45,\"src/MerkleClaimEvidence.sol\":200,\"src/UnlkHook.sol\":725,\"src/UnlkOracle.sol\":190,\"src/UnlkSwapRouter.sol\":242,\"src/UnlkToken.sol\":42,\"src/candidate/HookDeployerV2.sol\":37,\"src/candidate/NativeFeeMath.sol\":23,\"src/candidate/NftFeeVault.sol\":115,\"src/candidate/ReviewedCodeV2.sol\":12,\"src/candidate/SetupVerifierV2.sol\":125,\"src/candidate/UnlkHookV2.sol\":701,\"src/candidate/UnlkRouterV2.sol\":275,\"src/interfaces/IIntegration.sol\":88,\"src/libraries/OperationHash.sol\":15,\"src/libraries/ReviewedCode.sol\":10,\"src/libraries/SeedDepth.sol\":41,\"src/libraries/SepoliaRelease.sol\":11,\"src/mainnet/BlockState.sol\":62,\"src/mainnet/ImdFeeVault.sol\":122,\"src/mainnet/ImdReviewedCode.sol\":13,\"src/mainnet/ImdSampledUsdSource.sol\":206,\"src/mainnet/ImdSeedDepth.sol\":35,\"src/mainnet/ImdSetupVerifier.sol\":134,\"src/mainnet/ImdSpotMath.sol\":72,\"src/mainnet/ImdSpotUsdSource.sol\":92,\"src/mainnet/ImdUsdSource.sol\":120,\"src/mainnet/ImdV4UsdSource.sol\":164,\"src/mainnet/MainnetPins.sol\":24,\"src/mainnet/StateProof.sol\":171,\"src/mainnet/UnlkImdHook.sol\":727,\"src/mainnet/UnlkImdOracle.sol\":111,\"src/mainnet/WalletExecutor.sol\":94,\"src/successor/SuccessorFeeMath.sol\":34,\"src/successor/UnlkHookV3.sol\":731,\"test/ADDITIONAL_COVERAGE.md\":94,\"test/ActivationRobustness.t.sol\":303,\"test/Adversarial.t.sol\":117,\"test/BatchSettlementProperties.t.sol\":272,\"test/ClaimLifecycleInvariants.t.sol\":444,\"test/CreditsAndFees.t.sol\":180,\"test/EvidenceAndOracleProperties.t.sol\":349,\"test/FailurePaths.t.sol\":581,\"test/FeeCustodyProperties.t.sol\":454,\"test/HookDeployer.t.sol\":98,\"test/Invariants.t.sol\":220,\"test/Launch.t.sol\":112,\"test/LocalScript.t.sol\":28,\"test/ManipulationEconomics.t.sol\":117,\"test/NativeCustodyInvariants.t.sol\":296,\"test/NativeLaunch.t.sol\":236,\"test/Oracle.t.sol\":422,\"test/QuotaInvariants.t.sol\":529,\"test/ReleaseConfig.t.sol\":32,\"test/RevisionProperties.t.sol\":593,\"test/SecurityRegression.t.sol\":337,\"test/SeedBoundary.t.sol\":94,\"test/SeedRangeLimitProperties.t.sol\":599,\"test/SepoliaPins.t.sol\":180,\"test/Stage2Script.t.sol\":62,\"test/StageOneInvariants.t.sol\":281,\"test/TESTING_ADDITIONS.md\":136,\"test/TokenLedgerProperties.t.sol\":310,\"test/Trading.t.sol\":171,\"test/TwoStage.t.sol\":302,\"test/candidate/Adversarial.t.sol\":102,\"test/candidate/CandidateFixture.sol\":382,\"test/candidate/Fees.t.sol\":285,\"test/candidate/QuotaInvariants.t.sol\":554,\"test/candidate/Quoter.t.sol\":134,\"test/candidate/SetupScript.t.sol\":45,\"test/candidate/TiersAndSetup.t.sol\":148,\"test/compatibility/RecordedRouter.t.sol\":316,\"test/compatibility/RecordedRuntime.sol\":22,\"test/fixtures/LocalFixtures.sol\":59,\"test/fixtures/SepoliaRuntime.sol\":28,\"test/fixtures/SystemFixture.sol\":372,\"test/imd/HookFlags.sol\":45,\"test/imd/LaunchFactory.sol\":375,\"test/imd/LaunchFees.sol\":73,\"test/imd/LaunchRegistry.sol\":109,\"test/imd/MerkleDistributor.sol\":181,\"test/imd/PoolFees.sol\":220,\"test/imd/README.md\":29,\"test/mainnet/ExternalSpotTouch.t.sol\":166,\"test/mainnet/ImdAuthentication.t.sol\":41,\"test/mainnet/ImdFeeMath.t.sol\":32,\"test/mainnet/ImdFixture.sol\":497,\"test/mainnet/ImdLaunchPlan.t.sol\":145,\"test/mainnet/ImdMultihop.t.sol\":93,\"test/mainnet/ImdOracle.t.sol\":102,\"test/mainnet/ImdPermitAndBatch.t.sol\":134,\"test/mainnet/ImdPreparation.t.sol\":96,\"test/mainnet/ImdSetup.t.sol\":57,\"test/mainnet/ImdSwaps.t.sol\":150,\"test/mainnet/ImdTreasuryFailurePaths.t.sol\":218,\"test/mainnet/InitializationAdmission.t.sol\":238,\"test/mainnet/MainnetRuntime.sol\":41,\"test/mainnet/MockImdMarket.sol\":64,\"test/mainnet/OneWayGates.t.sol\":413,\"test/mainnet/OwnerTransactions.t.sol\":176,\"test/mainnet/ProtocolFees.t.sol\":104,\"test/mainnet/QuotaMitigation.t.sol\":270,\"test/mainnet/QuotaMitigationInvariants.t.sol\":136,\"test/mainnet/SPOT_TEST_COVERAGE.md\":80,\"test/mainnet/SampledOracle.t.sol\":425,\"test/mainnet/ServiceAttestation.t.sol\":93,\"test/mainnet/SharedExecutorReview.t.sol\":72,\"test/mainnet/SpotArithmeticProperties.t.sol\":118,\"test/mainnet/SpotCustodyInvariants.t.sol\":560,\"test/mainnet/SpotFailureIsolation.t.sol\":193,\"test/mainnet/SpotIntegrationFixture.sol\":64,\"test/mainnet/SpotMath.t.sol\":466,\"test/mainnet/SpotOracle.t.sol\":209,\"test/mainnet/V4Activation.t.sol\":122,\"test/mainnet/V4OracleProof.t.sol\":318,\"test/mainnet/V4StateEvidence.sol\":66,\"test/mocks/MockERC20.sol\":11,\"test/results/build.txt\":8,\"test/results/foundry-tests.txt\":450,\"test/results/protected-checks.txt\":22,\"test/results/release-checks.txt\":18,\"test/successor/SetupScript.t.sol\":46,\"test/successor/Successor.t.sol\":432,\"test/successor/SuccessorFixture.sol\":494,\"test/successor/SuccessorInvariants.t.sol\":205,\"test/test_mainnet_manifest.py\":69,\"test/test_release_artifacts.py\":96,\"web/NOTICE.md\":7,\"web/index.html\":30,\"web/licenses/design-guidance.txt\":220,\"web/package-lock.json\":2197,\"web/package.json\":33,\"web/public/abi/IChainlinkEthUsd.json\":48,\"web/public/abi/MerkleClaimEvidence.json\":461,\"web/public/abi/MerkleDistributor.json\":451,\"web/public/abi/UnlkHook.json\":1973,\"web/public/abi/UnlkOracle.json\":443,\"web/public/abi/UnlkSwapRouter.json\":359,\"web/public/abi/UnlkToken.json\":425,\"web/public/evidence/allowance-vectors.json\":564,\"web/public/evidence/browser-validation.json\":368,\"web/public/evidence/build.txt\":21,\"web/public/evidence/chain-verification.json\":158,\"web/public/evidence/contrast.json\":197,\"web/public/evidence/cross-language-tests.txt\":19,\"web/public/evidence/design-probe.json\":183,\"web/public/evidence/fork-validation.json\":53,\"web/public/evidence/frontend-tests.txt\":79,\"web/public/evidence/live-interactions.json\":154,\"web/public/evidence/native-claim.json\":17,\"web/public/evidence/publication.json\":16,\"web/public/evidence/recovery-validation.json\":12,\"web/public/evidence/round-0.json\":1,\"web/public/evidence/rpc-check.json\":29,\"web/public/evidence/submission-check.json\":21,\"web/public/evidence/swap-math-vectors.json\":173,\"web/public/evidence/test-results.txt\":206,\"web/public/evidence/typecheck.txt\":8,\"web/public/evidence/validation.md\":101,\"web/public/evidence/wallet-validation.json\":14,\"web/public/evidence/webkit-validation.json\":30,\"web/public/favicon.svg\":1,\"web/public/fonts/JetBrains-Mono-OFL.txt\":93,\"web/public/share.png\":104,\"web/public/share.svg\":14,\"web/public/wallets/metamask.svg\":1,\"web/public/wallets/phantom.svg\":1,\"web/public/wallets/rabby.svg\":1,\"web/scripts/build-offline.mjs\":38,\"web/scripts/check-allowance-math.ts\":72,\"web/scripts/check-browser.mjs\":345,\"web/scripts/check-fork.mjs\":477,\"web/scripts/check-recovery.mjs\":196,\"web/scripts/check-swap-math.ts\":50,\"web/scripts/check-wallet.mjs\":319,\"web/scripts/check-webkit.mjs\":141,\"web/scripts/inspect-claim.ts\":22,\"web/scripts/prepare-toolchain.mjs\":28,\"web/scripts/typecheck-offline.mjs\":15,\"web/scripts/verify-chain.ts\":281,\"web/scripts/verify-live-interactions.ts\":137,\"web/src/App.tsx\":123,\"web/src/NextRelease.tsx\":94,\"web/src/NftGallery.tsx\":90,\"web/src/Rewards.tsx\":615,\"web/src/Terminal.tsx\":356,\"web/src/Trade.tsx\":699,\"web/src/Unlock.tsx\":171,\"web/src/abis/IChainlinkEthUsd.json\":22,\"web/src/abis/MerkleClaimEvidence.json\":275,\"web/src/abis/MerkleDistributor.json\":263,\"web/src/abis/UnlkHook.json\":1193,\"web/src/abis/UnlkOracle.json\":255,\"web/src/abis/UnlkSwapRouter.json\":232,\"web/src/abis/UnlkToken.json\":233,\"web/src/assets/fonts/jetbrains-mono-regular.woff2\":369,\"web/src/assets/fonts/jetbrains-mono-semibold.woff2\":424,\"web/src/candidate.ts\":62,\"web/src/candidateReader.ts\":71,\"web/src/charts.tsx\":542,\"web/src/components.tsx\":159,\"web/src/config.ts\":81,\"web/src/data.tsx\":146,\"web/src/indexer.ts\":322,\"web/src/live.ts\":423,\"web/src/main.tsx\":41,\"web/src/mainnet.ts\":23,\"web/src/mainnetReader.ts\":87,\"web/src/mainnetSwap.ts\":32,\"web/src/math.ts\":220,\"web/src/nftInventory.ts\":25,\"web/src/nftSafety.ts\":82,\"web/src/pages.tsx\":1078,\"web/src/rewards.ts\":94,\"web/src/spotPrice.ts\":93,\"web/src/storage.ts\":24,\"web/src/styles.css\":2343,\"web/src/verified.json\":77,\"web/src/wallet.tsx\":676,\"web/tests/candidate.test.ts\":121,\"web/tests/mainnet.test.ts\":58,\"web/tests/math.test.ts\":210,\"web/tests/spot.test.ts\":42,\"web/tsconfig.json\":18,\"web/tsconfig.offline.json\":42,\"web/vendor/README.md\":26,\"web/vendor/esbuild-wasm/LICENSE.md\":21,\"web/vendor/esbuild-wasm/README.md\":3,\"web/vendor/esbuild-wasm/bin/esbuild\":91,\"web/vendor/esbuild-wasm/esbuild.wasm.br\":8524,\"web/vendor/esbuild-wasm/lib/main.d.ts\":716,\"web/vendor/esbuild-wasm/lib/main.js\":2047,\"web/vendor/esbuild-wasm/package.json\":19,\"web/vendor/esbuild-wasm/wasm_exec.js\":561,\"web/vendor/esbuild-wasm/wasm_exec_node.js\":39,\"web/vendor/licenses/buffer-6.0.3.txt\":21,\"web/vendor/licenses/clsx-1.2.1.txt\":9,\"web/vendor/licenses/eventemitter3-5.0.1.txt\":21,\"web/vendor/licenses/ieee754-1.2.1.txt\":11,\"web/vendor/licenses/isows-1.0.7.txt\":21,\"web/vendor/licenses/noble_curves-1.9.1.txt\":21,\"web/vendor/licenses/noble_hashes-1.8.0.txt\":21,\"web/vendor/licenses/ox-0.9.6.txt\":21,\"web/vendor/licenses/preact-10.24.2.txt\":21,\"web/vendor/licenses/provenance.json\":107,\"web/vendor/licenses/react-19.1.1.txt\":21,\"web/vendor/licenses/react-dom-19.1.1.txt\":21,\"web/vendor/licenses/scheduler-0.26.0.txt\":21,\"web/vendor/licenses/scure_bip32-1.7.0.txt\":21,\"web/vendor/licenses/scure_bip39-1.6.0.txt\":21,\"web/vendor/licenses/ws-8.18.3.txt\":20,\"web/vendor/runtime/16296a5ca250926751e3.mjs\":14,\"web/vendor/runtime/5c6113df38c00955dc88.mjs\":48,\"web/vendor/runtime/79686c7ff29c42b4482b.mjs\":16,\"web/vendor/runtime/ab03d5bbf1867256af7c.mjs\":16,\"web/vendor/runtime/bfd99eb87afaf129b7b9.mjs\":13,\"web/vendor/runtime/c5e656ecf7fbe34e412c.mjs\":61,\"web/vendor/runtime/lock.json\":47,\"web/vendor/toolchain.json\":18,\"web/vendor/types/abitype/LICENSE\":21,\"web/vendor/types/abitype/abis/package.json\":5,\"web/vendor/types/abitype/dist/cjs/package.json\":1,\"web/vendor/types/abitype/dist/esm/package.json\":1,\"web/vendor/types/abitype/dist/types/abi.d.ts\":140,\"web/vendor/types/abitype/dist/types/abis/human-readable.d.ts\":43,\"web/vendor/types/abitype/dist/types/abis/json.d.ts\":3958,\"web/vendor/types/abitype/dist/types/errors.d.ts\":19,\"web/vendor/types/abitype/dist/types/exports/abis.d.ts\":3,\"web/vendor/types/abitype/dist/types/exports/index.d.ts\":20,\"web/vendor/types/abitype/dist/types/exports/zod.d.ts\":2,\"web/vendor/types/abitype/dist/types/human-readable/errors/abiItem.d.ts\":20,\"web/vendor/types/abitype/dist/types/human-readable/errors/abiParameter.d.ts\":53,\"web/vendor/types/abitype/dist/types/human-readable/errors/signature.d.ts\":22,\"web/vendor/types/abitype/dist/types/human-readable/errors/splitParameters.d.ts\":9,\"web/vendor/types/abitype/dist/types/human-readable/errors/struct.d.ts\":8,\"web/vendor/types/abitype/dist/types/human-readable/formatAbi.d.ts\":19,\"web/vendor/types/abitype/dist/types/human-readable/formatAbiItem.d.ts\":23,\"web/vendor/types/abitype/dist/types/human-readable/formatAbiParameter.d.ts\":49,\"web/vendor/types/abitype/dist/types/human-readable/formatAbiParameters.d.ts\":40,\"web/vendor/types/abitype/dist/types/human-readable/parseAbi.d.ts\":38,\"web/vendor/types/abitype/dist/types/human-readable/parseAbiItem.d.ts\":44,\"web/vendor/types/abitype/dist/types/human-readable/parseAbiParameter.d.ts\":49,\"web/vendor/types/abitype/dist/types/human-readable/parseAbiParameters.d.ts\":63,\"web/vendor/types/abitype/dist/types/human-readable/runtime/cache.d.ts\":18,\"web/vendor/types/abitype/dist/types/human-readable/runtime/signatures.d.ts\":39,\"web/vendor/types/abitype/dist/types/human-readable/runtime/structs.d.ts\":3,\"web/vendor/types/abitype/dist/types/human-readable/runtime/utils.d.ts\":205,\"web/vendor/types/abitype/dist/types/human-readable/types/signatures.d.ts\":38,\"web/vendor/types/abitype/dist/types/human-readable/types/structs.d.ts\":48,\"web/vendor/types/abitype/dist/types/human-readable/types/utils.d.ts\":161,\"web/vendor/types/abitype/dist/types/narrow.d.ts\":24,\"web/vendor/types/abitype/dist/types/regex.d.ts\":5,\"web/vendor/types/abitype/dist/types/register.d.ts\":149,\"web/vendor/types/abitype/dist/types/types.d.ts\":151,\"web/vendor/types/abitype/dist/types/utils.d.ts\":234,\"web/vendor/types/abitype/dist/types/version.d.ts\":2,\"web/vendor/types/abitype/dist/types/zod.d.ts\":534,\"web/vendor/types/abitype/package.json\":80,\"web/vendor/types/abitype/zod/package.json\":5,\"web/vendor/types/coinbase/LICENSE\":13,\"web/vendor/types/coinbase/dist/CoinbaseWalletProvider.d.ts\":16,\"web/vendor/types/coinbase/dist/CoinbaseWalletSDK.d.ts\":24,\"web/vendor/types/coinbase/dist/assets/wallet-logo.d.ts\":3,\"web/vendor/types/coinbase/dist/core/communicator/Communicator.d.ts\":47,\"web/vendor/types/coinbase/dist/core/constants.d.ts\":5,\"web/vendor/types/coinbase/dist/core/error/constants.d.ts\":96,\"web/vendor/types/coinbase/dist/core/error/errors.d.ts\":48,\"web/vendor/types/coinbase/dist/core/error/serialize.d.ts\":13,\"web/vendor/types/coinbase/dist/core/error/utils.d.ts\":31,\"web/vendor/types/coinbase/dist/core/message/ConfigMessage.d.ts\":7,\"web/vendor/types/coinbase/dist/core/message/Message.d.ts\":8,\"web/vendor/types/coinbase/dist/core/message/RPCMessage.d.ts\":30,\"web/vendor/types/coinbase/dist/core/message/RPCRequest.d.ts\":6,\"web/vendor/types/coinbase/dist/core/message/RPCResponse.d.ts\":15,\"web/vendor/types/coinbase/dist/core/provider/interface.d.ts\":70,\"web/vendor/types/coinbase/dist/core/storage/ScopedLocalStorage.d.ts\":14,\"web/vendor/types/coinbase/dist/core/type/index.d.ts\":19,\"web/vendor/types/coinbase/dist/core/type/util.d.ts\":29,\"web/vendor/types/coinbase/dist/createCoinbaseWalletProvider.d.ts\":8,\"web/vendor/types/coinbase/dist/createCoinbaseWalletSDK.d.ts\":13,\"web/vendor/types/coinbase/dist/index.d.ts\":7,\"web/vendor/types/coinbase/dist/sdk-info.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/interface.d.ts\":7,\"web/vendor/types/coinbase/dist/sign/scw/SCWKeyManager.d.ts\":16,\"web/vendor/types/coinbase/dist/sign/scw/SCWSigner.d.ts\":34,\"web/vendor/types/coinbase/dist/sign/scw/utils.d.ts\":2,\"web/vendor/types/coinbase/dist/sign/util.d.ts\":20,\"web/vendor/types/coinbase/dist/sign/walletlink/WalletLinkSigner.d.ts\":40,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/RelayEventManager.d.ts\":9,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/WalletLinkRelay.d.ts\":58,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/connection/WalletLinkCipher.d.ts\":19,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/connection/WalletLinkConnection.d.ts\":102,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/connection/WalletLinkHTTP.d.ts\":10,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/connection/WalletLinkWebSocket.d.ts\":46,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/constants.d.ts\":4,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/mocks/fixtures.d.ts\":5,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/mocks/relay.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/ClientMessage.d.ts\":30,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/EthereumTransactionParams.d.ts\":14,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/ServerMessage.d.ts\":61,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/WalletLinkEventData.d.ts\":15,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/WalletLinkSession.d.ts\":16,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/Web3Request.d.ts\":99,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/type/Web3Response.d.ts\":51,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/RelayUI.d.ts\":16,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/WLMobileRelayUI.d.ts\":15,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/WalletLinkRelayUI.d.ts\":14,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/RedirectDialog/RedirectDialog-css.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/RedirectDialog/RedirectDialog.d.ts\":16,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/Snackbar/Snackbar-css.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/Snackbar/Snackbar.d.ts\":32,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/cssReset/cssReset-css.d.ts\":3,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/cssReset/cssReset.d.ts\":2,\"web/vendor/types/coinbase/dist/sign/walletlink/relay/ui/components/util.d.ts\":5,\"web/vendor/types/coinbase/dist/util/checkCrossOriginOpenerPolicy.d.ts\":2,\"web/vendor/types/coinbase/dist/util/cipher.d.ts\":12,\"web/vendor/types/coinbase/dist/util/provider.d.ts\":20,\"web/vendor/types/coinbase/dist/util/validatePreferences.d.ts\":7,\"web/vendor/types/coinbase/dist/util/web.d.ts\":3,\"web/vendor/types/coinbase/dist/vendor-js/eth-eip712-util/LICENSE\":14,\"web/vendor/types/coinbase/dist/vendor-js/eth-eip712-util/index.d.ts\":11,\"web/vendor/types/coinbase/package.json\":74,\"web/vendor/types/csstype/LICENSE\":19,\"web/vendor/types/csstype/index.d.ts\":21297,\"web/vendor/types/csstype/package.json\":66,\"web/vendor/types/lock.json\":58,\"web/vendor/types/node/LICENSE\":21,\"web/vendor/types/node/assert.d.ts\":1056,\"web/vendor/types/node/assert/strict.d.ts\":8,\"web/vendor/types/node/async_hooks.d.ts\":623,\"web/vendor/types/node/buffer.buffer.d.ts\":463,\"web/vendor/types/node/buffer.d.ts\":1930,\"web/vendor/types/node/child_process.d.ts\":1453,\"web/vendor/types/node/cluster.d.ts\":579,\"web/vendor/types/node/compatibility/iterators.d.ts\":21,\"web/vendor/types/node/console.d.ts\":452,\"web/vendor/types/node/constants.d.ts\":21,\"web/vendor/types/node/crypto.d.ts\":4566,\"web/vendor/types/node/dgram.d.ts\":599,\"web/vendor/types/node/diagnostics_channel.d.ts\":578,\"web/vendor/types/node/dns.d.ts\":923,\"web/vendor/types/node/dns/promises.d.ts\":503,\"web/vendor/types/node/domain.d.ts\":170,\"web/vendor/types/node/events.d.ts\":930,\"web/vendor/types/node/fs.d.ts\":4473,\"web/vendor/types/node/fs/promises.d.ts\":1299,\"web/vendor/types/node/globals.d.ts\":168,\"web/vendor/types/node/globals.typedarray.d.ts\":22,\"web/vendor/types/node/http.d.ts\":2070,\"web/vendor/types/node/http2.d.ts\":2630,\"web/vendor/types/node/https.d.ts\":550,\"web/vendor/types/node/index.d.ts\":99,\"web/vendor/types/node/inspector.d.ts\":253,\"web/vendor/types/node/inspector.generated.d.ts\":4052,\"web/vendor/types/node/module.d.ts\":894,\"web/vendor/types/node/net.d.ts\":1053,\"web/vendor/types/node/os.d.ts\":496,\"web/vendor/types/node/package.json\":155,\"web/vendor/types/node/path.d.ts\":200,\"web/vendor/types/node/perf_hooks.d.ts\":984,\"web/vendor/types/node/process.d.ts\":2073,\"web/vendor/types/node/punycode.d.ts\":117,\"web/vendor/types/node/querystring.d.ts\":152,\"web/vendor/types/node/readline.d.ts\":594,\"web/vendor/types/node/readline/promises.d.ts\":161,\"web/vendor/types/node/repl.d.ts\":438,\"web/vendor/types/node/sea.d.ts\":153,\"web/vendor/types/node/sqlite.d.ts\":721,\"web/vendor/types/node/stream.d.ts\":1668,\"web/vendor/types/node/stream/consumers.d.ts\":38,\"web/vendor/types/node/stream/promises.d.ts\":90,\"web/vendor/types/node/stream/web.d.ts\":622,\"web/vendor/types/node/string_decoder.d.ts\":67,\"web/vendor/types/node/test.d.ts\":2334,\"web/vendor/types/node/timers.d.ts\":285,\"web/vendor/types/node/timers/promises.d.ts\":108,\"web/vendor/types/node/tls.d.ts\":1245,\"web/vendor/types/node/trace_events.d.ts\":197,\"web/vendor/types/node/ts5.6/buffer.buffer.d.ts\":460,\"web/vendor/types/node/ts5.6/compatibility/float16array.d.ts\":71,\"web/vendor/types/node/ts5.6/globals.typedarray.d.ts\":20,\"web/vendor/types/node/ts5.6/index.d.ts\":101,\"web/vendor/types/node/ts5.7/compatibility/float16array.d.ts\":72,\"web/vendor/types/node/ts5.7/index.d.ts\":101,\"web/vendor/types/node/tty.d.ts\":208,\"web/vendor/types/node/url.d.ts\":1028,\"web/vendor/types/node/util.d.ts\":2311,\"web/vendor/types/node/v8.d.ts\":919,\"web/vendor/types/node/vm.d.ts\":1099,\"web/vendor/types/node/wasi.d.ts\":202,\"web/vendor/types/node/web-globals/abortcontroller.d.ts\":34,\"web/vendor/types/node/web-globals/domexception.d.ts\":68,\"web/vendor/types/node/web-globals/events.d.ts\":94,\"web/vendor/types/node/web-globals/fetch.d.ts\":50,\"web/vendor/types/node/web-globals/navigator.d.ts\":25,\"web/vendor/types/node/web-globals/storage.d.ts\":24,\"web/vendor/types/node/worker_threads.d.ts\":835,\"web/vendor/types/node/zlib.d.ts\":674,\"web/vendor/types/react-dom/LICENSE\":21,\"web/vendor/types/react-dom/canary.d.ts\":37,\"web/vendor/types/react-dom/client.d.ts\":105,\"web/vendor/types/react-dom/experimental.d.ts\":87,\"web/vendor/types/react-dom/index.d.ts\":128,\"web/vendor/types/react-dom/package.json\":128,\"web/vendor/types/react-dom/server.browser.d.ts\":1,\"web/vendor/types/react-dom/server.bun.d.ts\":1,\"web/vendor/types/react-dom/server.d.ts\":116,\"web/vendor/types/react-dom/server.edge.d.ts\":1,\"web/vendor/types/react-dom/server.node.d.ts\":1,\"web/vendor/types/react-dom/static.browser.d.ts\":1,\"web/vendor/types/react-dom/static.d.ts\":78,\"web/vendor/types/react-dom/static.edge.d.ts\":1,\"web/vendor/types/react-dom/static.node.d.ts\":1,\"web/vendor/types/react-dom/test-utils/index.d.ts\":7,\"web/vendor/types/react/LICENSE\":21,\"web/vendor/types/react/canary.d.ts\":60,\"web/vendor/types/react/compiler-runtime.d.ts\":4,\"web/vendor/types/react/experimental.d.ts\":228,\"web/vendor/types/react/global.d.ts\":165,\"web/vendor/types/react/index.d.ts\":4265,\"web/vendor/types/react/jsx-dev-runtime.d.ts\":45,\"web/vendor/types/react/jsx-runtime.d.ts\":36,\"web/vendor/types/react/package.json\":210,\"web/vendor/types/react/ts5.0/canary.d.ts\":60,\"web/vendor/types/react/ts5.0/experimental.d.ts\":228,\"web/vendor/types/react/ts5.0/global.d.ts\":165,\"web/vendor/types/react/ts5.0/index.d.ts\":4251,\"web/vendor/types/react/ts5.0/jsx-dev-runtime.d.ts\":44,\"web/vendor/types/react/ts5.0/jsx-runtime.d.ts\":35,\"web/vendor/types/react/ts5.0/v18/global.d.ts\":161,\"web/vendor/types/react/ts5.0/v18/index.d.ts\":4564,\"web/vendor/types/react/ts5.0/v18/jsx-dev-runtime.d.ts\":45,\"web/vendor/types/react/ts5.0/v18/jsx-runtime.d.ts\":36,\"web/vendor/types/react/ts5.0/v18/ts5.0/global.d.ts\":161,\"web/vendor/types/react/ts5.0/v18/ts5.0/index.d.ts\":4551,\"web/vendor/types/react/ts5.0/v18/ts5.0/jsx-dev-runtime.d.ts\":44,\"web/vendor/types/react/ts5.0/v18/ts5.0/jsx-runtime.d.ts\":35,\"web/vendor/types/typescript/LICENSE.txt\":55,\"web/vendor/types/typescript/ThirdPartyNoticeText.txt\":193,\"web/vendor/types/typescript/lib/_tsc.js.br\":2756,\"web/vendor/types/typescript/lib/lib.d.ts\":22,\"web/vendor/types/typescript/lib/lib.decorators.d.ts\":384,\"web/vendor/types/typescript/lib/lib.decorators.legacy.d.ts\":22,\"web/vendor/types/typescript/lib/lib.dom.asynciterable.d.ts\":41,\"web/vendor/types/typescript/lib/lib.dom.d.ts\":39429,\"web/vendor/types/typescript/lib/lib.dom.iterable.d.ts\":571,\"web/vendor/types/typescript/lib/lib.es2015.collection.d.ts\":147,\"web/vendor/types/typescript/lib/lib.es2015.core.d.ts\":597,\"web/vendor/types/typescript/lib/lib.es2015.d.ts\":28,\"web/vendor/types/typescript/lib/lib.es2015.generator.d.ts\":77,\"web/vendor/types/typescript/lib/lib.es2015.iterable.d.ts\":605,\"web/vendor/types/typescript/lib/lib.es2015.promise.d.ts\":81,\"web/vendor/types/typescript/lib/lib.es2015.proxy.d.ts\":128,\"web/vendor/types/typescript/lib/lib.es2015.reflect.d.ts\":144,\"web/vendor/types/typescript/lib/lib.es2015.symbol.d.ts\":46,\"web/vendor/types/typescript/lib/lib.es2015.symbol.wellknown.d.ts\":326,\"web/vendor/types/typescript/lib/lib.es2016.array.include.d.ts\":116,\"web/vendor/types/typescript/lib/lib.es2016.d.ts\":21,\"web/vendor/types/typescript/lib/lib.es2016.full.d.ts\":23,\"web/vendor/types/typescript/lib/lib.es2016.intl.d.ts\":31,\"web/vendor/types/typescript/lib/lib.es2017.arraybuffer.d.ts\":21,\"web/vendor/types/typescript/lib/lib.es2017.d.ts\":26,\"web/vendor/types/typescript/lib/lib.es2017.date.d.ts\":31,\"web/vendor/types/typescript/lib/lib.es2017.full.d.ts\":23,\"web/vendor/types/typescript/lib/lib.es2017.intl.d.ts\":44,\"web/vendor/types/typescript/lib/lib.es2017.object.d.ts\":49,\"web/vendor/types/typescript/lib/lib.es2017.sharedmemory.d.ts\":135,\"web/vendor/types/typescript/lib/lib.es2017.string.d.ts\":45,\"web/vendor/types/typescript/lib/lib.es2017.typedarrays.d.ts\":53,\"web/vendor/types/typescript/lib/lib.es2018.asyncgenerator.d.ts\":77,\"web/vendor/types/typescript/lib/lib.es2018.asynciterable.d.ts\":53,\"web/vendor/types/typescript/lib/lib.es2018.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2018.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2018.intl.d.ts\":83,\"web/vendor/types/typescript/lib/lib.es2018.promise.d.ts\":30,\"web/vendor/types/typescript/lib/lib.es2018.regexp.d.ts\":37,\"web/vendor/types/typescript/lib/lib.es2019.array.d.ts\":79,\"web/vendor/types/typescript/lib/lib.es2019.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2019.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2019.intl.d.ts\":23,\"web/vendor/types/typescript/lib/lib.es2019.object.d.ts\":33,\"web/vendor/types/typescript/lib/lib.es2019.string.d.ts\":37,\"web/vendor/types/typescript/lib/lib.es2019.symbol.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2020.bigint.d.ts\":765,\"web/vendor/types/typescript/lib/lib.es2020.d.ts\":27,\"web/vendor/types/typescript/lib/lib.es2020.date.d.ts\":42,\"web/vendor/types/typescript/lib/lib.es2020.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2020.intl.d.ts\":474,\"web/vendor/types/typescript/lib/lib.es2020.number.d.ts\":28,\"web/vendor/types/typescript/lib/lib.es2020.promise.d.ts\":47,\"web/vendor/types/typescript/lib/lib.es2020.sharedmemory.d.ts\":99,\"web/vendor/types/typescript/lib/lib.es2020.string.d.ts\":44,\"web/vendor/types/typescript/lib/lib.es2020.symbol.wellknown.d.ts\":41,\"web/vendor/types/typescript/lib/lib.es2021.d.ts\":23,\"web/vendor/types/typescript/lib/lib.es2021.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2021.intl.d.ts\":166,\"web/vendor/types/typescript/lib/lib.es2021.promise.d.ts\":48,\"web/vendor/types/typescript/lib/lib.es2021.string.d.ts\":33,\"web/vendor/types/typescript/lib/lib.es2021.weakref.d.ts\":78,\"web/vendor/types/typescript/lib/lib.es2022.array.d.ts\":121,\"web/vendor/types/typescript/lib/lib.es2022.d.ts\":25,\"web/vendor/types/typescript/lib/lib.es2022.error.d.ts\":75,\"web/vendor/types/typescript/lib/lib.es2022.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2022.intl.d.ts\":145,\"web/vendor/types/typescript/lib/lib.es2022.object.d.ts\":26,\"web/vendor/types/typescript/lib/lib.es2022.regexp.d.ts\":39,\"web/vendor/types/typescript/lib/lib.es2022.string.d.ts\":25,\"web/vendor/types/typescript/lib/lib.es2023.array.d.ts\":924,\"web/vendor/types/typescript/lib/lib.es2023.collection.d.ts\":21,\"web/vendor/types/typescript/lib/lib.es2023.d.ts\":22,\"web/vendor/types/typescript/lib/lib.es2023.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2023.intl.d.ts\":56,\"web/vendor/types/typescript/lib/lib.es2024.arraybuffer.d.ts\":65,\"web/vendor/types/typescript/lib/lib.es2024.collection.d.ts\":29,\"web/vendor/types/typescript/lib/lib.es2024.d.ts\":26,\"web/vendor/types/typescript/lib/lib.es2024.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.es2024.object.d.ts\":29,\"web/vendor/types/typescript/lib/lib.es2024.promise.d.ts\":35,\"web/vendor/types/typescript/lib/lib.es2024.regexp.d.ts\":25,\"web/vendor/types/typescript/lib/lib.es2024.sharedmemory.d.ts\":68,\"web/vendor/types/typescript/lib/lib.es2024.string.d.ts\":29,\"web/vendor/types/typescript/lib/lib.es5.d.ts\":4601,\"web/vendor/types/typescript/lib/lib.es6.d.ts\":23,\"web/vendor/types/typescript/lib/lib.esnext.array.d.ts\":35,\"web/vendor/types/typescript/lib/lib.esnext.collection.d.ts\":96,\"web/vendor/types/typescript/lib/lib.esnext.d.ts\":29,\"web/vendor/types/typescript/lib/lib.esnext.decorators.d.ts\":28,\"web/vendor/types/typescript/lib/lib.esnext.disposable.d.ts\":193,\"web/vendor/types/typescript/lib/lib.esnext.error.d.ts\":24,\"web/vendor/types/typescript/lib/lib.esnext.float16.d.ts\":443,\"web/vendor/types/typescript/lib/lib.esnext.full.d.ts\":24,\"web/vendor/types/typescript/lib/lib.esnext.intl.d.ts\":21,\"web/vendor/types/typescript/lib/lib.esnext.iterator.d.ts\":148,\"web/vendor/types/typescript/lib/lib.esnext.promise.d.ts\":34,\"web/vendor/types/typescript/lib/lib.esnext.sharedmemory.d.ts\":25,\"web/vendor/types/typescript/lib/lib.scripthost.d.ts\":322,\"web/vendor/types/typescript/lib/lib.webworker.asynciterable.d.ts\":41,\"web/vendor/types/typescript/lib/lib.webworker.d.ts\":13150,\"web/vendor/types/typescript/lib/lib.webworker.importscripts.d.ts\":23,\"web/vendor/types/typescript/lib/lib.webworker.iterable.d.ts\":340,\"web/vendor/types/typescript/lib/tsc.js\":8,\"web/vendor/types/typescript/lib/tsserverlibrary.d.ts\":17,\"web/vendor/types/typescript/package.json\":120,\"web/vendor/types/viem/LICENSE\":21,\"web/vendor/types/viem/_cjs/package.json\":1,\"web/vendor/types/viem/_esm/package.json\":1,\"web/vendor/types/viem/_types/account-abstraction/accounts/createWebAuthnCredential.d.ts\":11,\"web/vendor/types/viem/_types/account-abstraction/accounts/implementations/toCoinbaseSmartAccount.d.ts\":674,\"web/vendor/types/viem/_types/account-abstraction/accounts/implementations/toSimple7702SmartAccount.d.ts\":311,\"web/vendor/types/viem/_types/account-abstraction/accounts/implementations/toSoladySmartAccount.d.ts\":458,\"web/vendor/types/viem/_types/account-abstraction/accounts/toSmartAccount.d.ts\":14,\"web/vendor/types/viem/_types/account-abstraction/accounts/toWebAuthnAccount.d.ts\":33,\"web/vendor/types/viem/_types/account-abstraction/accounts/types.d.ts\":216,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/estimateUserOperationGas.d.ts\":69,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/getSupportedEntryPoints.d.ts\":30,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/getUserOperation.d.ts\":57,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/getUserOperationReceipt.d.ts\":39,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/prepareUserOperation.d.ts\":127,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/sendUserOperation.d.ts\":63,\"web/vendor/types/viem/_types/account-abstraction/actions/bundler/waitForUserOperationReceipt.d.ts\":52,\"web/vendor/types/viem/_types/account-abstraction/actions/paymaster/getPaymasterData.d.ts\":49,\"web/vendor/types/viem/_types/account-abstraction/actions/paymaster/getPaymasterStubData.d.ts\":55,\"web/vendor/types/viem/_types/account-abstraction/clients/createBundlerClient.d.ts\":65,\"web/vendor/types/viem/_types/account-abstraction/clients/createPaymasterClient.d.ts\":27,\"web/vendor/types/viem/_types/account-abstraction/clients/decorators/bundler.d.ts\":206,\"web/vendor/types/viem/_types/account-abstraction/clients/decorators/paymaster.d.ts\":60,\"web/vendor/types/viem/_types/account-abstraction/constants/abis.d.ts\":2298,\"web/vendor/types/viem/_types/account-abstraction/constants/address.d.ts\":4,\"web/vendor/types/viem/_types/account-abstraction/errors/bundler.d.ts\":361,\"web/vendor/types/viem/_types/account-abstraction/errors/userOperation.d.ts\":37,\"web/vendor/types/viem/_types/account-abstraction/index.d.ts\":39,\"web/vendor/types/viem/_types/account-abstraction/types/account.d.ts\":11,\"web/vendor/types/viem/_types/account-abstraction/types/entryPointVersion.d.ts\":9,\"web/vendor/types/viem/_types/account-abstraction/types/rpc.d.ts\":12,\"web/vendor/types/viem/_types/account-abstraction/types/userOperation.d.ts\":173,\"web/vendor/types/viem/_types/account-abstraction/utils/errors/getBundlerError.d.ts\":8,\"web/vendor/types/viem/_types/account-abstraction/utils/errors/getUserOperationError.d.ts\":15,\"web/vendor/types/viem/_types/account-abstraction/utils/formatters/userOperation.d.ts\":6,\"web/vendor/types/viem/_types/account-abstraction/utils/formatters/userOperationGas.d.ts\":6,\"web/vendor/types/viem/_types/account-abstraction/utils/formatters/userOperationReceipt.d.ts\":6,\"web/vendor/types/viem/_types/account-abstraction/utils/formatters/userOperationRequest.d.ts\":7,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/getInitCode.d.ts\":3,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/getUserOperationHash.d.ts\":13,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/getUserOperationTypedData.d.ts\":39,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/toPackedUserOperation.d.ts\":3,\"web/vendor/types/viem/_types/account-abstraction/utils/userOperation/toUserOperation.d.ts\":3,\"web/vendor/types/viem/_types/accounts/generateMnemonic.d.ts\":12,\"web/vendor/types/viem/_types/accounts/generatePrivateKey.d.ts\":11,\"web/vendor/types/viem/_types/accounts/hdKeyToAccount.d.ts\":14,\"web/vendor/types/viem/_types/accounts/index.d.ts\":25,\"web/vendor/types/viem/_types/accounts/mnemonicToAccount.d.ts\":12,\"web/vendor/types/viem/_types/accounts/privateKeyToAccount.d.ts\":22,\"web/vendor/types/viem/_types/accounts/toAccount.d.ts\":15,\"web/vendor/types/viem/_types/accounts/types.d.ts\":62,\"web/vendor/types/viem/_types/accounts/utils/parseAccount.d.ts\":6,\"web/vendor/types/viem/_types/accounts/utils/privateKeyToAddress.d.ts\":15,\"web/vendor/types/viem/_types/accounts/utils/publicKeyToAddress.d.ts\":15,\"web/vendor/types/viem/_types/accounts/utils/sign.d.ts\":28,\"web/vendor/types/viem/_types/accounts/utils/signAuthorization.d.ts\":20,\"web/vendor/types/viem/_types/accounts/utils/signMessage.d.ts\":20,\"web/vendor/types/viem/_types/accounts/utils/signTransaction.d.ts\":16,\"web/vendor/types/viem/_types/accounts/utils/signTypedData.d.ts\":20,\"web/vendor/types/viem/_types/accounts/wordlists.d.ts\":11,\"web/vendor/types/viem/_types/actions/ens/getEnsAddress.d.ts\":78,\"web/vendor/types/viem/_types/actions/ens/getEnsAvatar.d.ts\":44,\"web/vendor/types/viem/_types/actions/ens/getEnsName.d.ts\":71,\"web/vendor/types/viem/_types/actions/ens/getEnsResolver.d.ts\":48,\"web/vendor/types/viem/_types/actions/ens/getEnsText.d.ts\":57,\"web/vendor/types/viem/_types/actions/getContract.d.ts\":360,\"web/vendor/types/viem/_types/actions/index.d.ts\":119,\"web/vendor/types/viem/_types/actions/public/call.d.ts\":91,\"web/vendor/types/viem/_types/actions/public/createAccessList.d.ts\":61,\"web/vendor/types/viem/_types/actions/public/createBlockFilter.d.ts\":31,\"web/vendor/types/viem/_types/actions/public/createContractEventFilter.d.ts\":55,\"web/vendor/types/viem/_types/actions/public/createEventFilter.d.ts\":81,\"web/vendor/types/viem/_types/actions/public/createPendingTransactionFilter.d.ts\":31,\"web/vendor/types/viem/_types/actions/public/estimateContractGas.d.ts\":47,\"web/vendor/types/viem/_types/actions/public/estimateFeesPerGas.d.ts\":53,\"web/vendor/types/viem/_types/actions/public/estimateGas.d.ts\":61,\"web/vendor/types/viem/_types/actions/public/estimateMaxPriorityFeePerGas.d.ts\":43,\"web/vendor/types/viem/_types/actions/public/getBalance.d.ts\":59,\"web/vendor/types/viem/_types/actions/public/getBlobBaseFee.d.ts\":30,\"web/vendor/types/viem/_types/actions/public/getBlock.d.ts\":62,\"web/vendor/types/viem/_types/actions/public/getBlockNumber.d.ts\":62,\"web/vendor/types/viem/_types/actions/public/getBlockTransactionCount.d.ts\":52,\"web/vendor/types/viem/_types/actions/public/getChainId.d.ts\":32,\"web/vendor/types/viem/_types/actions/public/getCode.d.ts\":45,\"web/vendor/types/viem/_types/actions/public/getContractEvents.d.ts\":66,\"web/vendor/types/viem/_types/actions/public/getEip712Domain.d.ts\":51,\"web/vendor/types/viem/_types/actions/public/getFeeHistory.d.ts\":57,\"web/vendor/types/viem/_types/actions/public/getFilterChanges.d.ts\":101,\"web/vendor/types/viem/_types/actions/public/getFilterLogs.d.ts\":45,\"web/vendor/types/viem/_types/actions/public/getGasPrice.d.ts\":30,\"web/vendor/types/viem/_types/actions/public/getLogs.d.ts\":78,\"web/vendor/types/viem/_types/actions/public/getProof.d.ts\":57,\"web/vendor/types/viem/_types/actions/public/getStorageAt.d.ts\":47,\"web/vendor/types/viem/_types/actions/public/getTransaction.d.ts\":71,\"web/vendor/types/viem/_types/actions/public/getTransactionConfirmations.d.ts\":45,\"web/vendor/types/viem/_types/actions/public/getTransactionCount.d.ts\":49,\"web/vendor/types/viem/_types/actions/public/getTransactionReceipt.d.ts\":40,\"web/vendor/types/viem/_types/actions/public/multicall.d.ts\":81,\"web/vendor/types/viem/_types/actions/public/readContract.d.ts\":46,\"web/vendor/types/viem/_types/actions/public/simulateBlocks.d.ts\":116,\"web/vendor/types/viem/_types/actions/public/simulateCalls.d.ts\":89,\"web/vendor/types/viem/_types/actions/public/simulateContract.d.ts\":79,\"web/vendor/types/viem/_types/actions/public/uninstallFilter.d.ts\":37,\"web/vendor/types/viem/_types/actions/public/verifyHash.d.ts\":89,\"web/vendor/types/viem/_types/actions/public/verifyMessage.d.ts\":32,\"web/vendor/types/viem/_types/actions/public/verifyTypedData.d.ts\":28,\"web/vendor/types/viem/_types/actions/public/waitForTransactionReceipt.d.ts\":98,\"web/vendor/types/viem/_types/actions/public/watchBlockNumber.d.ts\":58,\"web/vendor/types/viem/_types/actions/public/watchBlocks.d.ts\":66,\"web/vendor/types/viem/_types/actions/public/watchContractEvent.d.ts\":67,\"web/vendor/types/viem/_types/actions/public/watchEvent.d.ts\":82,\"web/vendor/types/viem/_types/actions/public/watchPendingTransactions.d.ts\":49,\"web/vendor/types/viem/_types/actions/siwe/verifySiweMessage.d.ts\":34,\"web/vendor/types/viem/_types/actions/test/dropTransaction.d.ts\":36,\"web/vendor/types/viem/_types/actions/test/dumpState.d.ts\":31,\"web/vendor/types/viem/_types/actions/test/getAutomine.d.ts\":30,\"web/vendor/types/viem/_types/actions/test/getTxpoolContent.d.ts\":37,\"web/vendor/types/viem/_types/actions/test/getTxpoolStatus.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/impersonateAccount.d.ts\":36,\"web/vendor/types/viem/_types/actions/test/increaseTime.d.ts\":35,\"web/vendor/types/viem/_types/actions/test/inspectTxpool.d.ts\":34,\"web/vendor/types/viem/_types/actions/test/loadState.d.ts\":34,\"web/vendor/types/viem/_types/actions/test/mine.d.ts\":35,\"web/vendor/types/viem/_types/actions/test/removeBlockTimestampInterval.d.ts\":28,\"web/vendor/types/viem/_types/actions/test/reset.d.ts\":35,\"web/vendor/types/viem/_types/actions/test/revert.d.ts\":34,\"web/vendor/types/viem/_types/actions/test/sendUnsignedTransaction.d.ts\":38,\"web/vendor/types/viem/_types/actions/test/setAutomine.d.ts\":28,\"web/vendor/types/viem/_types/actions/test/setBalance.d.ts\":39,\"web/vendor/types/viem/_types/actions/test/setBlockGasLimit.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/setBlockTimestampInterval.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/setCode.d.ts\":40,\"web/vendor/types/viem/_types/actions/test/setCoinbase.d.ts\":36,\"web/vendor/types/viem/_types/actions/test/setIntervalMining.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/setLoggingEnabled.d.ts\":28,\"web/vendor/types/viem/_types/actions/test/setMinGasPrice.d.ts\":37,\"web/vendor/types/viem/_types/actions/test/setNextBlockBaseFeePerGas.d.ts\":35,\"web/vendor/types/viem/_types/actions/test/setNextBlockTimestamp.d.ts\":33,\"web/vendor/types/viem/_types/actions/test/setNonce.d.ts\":39,\"web/vendor/types/viem/_types/actions/test/setRpcUrl.d.ts\":29,\"web/vendor/types/viem/_types/actions/test/setStorageAt.d.ts\":43,\"web/vendor/types/viem/_types/actions/test/snapshot.d.ts\":28,\"web/vendor/types/viem/_types/actions/test/stopImpersonatingAccount.d.ts\":36,\"web/vendor/types/viem/_types/actions/wallet/addChain.d.ts\":33,\"web/vendor/types/viem/_types/actions/wallet/deployContract.d.ts\":49,\"web/vendor/types/viem/_types/actions/wallet/getAddresses.d.ts\":32,\"web/vendor/types/viem/_types/actions/wallet/getCallsStatus.d.ts\":39,\"web/vendor/types/viem/_types/actions/wallet/getCapabilities.d.ts\":36,\"web/vendor/types/viem/_types/actions/wallet/getPermissions.d.ts\":31,\"web/vendor/types/viem/_types/actions/wallet/prepareAuthorization.d.ts\":66,\"web/vendor/types/viem/_types/actions/wallet/prepareTransactionRequest.d.ts\":96,\"web/vendor/types/viem/_types/actions/wallet/requestAddresses.d.ts\":35,\"web/vendor/types/viem/_types/actions/wallet/requestPermissions.d.ts\":40,\"web/vendor/types/viem/_types/actions/wallet/sendCalls.d.ts\":62,\"web/vendor/types/viem/_types/actions/wallet/sendRawTransaction.d.ts\":39,\"web/vendor/types/viem/_types/actions/wallet/sendTransaction.d.ts\":73,\"web/vendor/types/viem/_types/actions/wallet/showCallsStatus.d.ts\":34,\"web/vendor/types/viem/_types/actions/wallet/signAuthorization.d.ts\":56,\"web/vendor/types/viem/_types/actions/wallet/signMessage.d.ts\":64,\"web/vendor/types/viem/_types/actions/wallet/signTransaction.d.ts\":67,\"web/vendor/types/viem/_types/actions/wallet/signTypedData.d.ts\":119,\"web/vendor/types/viem/_types/actions/wallet/switchChain.d.ts\":34,\"web/vendor/types/viem/_types/actions/wallet/waitForCallsStatus.d.ts\":83,\"web/vendor/types/viem/_types/actions/wallet/watchAsset.d.ts\":40,\"web/vendor/types/viem/_types/actions/wallet/writeContract.d.ts\":75,\"web/vendor/types/viem/_types/celo/chainConfig.d.ts\":879,\"web/vendor/types/viem/_types/celo/fees.d.ts\":4,\"web/vendor/types/viem/_types/celo/formatters.d.ts\":428,\"web/vendor/types/viem/_types/celo/index.d.ts\":5,\"web/vendor/types/viem/_types/celo/parsers.d.ts\":6,\"web/vendor/types/viem/_types/celo/serializers.d.ts\":10,\"web/vendor/types/viem/_types/celo/types.d.ts\":87,\"web/vendor/types/viem/_types/celo/utils.d.ts\":7,\"web/vendor/types/viem/_types/chains/definitions/0g.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/0gGalileoTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/0gMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/5ireChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/abey.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/abstract.d.ts\":435,\"web/vendor/types/viem/_types/chains/definitions/abstractTestnet.d.ts\":434,\"web/vendor/types/viem/_types/chains/definitions/acala.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/acria.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/adf.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/agungTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/aioz.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/alephZero.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/alephZeroTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/alienX.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/alienXHalTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ancient8.d.ts\":300,\"web/vendor/types/viem/_types/chains/definitions/ancient8Sepolia.d.ts\":300,\"web/vendor/types/viem/_types/chains/definitions/anvil.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/apeChain.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/apexTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arbitrum.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arbitrumGoerli.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/arbitrumNova.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arbitrumSepolia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arenaz.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/areonNetwork.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/areonNetworkTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/areum.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/artelaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/arthera.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/artheraTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/assetChain.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/assetChainTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/astar.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/astarZkEVM.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/astarZkyoto.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/atletaOlympia.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/aurora.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/auroraTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/auroria.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/autheoTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/avalanche.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/avalancheFuji.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/b3.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/b3Sepolia.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/bahamut.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/base.d.ts\":617,\"web/vendor/types/viem/_types/chains/definitions/baseGoerli.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/baseSepolia.d.ts\":619,\"web/vendor/types/viem/_types/chains/definitions/basecampTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/beam.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/beamTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/bearNetworkChainMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bearNetworkChainTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/berachain.d.ts\":44,\"web/vendor/types/viem/_types/chains/definitions/berachainBepolia.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/berachainTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/berachainTestnetbArtio.d.ts\":44,\"web/vendor/types/viem/_types/chains/definitions/bevmMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bifrost.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/birdlayer.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bitTorrent.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/bitTorrentTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/bitgert.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/bitkub.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bitkubTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/bitlayer.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bitlayerTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bitrock.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/blast.d.ts\":305,\"web/vendor/types/viem/_types/chains/definitions/blastSepolia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bob.d.ts\":299,\"web/vendor/types/viem/_types/chains/definitions/bobSepolia.d.ts\":299,\"web/vendor/types/viem/_types/chains/definitions/boba.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/bobaSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/boolBetaMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/botanix.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/botanixTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bounceBit.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bounceBitTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bronos.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bronosTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bsc.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bscGreenfield.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bscTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/bsquared.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/bsquaredTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/btr.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/btrTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bxn.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/bxnTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/cannon.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/canto.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/celo.d.ts\":889,\"web/vendor/types/viem/_types/chains/definitions/celoAlfajores.d.ts\":931,\"web/vendor/types/viem/_types/chains/definitions/celoSepolia.d.ts\":925,\"web/vendor/types/viem/_types/chains/definitions/chang.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/chiliz.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/chips.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/citreaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/classic.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/coinbit.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/coinex.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/confluxESpace.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/confluxESpaceTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/coreDao.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/coreTestnet1.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/coreTestnet2.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/corn.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/cornTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/crab.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/creatorTestnet.d.ts\":35,\"web/vendor/types/viem/_types/chains/definitions/creditCoin3Devnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/creditCoin3Mainnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/creditCoin3Testnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/cronos.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/cronosTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/cronoszkEVM.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/cronoszkEVMTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/crossbell.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/crossfi.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/curtis.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/cyber.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/cyberTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dailyNetwork.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dailyNetworkTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/darwinia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dbkchain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dchain.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/dchainTestnet.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/defichainEvm.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/defichainEvmTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/degen.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/dfk.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/diode.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/disChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dodochainTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/dogechain.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/domaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/donatuz.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/dosChain.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dosChainTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dreyerxMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dreyerxTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/dustboyIoT.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/dymension.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edexa.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edexaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edgeless.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edgelessTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/edgeware.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/edgewareTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/eduChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/eduChainTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/ekta.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/ektaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/elastos.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/elastosTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/electroneum.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/electroneumTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/elysiumTestnet.d.ts\":282,\"web/vendor/types/viem/_types/chains/definitions/energy.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/eni.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/eniTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/enuls.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/eon.d.ts\":31,\"web/vendor/types/viem/_types/chains/definitions/eos.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/eosTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/eteria.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/etherlink.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/etherlinkTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ethernity.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/etp.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/evmos.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/evmosTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/exSat.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/exSatTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/excelonMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/expanse.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/fantom.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/fantomSonicTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/fantomTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/fibo.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/filecoin.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/filecoinCalibration.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/filecoinHyperspace.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/flame.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/flare.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/flareTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/flowMainnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/flowPreviewnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/flowTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/fluence.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/fluenceStage.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/fluenceTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/fluentTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/form.d.ts\":79,\"web/vendor/types/viem/_types/chains/definitions/formTestnet.d.ts\":79,\"web/vendor/types/viem/_types/chains/definitions/forma.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/forta.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/foundry.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/fraxtal.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/fraxtalTestnet.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/funkiMainnet.d.ts\":282,\"web/vendor/types/viem/_types/chains/definitions/funkiSepolia.d.ts\":287,\"web/vendor/types/viem/_types/chains/definitions/fuse.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/fuseSparknet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/fusion.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/fusionTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/garnet.d.ts\":304,\"web/vendor/types/viem/_types/chains/definitions/geist.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/genesys.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/giwaSepolia.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/glideL1Protocol.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/glideL2Protocol.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/gnosis.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/gnosisChiado.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/goChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/goat.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/gobi.d.ts\":31,\"web/vendor/types/viem/_types/chains/definitions/godwoken.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/goerli.d.ts\":44,\"web/vendor/types/viem/_types/chains/definitions/graphite.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/graphiteTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/gravity.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/gunz.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/guruNetwork.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/guruTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ham.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/happychainTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/haqqMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/haqqTestedge2.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hardhat.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/harmonyOne.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/hashKeyChain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/hashkeyChainTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/haustTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/hedera.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hederaPreviewnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hederaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hela.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/hemi.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/hemiSepolia.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/holesky.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/hoodi.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/hpb.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/huddle01Mainnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/huddle01Testnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/humanity.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/humanityTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/humanode.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/humanodeTestnet5.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/hychain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/hychainTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/hyperliquidEvmTestnet.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/iSunCoin.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/icbNetwork.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/idchain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/immutableZkEvm.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/immutableZkEvmTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/inEVM.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/initVerse.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/initVerseGenesis.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/ink.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/inkSepolia.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/iota.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/iotaTestnet.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/iotex.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/iotexTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/jbc.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/jbcTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/jocMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/jocTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/jovay.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/jovaySepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/juneo.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoBCH1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoDAI1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoDOGE1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoEUR1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoGLD1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoLINK1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoLTC1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoSGD1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoSocotraTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoUSD1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneoUSDT1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/juneomBTC1Chain.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/kaia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kairos.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kakarotSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/kakarotStarknetSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/kardiaChain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/karura.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/katana.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/kava.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/kavaTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/kcc.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kinto.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/klaytn.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/klaytnBaobab.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/koi.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kroma.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/kromaSepolia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/l3x.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/l3xTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/lavita.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/lens.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/lensTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/lestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/lightlinkPegasus.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/lightlinkPhoenix.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/linea.d.ts\":49,\"web/vendor/types/viem/_types/chains/definitions/lineaGoerli.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/lineaSepolia.d.ts\":49,\"web/vendor/types/viem/_types/chains/definitions/lineaTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/lisk.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/liskSepolia.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/loadAlphanet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/localhost.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/loop.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/lukso.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/luksoTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/lumiaMainnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/lumiaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/lumoz.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/lumozTestnet.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/lycan.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/lyra.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/mainnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/mandala.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/manta.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/mantaSepoliaTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/mantaTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/mantle.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/mantleSepoliaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/mantleTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/mantraDuKongEVMTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mantraEVM.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/mapProtocol.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/matchain.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/matchainTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mchVerse.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/megaethTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/mekong.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/meld.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/memecore.d.ts\":50,\"web/vendor/types/viem/_types/chains/definitions/memecoreFormicariumTestnet.d.ts\":49,\"web/vendor/types/viem/_types/chains/definitions/merlin.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/merlinErigonTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/metachain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/metachainIstanbul.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/metadium.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/metalL2.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/meter.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/meterTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/metis.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/metisGoerli.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/metisSepolia.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/mev.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/mevTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/mint.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mintSepoliaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mitosisTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/mode.d.ts\":301,\"web/vendor/types/viem/_types/chains/definitions/modeTestnet.d.ts\":305,\"web/vendor/types/viem/_types/chains/definitions/monadTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/moonbaseAlpha.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/moonbeam.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/moonbeamDev.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/moonriver.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/morph.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/morphHolesky.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/morphSepolia.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/nahmii.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/nautilus.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/near.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/nearTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/neonDevnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/neonMainnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/neoxMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/neoxT4.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/newton.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/nexi.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/nexilix.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/nibiru.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/nitrographTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/oasisTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/oasys.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/odysseyTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/okc.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/omax.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/omni.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/omniOmega.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/oneWorld.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/oortmainnetDev.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/opBNB.d.ts\":70,\"web/vendor/types/viem/_types/chains/definitions/opBNBTestnet.d.ts\":69,\"web/vendor/types/viem/_types/chains/definitions/openledger.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/optimism.d.ts\":307,\"web/vendor/types/viem/_types/chains/definitions/optimismGoerli.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/optimismSepolia.d.ts\":307,\"web/vendor/types/viem/_types/chains/definitions/optopia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/optopiaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/orderly.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/orderlySepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/otimDevnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/palm.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/palmTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/peaq.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/pgn.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/pgnTestnet.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/phoenix.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/planq.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/plasma.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/plasmaDevnet.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/plasmaTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/playfiAlbireo.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/plinga.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/plume.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/plumeDevnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/plumeMainnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/plumeSepolia.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/plumeTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/polterTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/polygon.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonAmoy.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonMumbai.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonZkEvm.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonZkEvmCardona.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polygonZkEvmTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/polynomial.d.ts\":35,\"web/vendor/types/viem/_types/chains/definitions/polynomialSepolia.d.ts\":35,\"web/vendor/types/viem/_types/chains/definitions/premiumBlock.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/pulsechain.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/pulsechainV4.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/pumpfiTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/pyrope.d.ts\":288,\"web/vendor/types/viem/_types/chains/definitions/qMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/qTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/ql1.d.ts\":35,\"web/vendor/types/viem/_types/chains/definitions/real.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/redbellyMainnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/redbellyTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/reddio.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/reddioSepolia.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/redstone.d.ts\":304,\"web/vendor/types/viem/_types/chains/definitions/rei.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/reyaNetwork.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/riseTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rivalz.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/rollux.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/rolluxTestnet.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/ronin.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/root.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rootPorcini.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rootstock.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rootstockTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/rss3.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/rss3Sepolia.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/saakuru.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/saga.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/saigon.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/sanko.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/sapphire.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/sapphireTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/satoshivm.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/satoshivmTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/scroll.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/scrollSepolia.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/sei.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/seiDevnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/seiTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/seismicDevnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/sepolia.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/shape.d.ts\":305,\"web/vendor/types/viem/_types/chains/definitions/shapeSepolia.d.ts\":287,\"web/vendor/types/viem/_types/chains/definitions/shardeum.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/shardeumSphinx.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/shibarium.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/shibariumTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/shiden.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/shimmer.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/shimmerTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/sidra.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/silicon.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/siliconSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/sixProtocol.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/skale/brawl.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/calypso.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/calypsoTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/cryptoBlades.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/cryptoColosseum.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/europa.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/europaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/exorde.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/humanProtocol.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/nebula.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/nebulaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/razor.d.ts\":32,\"web/vendor/types/viem/_types/chains/definitions/skale/titan.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/skale/titanTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/sketchpad.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/snax.d.ts\":307,\"web/vendor/types/viem/_types/chains/definitions/snaxTestnet.d.ts\":307,\"web/vendor/types/viem/_types/chains/definitions/somniaTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/soneium.d.ts\":309,\"web/vendor/types/viem/_types/chains/definitions/soneiumMinato.d.ts\":309,\"web/vendor/types/viem/_types/chains/definitions/songbird.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/songbirdTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/sonic.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/sonicBlazeTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/sonicTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/sophon.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/sophonTestnet.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/sova.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/sovaSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/spicy.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/statusNetworkSepolia.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/step.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/story.d.ts\":45,\"web/vendor/types/viem/_types/chains/definitions/storyAeneid.d.ts\":46,\"web/vendor/types/viem/_types/chains/definitions/storyOdyssey.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/storyTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/stratis.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/superlumio.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/superposition.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/superseed.d.ts\":310,\"web/vendor/types/viem/_types/chains/definitions/superseedSepolia.d.ts\":298,\"web/vendor/types/viem/_types/chains/definitions/swan.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/swanProximaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/swanSaturnTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/swellchain.d.ts\":287,\"web/vendor/types/viem/_types/chains/definitions/swellchainTestnet.d.ts\":287,\"web/vendor/types/viem/_types/chains/definitions/swissdlt.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/syscoin.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/syscoinTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/tac.d.ts\":42,\"web/vendor/types/viem/_types/chains/definitions/tacSPB.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/taiko.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/taikoHekla.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/taikoJolnir.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/taikoKatla.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/taikoTestnetSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/taraxa.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/taraxaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/teaSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/telcoinTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/telos.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/telosTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/tenet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/ternoa.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/thaiChain.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/that.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/theta.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/thetaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/thunderCore.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/thunderTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/tiktrixTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/tomb.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/treasure.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/treasureTopaz.d.ts\":427,\"web/vendor/types/viem/_types/chains/definitions/tron.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/tronNile.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/tronShasta.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ubiq.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ultra.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ultraTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ultron.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/ultronTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/unichain.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/unichainSepolia.d.ts\":302,\"web/vendor/types/viem/_types/chains/definitions/unique.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/uniqueOpal.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/uniqueQuartz.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/unreal.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/vanar.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/vechain.d.ts\":43,\"web/vendor/types/viem/_types/chains/definitions/velas.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/viction.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/victionTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/vision.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/visionTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/wanchain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/wanchainTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/weavevmAlphanet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/wemix.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/wemixTestnet.d.ts\":41,\"web/vendor/types/viem/_types/chains/definitions/westendAssetHub.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/whitechain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/whitechainTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/wmcTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/worldLand.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/worldchain.d.ts\":313,\"web/vendor/types/viem/_types/chains/definitions/worldchainSepolia.d.ts\":313,\"web/vendor/types/viem/_types/chains/definitions/xLayer.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/xLayerTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/xai.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/xaiTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xdc.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/xdcTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/xphereMainnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xphereTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xrOne.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/xrSepolia.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xrplevmDevnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/xrplevmTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/yooldoVerse.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/yooldoVerseTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zenchainTestnet.d.ts\":37,\"web/vendor/types/viem/_types/chains/definitions/zeniq.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zeroNetwork.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zetachain.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/zetachainAthensTestnet.d.ts\":36,\"web/vendor/types/viem/_types/chains/definitions/zhejiang.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zilliqa.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/zilliqaTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/zircuit.d.ts\":282,\"web/vendor/types/viem/_types/chains/definitions/zircuitGarfieldTestnet.d.ts\":282,\"web/vendor/types/viem/_types/chains/definitions/zircuitTestnet.d.ts\":283,\"web/vendor/types/viem/_types/chains/definitions/zkFair.d.ts\":38,\"web/vendor/types/viem/_types/chains/definitions/zkFairTestnet.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/zkLinkNova.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zkLinkNovaSepoliaTestnet.d.ts\":39,\"web/vendor/types/viem/_types/chains/definitions/zksync.d.ts\":437,\"web/vendor/types/viem/_types/chains/definitions/zksyncInMemoryNode.d.ts\":436,\"web/vendor/types/viem/_types/chains/definitions/zksyncLocalCustomHyperchain.d.ts\":431,\"web/vendor/types/viem/_types/chains/definitions/zksyncLocalHyperchain.d.ts\":431,\"web/vendor/types/viem/_types/chains/definitions/zksyncLocalHyperchainL1.d.ts\":40,\"web/vendor/types/viem/_types/chains/definitions/zksyncLocalNode.d.ts\":436,\"web/vendor/types/viem/_types/chains/definitions/zksyncSepoliaTestnet.d.ts\":437,\"web/vendor/types/viem/_types/chains/definitions/zora.d.ts\":303,\"web/vendor/types/viem/_types/chains/definitions/zoraSepolia.d.ts\":304,\"web/vendor/types/viem/_types/chains/definitions/zoraTestnet.d.ts\":293,\"web/vendor/types/viem/_types/chains/index.d.ts\":745,\"web/vendor/types/viem/_types/chains/utils.d.ts\":5,\"web/vendor/types/viem/_types/clients/createClient.d.ts\":120,\"web/vendor/types/viem/_types/clients/createPublicClient.d.ts\":33,\"web/vendor/types/viem/_types/clients/createTestClient.d.ts\":47,\"web/vendor/types/viem/_types/clients/createWalletClient.d.ts\":51,\"web/vendor/types/viem/_types/clients/decorators/public.d.ts\":1457,\"web/vendor/types/viem/_types/clients/decorators/test.d.ts\":640,\"web/vendor/types/viem/_types/clients/decorators/wallet.d.ts\":774,\"web/vendor/types/viem/_types/clients/transports/createTransport.d.ts\":43},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":true}","passed":true},{"durationMs":16011,"exitCode":0,"name":"slither","output":"[high/medium] weak-prng at src/mainnet/ImdSampledUsdSource.sol:172: ImdSampledUsdSource._consult(ImdSampledUsdSource.Observation,uint256) (src/mainnet/ImdSampledUsdSource.sol#172-197) uses a weak PRNG: \"diff < 0 && diff % int256(duration) != 0 (src/mainnet/ImdSampledUsdSource.sol#190)\"\n[high/medium] reentrancy-balance at src/UnlkSwapRouter.sol:105: Reentrancy in UnlkSwapRouter._swap(UnlkSwapRouter.SwapRequest,uint256) (src/UnlkSwapRouter.sol#105-167):\n[high/medium] reentrancy-balance at src/mainnet/WalletExecutor.sol:40: Reentrancy in WalletExecutor.trade(bool,bool,uint128,uint128,uint256) (src/mainnet/WalletExecutor.sol#40-79):\n[high/medium] reentrancy-balance at src/UnlkSwapRouter.sol:105: Reentrancy in UnlkSwapRouter._swap(UnlkSwapRouter.SwapRequest,uint256) (src/UnlkSwapRouter.sol#105-167):\n[high/medium] reentrancy-balance at src/mainnet/ImdFeeVault.sol:83: Reentrancy in ImdFeeVault.unlockCallback(bytes) (src/mainnet/ImdFeeVault.sol#83-94):\n[high/medium] reentrancy-balance at src/mainnet/WalletExecutor.sol:40: Reentrancy in WalletExecutor.trade(bool,bool,uint128,uint128,uint256) (src/mainnet/WalletExecutor.sol#40-79):\n[high/medium] reentrancy-balance at src/candidate/UnlkRouterV2.sol:107: Reentrancy in UnlkRouterV2._swap(UnlkRouterV2.SwapRequest,uint256) (src/candidate/UnlkRouterV2.sol#107-170):\n[high/medium] reentrancy-balance at src/mainnet/WalletExecutor.sol:40: Reentrancy in WalletExecutor.trade(bool,bool,uint128,uint128,uint256) (src/mainnet/WalletExecutor.sol#40-79):\n[high/medium] reentrancy-balance at src/candidate/UnlkRouterV2.sol:107: Reentrancy in UnlkRouterV2._swap(UnlkRouterV2.SwapRequest,uint256) (src/candidate/UnlkRouterV2.sol#107-170):\n[high/medium] reentrancy-balance at src/mainnet/ImdFeeVault.sol:83: Reentrancy in ImdFeeVault.unlockCallback(bytes) (src/mainnet/ImdFeeVault.sol#83-94):\n[medium/medium] divide-before-multiply at src/mainnet/UnlkImdOracle.sol:94: UnlkImdOracle.fdvUsd() (src/mainnet/UnlkImdOracle.sol#94-110) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/UnlkOracle.sol:122: UnlkOracle.twapTick() (src/UnlkOracle.sol#122-147) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/mainnet/ImdUsdSource.sol:94: ImdUsdSource._consult(int56,int56,uint160,uint160,uint32,address) (src/mainnet/ImdUsdSource.sol#94-119) performs a multiplication on the result of a division:\n[medium/high] incorrect-equality at src/mainnet/ImdFeeVault.sol:112: ImdFeeVault._pay(uint256) (src/mainnet/ImdFeeVault.sol#112-121) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/candidate/NftFeeVault.sol:106: NftFeeVault._pay(uint256) (src/candidate/NftFeeVault.sol#106-110) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/UnlkOracle.sol:122: UnlkOracle.twapTick() (src/UnlkOracle.sol#122-147) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/UnlkOracle.sol:90: UnlkOracle.checkpoint() (src/UnlkOracle.sol#90-115) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/UnlkOracle.sol:90: UnlkOracle.checkpoint() (src/UnlkOracle.sol#90-115) uses a dangerous strict equality:\n[medium/medium] reentrancy-no-eth at src/UnlkHook.sol:484: Reentrancy in UnlkHook.afterSwap(address,PoolKey,SwapParams,BalanceDelta,bytes) (src/UnlkHook.sol#484-515):\n[medium/medium] reentrancy-no-eth at src/candidate/UnlkHookV2.sol:412: Reentrancy in UnlkHookV2.afterSwap(address,PoolKey,SwapParams,BalanceDelta,bytes) (src/candidate/UnlkHookV2.sol#412-472):\n[medium/medium] reentrancy-no-eth at src/successor/UnlkHookV3.sol:421: Reentrancy in UnlkHookV3.afterSwap(address,PoolKey,SwapParams,BalanceDelta,bytes) (src/successor/UnlkHookV3.sol#421-454):\n[medium/medium] uninitialized-local at src/mainnet/StateProof.sol:61: StateProof.list(bytes).count (src/mainnet/StateProof.sol#61) is a local variable never initialized\n[medium/medium] uninitialized-local at src/UnlkHook.sol:417: UnlkHook._verifyLaunchRecord(uint64).hookSeen (src/UnlkHook.sol#417) is a local variable never initialized\n[medium/medium] uninitialized-local at src/candidate/UnlkRouterV2.sol:118: UnlkRouterV2._swap(UnlkRouterV2.SwapRequest,uint256).state (src/candidate/UnlkRouterV2.sol#118) is a local variable never initialized\n[medium/medium] uninitialized-local at src/UnlkHook.sol:416: UnlkHook._verifyLaunchRecord(uint64).tokenSeen (src/UnlkHook.sol#416) is a local variable never initialized\n[medium/medium] uninitialized-local at src/mainnet/ImdSetupVerifier.sol:64: ImdSetupVerifier._record(ILaunchRegistryView.Artifact[],address,address).tokenSeen (src/mainnet/ImdSetupVerifier.sol#64) is a local variable never initialized\n[medium/medium] uninitialized-local at src/mainnet/ImdV4UsdSource.sol:144: ImdV4UsdSource._consult(ImdV4UsdSource.Observation,uint256).lo (src/mainnet/ImdV4UsdSource.sol#144) is a local variable never initialized\n[medium/medium] uninitialized-local at src/mainnet/ImdSetupVerifier.sol:65: ImdSetupVerifier._record(ILaunchRegistryView.Artifact[],address,address).hookSeen (src/mainnet/ImdSetupVerifier.sol#65) is a local variable never initialized\n[medium/medium] uninitialized-local at src/mainnet/ImdSampledUsdSource.sol:174: ImdSampledUsdSource._consult(ImdSampledUsdSource.Observation,uint256).lo (src/mainnet/ImdSampledUsdSource.sol#174) is a local variable never initialized\n[medium/medium] uninitialized-local at src/candidate/UnlkHookV2.sol:652: UnlkHookV2._updateMilestone().fdv (src/candidate/UnlkHookV2.sol#652) is a local variable never initialized\n[medium/medium] uninitialized-local at src/candidate/SetupVerifierV2.sol:64: SetupVerifierV2._record(ILaunchRegistryView.Artifact[],address,address).hookSeen (src/candidate/SetupVerifierV2.sol#64) is a local variable never initialized\n[medium/medium] uninitialized-local at src/successor/UnlkHookV3.sol:682: UnlkHookV3._updateMilestone().fdv (src/successor/UnlkHookV3.sol#682) is a local variable never initialized\n[medium/medium] uninitialized-local at src/candidate/SetupVerifierV2.sol:63: SetupVerifierV2._record(ILaunchRegistryView.Artifact[],address,address).tokenSeen (src/candidate/SetupVerifierV2.sol#63) is a local variable never initialized\n[medium/medium] uninitialized-local at src/mainnet/UnlkImdHook.sol:693: UnlkImdHook._updateMilestone().fdv (src/mainnet/UnlkImdHook.sol#693) is a local variable never initialized\n[medium/medium] uninitialized-local at src/UnlkHook.sol:675: UnlkHook._updateMilestone().fdv (src/UnlkHook.sol#675) is a local variable never initialized\n[medium/medium] uninitialized-local at src/mainnet/StateProof.sol:115: StateProof.inclusion(bytes32,bytes32,bytes[]).child (src/mainnet/StateProof.sol#115) is a local variable never initialized\n[medium/medium] uninitialized-local at src/mainnet/StateProof.sol:112: StateProof.inclusion(bytes32,bytes32,bytes[]).offset (src/mainnet/StateProof.sol#112) is a local variable never initialized\n[medium/medium] uninitialized-local at src/UnlkSwapRouter.sol:115: UnlkSwapRouter._swap(UnlkSwapRouter.SwapRequest,uint256).state (src/UnlkSwapRouter.sol#115) is a local variable never initialized\n[medium/medium] unused-return at src/mainnet/UnlkImdOracle.sol:94: UnlkImdOracle.fdvUsd() (src/mainnet/UnlkImdOracle.sol#94-110) ignores return value by (sqrtPrice,None,None,lpFee) = poolManager.getSlot0(poolId) (src/mainnet/UnlkImdOracle.sol#96)\n[medium/medium] unused-return at src/successor/UnlkHookV3.sol:524: UnlkHookV3._recordSeed(ModifyLiquidityParams) (src/successor/UnlkHookV3.sol#524-542) ignores return value by (sqrtPrice,None,None,None) = poolManager.getSlot0(poolId) (src/successor/UnlkHookV3.sol#529)\n[medium/medium] unused-return at src/mainnet/UnlkImdOracle.sol:94: UnlkImdOracle.fdvUsd() (src/mainnet/UnlkImdOracle.sol#94-110) ignores return value by (liquidity,None,None) = poolManager.getPositionInfo(poolId,factory,rangeLowerTick,rangeUpperTick,bytes32(0)) (src/mainnet/UnlkImdOracle.sol#97-98)\n[medium/medium] unused-return at src/UnlkHook.sol:462: UnlkHook.beforeSwap(address,PoolKey,SwapParams,bytes) (src/UnlkHook.sol#462-482) ignores return value by (None,None,protocolFee,lpFee) = poolManager.getSlot0(poolId) (src/UnlkHook.sol#476)\n[medium/medium] unused-return at src/UnlkOracle.sol:90: UnlkOracle.checkpoint() (src/UnlkOracle.sol#90-115) ignores return value by (liquidity,None,None) = poolManager.getPositionInfo(poolId,factory,rangeLowerTick,rangeUpperTick,bytes32(0)) (src/UnlkOracle.sol#93-94)\n[medium/medium] unused-return at src/mainnet/UnlkImdHook.sol:522: UnlkImdHook._recordSeed(ModifyLiquidityParams) (src/mainnet/UnlkImdHook.sol#522-544) ignores return value by (sqrtPrice,None,None,None) = poolManager.getSlot0(poolId) (src/mainnet/UnlkImdHook.sol#527)\n[medium/medium] unused-return at src/successor/UnlkHookV3.sol:375: UnlkHookV3.beforeSwap(address,PoolKey,SwapParams,bytes) (src/successor/UnlkHookV3.sol#375-405) ignores return value by (None,None,protocolFee,lpFee) = poolManager.getSlot0(poolId) (src/successor/UnlkHookV3.sol#399)\n[medium/medium] unused-return at src/mainnet/UnlkImdHook.sol:489: UnlkImdHook._requireCompleteFill(SwapParams,BalanceDelta,uint256) (src/mainnet/UnlkImdHook.sol#489-502) ignores return value by (price,None,None,None) = poolManager.getSlot0(poolId) (src/mainnet/UnlkImdHook.sol#497)\n[medium/medium] unused-return at src/candidate/UnlkHookV2.sol:381: UnlkHookV2.beforeSwap(address,PoolKey,SwapParams,bytes) (src/candidate/UnlkHookV2.sol#381-410) ignores return value by (None,None,protocolFee,lpFee) = poolManager.getSlot0(poolId) (src/candidate/UnlkHookV2.sol#406)\n[medium/medium] unused-return at src/successor/UnlkHookV3.sol:489: UnlkHookV3._requireCompleteFill(SwapParams,BalanceDelta,uint256) (src/successor/UnlkHookV3.sol#489-502) ignores return value by (price,None,None,None) = poolManager.getSlot0(poolId) (src/successor/UnlkHookV3.sol#497)\n[medium/medium] unused-return at src/candidate/SetupVerifierV2.sol:104: SetupVerifierV2._position(ICandidateSetup,ILaunchFactoryView,uint64,UnlkToken) (src/candidate/SetupVerifierV2.sol#104-124) ignores return value by (liquidity,None,None) = manager.getPositionInfo(id,address(factory),lower,upper,bytes32(0)) (src/candidate/SetupVerifierV2.sol#116)\n[medium/medium] unused-return at src/mainnet/ImdV4UsdSource.sol:129: ImdV4UsdSource._currentDepth() (src/mainnet/ImdV4UsdSource.sol#129-140) ignores return value by (sqrt,None,protocolFee,lpFee) = IPoolManager(manager).getSlot0(PoolId.wrap(POOL_ID)) (src/mainnet/ImdV4UsdSource.sol#132-133)\n[medium/medium] unused-return at src/mainnet/ImdSpotUsdSource.sol:66: ImdSpotUsdSource._pool() (src/mainnet/ImdSpotUsdSource.sol#66-78) ignores return value by (sqrtPrice,None,None,lpFee) = IPoolManager(manager).getSlot0(PoolId.wrap(POOL_ID)) (src/mainnet/ImdSpotUsdSource.sol#73)\n[medium/medium] unused-return at src/mainnet/ImdSetupVerifier.sol:105: ImdSetupVerifier._position(IImdSetup,ILaunchFactoryView,uint64,UnlkToken) (src/mainnet/ImdSetupVerifier.sol#105-123) ignores return value by (liquidity,None,None) = manager.getPositionInfo(id,address(factory),lower,upper,bytes32(0)) (src/mainnet/ImdSetupVerifier.sol#117)\n[medium/medium] unused-return at src/candidate/NftFeeVault.sol:68: NftFeeVault.redeem() (src/candidate/NftFeeVault.sol#68-73) ignores return value by poolManager.unlock() (src/candidate/NftFeeVault.sol#71)\n[medium/medium] unused-return at src/mainnet/UnlkImdHook.sol:375: UnlkImdHook.beforeSwap(address,PoolKey,SwapParams,bytes) (src/mainnet/UnlkImdHook.sol#375-405) ignores return value by (None,None,None,lpFee) = poolManager.getSlot0(poolId) (src/mainnet/UnlkImdHook.sol#400)\n[medium/medium] unused-return at src/candidate/UnlkHookV2.sol:494: UnlkHookV2._recordSeed(ModifyLiquidityParams) (src/candidate/UnlkHookV2.sol#494-512) ignores return value by (sqrtPrice,None,None,None) = poolManager.getSlot0(poolId) (src/candidate/UnlkHookV2.sol#499)\n[medium/medium] unused-return at src/mainnet/ImdSampledUsdSource.sol:147: ImdSampledUsdSource._pool() (src/mainnet/ImdSampledUsdSource.sol#147-152) ignores return value by (sqrtPrice,tick,None,lpFee) = IPoolManager(manager).getSlot0(PoolId.wrap(POOL_ID)) (src/mainnet/ImdSampledUsdSource.sol#150)\n[medium/medium] unused-return at src/mainnet/ImdFeeVault.sol:76: ImdFeeVault.redeem() (src/mainnet/ImdFeeVault.sol#76-81) ignores return value by poolManager.unlock() (src/mainnet/ImdFeeVault.sol#79)\n[medium/medium] unused-return at src/UnlkHook.sol:537: UnlkHook._recordSeed(ModifyLiquidityParams) (src/UnlkHook.sol#537-555) ignores return value by (sqrtPrice,None,None,None) = poolManager.getSlot0(poolId) (src/UnlkHook.sol#542)\n[medium/medium] unused-return at src/UnlkHook.sol:371: UnlkHook._verifySeed() (src/UnlkHook.sol#371-382) ignores return value by (liquidity,None,None) = poolManager.getPositionInfo(poolId,launchFactory,seedTickLower,seedTickUpper,bytes32(0)) (src/UnlkHook.sol#372-373)\n[low/high] shadowing-local at src/mainnet/ImdSampledUsdSource.sol:133: ImdSampledUsdSource.sample().spot (src/mainnet/ImdSampledUsdSource.sol#69) shadows:\n[low/medium] calls-loop at src/UnlkSwapRouter.sol:189: UnlkSwapRouter._balance(IERC20) (src/UnlkSwapRouter.sol#189-191) has external calls inside a loop: currency.balanceOf(address(this)) (src/UnlkSwapRouter.sol#190)\n[low/medium] calls-loop at src/candidate/UnlkRouterV2.sol:107: UnlkRouterV2._swap(UnlkRouterV2.SwapRequest,uint256) (src/candidate/UnlkRouterV2.sol#107-170) has external calls inside a loop: state.baseOutput = state.outputToken.balanceOf(address(this)) (src/candidate/UnlkRouterV2.sol#127-128)\n[low/medium] calls-loop at src/UnlkSwapRouter.sol:105: UnlkSwapRouter._swap(UnlkSwapRouter.SwapRequest,uint256) (src/UnlkSwapRouter.sol#105-167) has external calls inside a loop: ! hook.activated() || block.timestamp > request.deadline || request.amountSpecified == 0 || request.amountSpecified == type()(int256).min || request.maxInput == 0 || request.maxInput > uint256(uint128(type()(int128).max)) || request.minOutput == 0 (src/UnlkSwapRouter.sol#110-112)\n[low/medium] calls-loop at src/UnlkSwapRouter.sol:174: UnlkSwapRouter._boundedLimit(UnlkSwapRouter.SwapRequest) (src/UnlkSwapRouter.sol#174-183) has external calls inside a loop: floor_ = TickMath.getSqrtPriceAtTick(hook.seedTickLower()) (src/UnlkSwapRouter.sol#177)\n[low/medium] calls-loop at src/candidate/UnlkRouterV2.sol:107: UnlkRouterV2._swap(UnlkRouterV2.SwapRequest,uint256) (src/candidate/UnlkRouterV2.sol#107-170) has external calls inside a loop: ! hook.activated() || block.timestamp > request.deadline || request.amountSpecified == 0 || request.amountSpecified == type()(int256).min || request.maxInput == 0 || request.amountSpecified > int256(type()(int128).max) || request.maxInput > uint256(uint128(type()(int128).max)) || request.minOutput == 0 (src/candidate/UnlkRouterV2.sol#112-115)\n[low/medium] calls-loop at src/UnlkSwapRouter.sol:105: UnlkSwapRouter._swap(UnlkSwapRouter.SwapRequest,uint256) (src/UnlkSwapRouter.sol#105-167) has external calls inside a loop: state.baseInput = state.inputToken.balanceOf(address(this)) (src/UnlkSwapRouter.sol#121-123)\n[low/medium] calls-loop at src/candidate/UnlkRouterV2.sol:107: UnlkRouterV2._swap(UnlkRouterV2.SwapRequest,uint256) (src/candidate/UnlkRouterV2.sol#107-170) has external calls inside a loop: key = hook.poolKey() (src/candidate/UnlkRouterV2.sol#117)\n[low/medium] calls-loop at src/candidate/UnlkRouterV2.sol:107: UnlkRouterV2._swap(UnlkRouterV2.SwapRequest,uint256) (src/candidate/UnlkRouterV2.sol#107-170) has external calls inside a loop: state.baseInput = state.inputToken.balanceOf(address(this)) (src/candidate/UnlkRouterV2.sol#124-126)\n[low/medium] calls-loop at src/UnlkSwapRouter.sol:105: UnlkSwapRouter._swap(UnlkSwapRouter.SwapRequest,uint256) (src/UnlkSwapRouter.sol#105-167) has external calls inside a loop: key = hook.poolKey() (src/UnlkSwapRouter.sol#114)\n[low/medium] calls-loop at src/UnlkSwapRouter.sol:105: UnlkSwapRouter._swap(UnlkSwapRouter.SwapRequest,uint256) (src/UnlkSwapRouter.sol#105-167) has ext","passed":true},{"durationMs":2610,"exitCode":0,"name":"aderyn","output":"[high] eth-send-unchecked-address at src/UnlkSwapRouter.sol:201: ETH transferred without address checks (2 places)\n[high] reentrancy-state-change at src/MerkleClaimEvidence.sol:190: Reentrancy: State change after external call (32 places)\n[high] reused-contract-name at src/mainnet/UnlkImdHook.sol:29: Contract Name Reused in Different Files (2 places)\n[high] strict-equality-contract-balance at src/candidate/NftFeeVault.sol:85: Dangerous strict equality checks on contract balances\n[high] unprotected-initializer at src/HookDeployer.sol:19: Unprotected initializer (4 places)\n[low] costly-loop at src/MerkleClaimEvidence.sol:121: Costly operations inside loop (4 places)\n[low] internal-function-used-once at src/HookFlags.sol:35: Internal Function Used Only Once (8 places)\n[low] large-numeric-literal at src/UnlkHook.sol:69: Large Numeric Literal (87 places)\n[low] literal-instead-of-constant at src/UnlkHook.sol:469: Literal Instead of Constant (106 places)\n[low] missing-inheritance at src/UnlkOracle.sol:15: Missing Inheritance (6 places)\n[low] require-revert-in-loop at src/MerkleClaimEvidence.sol:75: Loop Contains `require`/`revert` (15 places)\n[low] state-change-without-event at src/UnlkHook.sol:462: State Change Without Event (16 places)\n[low] unchecked-return at src/UnlkHook.sol:343: Unchecked Return (7 places)\n[low] uninitialized-local-variable at src/MerkleClaimEvidence.sol:121: Uninitialized Local Variable (12 places)\n[low] unsafe-erc20-operation at src/mainnet/WalletExecutor.sol:63: Unsafe ERC20 Operation (2 places)\n[low] unused-error at src/mainnet/ImdFeeVault.sol:28: Unused Error\n[low] unused-import at src/libraries/OperationHash.sol:4: Unused Import","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"c5919eabebb47964eb9a41a29d5a9f1463de5cabd454a8c9b87e9b486c40baf1","verifiedTreeHash":"f3808329d3337dd740de92e7045a34dbd6b73e1a","verifierVersion":"0.1.0+c3fba9eb"}]}