@panoptic-eng/sdk 1.0.32 → 1.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/cow/index.d.ts +5 -5
  2. package/dist/cow/index.js +3 -3
  3. package/dist/cow/types.d.ts +2 -2
  4. package/dist/{cow-CLFJQ-OP.js → cow-aX6of9TS.js} +2 -2
  5. package/dist/{cow-CLFJQ-OP.js.map → cow-aX6of9TS.js.map} +1 -1
  6. package/dist/deployments.d.ts +25 -1
  7. package/dist/deployments.d.ts.map +1 -1
  8. package/dist/deployments.js +19 -1
  9. package/dist/deployments.js.map +1 -1
  10. package/dist/{index-DToj2-Vc.d.ts → index-CURXeKNy.d.ts} +412 -12
  11. package/dist/index-CURXeKNy.d.ts.map +1 -0
  12. package/dist/{index-DQS8Luef.d.ts → index-Cp-nCeV2.d.ts} +4 -4
  13. package/dist/{index-DQS8Luef.d.ts.map → index-Cp-nCeV2.d.ts.map} +1 -1
  14. package/dist/{index-CDCAju5o.d.ts → index-Zvu-rJpV.d.ts} +2 -2
  15. package/dist/{index-CDCAju5o.d.ts.map → index-Zvu-rJpV.d.ts.map} +1 -1
  16. package/dist/index.d.ts +384 -548
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1619 -1718
  19. package/dist/index.js.map +1 -1
  20. package/dist/{irm-BNtE1Dmg.d.ts → irm-CmgC1Mqi.d.ts} +3 -3
  21. package/dist/{irm-BNtE1Dmg.d.ts.map → irm-CmgC1Mqi.d.ts.map} +1 -1
  22. package/dist/{irm-iAI9hTYQ.js → irm-DnM96-X4.js} +342 -3
  23. package/dist/irm-DnM96-X4.js.map +1 -0
  24. package/dist/panoptic/v2/greeks/index.d.ts +2 -2
  25. package/dist/panoptic/v2/index.d.ts +8 -8
  26. package/dist/panoptic/v2/index.js +6 -5
  27. package/dist/panoptic/v2/react-public.d.ts +13 -13
  28. package/dist/panoptic/v2/react-public.d.ts.map +1 -1
  29. package/dist/panoptic/v2/react-public.js +10 -9
  30. package/dist/panoptic/v2/react-public.js.map +1 -1
  31. package/dist/{position-Bmd_3nzI.d.ts → position-BqIgubs5.d.ts} +1 -1
  32. package/dist/{position-Bmd_3nzI.d.ts.map → position-BqIgubs5.d.ts.map} +1 -1
  33. package/dist/{position-ClU7GrTa.js → position-C8rkkKhi.js} +10 -4
  34. package/dist/{position-ClU7GrTa.js.map → position-C8rkkKhi.js.map} +1 -1
  35. package/dist/{oracle-DaNTHk7B.d.ts → quote-BxQkPBRg.d.ts} +57 -4
  36. package/dist/quote-BxQkPBRg.d.ts.map +1 -0
  37. package/dist/{router-DKFR_vnu.js → router-CS86ptMu.js} +6 -87
  38. package/dist/router-CS86ptMu.js.map +1 -0
  39. package/dist/router-DcoU2KmV.js +313 -0
  40. package/dist/router-DcoU2KmV.js.map +1 -0
  41. package/dist/{simulation-CUqERC5Y.d.ts → simulation-zM6-YUaw.d.ts} +2 -2
  42. package/dist/{simulation-CUqERC5Y.d.ts.map → simulation-zM6-YUaw.d.ts.map} +1 -1
  43. package/dist/{tx-BXXqhBHn.d.ts → tx-CbDQ58Io.d.ts} +1 -1
  44. package/dist/{tx-BXXqhBHn.d.ts.map → tx-CbDQ58Io.d.ts.map} +1 -1
  45. package/dist/{types-DgWfno7q.d.ts → types-BHdnurYr.d.ts} +2 -2
  46. package/dist/{types-DgWfno7q.d.ts.map → types-BHdnurYr.d.ts.map} +1 -1
  47. package/dist/{types-Cy6v8iPf.d.ts → types-D_jcYss-.d.ts} +5 -4
  48. package/dist/types-D_jcYss-.d.ts.map +1 -0
  49. package/dist/uniswap/index.d.ts +53 -100
  50. package/dist/uniswap/index.d.ts.map +1 -1
  51. package/dist/uniswap/index.js +4 -226
  52. package/dist/uniswap/index.js.map +1 -1
  53. package/dist/{v2-DHJxPCAp.js → v2-D0dEatKb.js} +841 -65
  54. package/dist/v2-D0dEatKb.js.map +1 -0
  55. package/dist/{writes-DQLGdkJ5.js → writes-AupZCK4M.js} +2 -2
  56. package/dist/{writes-DQLGdkJ5.js.map → writes-AupZCK4M.js.map} +1 -1
  57. package/dist/zodiac/index.d.ts +74 -1
  58. package/dist/zodiac/index.d.ts.map +1 -1
  59. package/dist/zodiac/index.js +213 -3
  60. package/dist/zodiac/index.js.map +1 -1
  61. package/package.json +1 -1
  62. package/dist/index-DToj2-Vc.d.ts.map +0 -1
  63. package/dist/irm-iAI9hTYQ.js.map +0 -1
  64. package/dist/oracle-DaNTHk7B.d.ts.map +0 -1
  65. package/dist/router-DKFR_vnu.js.map +0 -1
  66. package/dist/types-Cy6v8iPf.d.ts.map +0 -1
  67. package/dist/v2-DHJxPCAp.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { BASE_CHAIN_ID, BASE_DEPLOYMENT, BASE_ETH_USDC_5BPS_MARKET, BASE_HYPOVAULT_ADDRESSES, BASE_HYPOVAULT_CORE_ADDRESSES, BASE_HYPOVAULT_MANAGER_ADDRESSES, BASE_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, BASE_PANOPTIC_POOL_ADDRESSES, BASE_PANOPTIC_V2_ADDRESSES, BORROW_INDEX_BITS, BPS_SCALE, CHAIN_DEPLOYMENTS, MAINNET_CHAIN_ID, MAINNET_DEPLOYMENT, MAINNET_PANOPTIC_V2_ADDRESSES, MARKET_EPOCH_BITS, MARKET_EPOCH_SHIFT, Multicall3Abi, RATE_AT_TARGET_BITS, SECONDS_PER_YEAR, SEPOLIA_CHAIN_ID, SEPOLIA_DEPLOYMENT, SEPOLIA_ETH_USDC_5BPS_MARKET, SEPOLIA_HYPOVAULT_ADDRESSES, SEPOLIA_HYPOVAULT_CORE_ADDRESSES, SEPOLIA_HYPOVAULT_MANAGER_ADDRESSES, SEPOLIA_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, SEPOLIA_PANOPTIC_POOL_ADDRESSES, SEPOLIA_PANOPTIC_V2_ADDRESSES, UNREALIZED_INTEREST_BITS, VAULT_DISPLAY_NAMES_PER_CHAIN, VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN, WAD$2 as WAD, annualizePerSecondRateWad, deriveSupplyRatePerSecWad, formatPerSecondRateWadAsAprPct, formatPerSecondRateWadAsApyPct, getAccountCollateral$1 as getAccountCollateral, getChainDeployment, getCollateralData$1 as getCollateralData, getEthUsdcMarket, getIrmCurrent, getIrmCurve, isSupportedChain, packMarketState, ratePerSecWadToAprPct, requireChainDeployment, resolveVaultDisplayName, utilizationBpsToWad, utilizationPctToWad } from "./irm-iAI9hTYQ.js";
2
- import { collateralTrackerV2Abi, getPoolMetadata, panopticFactoryV3Abi, panopticFactoryV4Abi, panopticPoolV2Abi, panopticQueryAbi$1 as panopticQueryAbi, riskEngineAbi, semiFungiblePositionManagerV3Abi, semiFungiblePositionManagerV4Abi } from "./position-ClU7GrTa.js";
1
+ import { BASE_CHAIN_ID, BASE_DEPLOYMENT, BASE_ETH_USDC_5BPS_MARKET, BASE_HYPOVAULT_ADDRESSES, BASE_HYPOVAULT_CORE_ADDRESSES, BASE_HYPOVAULT_MANAGER_ADDRESSES, BASE_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, BASE_PANOPTIC_POOL_ADDRESSES, BASE_PANOPTIC_V2_ADDRESSES, BORROW_INDEX_BITS, BPS_SCALE, CHAIN_DEPLOYMENTS, MAINNET_CHAIN_ID, MAINNET_DEPLOYMENT, MAINNET_ETH_USDC_5BPS_V3_PANOPTIC_POOL_ADDRESSES, MAINNET_PANOPTIC_V2_ADDRESSES, MAINNET_RISK_ENGINES, MARKET_EPOCH_BITS, MARKET_EPOCH_SHIFT, Multicall3Abi, RATE_AT_TARGET_BITS, SECONDS_PER_YEAR, SEPOLIA_CHAIN_ID, SEPOLIA_DEPLOYMENT, SEPOLIA_ETH_USDC_5BPS_MARKET, SEPOLIA_HYPOVAULT_ADDRESSES, SEPOLIA_HYPOVAULT_CORE_ADDRESSES, SEPOLIA_HYPOVAULT_MANAGER_ADDRESSES, SEPOLIA_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, SEPOLIA_PANOPTIC_POOL_ADDRESSES, SEPOLIA_PANOPTIC_V2_ADDRESSES, StateViewAbi, UNREALIZED_INTEREST_BITS, VAULT_DISPLAY_NAMES_PER_CHAIN, VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN, WAD$2 as WAD, annualizePerSecondRateWad, deriveSupplyRatePerSecWad, formatPerSecondRateWadAsAprPct, formatPerSecondRateWadAsApyPct, getAccountCollateral$1 as getAccountCollateral, getChainDeployment, getCollateralData$1 as getCollateralData, getEthUsdcMarket, getIrmCurrent, getIrmCurve, isSupportedChain, packMarketState, ratePerSecWadToAprPct, requireChainDeployment, resolveVaultDisplayName, utilizationBpsToWad, utilizationPctToWad } from "./irm-DnM96-X4.js";
2
+ import { collateralTrackerV2Abi, getPoolMetadata, panopticFactoryV3Abi, panopticFactoryV4Abi, panopticPoolV2Abi, panopticQueryAbi$1 as panopticQueryAbi, riskEngineAbi, semiFungiblePositionManagerV3Abi, semiFungiblePositionManagerV4Abi } from "./position-C8rkkKhi.js";
3
3
  import { tickToSqrtPriceX96 } from "./greeks-GysWXct-.js";
4
- import { BaseError, ContractFunctionExecutionError, ContractFunctionRevertedError, encodeAbiParameters, encodeFunctionData, encodePacked, keccak256, maxUint256, parseAbi, zeroAddress } from "viem";
5
- import { readContract, simulateContract, writeContract } from "viem/actions";
4
+ import { BaseError, ContractFunctionExecutionError, ContractFunctionRevertedError, concat, encodeAbiParameters, encodeFunctionData, encodePacked, getAddress, keccak256, maxUint256, parseAbi, toBytes, zeroAddress } from "viem";
5
+ import { getBlockNumber, readContract, simulateContract, writeContract } from "viem/actions";
6
6
  import Decimal from "decimal.js";
7
7
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
8
8
  import { useAccount, useReadContract, useSimulateContract, useWaitForTransactionReceipt, useWriteContract } from "wagmi";
@@ -12356,32 +12356,126 @@ const RescueDistributorAbi = [
12356
12356
  const Simple7702AccountAbi = parseAbi(["function executeBatch((address target,uint256 value,bytes data)[] calls)", "error ExecuteError(uint256 callIndex, bytes revertData)"]);
12357
12357
 
12358
12358
  //#endregion
12359
- //#region src/abis/StateView.ts
12360
- const StateViewAbi = [
12359
+ //#region src/abis/UniswapHelper.ts
12360
+ const UniswapHelperAbi = [
12361
+ {
12362
+ inputs: [
12363
+ {
12364
+ internalType: "contract IUniswapV3Factory",
12365
+ name: "_factory",
12366
+ type: "address"
12367
+ },
12368
+ {
12369
+ internalType: "contract INonfungiblePositionManager",
12370
+ name: "_NFPM",
12371
+ type: "address"
12372
+ },
12373
+ {
12374
+ internalType: "contract SemiFungiblePositionManager",
12375
+ name: "_SFPM",
12376
+ type: "address"
12377
+ }
12378
+ ],
12379
+ stateMutability: "payable",
12380
+ type: "constructor"
12381
+ },
12361
12382
  {
12362
12383
  inputs: [{
12363
- internalType: "contract IPoolManager",
12364
- name: "_poolManager",
12384
+ internalType: "address",
12385
+ name: "account",
12365
12386
  type: "address"
12366
12387
  }],
12367
- stateMutability: "nonpayable",
12368
- type: "constructor"
12388
+ name: "getNfpmPositionsForAccount",
12389
+ outputs: [{
12390
+ components: [
12391
+ {
12392
+ internalType: "uint96",
12393
+ name: "nonce",
12394
+ type: "uint96"
12395
+ },
12396
+ {
12397
+ internalType: "address",
12398
+ name: "operator",
12399
+ type: "address"
12400
+ },
12401
+ {
12402
+ internalType: "address",
12403
+ name: "token0",
12404
+ type: "address"
12405
+ },
12406
+ {
12407
+ internalType: "address",
12408
+ name: "token1",
12409
+ type: "address"
12410
+ },
12411
+ {
12412
+ internalType: "uint24",
12413
+ name: "fee",
12414
+ type: "uint24"
12415
+ },
12416
+ {
12417
+ internalType: "int24",
12418
+ name: "tickLower",
12419
+ type: "int24"
12420
+ },
12421
+ {
12422
+ internalType: "int24",
12423
+ name: "tickUpper",
12424
+ type: "int24"
12425
+ },
12426
+ {
12427
+ internalType: "uint128",
12428
+ name: "liquidity",
12429
+ type: "uint128"
12430
+ },
12431
+ {
12432
+ internalType: "uint256",
12433
+ name: "feeGrowthInside0LastX128",
12434
+ type: "uint256"
12435
+ },
12436
+ {
12437
+ internalType: "uint256",
12438
+ name: "feeGrowthInside1LastX128",
12439
+ type: "uint256"
12440
+ },
12441
+ {
12442
+ internalType: "uint128",
12443
+ name: "tokensOwed0",
12444
+ type: "uint128"
12445
+ },
12446
+ {
12447
+ internalType: "uint128",
12448
+ name: "tokensOwed1",
12449
+ type: "uint128"
12450
+ },
12451
+ {
12452
+ internalType: "string",
12453
+ name: "tokenURI",
12454
+ type: "string"
12455
+ }
12456
+ ],
12457
+ internalType: "struct UniswapHelper.PositionWithTokenURI[]",
12458
+ name: "positionsWithTokenURI",
12459
+ type: "tuple[]"
12460
+ }],
12461
+ stateMutability: "view",
12462
+ type: "function"
12369
12463
  },
12370
12464
  {
12371
12465
  inputs: [{
12372
- internalType: "PoolId",
12373
- name: "poolId",
12374
- type: "bytes32"
12466
+ internalType: "contract IUniswapV3Pool",
12467
+ name: "univ3pool",
12468
+ type: "address"
12375
12469
  }],
12376
- name: "getFeeGrowthGlobals",
12470
+ name: "getTickNets",
12377
12471
  outputs: [{
12378
- internalType: "uint256",
12379
- name: "feeGrowthGlobal0",
12380
- type: "uint256"
12472
+ internalType: "int256[]",
12473
+ name: "",
12474
+ type: "int256[]"
12381
12475
  }, {
12382
- internalType: "uint256",
12383
- name: "feeGrowthGlobal1",
12384
- type: "uint256"
12476
+ internalType: "int256[]",
12477
+ name: "",
12478
+ type: "int256[]"
12385
12479
  }],
12386
12480
  stateMutability: "view",
12387
12481
  type: "function"
@@ -12389,415 +12483,430 @@ const StateViewAbi = [
12389
12483
  {
12390
12484
  inputs: [
12391
12485
  {
12392
- internalType: "PoolId",
12393
- name: "poolId",
12394
- type: "bytes32"
12486
+ internalType: "contract IUniswapV3Pool",
12487
+ name: "univ3pool",
12488
+ type: "address"
12395
12489
  },
12396
12490
  {
12397
12491
  internalType: "int24",
12398
- name: "tickLower",
12492
+ name: "startTick",
12399
12493
  type: "int24"
12400
12494
  },
12401
12495
  {
12402
- internalType: "int24",
12403
- name: "tickUpper",
12404
- type: "int24"
12496
+ internalType: "uint256",
12497
+ name: "nTicks",
12498
+ type: "uint256"
12405
12499
  }
12406
12500
  ],
12407
- name: "getFeeGrowthInside",
12501
+ name: "getTickNets",
12408
12502
  outputs: [{
12409
- internalType: "uint256",
12410
- name: "feeGrowthInside0X128",
12411
- type: "uint256"
12503
+ internalType: "int256[]",
12504
+ name: "",
12505
+ type: "int256[]"
12412
12506
  }, {
12413
- internalType: "uint256",
12414
- name: "feeGrowthInside1X128",
12415
- type: "uint256"
12507
+ internalType: "int256[]",
12508
+ name: "",
12509
+ type: "int256[]"
12416
12510
  }],
12417
12511
  stateMutability: "view",
12418
12512
  type: "function"
12419
12513
  },
12420
12514
  {
12421
12515
  inputs: [{
12422
- internalType: "PoolId",
12423
- name: "poolId",
12424
- type: "bytes32"
12516
+ internalType: "uint256",
12517
+ name: "tokenId",
12518
+ type: "uint256"
12425
12519
  }],
12426
- name: "getLiquidity",
12520
+ name: "plotPnL",
12427
12521
  outputs: [{
12428
- internalType: "uint128",
12429
- name: "liquidity",
12430
- type: "uint128"
12522
+ internalType: "string",
12523
+ name: "",
12524
+ type: "string"
12431
12525
  }],
12432
12526
  stateMutability: "view",
12433
12527
  type: "function"
12434
12528
  },
12435
12529
  {
12436
12530
  inputs: [{
12437
- internalType: "PoolId",
12438
- name: "poolId",
12439
- type: "bytes32"
12440
- }, {
12441
- internalType: "bytes32",
12442
- name: "positionId",
12443
- type: "bytes32"
12531
+ internalType: "address",
12532
+ name: "pool",
12533
+ type: "address"
12534
+ }],
12535
+ name: "plotPoolLiquidity",
12536
+ outputs: [{
12537
+ internalType: "string",
12538
+ name: "",
12539
+ type: "string"
12444
12540
  }],
12445
- name: "getPositionInfo",
12446
- outputs: [
12447
- {
12448
- internalType: "uint128",
12449
- name: "liquidity",
12450
- type: "uint128"
12451
- },
12452
- {
12453
- internalType: "uint256",
12454
- name: "feeGrowthInside0LastX128",
12455
- type: "uint256"
12456
- },
12457
- {
12458
- internalType: "uint256",
12459
- name: "feeGrowthInside1LastX128",
12460
- type: "uint256"
12461
- }
12462
- ],
12463
12541
  stateMutability: "view",
12464
12542
  type: "function"
12465
- },
12543
+ }
12544
+ ];
12545
+
12546
+ //#endregion
12547
+ //#region src/abis/UniswapHelperV1_1.ts
12548
+ const UniswapHelperV1_1Abi = [
12466
12549
  {
12467
12550
  inputs: [
12468
12551
  {
12469
- internalType: "PoolId",
12470
- name: "poolId",
12471
- type: "bytes32"
12472
- },
12473
- {
12474
- internalType: "address",
12475
- name: "owner",
12552
+ internalType: "contract IPoolManager",
12553
+ name: "_V4_POOLM",
12476
12554
  type: "address"
12477
12555
  },
12478
12556
  {
12479
- internalType: "int24",
12480
- name: "tickLower",
12481
- type: "int24"
12482
- },
12483
- {
12484
- internalType: "int24",
12485
- name: "tickUpper",
12486
- type: "int24"
12487
- },
12488
- {
12489
- internalType: "bytes32",
12490
- name: "salt",
12491
- type: "bytes32"
12492
- }
12493
- ],
12494
- name: "getPositionInfo",
12495
- outputs: [
12496
- {
12497
- internalType: "uint128",
12498
- name: "liquidity",
12499
- type: "uint128"
12500
- },
12501
- {
12502
- internalType: "uint256",
12503
- name: "feeGrowthInside0LastX128",
12504
- type: "uint256"
12557
+ internalType: "contract IPositionManager",
12558
+ name: "_V4_POSM",
12559
+ type: "address"
12505
12560
  },
12506
12561
  {
12507
- internalType: "uint256",
12508
- name: "feeGrowthInside1LastX128",
12509
- type: "uint256"
12562
+ internalType: "contract SemiFungiblePositionManager",
12563
+ name: "_SFPM",
12564
+ type: "address"
12510
12565
  }
12511
12566
  ],
12512
- stateMutability: "view",
12513
- type: "function"
12514
- },
12515
- {
12516
- inputs: [{
12517
- internalType: "PoolId",
12518
- name: "poolId",
12519
- type: "bytes32"
12520
- }, {
12521
- internalType: "bytes32",
12522
- name: "positionId",
12523
- type: "bytes32"
12524
- }],
12525
- name: "getPositionLiquidity",
12526
- outputs: [{
12527
- internalType: "uint128",
12528
- name: "liquidity",
12529
- type: "uint128"
12530
- }],
12531
- stateMutability: "view",
12532
- type: "function"
12567
+ stateMutability: "payable",
12568
+ type: "constructor"
12533
12569
  },
12534
12570
  {
12535
12571
  inputs: [{
12536
- internalType: "PoolId",
12537
- name: "poolId",
12538
- type: "bytes32"
12572
+ components: [
12573
+ {
12574
+ internalType: "Currency",
12575
+ name: "currency0",
12576
+ type: "address"
12577
+ },
12578
+ {
12579
+ internalType: "Currency",
12580
+ name: "currency1",
12581
+ type: "address"
12582
+ },
12583
+ {
12584
+ internalType: "uint24",
12585
+ name: "fee",
12586
+ type: "uint24"
12587
+ },
12588
+ {
12589
+ internalType: "int24",
12590
+ name: "tickSpacing",
12591
+ type: "int24"
12592
+ },
12593
+ {
12594
+ internalType: "contract IHooks",
12595
+ name: "hooks",
12596
+ type: "address"
12597
+ }
12598
+ ],
12599
+ internalType: "struct PoolKey",
12600
+ name: "poolKey",
12601
+ type: "tuple"
12539
12602
  }],
12540
- name: "getSlot0",
12541
- outputs: [
12603
+ name: "getTickNets",
12604
+ outputs: [{
12605
+ internalType: "int256[]",
12606
+ name: "",
12607
+ type: "int256[]"
12608
+ }, {
12609
+ internalType: "int256[]",
12610
+ name: "",
12611
+ type: "int256[]"
12612
+ }],
12613
+ stateMutability: "view",
12614
+ type: "function"
12615
+ },
12616
+ {
12617
+ inputs: [
12542
12618
  {
12543
- internalType: "uint160",
12544
- name: "sqrtPriceX96",
12545
- type: "uint160"
12619
+ components: [
12620
+ {
12621
+ internalType: "Currency",
12622
+ name: "currency0",
12623
+ type: "address"
12624
+ },
12625
+ {
12626
+ internalType: "Currency",
12627
+ name: "currency1",
12628
+ type: "address"
12629
+ },
12630
+ {
12631
+ internalType: "uint24",
12632
+ name: "fee",
12633
+ type: "uint24"
12634
+ },
12635
+ {
12636
+ internalType: "int24",
12637
+ name: "tickSpacing",
12638
+ type: "int24"
12639
+ },
12640
+ {
12641
+ internalType: "contract IHooks",
12642
+ name: "hooks",
12643
+ type: "address"
12644
+ }
12645
+ ],
12646
+ internalType: "struct PoolKey",
12647
+ name: "poolKey",
12648
+ type: "tuple"
12546
12649
  },
12547
12650
  {
12548
12651
  internalType: "int24",
12549
- name: "tick",
12652
+ name: "startTick",
12550
12653
  type: "int24"
12551
12654
  },
12552
12655
  {
12553
- internalType: "uint24",
12554
- name: "protocolFee",
12555
- type: "uint24"
12556
- },
12557
- {
12558
- internalType: "uint24",
12559
- name: "lpFee",
12560
- type: "uint24"
12656
+ internalType: "uint256",
12657
+ name: "nTicks",
12658
+ type: "uint256"
12561
12659
  }
12562
12660
  ],
12661
+ name: "getTickNets",
12662
+ outputs: [{
12663
+ internalType: "int256[]",
12664
+ name: "",
12665
+ type: "int256[]"
12666
+ }, {
12667
+ internalType: "int256[]",
12668
+ name: "",
12669
+ type: "int256[]"
12670
+ }],
12563
12671
  stateMutability: "view",
12564
12672
  type: "function"
12565
12673
  },
12566
12674
  {
12567
12675
  inputs: [{
12568
- internalType: "PoolId",
12569
- name: "poolId",
12570
- type: "bytes32"
12571
- }, {
12572
- internalType: "int16",
12573
- name: "tick",
12574
- type: "int16"
12575
- }],
12576
- name: "getTickBitmap",
12577
- outputs: [{
12578
12676
  internalType: "uint256",
12579
- name: "tickBitmap",
12677
+ name: "tokenId",
12580
12678
  type: "uint256"
12581
12679
  }],
12680
+ name: "plotPnL",
12681
+ outputs: [{
12682
+ internalType: "string",
12683
+ name: "",
12684
+ type: "string"
12685
+ }],
12582
12686
  stateMutability: "view",
12583
12687
  type: "function"
12584
12688
  },
12585
12689
  {
12586
12690
  inputs: [{
12587
- internalType: "PoolId",
12588
- name: "poolId",
12589
- type: "bytes32"
12590
- }, {
12591
- internalType: "int24",
12592
- name: "tick",
12593
- type: "int24"
12691
+ components: [
12692
+ {
12693
+ internalType: "Currency",
12694
+ name: "currency0",
12695
+ type: "address"
12696
+ },
12697
+ {
12698
+ internalType: "Currency",
12699
+ name: "currency1",
12700
+ type: "address"
12701
+ },
12702
+ {
12703
+ internalType: "uint24",
12704
+ name: "fee",
12705
+ type: "uint24"
12706
+ },
12707
+ {
12708
+ internalType: "int24",
12709
+ name: "tickSpacing",
12710
+ type: "int24"
12711
+ },
12712
+ {
12713
+ internalType: "contract IHooks",
12714
+ name: "hooks",
12715
+ type: "address"
12716
+ }
12717
+ ],
12718
+ internalType: "struct PoolKey",
12719
+ name: "poolKey",
12720
+ type: "tuple"
12594
12721
  }],
12595
- name: "getTickFeeGrowthOutside",
12722
+ name: "plotPoolLiquidity",
12596
12723
  outputs: [{
12597
- internalType: "uint256",
12598
- name: "feeGrowthOutside0X128",
12599
- type: "uint256"
12600
- }, {
12601
- internalType: "uint256",
12602
- name: "feeGrowthOutside1X128",
12603
- type: "uint256"
12724
+ internalType: "string",
12725
+ name: "",
12726
+ type: "string"
12604
12727
  }],
12605
12728
  stateMutability: "view",
12606
12729
  type: "function"
12607
- },
12730
+ }
12731
+ ];
12732
+
12733
+ //#endregion
12734
+ //#region src/abis/UniswapMigrator.ts
12735
+ const UniswapMigratorAbi = [
12608
12736
  {
12737
+ type: "constructor",
12609
12738
  inputs: [{
12610
- internalType: "PoolId",
12611
- name: "poolId",
12612
- type: "bytes32"
12613
- }, {
12614
- internalType: "int24",
12615
- name: "tick",
12616
- type: "int24"
12739
+ name: "_NFPM",
12740
+ type: "address",
12741
+ internalType: "contract INonfungiblePositionManager"
12617
12742
  }],
12618
- name: "getTickInfo",
12619
- outputs: [
12743
+ stateMutability: "nonpayable"
12744
+ },
12745
+ {
12746
+ type: "function",
12747
+ name: "migrate",
12748
+ inputs: [
12620
12749
  {
12621
- internalType: "uint128",
12622
- name: "liquidityGross",
12623
- type: "uint128"
12750
+ name: "tokenIds",
12751
+ type: "uint256[]",
12752
+ internalType: "uint256[]"
12624
12753
  },
12625
12754
  {
12626
- internalType: "int128",
12627
- name: "liquidityNet",
12628
- type: "int128"
12755
+ name: "amountMins",
12756
+ type: "uint256[2][]",
12757
+ internalType: "uint256[2][]"
12629
12758
  },
12630
12759
  {
12631
- internalType: "uint256",
12632
- name: "feeGrowthOutside0X128",
12633
- type: "uint256"
12760
+ name: "ct0",
12761
+ type: "address",
12762
+ internalType: "contract CollateralTracker"
12634
12763
  },
12635
12764
  {
12636
- internalType: "uint256",
12637
- name: "feeGrowthOutside1X128",
12638
- type: "uint256"
12765
+ name: "ct1",
12766
+ type: "address",
12767
+ internalType: "contract CollateralTracker"
12639
12768
  }
12640
12769
  ],
12641
- stateMutability: "view",
12642
- type: "function"
12770
+ outputs: [],
12771
+ stateMutability: "nonpayable"
12772
+ },
12773
+ {
12774
+ type: "error",
12775
+ name: "UnauthorizedMigration",
12776
+ inputs: []
12777
+ }
12778
+ ];
12779
+
12780
+ //#endregion
12781
+ //#region src/abis/UniswapV3Factory.ts
12782
+ const UniswapV3FactoryAbi = [
12783
+ {
12784
+ inputs: [],
12785
+ stateMutability: "payable",
12786
+ type: "constructor"
12643
12787
  },
12644
12788
  {
12789
+ anonymous: false,
12645
12790
  inputs: [{
12646
- internalType: "PoolId",
12647
- name: "poolId",
12648
- type: "bytes32"
12791
+ indexed: true,
12792
+ internalType: "uint24",
12793
+ name: "fee",
12794
+ type: "uint24"
12649
12795
  }, {
12796
+ indexed: true,
12650
12797
  internalType: "int24",
12651
- name: "tick",
12798
+ name: "tickSpacing",
12652
12799
  type: "int24"
12653
12800
  }],
12654
- name: "getTickLiquidity",
12655
- outputs: [{
12656
- internalType: "uint128",
12657
- name: "liquidityGross",
12658
- type: "uint128"
12659
- }, {
12660
- internalType: "int128",
12661
- name: "liquidityNet",
12662
- type: "int128"
12663
- }],
12664
- stateMutability: "view",
12665
- type: "function"
12801
+ name: "FeeAmountEnabled",
12802
+ type: "event"
12666
12803
  },
12667
12804
  {
12668
- inputs: [],
12669
- name: "poolManager",
12670
- outputs: [{
12671
- internalType: "contract IPoolManager",
12672
- name: "",
12805
+ anonymous: false,
12806
+ inputs: [{
12807
+ indexed: true,
12808
+ internalType: "address",
12809
+ name: "oldOwner",
12810
+ type: "address"
12811
+ }, {
12812
+ indexed: true,
12813
+ internalType: "address",
12814
+ name: "newOwner",
12673
12815
  type: "address"
12674
12816
  }],
12675
- stateMutability: "view",
12676
- type: "function"
12677
- }
12678
- ];
12679
-
12680
- //#endregion
12681
- //#region src/abis/UniswapHelper.ts
12682
- const UniswapHelperAbi = [
12817
+ name: "OwnerChanged",
12818
+ type: "event"
12819
+ },
12683
12820
  {
12821
+ anonymous: false,
12684
12822
  inputs: [
12685
12823
  {
12686
- internalType: "contract IUniswapV3Factory",
12687
- name: "_factory",
12824
+ indexed: true,
12825
+ internalType: "address",
12826
+ name: "token0",
12688
12827
  type: "address"
12689
12828
  },
12690
12829
  {
12691
- internalType: "contract INonfungiblePositionManager",
12692
- name: "_NFPM",
12830
+ indexed: true,
12831
+ internalType: "address",
12832
+ name: "token1",
12693
12833
  type: "address"
12694
12834
  },
12695
12835
  {
12696
- internalType: "contract SemiFungiblePositionManager",
12697
- name: "_SFPM",
12836
+ indexed: true,
12837
+ internalType: "uint24",
12838
+ name: "fee",
12839
+ type: "uint24"
12840
+ },
12841
+ {
12842
+ indexed: false,
12843
+ internalType: "int24",
12844
+ name: "tickSpacing",
12845
+ type: "int24"
12846
+ },
12847
+ {
12848
+ indexed: false,
12849
+ internalType: "address",
12850
+ name: "pool",
12698
12851
  type: "address"
12699
12852
  }
12700
12853
  ],
12701
- stateMutability: "payable",
12702
- type: "constructor"
12854
+ name: "PoolCreated",
12855
+ type: "event"
12703
12856
  },
12704
12857
  {
12705
- inputs: [{
12858
+ inputs: [
12859
+ {
12860
+ internalType: "address",
12861
+ name: "tokenA",
12862
+ type: "address"
12863
+ },
12864
+ {
12865
+ internalType: "address",
12866
+ name: "tokenB",
12867
+ type: "address"
12868
+ },
12869
+ {
12870
+ internalType: "uint24",
12871
+ name: "fee",
12872
+ type: "uint24"
12873
+ }
12874
+ ],
12875
+ name: "createPool",
12876
+ outputs: [{
12706
12877
  internalType: "address",
12707
- name: "account",
12878
+ name: "pool",
12708
12879
  type: "address"
12709
12880
  }],
12710
- name: "getNfpmPositionsForAccount",
12711
- outputs: [{
12712
- components: [
12713
- {
12714
- internalType: "uint96",
12715
- name: "nonce",
12716
- type: "uint96"
12717
- },
12718
- {
12719
- internalType: "address",
12720
- name: "operator",
12721
- type: "address"
12722
- },
12723
- {
12724
- internalType: "address",
12725
- name: "token0",
12726
- type: "address"
12727
- },
12728
- {
12729
- internalType: "address",
12730
- name: "token1",
12731
- type: "address"
12732
- },
12733
- {
12734
- internalType: "uint24",
12735
- name: "fee",
12736
- type: "uint24"
12737
- },
12738
- {
12739
- internalType: "int24",
12740
- name: "tickLower",
12741
- type: "int24"
12742
- },
12743
- {
12744
- internalType: "int24",
12745
- name: "tickUpper",
12746
- type: "int24"
12747
- },
12748
- {
12749
- internalType: "uint128",
12750
- name: "liquidity",
12751
- type: "uint128"
12752
- },
12753
- {
12754
- internalType: "uint256",
12755
- name: "feeGrowthInside0LastX128",
12756
- type: "uint256"
12757
- },
12758
- {
12759
- internalType: "uint256",
12760
- name: "feeGrowthInside1LastX128",
12761
- type: "uint256"
12762
- },
12763
- {
12764
- internalType: "uint128",
12765
- name: "tokensOwed0",
12766
- type: "uint128"
12767
- },
12768
- {
12769
- internalType: "uint128",
12770
- name: "tokensOwed1",
12771
- type: "uint128"
12772
- },
12773
- {
12774
- internalType: "string",
12775
- name: "tokenURI",
12776
- type: "string"
12777
- }
12778
- ],
12779
- internalType: "struct UniswapHelper.PositionWithTokenURI[]",
12780
- name: "positionsWithTokenURI",
12781
- type: "tuple[]"
12881
+ stateMutability: "payable",
12882
+ type: "function"
12883
+ },
12884
+ {
12885
+ inputs: [{
12886
+ internalType: "uint24",
12887
+ name: "fee",
12888
+ type: "uint24"
12889
+ }, {
12890
+ internalType: "int24",
12891
+ name: "tickSpacing",
12892
+ type: "int24"
12782
12893
  }],
12783
- stateMutability: "view",
12894
+ name: "enableFeeAmount",
12895
+ outputs: [],
12896
+ stateMutability: "payable",
12784
12897
  type: "function"
12785
12898
  },
12786
12899
  {
12787
12900
  inputs: [{
12788
- internalType: "contract IUniswapV3Pool",
12789
- name: "univ3pool",
12790
- type: "address"
12901
+ internalType: "uint24",
12902
+ name: "",
12903
+ type: "uint24"
12791
12904
  }],
12792
- name: "getTickNets",
12905
+ name: "feeAmountTickSpacing",
12793
12906
  outputs: [{
12794
- internalType: "int256[]",
12795
- name: "",
12796
- type: "int256[]"
12797
- }, {
12798
- internalType: "int256[]",
12907
+ internalType: "int24",
12799
12908
  name: "",
12800
- type: "int256[]"
12909
+ type: "int24"
12801
12910
  }],
12802
12911
  stateMutability: "view",
12803
12912
  type: "function"
@@ -12805,545 +12914,114 @@ const UniswapHelperAbi = [
12805
12914
  {
12806
12915
  inputs: [
12807
12916
  {
12808
- internalType: "contract IUniswapV3Pool",
12809
- name: "univ3pool",
12917
+ internalType: "address",
12918
+ name: "",
12810
12919
  type: "address"
12811
12920
  },
12812
12921
  {
12813
- internalType: "int24",
12814
- name: "startTick",
12815
- type: "int24"
12922
+ internalType: "address",
12923
+ name: "",
12924
+ type: "address"
12816
12925
  },
12817
12926
  {
12818
- internalType: "uint256",
12819
- name: "nTicks",
12820
- type: "uint256"
12927
+ internalType: "uint24",
12928
+ name: "",
12929
+ type: "uint24"
12821
12930
  }
12822
12931
  ],
12823
- name: "getTickNets",
12932
+ name: "getPool",
12824
12933
  outputs: [{
12825
- internalType: "int256[]",
12826
- name: "",
12827
- type: "int256[]"
12828
- }, {
12829
- internalType: "int256[]",
12934
+ internalType: "address",
12830
12935
  name: "",
12831
- type: "int256[]"
12936
+ type: "address"
12832
12937
  }],
12833
12938
  stateMutability: "view",
12834
12939
  type: "function"
12835
12940
  },
12836
12941
  {
12837
- inputs: [{
12838
- internalType: "uint256",
12839
- name: "tokenId",
12840
- type: "uint256"
12841
- }],
12842
- name: "plotPnL",
12942
+ inputs: [],
12943
+ name: "owner",
12843
12944
  outputs: [{
12844
- internalType: "string",
12845
- name: "",
12846
- type: "string"
12847
- }],
12848
- stateMutability: "view",
12849
- type: "function"
12850
- },
12851
- {
12852
- inputs: [{
12853
12945
  internalType: "address",
12854
- name: "pool",
12855
- type: "address"
12856
- }],
12857
- name: "plotPoolLiquidity",
12858
- outputs: [{
12859
- internalType: "string",
12860
12946
  name: "",
12861
- type: "string"
12947
+ type: "address"
12862
12948
  }],
12863
12949
  stateMutability: "view",
12864
12950
  type: "function"
12865
- }
12866
- ];
12867
-
12868
- //#endregion
12869
- //#region src/abis/UniswapHelperV1_1.ts
12870
- const UniswapHelperV1_1Abi = [
12951
+ },
12871
12952
  {
12872
- inputs: [
12953
+ inputs: [],
12954
+ name: "parameters",
12955
+ outputs: [
12873
12956
  {
12874
- internalType: "contract IPoolManager",
12875
- name: "_V4_POOLM",
12957
+ internalType: "address",
12958
+ name: "factory",
12876
12959
  type: "address"
12877
12960
  },
12878
12961
  {
12879
- internalType: "contract IPositionManager",
12880
- name: "_V4_POSM",
12962
+ internalType: "address",
12963
+ name: "token0",
12881
12964
  type: "address"
12882
12965
  },
12883
12966
  {
12884
- internalType: "contract SemiFungiblePositionManager",
12885
- name: "_SFPM",
12967
+ internalType: "address",
12968
+ name: "token1",
12886
12969
  type: "address"
12887
- }
12888
- ],
12889
- stateMutability: "payable",
12890
- type: "constructor"
12891
- },
12892
- {
12893
- inputs: [{
12894
- components: [
12895
- {
12896
- internalType: "Currency",
12897
- name: "currency0",
12898
- type: "address"
12899
- },
12900
- {
12901
- internalType: "Currency",
12902
- name: "currency1",
12903
- type: "address"
12904
- },
12905
- {
12906
- internalType: "uint24",
12907
- name: "fee",
12908
- type: "uint24"
12909
- },
12910
- {
12911
- internalType: "int24",
12912
- name: "tickSpacing",
12913
- type: "int24"
12914
- },
12915
- {
12916
- internalType: "contract IHooks",
12917
- name: "hooks",
12918
- type: "address"
12919
- }
12920
- ],
12921
- internalType: "struct PoolKey",
12922
- name: "poolKey",
12923
- type: "tuple"
12924
- }],
12925
- name: "getTickNets",
12926
- outputs: [{
12927
- internalType: "int256[]",
12928
- name: "",
12929
- type: "int256[]"
12930
- }, {
12931
- internalType: "int256[]",
12932
- name: "",
12933
- type: "int256[]"
12934
- }],
12935
- stateMutability: "view",
12936
- type: "function"
12937
- },
12938
- {
12939
- inputs: [
12970
+ },
12940
12971
  {
12941
- components: [
12942
- {
12943
- internalType: "Currency",
12944
- name: "currency0",
12945
- type: "address"
12946
- },
12947
- {
12948
- internalType: "Currency",
12949
- name: "currency1",
12950
- type: "address"
12951
- },
12952
- {
12953
- internalType: "uint24",
12954
- name: "fee",
12955
- type: "uint24"
12956
- },
12957
- {
12958
- internalType: "int24",
12959
- name: "tickSpacing",
12960
- type: "int24"
12961
- },
12962
- {
12963
- internalType: "contract IHooks",
12964
- name: "hooks",
12965
- type: "address"
12966
- }
12967
- ],
12968
- internalType: "struct PoolKey",
12969
- name: "poolKey",
12970
- type: "tuple"
12972
+ internalType: "uint24",
12973
+ name: "fee",
12974
+ type: "uint24"
12971
12975
  },
12972
12976
  {
12973
12977
  internalType: "int24",
12974
- name: "startTick",
12978
+ name: "tickSpacing",
12975
12979
  type: "int24"
12976
- },
12977
- {
12978
- internalType: "uint256",
12979
- name: "nTicks",
12980
- type: "uint256"
12981
12980
  }
12982
12981
  ],
12983
- name: "getTickNets",
12984
- outputs: [{
12985
- internalType: "int256[]",
12986
- name: "",
12987
- type: "int256[]"
12988
- }, {
12989
- internalType: "int256[]",
12990
- name: "",
12991
- type: "int256[]"
12992
- }],
12993
12982
  stateMutability: "view",
12994
12983
  type: "function"
12995
12984
  },
12996
12985
  {
12997
12986
  inputs: [{
12998
- internalType: "uint256",
12999
- name: "tokenId",
13000
- type: "uint256"
13001
- }],
13002
- name: "plotPnL",
13003
- outputs: [{
13004
- internalType: "string",
13005
- name: "",
13006
- type: "string"
13007
- }],
13008
- stateMutability: "view",
13009
- type: "function"
13010
- },
13011
- {
13012
- inputs: [{
13013
- components: [
13014
- {
13015
- internalType: "Currency",
13016
- name: "currency0",
13017
- type: "address"
13018
- },
13019
- {
13020
- internalType: "Currency",
13021
- name: "currency1",
13022
- type: "address"
13023
- },
13024
- {
13025
- internalType: "uint24",
13026
- name: "fee",
13027
- type: "uint24"
13028
- },
13029
- {
13030
- internalType: "int24",
13031
- name: "tickSpacing",
13032
- type: "int24"
13033
- },
13034
- {
13035
- internalType: "contract IHooks",
13036
- name: "hooks",
13037
- type: "address"
13038
- }
13039
- ],
13040
- internalType: "struct PoolKey",
13041
- name: "poolKey",
13042
- type: "tuple"
13043
- }],
13044
- name: "plotPoolLiquidity",
13045
- outputs: [{
13046
- internalType: "string",
13047
- name: "",
13048
- type: "string"
13049
- }],
13050
- stateMutability: "view",
13051
- type: "function"
13052
- }
13053
- ];
13054
-
13055
- //#endregion
13056
- //#region src/abis/UniswapMigrator.ts
13057
- const UniswapMigratorAbi = [
13058
- {
13059
- type: "constructor",
13060
- inputs: [{
13061
- name: "_NFPM",
13062
- type: "address",
13063
- internalType: "contract INonfungiblePositionManager"
12987
+ internalType: "address",
12988
+ name: "_owner",
12989
+ type: "address"
13064
12990
  }],
13065
- stateMutability: "nonpayable"
13066
- },
13067
- {
13068
- type: "function",
13069
- name: "migrate",
13070
- inputs: [
13071
- {
13072
- name: "tokenIds",
13073
- type: "uint256[]",
13074
- internalType: "uint256[]"
13075
- },
13076
- {
13077
- name: "amountMins",
13078
- type: "uint256[2][]",
13079
- internalType: "uint256[2][]"
13080
- },
13081
- {
13082
- name: "ct0",
13083
- type: "address",
13084
- internalType: "contract CollateralTracker"
13085
- },
13086
- {
13087
- name: "ct1",
13088
- type: "address",
13089
- internalType: "contract CollateralTracker"
13090
- }
13091
- ],
12991
+ name: "setOwner",
13092
12992
  outputs: [],
13093
- stateMutability: "nonpayable"
13094
- },
13095
- {
13096
- type: "error",
13097
- name: "UnauthorizedMigration",
13098
- inputs: []
12993
+ stateMutability: "payable",
12994
+ type: "function"
13099
12995
  }
13100
12996
  ];
13101
12997
 
13102
12998
  //#endregion
13103
- //#region src/abis/UniswapV3Factory.ts
13104
- const UniswapV3FactoryAbi = [
12999
+ //#region src/abis/UniswapV3Pool.ts
13000
+ const UniswapV3PoolAbi = [
13105
13001
  {
13106
13002
  inputs: [],
13107
13003
  stateMutability: "payable",
13108
13004
  type: "constructor"
13109
13005
  },
13110
- {
13111
- anonymous: false,
13112
- inputs: [{
13113
- indexed: true,
13114
- internalType: "uint24",
13115
- name: "fee",
13116
- type: "uint24"
13117
- }, {
13118
- indexed: true,
13119
- internalType: "int24",
13120
- name: "tickSpacing",
13121
- type: "int24"
13122
- }],
13123
- name: "FeeAmountEnabled",
13124
- type: "event"
13125
- },
13126
- {
13127
- anonymous: false,
13128
- inputs: [{
13129
- indexed: true,
13130
- internalType: "address",
13131
- name: "oldOwner",
13132
- type: "address"
13133
- }, {
13134
- indexed: true,
13135
- internalType: "address",
13136
- name: "newOwner",
13137
- type: "address"
13138
- }],
13139
- name: "OwnerChanged",
13140
- type: "event"
13141
- },
13142
13006
  {
13143
13007
  anonymous: false,
13144
13008
  inputs: [
13145
13009
  {
13146
13010
  indexed: true,
13147
13011
  internalType: "address",
13148
- name: "token0",
13012
+ name: "owner",
13149
13013
  type: "address"
13150
13014
  },
13151
13015
  {
13152
13016
  indexed: true,
13153
- internalType: "address",
13154
- name: "token1",
13155
- type: "address"
13017
+ internalType: "int24",
13018
+ name: "tickLower",
13019
+ type: "int24"
13156
13020
  },
13157
13021
  {
13158
13022
  indexed: true,
13159
- internalType: "uint24",
13160
- name: "fee",
13161
- type: "uint24"
13162
- },
13163
- {
13164
- indexed: false,
13165
13023
  internalType: "int24",
13166
- name: "tickSpacing",
13167
- type: "int24"
13168
- },
13169
- {
13170
- indexed: false,
13171
- internalType: "address",
13172
- name: "pool",
13173
- type: "address"
13174
- }
13175
- ],
13176
- name: "PoolCreated",
13177
- type: "event"
13178
- },
13179
- {
13180
- inputs: [
13181
- {
13182
- internalType: "address",
13183
- name: "tokenA",
13184
- type: "address"
13185
- },
13186
- {
13187
- internalType: "address",
13188
- name: "tokenB",
13189
- type: "address"
13190
- },
13191
- {
13192
- internalType: "uint24",
13193
- name: "fee",
13194
- type: "uint24"
13195
- }
13196
- ],
13197
- name: "createPool",
13198
- outputs: [{
13199
- internalType: "address",
13200
- name: "pool",
13201
- type: "address"
13202
- }],
13203
- stateMutability: "payable",
13204
- type: "function"
13205
- },
13206
- {
13207
- inputs: [{
13208
- internalType: "uint24",
13209
- name: "fee",
13210
- type: "uint24"
13211
- }, {
13212
- internalType: "int24",
13213
- name: "tickSpacing",
13214
- type: "int24"
13215
- }],
13216
- name: "enableFeeAmount",
13217
- outputs: [],
13218
- stateMutability: "payable",
13219
- type: "function"
13220
- },
13221
- {
13222
- inputs: [{
13223
- internalType: "uint24",
13224
- name: "",
13225
- type: "uint24"
13226
- }],
13227
- name: "feeAmountTickSpacing",
13228
- outputs: [{
13229
- internalType: "int24",
13230
- name: "",
13231
- type: "int24"
13232
- }],
13233
- stateMutability: "view",
13234
- type: "function"
13235
- },
13236
- {
13237
- inputs: [
13238
- {
13239
- internalType: "address",
13240
- name: "",
13241
- type: "address"
13242
- },
13243
- {
13244
- internalType: "address",
13245
- name: "",
13246
- type: "address"
13247
- },
13248
- {
13249
- internalType: "uint24",
13250
- name: "",
13251
- type: "uint24"
13252
- }
13253
- ],
13254
- name: "getPool",
13255
- outputs: [{
13256
- internalType: "address",
13257
- name: "",
13258
- type: "address"
13259
- }],
13260
- stateMutability: "view",
13261
- type: "function"
13262
- },
13263
- {
13264
- inputs: [],
13265
- name: "owner",
13266
- outputs: [{
13267
- internalType: "address",
13268
- name: "",
13269
- type: "address"
13270
- }],
13271
- stateMutability: "view",
13272
- type: "function"
13273
- },
13274
- {
13275
- inputs: [],
13276
- name: "parameters",
13277
- outputs: [
13278
- {
13279
- internalType: "address",
13280
- name: "factory",
13281
- type: "address"
13282
- },
13283
- {
13284
- internalType: "address",
13285
- name: "token0",
13286
- type: "address"
13287
- },
13288
- {
13289
- internalType: "address",
13290
- name: "token1",
13291
- type: "address"
13292
- },
13293
- {
13294
- internalType: "uint24",
13295
- name: "fee",
13296
- type: "uint24"
13297
- },
13298
- {
13299
- internalType: "int24",
13300
- name: "tickSpacing",
13301
- type: "int24"
13302
- }
13303
- ],
13304
- stateMutability: "view",
13305
- type: "function"
13306
- },
13307
- {
13308
- inputs: [{
13309
- internalType: "address",
13310
- name: "_owner",
13311
- type: "address"
13312
- }],
13313
- name: "setOwner",
13314
- outputs: [],
13315
- stateMutability: "payable",
13316
- type: "function"
13317
- }
13318
- ];
13319
-
13320
- //#endregion
13321
- //#region src/abis/UniswapV3Pool.ts
13322
- const UniswapV3PoolAbi = [
13323
- {
13324
- inputs: [],
13325
- stateMutability: "payable",
13326
- type: "constructor"
13327
- },
13328
- {
13329
- anonymous: false,
13330
- inputs: [
13331
- {
13332
- indexed: true,
13333
- internalType: "address",
13334
- name: "owner",
13335
- type: "address"
13336
- },
13337
- {
13338
- indexed: true,
13339
- internalType: "int24",
13340
- name: "tickLower",
13341
- type: "int24"
13342
- },
13343
- {
13344
- indexed: true,
13345
- internalType: "int24",
13346
- name: "tickUpper",
13024
+ name: "tickUpper",
13347
13025
  type: "int24"
13348
13026
  },
13349
13027
  {
@@ -15513,11 +15191,11 @@ const UsdcPlpVaultBaseProdConfig = {
15513
15191
 
15514
15192
  //#endregion
15515
15193
  //#region src/hypoVault/hypoVaultManagerConfigs/usdcPlpVaultMainnetProdConfig.ts
15516
- const MAINNET_DEPLOYMENT$3 = requireChainDeployment(MAINNET_CHAIN_ID);
15517
- const MAINNET_ETH_USDC_MARKET = getEthUsdcMarket(MAINNET_DEPLOYMENT$3);
15518
- const MAINNET_HYPOVAULT_ADDRESSES$1 = MAINNET_DEPLOYMENT$3.hypovault.vaults;
15519
- const MAINNET_HYPOVAULT_MANAGER_ADDRESSES$1 = MAINNET_DEPLOYMENT$3.hypovault.managers;
15520
- const MAINNET_PANOPTIC_POOL_ADDRESSES$1 = MAINNET_DEPLOYMENT$3.panoptic.pool;
15194
+ const MAINNET_DEPLOYMENT$5 = requireChainDeployment(MAINNET_CHAIN_ID);
15195
+ const MAINNET_ETH_USDC_MARKET = getEthUsdcMarket(MAINNET_DEPLOYMENT$5);
15196
+ const MAINNET_HYPOVAULT_ADDRESSES$1 = MAINNET_DEPLOYMENT$5.hypovault.vaults;
15197
+ const MAINNET_HYPOVAULT_MANAGER_ADDRESSES$1 = MAINNET_DEPLOYMENT$5.hypovault.managers;
15198
+ const MAINNET_PANOPTIC_POOL_ADDRESSES$1 = MAINNET_DEPLOYMENT$5.panoptic.pool;
15521
15199
  const MAINNET_LEGACY_PANOPTIC_POOL_ADDRESSES$1 = {
15522
15200
  panopticPool: "0x000000007588B488d180899cDEa2080a886D2441",
15523
15201
  collateralTracker0: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9",
@@ -15675,10 +15353,10 @@ const WethPlpVaultBaseProdConfig = {
15675
15353
 
15676
15354
  //#endregion
15677
15355
  //#region src/hypoVault/hypoVaultManagerConfigs/wethPlpVaultMainnetProdConfig.ts
15678
- const MAINNET_DEPLOYMENT$2 = requireChainDeployment(MAINNET_CHAIN_ID);
15679
- const MAINNET_HYPOVAULT_ADDRESSES = MAINNET_DEPLOYMENT$2.hypovault.vaults;
15680
- const MAINNET_HYPOVAULT_MANAGER_ADDRESSES = MAINNET_DEPLOYMENT$2.hypovault.managers;
15681
- const MAINNET_PANOPTIC_POOL_ADDRESSES = MAINNET_DEPLOYMENT$2.panoptic.pool;
15356
+ const MAINNET_DEPLOYMENT$4 = requireChainDeployment(MAINNET_CHAIN_ID);
15357
+ const MAINNET_HYPOVAULT_ADDRESSES = MAINNET_DEPLOYMENT$4.hypovault.vaults;
15358
+ const MAINNET_HYPOVAULT_MANAGER_ADDRESSES = MAINNET_DEPLOYMENT$4.hypovault.managers;
15359
+ const MAINNET_PANOPTIC_POOL_ADDRESSES = MAINNET_DEPLOYMENT$4.panoptic.pool;
15682
15360
  const MAINNET_LEGACY_PANOPTIC_POOL_ADDRESSES = {
15683
15361
  panopticPool: "0x000000007588B488d180899cDEa2080a886D2441",
15684
15362
  collateralTracker0: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9",
@@ -15825,10 +15503,18 @@ function getHypoVaultConfigForVault(vaultAddress, chainId, options) {
15825
15503
  //#region src/hypoVault/hypoVaultManagerArtifacts/poolInfosConfig.ts
15826
15504
  const SEPOLIA_DEPLOYMENT$1 = requireChainDeployment(SEPOLIA_CHAIN_ID);
15827
15505
  const BASE_DEPLOYMENT$1 = requireChainDeployment(BASE_CHAIN_ID);
15828
- const MAINNET_DEPLOYMENT$1 = requireChainDeployment(MAINNET_CHAIN_ID);
15506
+ const MAINNET_DEPLOYMENT$3 = requireChainDeployment(MAINNET_CHAIN_ID);
15829
15507
  const MAX_PRICE_DEVIATION = 100;
15830
15508
  const WSPCXX_USDC_MAX_PRICE_DEVIATION = 1e4;
15831
15509
  const DEFAULT_TRIGGER_TICK = 150;
15510
+ const MAINNET_ETH_USDC_5BPS_V3_POOL = MAINNET_DEPLOYMENT$3.panoptic.additionalPools?.ethUsdc5bpsV3;
15511
+ if (MAINNET_ETH_USDC_5BPS_V3_POOL === void 0) throw new Error("Missing mainnet ETH/USDC 5bps v3 Panoptic pool deployment");
15512
+ const MAINNET_ETH_USDC_5BPS_V3_POOL_INFO = {
15513
+ maxPriceDeviation: MAX_PRICE_DEVIATION,
15514
+ pool: MAINNET_ETH_USDC_5BPS_V3_POOL.panopticPool,
15515
+ token0: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
15516
+ token1: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
15517
+ };
15832
15518
  const SEPOLIA_DEFAULT_POOL_INFOS = [{
15833
15519
  maxPriceDeviation: MAX_PRICE_DEVIATION,
15834
15520
  pool: SEPOLIA_DEPLOYMENT$1.panoptic.pool.panopticPool,
@@ -15845,23 +15531,27 @@ const BASE_DEFAULT_POOL_INFOS = [{
15845
15531
  const BASE_VAULT_ADDRESSES = BASE_DEPLOYMENT$1.hypovault.vaults;
15846
15532
  const MAINNET_DEFAULT_POOL_INFOS = [{
15847
15533
  maxPriceDeviation: MAX_PRICE_DEVIATION,
15848
- pool: MAINNET_DEPLOYMENT$1.panoptic.pool.panopticPool,
15849
- token0: getEthUsdcMarket(MAINNET_DEPLOYMENT$1).currency0,
15850
- token1: getEthUsdcMarket(MAINNET_DEPLOYMENT$1).currency1
15851
- }];
15852
- const MAINNET_USDC_PLP_POOL_INFOS = [...MAINNET_DEFAULT_POOL_INFOS, {
15853
- maxPriceDeviation: WSPCXX_USDC_MAX_PRICE_DEVIATION,
15854
- pool: "0x0f34e6fCda264349Db10d445BD95f529cbe88090",
15855
- token0: "0x8e2eeD8b8B5E13Ea7BF38e50d7821d2C57309072",
15856
- token1: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
15857
- }];
15534
+ pool: MAINNET_DEPLOYMENT$3.panoptic.pool.panopticPool,
15535
+ token0: getEthUsdcMarket(MAINNET_DEPLOYMENT$3).currency0,
15536
+ token1: getEthUsdcMarket(MAINNET_DEPLOYMENT$3).currency1
15537
+ }, MAINNET_ETH_USDC_5BPS_V3_POOL_INFO];
15538
+ const MAINNET_USDC_PLP_POOL_INFOS = [
15539
+ MAINNET_DEFAULT_POOL_INFOS[0],
15540
+ {
15541
+ maxPriceDeviation: WSPCXX_USDC_MAX_PRICE_DEVIATION,
15542
+ pool: "0x0f34e6fCda264349Db10d445BD95f529cbe88090",
15543
+ token0: "0x8e2eeD8b8B5E13Ea7BF38e50d7821d2C57309072",
15544
+ token1: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
15545
+ },
15546
+ MAINNET_ETH_USDC_5BPS_V3_POOL_INFO
15547
+ ];
15858
15548
  const MAINNET_LEGACY_DEFAULT_POOL_INFOS = [{
15859
15549
  maxPriceDeviation: MAX_PRICE_DEVIATION,
15860
15550
  pool: "0x000000007588B488d180899cDEa2080a886D2441",
15861
- token0: getEthUsdcMarket(MAINNET_DEPLOYMENT$1).currency0,
15862
- token1: getEthUsdcMarket(MAINNET_DEPLOYMENT$1).currency1
15551
+ token0: getEthUsdcMarket(MAINNET_DEPLOYMENT$3).currency0,
15552
+ token1: getEthUsdcMarket(MAINNET_DEPLOYMENT$3).currency1
15863
15553
  }];
15864
- const MAINNET_VAULT_ADDRESSES = MAINNET_DEPLOYMENT$1.hypovault.vaults;
15554
+ const MAINNET_VAULT_ADDRESSES = MAINNET_DEPLOYMENT$3.hypovault.vaults;
15865
15555
  const MAINNET_LEGACY_VAULT_ADDRESSES = {
15866
15556
  wethPlpVault: "0x779a2aa634A004b3a3f3b322083744869BBC6D66",
15867
15557
  usdcPlpVault: "0x963Fe9c93bc353602656ee4051A75114bA74d6c5"
@@ -15896,6 +15586,14 @@ const MainnetUSDCPLPVaultPoolInfos = {
15896
15586
  triggerTick: DEFAULT_TRIGGER_TICK
15897
15587
  }))
15898
15588
  };
15589
+ /** Production accountant input before the ETH/USDC 5bps v3 pool authorization executes. */
15590
+ const MainnetUSDCPLPPreviousVaultPoolInfos = {
15591
+ vaultAddress: MAINNET_VAULT_ADDRESSES.usdcPlpVault,
15592
+ poolInfos: MAINNET_USDC_PLP_POOL_INFOS.slice(0, 2).map((poolInfo) => ({
15593
+ ...poolInfo,
15594
+ triggerTick: DEFAULT_TRIGGER_TICK
15595
+ }))
15596
+ };
15899
15597
  const MainnetUSDCPLPLegacyVaultPoolInfos = {
15900
15598
  vaultAddress: MAINNET_LEGACY_VAULT_ADDRESSES.usdcPlpVault,
15901
15599
  poolInfos: MAINNET_LEGACY_DEFAULT_POOL_INFOS.map((poolInfo) => ({
@@ -15913,6 +15611,14 @@ const MainnetWETHPLPVaultPoolInfos = {
15913
15611
  triggerTick: DEFAULT_TRIGGER_TICK
15914
15612
  }))
15915
15613
  };
15614
+ /** Production accountant input before the ETH/USDC 5bps v3 pool authorization executes. */
15615
+ const MainnetWETHPLPPreviousVaultPoolInfos = {
15616
+ vaultAddress: MAINNET_VAULT_ADDRESSES.wethPlpVault,
15617
+ poolInfos: MAINNET_DEFAULT_POOL_INFOS.slice(0, 1).map((poolInfo) => ({
15618
+ ...poolInfo,
15619
+ triggerTick: DEFAULT_TRIGGER_TICK
15620
+ }))
15621
+ };
15916
15622
  const MainnetWETHPLPLegacyVaultPoolInfos = {
15917
15623
  vaultAddress: MAINNET_LEGACY_VAULT_ADDRESSES.wethPlpVault,
15918
15624
  poolInfos: MAINNET_LEGACY_DEFAULT_POOL_INFOS.map((poolInfo) => ({
@@ -15942,65 +15648,700 @@ const SepoliaWETHPLPVaultPoolInfos = {
15942
15648
  };
15943
15649
 
15944
15650
  //#endregion
15945
- //#region src/hypoVault/utils/buildManagerInput.ts
15946
- const NATIVE_ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
15947
- const NATIVE_ETH_ALIAS_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
15948
- function isUnderlyingEquivalentToken({ token, underlyingToken, wethAddress }) {
15949
- const tokenLower = token.toLowerCase();
15950
- const underlyingLower = underlyingToken.toLowerCase();
15951
- if (tokenLower === underlyingLower) return true;
15952
- if (wethAddress === void 0) return false;
15953
- const wethLower = wethAddress.toLowerCase();
15954
- const tokenIsNativeAlias = tokenLower === NATIVE_ZERO_ADDRESS || tokenLower === NATIVE_ETH_ALIAS_ADDRESS;
15955
- return tokenIsNativeAlias && underlyingLower === wethLower;
15651
+ //#region src/hypoVault/hypoVaultManagerArtifacts/createStrategistLeavesArtifact.ts
15652
+ const DIGEST_COMPOSITION = [
15653
+ "Bytes20(DECODER_AND_SANITIZER_ADDRESS)",
15654
+ "Bytes20(TARGET_ADDRESS)",
15655
+ "Bytes1(CAN_SEND_VALUE)",
15656
+ "Bytes4(TARGET_FUNCTION_SELECTOR)",
15657
+ "Bytes{N*20}(ADDRESS_ARGUMENT_0,...,ADDRESS_ARGUMENT_N)"
15658
+ ];
15659
+ const EMPTY_DEFINITION = {
15660
+ description: "",
15661
+ target: zeroAddress,
15662
+ functionSignature: "",
15663
+ addressArguments: [],
15664
+ canSendValue: false
15665
+ };
15666
+ function efficientHash$1(a, b) {
15667
+ return keccak256(encodePacked(["bytes32", "bytes32"], a < b ? [a, b] : [b, a]));
15956
15668
  }
15957
- /**
15958
- * Builds the encoded managerInput for HypoVault operations like fulfillDeposits and fulfillWithdrawals.
15959
- *
15960
- * Supports the full input space of computeNAV by:
15961
- * - Fetching TWAP ticks from each pool in poolInfos
15962
- * - Setting token prices based on whether each token matches the underlyingToken address
15963
- *
15964
- * @param params.viemClient - Viem client with account for RPC calls
15965
- * @param params.poolInfos - Array of pool info objects containing pool and token configuration
15966
- * @param params.tokenIds - 2D array of tokenIds for each pool
15967
- * @param params.underlyingToken - Address of the vault's underlying token
15968
- * @param params.erc4626Vaults - Optional list of ERC4626 vaults considered by accountant NAV
15969
- * @returns Encoded managerInput as Hex
15970
- */
15971
- async function buildManagerInput({ viemClient, poolInfos, tokenIds, underlyingToken, wethAddress, erc4626Vaults = [] }) {
15972
- if (tokenIds.length !== poolInfos.length) throw new Error(`Invalid managerInput tokenIds length: expected ${poolInfos.length}, received ${tokenIds.length}`);
15973
- const twapTicks = await Promise.all(poolInfos.map((poolInfo) => readContract(viemClient, {
15974
- address: poolInfo.pool,
15975
- abi: parseAbi(["function getTWAP() view returns (int24)"]),
15976
- functionName: "getTWAP"
15977
- })));
15978
- const managerPrices = poolInfos.map((poolInfo, i) => {
15979
- const twapTick = Number(twapTicks[i]);
15980
- const token0IsUnderlying = isUnderlyingEquivalentToken({
15981
- token: poolInfo.token0,
15982
- underlyingToken,
15983
- wethAddress
15984
- });
15985
- const token1IsUnderlying = isUnderlyingEquivalentToken({
15986
- token: poolInfo.token1,
15987
- underlyingToken,
15988
- wethAddress
15989
- });
15990
- return {
15991
- poolPrice: twapTick,
15992
- token0Price: token0IsUnderlying ? 0 : twapTick,
15993
- token1Price: token1IsUnderlying ? 0 : twapTick
15994
- };
15995
- });
15996
- if (managerPrices.length !== poolInfos.length) throw new Error(`Invalid managerInput managerPrices length: expected ${poolInfos.length}, received ${managerPrices.length}`);
15997
- return encodeAbiParameters(PanopticVaultAccountantManagerInputAbi, [
15998
- managerPrices,
15999
- poolInfos.map((poolInfo) => ({
16000
- pool: poolInfo.pool,
16001
- token0: poolInfo.token0,
16002
- token1: poolInfo.token1,
16003
- maxPriceDeviation: poolInfo.maxPriceDeviation
15669
+ function nextPowerOfTwo(value) {
15670
+ let capacity = 1;
15671
+ while (capacity < value) capacity *= 2;
15672
+ return capacity;
15673
+ }
15674
+ function functionSelector(signature) {
15675
+ return keccak256(toBytes(signature)).slice(0, 10);
15676
+ }
15677
+ function buildLeaf(definition, decoderAndSanitizerAddress) {
15678
+ const selector = functionSelector(definition.functionSignature);
15679
+ const packedArgumentAddresses = definition.addressArguments.length === 0 ? "0x" : concat(definition.addressArguments.map((address) => getAddress(address)));
15680
+ const rawDigest = concat([encodePacked([
15681
+ "address",
15682
+ "address",
15683
+ "bool",
15684
+ "bytes4"
15685
+ ], [
15686
+ getAddress(decoderAndSanitizerAddress),
15687
+ getAddress(definition.target),
15688
+ definition.canSendValue,
15689
+ selector
15690
+ ]), packedArgumentAddresses]);
15691
+ return {
15692
+ AddressArguments: definition.addressArguments,
15693
+ CanSendValue: definition.canSendValue,
15694
+ DecoderAndSanitizerAddress: getAddress(decoderAndSanitizerAddress),
15695
+ Description: definition.description,
15696
+ FunctionSelector: selector,
15697
+ FunctionSignature: definition.functionSignature,
15698
+ LeafDigest: keccak256(rawDigest),
15699
+ PackedArgumentAddresses: packedArgumentAddresses,
15700
+ TargetAddress: getAddress(definition.target)
15701
+ };
15702
+ }
15703
+ function buildMerkleTree(leafDigests) {
15704
+ if (leafDigests.length === 0) throw new Error("Strategist Merkle tree requires at least one leaf digest");
15705
+ const layersFromLeaves = [[...leafDigests]];
15706
+ while (layersFromLeaves[layersFromLeaves.length - 1]?.length !== 1) {
15707
+ const currentLayer = layersFromLeaves[layersFromLeaves.length - 1];
15708
+ if (currentLayer === void 0 || currentLayer.length % 2 !== 0) throw new Error("Strategist Merkle tree layers must contain an even number of nodes");
15709
+ const parentLayer = [];
15710
+ for (let index = 0; index < currentLayer.length; index += 2) {
15711
+ const left = currentLayer[index];
15712
+ const right = currentLayer[index + 1];
15713
+ if (left === void 0 || right === void 0) throw new Error("Strategist Merkle tree contains an incomplete pair");
15714
+ parentLayer.push(efficientHash$1(left, right));
15715
+ }
15716
+ layersFromLeaves.push(parentLayer);
15717
+ }
15718
+ return Object.fromEntries([...layersFromLeaves].reverse().map((layer, index) => [String(index), layer]));
15719
+ }
15720
+ function createStrategistLeavesArtifact(metadata, definitions) {
15721
+ if (definitions.length === 0) throw new Error("Strategist artifact requires at least one permission leaf");
15722
+ const treeCapacity = nextPowerOfTwo(definitions.length);
15723
+ const leafs = definitions.map((definition) => buildLeaf(definition, metadata.decoderAndSanitizerAddress));
15724
+ const emptyLeaf = buildLeaf(EMPTY_DEFINITION, zeroAddress);
15725
+ while (leafs.length < treeCapacity) leafs.push(emptyLeaf);
15726
+ const merkleTree = buildMerkleTree(leafs.map((leaf) => leaf.LeafDigest));
15727
+ const root = merkleTree["0"]?.[0];
15728
+ if (root === void 0) throw new Error("Strategist Merkle tree root was not generated");
15729
+ return {
15730
+ metadata: {
15731
+ AccountantAddress: getAddress(metadata.accountantAddress),
15732
+ BoringVaultAddress: getAddress(metadata.boringVaultAddress),
15733
+ DecoderAndSanitizerAddress: getAddress(metadata.decoderAndSanitizerAddress),
15734
+ DigestComposition: DIGEST_COMPOSITION,
15735
+ LeafCount: definitions.length,
15736
+ ManageRoot: root,
15737
+ ManagerAddress: getAddress(metadata.managerAddress),
15738
+ TreeCapacity: treeCapacity
15739
+ },
15740
+ leafs,
15741
+ MerkleTree: merkleTree
15742
+ };
15743
+ }
15744
+
15745
+ //#endregion
15746
+ //#region src/hypoVault/hypoVaultManagerArtifacts/MainnetUSDCPLPStrategistLeaves.ts
15747
+ const VAULT$1 = "0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18";
15748
+ const DECODER$1 = "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6";
15749
+ const USDC$1 = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48";
15750
+ const CURRENT_POOL$1 = "0x00000000563b70d704f4c6675a5f6ac989fbae13";
15751
+ const CURRENT_PO_ETH$1 = "0x1e46b0289B7E0F710E2Db8Ab87800dd782D624f7";
15752
+ const CURRENT_PO_USDC$1 = "0x12bF31955522BAC337D93e1bC0a39F68D8BDa216";
15753
+ const WSPCXX_PO_USDC = "0x141cc517a6276542B59732Fd85C1A2C536eF7aCA";
15754
+ const NEW_POOL$1 = "0x00000000009C7B687e833559e34503f64d7ed7c4";
15755
+ const NEW_PO_USDC$1 = "0x3CCdA7d5E841d6543D90BcEc20b36a724C184DE9";
15756
+ const NEW_PO_WETH$1 = "0x69E9f9e44E5F52237493b980dd7306198C64A4E4";
15757
+ const WETH$1 = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2";
15758
+ const DISPATCH_SIGNATURE$1 = "dispatch(uint256[],uint256[],uint128[],int24[3][],bool,uint256)";
15759
+ const MAINNET_USDC_PLP_STRATEGIST_LEAF_DEFINITIONS = [
15760
+ {
15761
+ description: "Approve poUSDC to spend USDC",
15762
+ target: USDC$1,
15763
+ functionSignature: "approve(address,uint256)",
15764
+ addressArguments: [CURRENT_PO_USDC$1],
15765
+ canSendValue: false
15766
+ },
15767
+ {
15768
+ description: "Deposit USDC for poUSDC",
15769
+ target: CURRENT_PO_USDC$1,
15770
+ functionSignature: "deposit(uint256,address)",
15771
+ addressArguments: [VAULT$1],
15772
+ canSendValue: false
15773
+ },
15774
+ {
15775
+ description: "Withdraw USDC from poUSDC",
15776
+ target: CURRENT_PO_USDC$1,
15777
+ functionSignature: "withdraw(uint256,address,address)",
15778
+ addressArguments: [VAULT$1, VAULT$1],
15779
+ canSendValue: false
15780
+ },
15781
+ {
15782
+ description: "Withdraw USDC from poUSDC (with open positions)",
15783
+ target: CURRENT_PO_USDC$1,
15784
+ functionSignature: "withdraw(uint256,address,address,uint256[],bool)",
15785
+ addressArguments: [VAULT$1, VAULT$1],
15786
+ canSendValue: false
15787
+ },
15788
+ {
15789
+ description: "Mint poUSDC using USDC",
15790
+ target: CURRENT_PO_USDC$1,
15791
+ functionSignature: "mint(uint256,address)",
15792
+ addressArguments: [VAULT$1],
15793
+ canSendValue: false
15794
+ },
15795
+ {
15796
+ description: "Redeem poUSDC for USDC",
15797
+ target: CURRENT_PO_USDC$1,
15798
+ functionSignature: "redeem(uint256,address,address)",
15799
+ addressArguments: [VAULT$1, VAULT$1],
15800
+ canSendValue: false
15801
+ },
15802
+ {
15803
+ description: "Dispatch mint/burn options on PanopticPool",
15804
+ target: CURRENT_POOL$1,
15805
+ functionSignature: DISPATCH_SIGNATURE$1,
15806
+ addressArguments: [],
15807
+ canSendValue: false
15808
+ },
15809
+ {
15810
+ description: "Withdraw ETH from poETH",
15811
+ target: CURRENT_PO_ETH$1,
15812
+ functionSignature: "withdraw(uint256,address,address)",
15813
+ addressArguments: [VAULT$1, VAULT$1],
15814
+ canSendValue: false
15815
+ },
15816
+ {
15817
+ description: "Withdraw ETH from poETH (with open positions)",
15818
+ target: CURRENT_PO_ETH$1,
15819
+ functionSignature: "withdraw(uint256,address,address,uint256[],bool)",
15820
+ addressArguments: [VAULT$1, VAULT$1],
15821
+ canSendValue: false
15822
+ },
15823
+ {
15824
+ description: "Approve wSPCXx poUSDC to spend USDC",
15825
+ target: USDC$1,
15826
+ functionSignature: "approve(address,uint256)",
15827
+ addressArguments: [WSPCXX_PO_USDC],
15828
+ canSendValue: false
15829
+ },
15830
+ {
15831
+ description: "Deposit USDC for wSPCXx poUSDC",
15832
+ target: WSPCXX_PO_USDC,
15833
+ functionSignature: "deposit(uint256,address)",
15834
+ addressArguments: [VAULT$1],
15835
+ canSendValue: false
15836
+ },
15837
+ {
15838
+ description: "Withdraw USDC from wSPCXx poUSDC",
15839
+ target: WSPCXX_PO_USDC,
15840
+ functionSignature: "withdraw(uint256,address,address)",
15841
+ addressArguments: [VAULT$1, VAULT$1],
15842
+ canSendValue: false
15843
+ },
15844
+ {
15845
+ description: "Deposit ETH for poETH (payable)",
15846
+ target: CURRENT_PO_ETH$1,
15847
+ functionSignature: "deposit(uint256,address)",
15848
+ addressArguments: [VAULT$1],
15849
+ canSendValue: true
15850
+ },
15851
+ {
15852
+ description: "Mint poETH using ETH (payable)",
15853
+ target: CURRENT_PO_ETH$1,
15854
+ functionSignature: "mint(uint256,address)",
15855
+ addressArguments: [VAULT$1],
15856
+ canSendValue: true
15857
+ },
15858
+ {
15859
+ description: "Redeem poETH for ETH",
15860
+ target: CURRENT_PO_ETH$1,
15861
+ functionSignature: "redeem(uint256,address,address)",
15862
+ addressArguments: [VAULT$1, VAULT$1],
15863
+ canSendValue: false
15864
+ },
15865
+ {
15866
+ description: "Approve poUSDC v3 to spend USDC",
15867
+ target: USDC$1,
15868
+ functionSignature: "approve(address,uint256)",
15869
+ addressArguments: [NEW_PO_USDC$1],
15870
+ canSendValue: false
15871
+ },
15872
+ {
15873
+ description: "Deposit USDC for poUSDC v3",
15874
+ target: NEW_PO_USDC$1,
15875
+ functionSignature: "deposit(uint256,address)",
15876
+ addressArguments: [VAULT$1],
15877
+ canSendValue: false
15878
+ },
15879
+ {
15880
+ description: "Withdraw USDC from poUSDC v3",
15881
+ target: NEW_PO_USDC$1,
15882
+ functionSignature: "withdraw(uint256,address,address)",
15883
+ addressArguments: [VAULT$1, VAULT$1],
15884
+ canSendValue: false
15885
+ },
15886
+ {
15887
+ description: "Withdraw USDC from poUSDC v3 (with open positions)",
15888
+ target: NEW_PO_USDC$1,
15889
+ functionSignature: "withdraw(uint256,address,address,uint256[],bool)",
15890
+ addressArguments: [VAULT$1, VAULT$1],
15891
+ canSendValue: false
15892
+ },
15893
+ {
15894
+ description: "Mint poUSDC v3 using USDC",
15895
+ target: NEW_PO_USDC$1,
15896
+ functionSignature: "mint(uint256,address)",
15897
+ addressArguments: [VAULT$1],
15898
+ canSendValue: false
15899
+ },
15900
+ {
15901
+ description: "Redeem poUSDC v3 for USDC",
15902
+ target: NEW_PO_USDC$1,
15903
+ functionSignature: "redeem(uint256,address,address)",
15904
+ addressArguments: [VAULT$1, VAULT$1],
15905
+ canSendValue: false
15906
+ },
15907
+ {
15908
+ description: "Dispatch mint/burn options on PanopticPool",
15909
+ target: NEW_POOL$1,
15910
+ functionSignature: DISPATCH_SIGNATURE$1,
15911
+ addressArguments: [],
15912
+ canSendValue: false
15913
+ },
15914
+ {
15915
+ description: "Approve poWETH v3 to spend WETH",
15916
+ target: WETH$1,
15917
+ functionSignature: "approve(address,uint256)",
15918
+ addressArguments: [NEW_PO_WETH$1],
15919
+ canSendValue: false
15920
+ },
15921
+ {
15922
+ description: "Deposit WETH for poWETH v3",
15923
+ target: NEW_PO_WETH$1,
15924
+ functionSignature: "deposit(uint256,address)",
15925
+ addressArguments: [VAULT$1],
15926
+ canSendValue: false
15927
+ },
15928
+ {
15929
+ description: "Withdraw WETH from poWETH v3",
15930
+ target: NEW_PO_WETH$1,
15931
+ functionSignature: "withdraw(uint256,address,address)",
15932
+ addressArguments: [VAULT$1, VAULT$1],
15933
+ canSendValue: false
15934
+ },
15935
+ {
15936
+ description: "Withdraw WETH from poWETH v3 (with open positions)",
15937
+ target: NEW_PO_WETH$1,
15938
+ functionSignature: "withdraw(uint256,address,address,uint256[],bool)",
15939
+ addressArguments: [VAULT$1, VAULT$1],
15940
+ canSendValue: false
15941
+ },
15942
+ {
15943
+ description: "Mint poWETH v3 using WETH",
15944
+ target: NEW_PO_WETH$1,
15945
+ functionSignature: "mint(uint256,address)",
15946
+ addressArguments: [VAULT$1],
15947
+ canSendValue: false
15948
+ },
15949
+ {
15950
+ description: "Redeem poWETH v3 for WETH",
15951
+ target: NEW_PO_WETH$1,
15952
+ functionSignature: "redeem(uint256,address,address)",
15953
+ addressArguments: [VAULT$1, VAULT$1],
15954
+ canSendValue: false
15955
+ }
15956
+ ];
15957
+ const MAINNET_USDC_PLP_STRATEGIST_ARTIFACT_METADATA = {
15958
+ accountantAddress: "0x65aA902AE3135658587FFC36ED51B61c927114e1",
15959
+ boringVaultAddress: VAULT$1,
15960
+ decoderAndSanitizerAddress: DECODER$1,
15961
+ managerAddress: "0x2ce65016366ef7320078e0758D58Cf1038bc7C4e"
15962
+ };
15963
+ /** Production permissions before the ETH/USDC 5bps v3 pool authorization executes. */
15964
+ const MainnetUSDCPLPPreviousStrategistLeaves = createStrategistLeavesArtifact(MAINNET_USDC_PLP_STRATEGIST_ARTIFACT_METADATA, MAINNET_USDC_PLP_STRATEGIST_LEAF_DEFINITIONS.slice(0, 12));
15965
+ /** Production permissions after the ETH/USDC 5bps v3 pool authorization executes. */
15966
+ const MainnetUSDCPLPStrategistLeaves = createStrategistLeavesArtifact(MAINNET_USDC_PLP_STRATEGIST_ARTIFACT_METADATA, MAINNET_USDC_PLP_STRATEGIST_LEAF_DEFINITIONS);
15967
+
15968
+ //#endregion
15969
+ //#region src/hypoVault/hypoVaultManagerArtifacts/MainnetWETHPLPStrategistLeaves.ts
15970
+ const MAINNET_DEPLOYMENT$2 = requireChainDeployment(MAINNET_CHAIN_ID);
15971
+ const NEW_POOL_DEPLOYMENT = MAINNET_DEPLOYMENT$2.panoptic.additionalPools?.ethUsdc5bpsV3;
15972
+ if (NEW_POOL_DEPLOYMENT === void 0) throw new Error("Missing mainnet ETH/USDC 5bps v3 Panoptic pool deployment");
15973
+ const VAULT = MAINNET_DEPLOYMENT$2.hypovault.vaults.wethPlpVault;
15974
+ const DECODER = MAINNET_DEPLOYMENT$2.hypovault.core.collateralTrackerDecoderAndSanitizer;
15975
+ const CURRENT_POOL = MAINNET_DEPLOYMENT$2.panoptic.pool.panopticPool;
15976
+ const CURRENT_PO_ETH = MAINNET_DEPLOYMENT$2.panoptic.pool.collateralTracker0;
15977
+ const CURRENT_PO_USDC = MAINNET_DEPLOYMENT$2.panoptic.pool.collateralTracker1;
15978
+ const NEW_POOL = NEW_POOL_DEPLOYMENT.panopticPool;
15979
+ const NEW_PO_USDC = NEW_POOL_DEPLOYMENT.collateralTracker0;
15980
+ const NEW_PO_WETH = NEW_POOL_DEPLOYMENT.collateralTracker1;
15981
+ const USDC = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48";
15982
+ const WETH = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2";
15983
+ const DISPATCH_SIGNATURE = "dispatch(uint256[],uint256[],uint128[],int24[3][],bool,uint256)";
15984
+ const MAINNET_WETH_PLP_STRATEGIST_LEAF_DEFINITIONS = [
15985
+ {
15986
+ description: "Deposit ETH for poETH (payable)",
15987
+ target: CURRENT_PO_ETH,
15988
+ functionSignature: "deposit(uint256,address)",
15989
+ addressArguments: [VAULT],
15990
+ canSendValue: true
15991
+ },
15992
+ {
15993
+ description: "Withdraw ETH from poETH",
15994
+ target: CURRENT_PO_ETH,
15995
+ functionSignature: "withdraw(uint256,address,address)",
15996
+ addressArguments: [VAULT, VAULT],
15997
+ canSendValue: false
15998
+ },
15999
+ {
16000
+ description: "Withdraw ETH from poETH (with open positions)",
16001
+ target: CURRENT_PO_ETH,
16002
+ functionSignature: "withdraw(uint256,address,address,uint256[],bool)",
16003
+ addressArguments: [VAULT, VAULT],
16004
+ canSendValue: false
16005
+ },
16006
+ {
16007
+ description: "Mint poETH using ETH (payable)",
16008
+ target: CURRENT_PO_ETH,
16009
+ functionSignature: "mint(uint256,address)",
16010
+ addressArguments: [VAULT],
16011
+ canSendValue: true
16012
+ },
16013
+ {
16014
+ description: "Redeem poETH for ETH",
16015
+ target: CURRENT_PO_ETH,
16016
+ functionSignature: "redeem(uint256,address,address)",
16017
+ addressArguments: [VAULT, VAULT],
16018
+ canSendValue: false
16019
+ },
16020
+ {
16021
+ description: "Dispatch mint/burn options on PanopticPool",
16022
+ target: CURRENT_POOL,
16023
+ functionSignature: DISPATCH_SIGNATURE,
16024
+ addressArguments: [],
16025
+ canSendValue: false
16026
+ },
16027
+ {
16028
+ description: "Wrap ETH to WETH",
16029
+ target: WETH,
16030
+ functionSignature: "deposit()",
16031
+ addressArguments: [],
16032
+ canSendValue: true
16033
+ },
16034
+ {
16035
+ description: "Unwrap WETH to ETH",
16036
+ target: WETH,
16037
+ functionSignature: "withdraw(uint256)",
16038
+ addressArguments: [],
16039
+ canSendValue: false
16040
+ },
16041
+ {
16042
+ description: "Withdraw USDC from poUSDC",
16043
+ target: CURRENT_PO_USDC,
16044
+ functionSignature: "withdraw(uint256,address,address)",
16045
+ addressArguments: [VAULT, VAULT],
16046
+ canSendValue: false
16047
+ },
16048
+ {
16049
+ description: "Withdraw USDC from poUSDC (with open positions)",
16050
+ target: CURRENT_PO_USDC,
16051
+ functionSignature: "withdraw(uint256,address,address,uint256[],bool)",
16052
+ addressArguments: [VAULT, VAULT],
16053
+ canSendValue: false
16054
+ },
16055
+ {
16056
+ description: "Approve poUSDC to spend USDC",
16057
+ target: USDC,
16058
+ functionSignature: "approve(address,uint256)",
16059
+ addressArguments: [CURRENT_PO_USDC],
16060
+ canSendValue: false
16061
+ },
16062
+ {
16063
+ description: "Deposit USDC for poUSDC",
16064
+ target: CURRENT_PO_USDC,
16065
+ functionSignature: "deposit(uint256,address)",
16066
+ addressArguments: [VAULT],
16067
+ canSendValue: false
16068
+ },
16069
+ {
16070
+ description: "Mint poUSDC using USDC",
16071
+ target: CURRENT_PO_USDC,
16072
+ functionSignature: "mint(uint256,address)",
16073
+ addressArguments: [VAULT],
16074
+ canSendValue: false
16075
+ },
16076
+ {
16077
+ description: "Redeem poUSDC for USDC",
16078
+ target: CURRENT_PO_USDC,
16079
+ functionSignature: "redeem(uint256,address,address)",
16080
+ addressArguments: [VAULT, VAULT],
16081
+ canSendValue: false
16082
+ },
16083
+ {
16084
+ description: "Approve poWETH v3 to spend WETH",
16085
+ target: WETH,
16086
+ functionSignature: "approve(address,uint256)",
16087
+ addressArguments: [NEW_PO_WETH],
16088
+ canSendValue: false
16089
+ },
16090
+ {
16091
+ description: "Deposit WETH for poWETH v3",
16092
+ target: NEW_PO_WETH,
16093
+ functionSignature: "deposit(uint256,address)",
16094
+ addressArguments: [VAULT],
16095
+ canSendValue: false
16096
+ },
16097
+ {
16098
+ description: "Withdraw WETH from poWETH v3",
16099
+ target: NEW_PO_WETH,
16100
+ functionSignature: "withdraw(uint256,address,address)",
16101
+ addressArguments: [VAULT, VAULT],
16102
+ canSendValue: false
16103
+ },
16104
+ {
16105
+ description: "Withdraw WETH from poWETH v3 (with open positions)",
16106
+ target: NEW_PO_WETH,
16107
+ functionSignature: "withdraw(uint256,address,address,uint256[],bool)",
16108
+ addressArguments: [VAULT, VAULT],
16109
+ canSendValue: false
16110
+ },
16111
+ {
16112
+ description: "Mint poWETH v3 using WETH",
16113
+ target: NEW_PO_WETH,
16114
+ functionSignature: "mint(uint256,address)",
16115
+ addressArguments: [VAULT],
16116
+ canSendValue: false
16117
+ },
16118
+ {
16119
+ description: "Redeem poWETH v3 for WETH",
16120
+ target: NEW_PO_WETH,
16121
+ functionSignature: "redeem(uint256,address,address)",
16122
+ addressArguments: [VAULT, VAULT],
16123
+ canSendValue: false
16124
+ },
16125
+ {
16126
+ description: "Dispatch mint/burn options on PanopticPool",
16127
+ target: NEW_POOL,
16128
+ functionSignature: DISPATCH_SIGNATURE,
16129
+ addressArguments: [],
16130
+ canSendValue: false
16131
+ },
16132
+ {
16133
+ description: "Approve poUSDC v3 to spend USDC",
16134
+ target: USDC,
16135
+ functionSignature: "approve(address,uint256)",
16136
+ addressArguments: [NEW_PO_USDC],
16137
+ canSendValue: false
16138
+ },
16139
+ {
16140
+ description: "Deposit USDC for poUSDC v3",
16141
+ target: NEW_PO_USDC,
16142
+ functionSignature: "deposit(uint256,address)",
16143
+ addressArguments: [VAULT],
16144
+ canSendValue: false
16145
+ },
16146
+ {
16147
+ description: "Withdraw USDC from poUSDC v3",
16148
+ target: NEW_PO_USDC,
16149
+ functionSignature: "withdraw(uint256,address,address)",
16150
+ addressArguments: [VAULT, VAULT],
16151
+ canSendValue: false
16152
+ },
16153
+ {
16154
+ description: "Withdraw USDC from poUSDC v3 (with open positions)",
16155
+ target: NEW_PO_USDC,
16156
+ functionSignature: "withdraw(uint256,address,address,uint256[],bool)",
16157
+ addressArguments: [VAULT, VAULT],
16158
+ canSendValue: false
16159
+ },
16160
+ {
16161
+ description: "Mint poUSDC v3 using USDC",
16162
+ target: NEW_PO_USDC,
16163
+ functionSignature: "mint(uint256,address)",
16164
+ addressArguments: [VAULT],
16165
+ canSendValue: false
16166
+ },
16167
+ {
16168
+ description: "Redeem poUSDC v3 for USDC",
16169
+ target: NEW_PO_USDC,
16170
+ functionSignature: "redeem(uint256,address,address)",
16171
+ addressArguments: [VAULT, VAULT],
16172
+ canSendValue: false
16173
+ }
16174
+ ];
16175
+ const MAINNET_WETH_PLP_STRATEGIST_ARTIFACT_METADATA = {
16176
+ accountantAddress: MAINNET_DEPLOYMENT$2.hypovault.core.accountant,
16177
+ boringVaultAddress: VAULT,
16178
+ decoderAndSanitizerAddress: DECODER,
16179
+ managerAddress: MAINNET_DEPLOYMENT$2.hypovault.managers.wethPlpVaultManager
16180
+ };
16181
+ /** Production permissions before the ETH/USDC 5bps v3 pool authorization executes. */
16182
+ const MainnetWETHPLPPreviousStrategistLeaves = createStrategistLeavesArtifact(MAINNET_WETH_PLP_STRATEGIST_ARTIFACT_METADATA, MAINNET_WETH_PLP_STRATEGIST_LEAF_DEFINITIONS.slice(0, 10));
16183
+ /** Production permissions after the ETH/USDC 5bps v3 pool authorization executes. */
16184
+ const MainnetWETHPLPStrategistLeaves = createStrategistLeavesArtifact(MAINNET_WETH_PLP_STRATEGIST_ARTIFACT_METADATA, MAINNET_WETH_PLP_STRATEGIST_LEAF_DEFINITIONS);
16185
+
16186
+ //#endregion
16187
+ //#region src/hypoVault/mainnetV3Authorization.ts
16188
+ const MAINNET_DEPLOYMENT$1 = requireChainDeployment(MAINNET_CHAIN_ID);
16189
+ const POOL_INFO_ARRAY_ABI = {
16190
+ type: "tuple[]",
16191
+ components: [
16192
+ {
16193
+ name: "pool",
16194
+ type: "address"
16195
+ },
16196
+ {
16197
+ name: "token0",
16198
+ type: "address"
16199
+ },
16200
+ {
16201
+ name: "token1",
16202
+ type: "address"
16203
+ },
16204
+ {
16205
+ name: "maxPriceDeviation",
16206
+ type: "int24"
16207
+ }
16208
+ ]
16209
+ };
16210
+ function hashPoolInfos(poolInfos) {
16211
+ return keccak256(encodeAbiParameters([POOL_INFO_ARRAY_ABI], [poolInfos.map((poolInfo) => ({
16212
+ pool: getAddress(poolInfo.pool),
16213
+ token0: getAddress(poolInfo.token0),
16214
+ token1: getAddress(poolInfo.token1),
16215
+ maxPriceDeviation: poolInfo.maxPriceDeviation
16216
+ }))]));
16217
+ }
16218
+ function generation(poolInfos, strategistLeaves) {
16219
+ return {
16220
+ poolInfos,
16221
+ strategistLeaves,
16222
+ poolHash: hashPoolInfos(poolInfos),
16223
+ manageRoot: strategistLeaves.metadata.ManageRoot
16224
+ };
16225
+ }
16226
+ const MAINNET_V3_AUTHORIZATION_TRANSITIONS = [{
16227
+ vaultAddress: MAINNET_DEPLOYMENT$1.hypovault.vaults.wethPlpVault,
16228
+ managerAddress: MAINNET_DEPLOYMENT$1.hypovault.managers.wethPlpVaultManager,
16229
+ strategistAddress: MAINNET_DEPLOYMENT$1.hypovault.turnkeySigners.wethPlpVaultManager,
16230
+ previous: generation(MainnetWETHPLPPreviousVaultPoolInfos.poolInfos, MainnetWETHPLPPreviousStrategistLeaves),
16231
+ next: generation(MainnetWETHPLPVaultPoolInfos.poolInfos, MainnetWETHPLPStrategistLeaves)
16232
+ }, {
16233
+ vaultAddress: MAINNET_DEPLOYMENT$1.hypovault.vaults.usdcPlpVault,
16234
+ managerAddress: MAINNET_DEPLOYMENT$1.hypovault.managers.usdcPlpVaultManager,
16235
+ strategistAddress: MAINNET_DEPLOYMENT$1.hypovault.turnkeySigners.usdcPlpVaultManager,
16236
+ previous: generation(MainnetUSDCPLPPreviousVaultPoolInfos.poolInfos, MainnetUSDCPLPPreviousStrategistLeaves),
16237
+ next: generation(MainnetUSDCPLPVaultPoolInfos.poolInfos, MainnetUSDCPLPStrategistLeaves)
16238
+ }];
16239
+ function findTransition(chainId, vaultAddress) {
16240
+ if (chainId !== MAINNET_CHAIN_ID) return null;
16241
+ const normalizedVault = vaultAddress.toLowerCase();
16242
+ return MAINNET_V3_AUTHORIZATION_TRANSITIONS.find((transition) => transition.vaultAddress.toLowerCase() === normalizedVault) ?? null;
16243
+ }
16244
+ /** Returns both known generations without reading chain state. */
16245
+ function getMainnetV3AuthorizationGenerations({ chainId, vaultAddress }) {
16246
+ const transition = findTransition(chainId, vaultAddress);
16247
+ return transition === null ? null : {
16248
+ previous: transition.previous,
16249
+ next: transition.next
16250
+ };
16251
+ }
16252
+ /**
16253
+ * Selects the exact artifact generation authorized by both the accountant and manager.
16254
+ * A mixed or unknown state is rejected: using only one side of the transition would
16255
+ * make either NAV calculation or strategist proof verification fail.
16256
+ */
16257
+ async function resolveMainnetV3AuthorizationArtifacts({ viemClient, chainId, vaultAddress, blockNumber }) {
16258
+ const transition = findTransition(chainId, vaultAddress);
16259
+ if (transition === null) return null;
16260
+ const resolvedBlockNumber = blockNumber ?? await getBlockNumber(viemClient);
16261
+ const [poolHash, manageRoot] = await Promise.all([readContract(viemClient, {
16262
+ address: MAINNET_DEPLOYMENT$1.hypovault.core.accountant,
16263
+ abi: PanopticVaultAccountantAbi,
16264
+ functionName: "vaultHashes",
16265
+ args: [transition.vaultAddress, 0n],
16266
+ blockNumber: resolvedBlockNumber
16267
+ }), readContract(viemClient, {
16268
+ address: transition.managerAddress,
16269
+ abi: HypoVaultManagerWithMerkleVerificationAbi,
16270
+ functionName: "manageRoot",
16271
+ args: [transition.strategistAddress],
16272
+ blockNumber: resolvedBlockNumber
16273
+ })]);
16274
+ for (const version of ["next", "previous"]) {
16275
+ const candidate = transition[version];
16276
+ if (poolHash === candidate.poolHash && manageRoot === candidate.manageRoot) return {
16277
+ version,
16278
+ blockNumber: resolvedBlockNumber,
16279
+ ...candidate
16280
+ };
16281
+ }
16282
+ throw new Error(`Unsupported or inconsistent mainnet v3 authorization state for vault ${transition.vaultAddress}: accountant pool hash ${poolHash}, manager root ${manageRoot}`);
16283
+ }
16284
+
16285
+ //#endregion
16286
+ //#region src/hypoVault/utils/buildManagerInput.ts
16287
+ const NATIVE_ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
16288
+ const NATIVE_ETH_ALIAS_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
16289
+ function isUnderlyingEquivalentToken({ token, underlyingToken, wethAddress }) {
16290
+ const tokenLower = token.toLowerCase();
16291
+ const underlyingLower = underlyingToken.toLowerCase();
16292
+ if (tokenLower === underlyingLower) return true;
16293
+ if (wethAddress === void 0) return false;
16294
+ const wethLower = wethAddress.toLowerCase();
16295
+ const tokenIsNativeAlias = tokenLower === NATIVE_ZERO_ADDRESS || tokenLower === NATIVE_ETH_ALIAS_ADDRESS;
16296
+ return tokenIsNativeAlias && underlyingLower === wethLower;
16297
+ }
16298
+ /**
16299
+ * Builds the encoded managerInput for HypoVault operations like fulfillDeposits and fulfillWithdrawals.
16300
+ *
16301
+ * Supports the full input space of computeNAV by:
16302
+ * - Fetching TWAP ticks from each pool in poolInfos
16303
+ * - Setting token prices based on whether each token matches the underlyingToken address
16304
+ *
16305
+ * @param params.viemClient - Viem client with account for RPC calls
16306
+ * @param params.poolInfos - Array of pool info objects containing pool and token configuration
16307
+ * @param params.tokenIds - 2D array of tokenIds for each pool
16308
+ * @param params.underlyingToken - Address of the vault's underlying token
16309
+ * @param params.erc4626Vaults - Optional list of ERC4626 vaults considered by accountant NAV
16310
+ * @returns Encoded managerInput as Hex
16311
+ */
16312
+ async function buildManagerInput({ viemClient, poolInfos, tokenIds, underlyingToken, wethAddress, erc4626Vaults = [] }) {
16313
+ if (tokenIds.length !== poolInfos.length) throw new Error(`Invalid managerInput tokenIds length: expected ${poolInfos.length}, received ${tokenIds.length}`);
16314
+ const twapTicks = await Promise.all(poolInfos.map((poolInfo) => readContract(viemClient, {
16315
+ address: poolInfo.pool,
16316
+ abi: parseAbi(["function getTWAP() view returns (int24)"]),
16317
+ functionName: "getTWAP"
16318
+ })));
16319
+ const managerPrices = poolInfos.map((poolInfo, i) => {
16320
+ const twapTick = Number(twapTicks[i]);
16321
+ const token0IsUnderlying = isUnderlyingEquivalentToken({
16322
+ token: poolInfo.token0,
16323
+ underlyingToken,
16324
+ wethAddress
16325
+ });
16326
+ const token1IsUnderlying = isUnderlyingEquivalentToken({
16327
+ token: poolInfo.token1,
16328
+ underlyingToken,
16329
+ wethAddress
16330
+ });
16331
+ return {
16332
+ poolPrice: twapTick,
16333
+ token0Price: token0IsUnderlying ? 0 : twapTick,
16334
+ token1Price: token1IsUnderlying ? 0 : twapTick
16335
+ };
16336
+ });
16337
+ if (managerPrices.length !== poolInfos.length) throw new Error(`Invalid managerInput managerPrices length: expected ${poolInfos.length}, received ${managerPrices.length}`);
16338
+ return encodeAbiParameters(PanopticVaultAccountantManagerInputAbi, [
16339
+ managerPrices,
16340
+ poolInfos.map((poolInfo) => ({
16341
+ pool: poolInfo.pool,
16342
+ token0: poolInfo.token0,
16343
+ token1: poolInfo.token1,
16344
+ maxPriceDeviation: poolInfo.maxPriceDeviation
16004
16345
  })),
16005
16346
  tokenIds,
16006
16347
  erc4626Vaults
@@ -16425,7 +16766,12 @@ async function resolveVaultTokenIdsByPool({ viemClient, chainId, vaultAddress, m
16425
16766
  return tokenIdsByPool;
16426
16767
  }
16427
16768
  async function buildVaultManagerInput({ viemClient, chainId, vaultAddress, underlyingToken, managerAddress, panopticSubgraphUrl, fetchFn }) {
16428
- const poolInfos = getVaultPoolInfos(vaultAddress, chainId);
16769
+ const authorization = await resolveMainnetV3AuthorizationArtifacts({
16770
+ viemClient,
16771
+ chainId,
16772
+ vaultAddress
16773
+ });
16774
+ const poolInfos = authorization?.poolInfos ?? getVaultPoolInfos(vaultAddress, chainId);
16429
16775
  if (poolInfos.length === 0) return DEFAULT_MANAGER_INPUT$1;
16430
16776
  const tokenIds = await resolveVaultTokenIdsByPool({
16431
16777
  viemClient,
@@ -16444,7 +16790,13 @@ async function buildVaultManagerInput({ viemClient, chainId, vaultAddress, under
16444
16790
  });
16445
16791
  }
16446
16792
  async function buildVaultManagerInputAtBlock({ viemClient, chainId, vaultAddress, underlyingToken, blockNumber, managerAddress, panopticSubgraphUrl, fetchFn }) {
16447
- const poolInfos = getVaultPoolInfos(vaultAddress, chainId);
16793
+ const authorization = await resolveMainnetV3AuthorizationArtifacts({
16794
+ viemClient,
16795
+ chainId,
16796
+ vaultAddress,
16797
+ blockNumber
16798
+ });
16799
+ const poolInfos = authorization?.poolInfos ?? getVaultPoolInfos(vaultAddress, chainId);
16448
16800
  if (poolInfos.length === 0) return DEFAULT_MANAGER_INPUT$1;
16449
16801
  const tokenIds = await resolveVaultTokenIdsByPool({
16450
16802
  viemClient,
@@ -17597,341 +17949,79 @@ const useExecuteWithdrawal = ({ chainId, vaultAddress, desiredAssets, maxAssetsT
17597
17949
  chainId,
17598
17950
  ...getExecuteWithdrawalMulticallContractConfig({
17599
17951
  vaultAddress,
17600
- multicallCalldatas
17601
- }),
17602
- account: simulatedAccount,
17603
- query: {
17604
- enabled: canSimulate,
17605
- retry: false
17606
- }
17607
- });
17608
- const write = useWriteContract();
17609
- const wait = useWaitForTransactionReceipt({
17610
- chainId,
17611
- hash: write.data,
17612
- query: {
17613
- refetchOnWindowFocus: false,
17614
- refetchOnMount: false
17615
- }
17616
- });
17617
- const handledRequestHashRef = useRef(void 0);
17618
- useEffect(() => {
17619
- const requestHash = write.data;
17620
- if (!wait.isSuccess || requestHash == null) return;
17621
- if (handledRequestHashRef.current === requestHash) return;
17622
- handledRequestHashRef.current = requestHash;
17623
- onWaitSuccess?.();
17624
- }, [
17625
- onWaitSuccess,
17626
- wait.isSuccess,
17627
- write.data
17628
- ]);
17629
- const act = useCallback(() => {
17630
- const request = simulate.data?.request;
17631
- return request != null ? write.writeContract(request) : void 0;
17632
- }, [simulate.data?.request, write]);
17633
- const actionLabel = useMemo(() => {
17634
- if (simulate.isLoading) return "Simulating withdrawal execution...";
17635
- if (write.isPending || wait.isLoading) return "Executing withdrawal...";
17636
- return "Execute Withdrawal";
17637
- }, [
17638
- simulate.isLoading,
17639
- write.isPending,
17640
- wait.isLoading
17641
- ]);
17642
- const isLoading = simulate.isLoading || write.isPending || wait.isLoading;
17643
- const error = useMemo(() => {
17644
- if (simulate.error) return parseCustomError(simulate.error);
17645
- if (write.error && !isErrorUserRejection(write.error.message)) return parseCustomError(write.error);
17646
- return void 0;
17647
- }, [simulate.error, write.error]);
17648
- const output = {
17649
- actionLabel,
17650
- act,
17651
- isLoading,
17652
- error,
17653
- simulate,
17654
- write,
17655
- wait
17656
- };
17657
- return {
17658
- ...output,
17659
- claimableAssets: claimableWithdrawals.totalAssets,
17660
- assetsToExecute,
17661
- epochsToExecute,
17662
- multicallCalldatas
17663
- };
17664
- };
17665
-
17666
- //#endregion
17667
- //#region src/hypoVault/hypoVaultManagerArtifacts/BaseUSDCPLPStrategistLeaves.ts
17668
- const BaseUSDCPLPStrategistLeaves = {
17669
- metadata: {
17670
- AccountantAddress: "0x345cA3407942f9d175c9eA8B90e83A36F570f852",
17671
- BoringVaultAddress: "0xb452af299c565D04B05E601efF2840e000C922f1",
17672
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17673
- DigestComposition: [
17674
- "Bytes20(DECODER_AND_SANITIZER_ADDRESS)",
17675
- "Bytes20(TARGET_ADDRESS)",
17676
- "Bytes1(CAN_SEND_VALUE)",
17677
- "Bytes4(TARGET_FUNCTION_SELECTOR)",
17678
- "Bytes{N*20}(ADDRESS_ARGUMENT_0,...,ADDRESS_ARGUMENT_N)"
17679
- ],
17680
- LeafCount: 7,
17681
- ManageRoot: "0x439b725656f4b039bc6f0e69637ca712b889fe92a67b7e3c3bfb048eeb24f54c",
17682
- ManagerAddress: "0xdd6E2406a044582463CFE9F0C774870eAf4A310B",
17683
- TreeCapacity: 8
17684
- },
17685
- leafs: [
17686
- {
17687
- AddressArguments: ["0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2"],
17688
- CanSendValue: false,
17689
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17690
- Description: "Approve poUSDC to spend USDC",
17691
- FunctionSelector: "0x095ea7b3",
17692
- FunctionSignature: "approve(address,uint256)",
17693
- LeafDigest: "0x6ff765f56848bf7b492313985adc8bb3a473a3ad264f95d1dfeb22c6ec083090",
17694
- PackedArgumentAddresses: "0x9ba1082ab3cb9edea988697a14bbe543a3dabed2",
17695
- TargetAddress: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
17696
- },
17697
- {
17698
- AddressArguments: ["0xb452af299c565D04B05E601efF2840e000C922f1"],
17699
- CanSendValue: false,
17700
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17701
- Description: "Deposit USDC for poUSDC",
17702
- FunctionSelector: "0x6e553f65",
17703
- FunctionSignature: "deposit(uint256,address)",
17704
- LeafDigest: "0xaecbb22ecbdb783a69ea9936b99a8d9e21e9921c33eb7e9deee8002f16e2c653",
17705
- PackedArgumentAddresses: "0xb452af299c565d04b05e601eff2840e000c922f1",
17706
- TargetAddress: "0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2"
17707
- },
17708
- {
17709
- AddressArguments: ["0xb452af299c565D04B05E601efF2840e000C922f1", "0xb452af299c565D04B05E601efF2840e000C922f1"],
17710
- CanSendValue: false,
17711
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17712
- Description: "Withdraw USDC from poUSDC",
17713
- FunctionSelector: "0xb460af94",
17714
- FunctionSignature: "withdraw(uint256,address,address)",
17715
- LeafDigest: "0xd42657b7a5e2ca4a277a22ec2a423213c751079d3bee560aa0c27503d3365882",
17716
- PackedArgumentAddresses: "0xb452af299c565d04b05e601eff2840e000c922f1b452af299c565d04b05e601eff2840e000c922f1",
17717
- TargetAddress: "0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2"
17718
- },
17719
- {
17720
- AddressArguments: ["0xb452af299c565D04B05E601efF2840e000C922f1", "0xb452af299c565D04B05E601efF2840e000C922f1"],
17721
- CanSendValue: false,
17722
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17723
- Description: "Withdraw USDC from poUSDC (with open positions)",
17724
- FunctionSelector: "0xe51161ba",
17725
- FunctionSignature: "withdraw(uint256,address,address,uint256[],bool)",
17726
- LeafDigest: "0x5aea6888874c2cb0d8cdebf1faf46597700148efb3b34eb9c45824d7be96fa08",
17727
- PackedArgumentAddresses: "0xb452af299c565d04b05e601eff2840e000c922f1b452af299c565d04b05e601eff2840e000c922f1",
17728
- TargetAddress: "0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2"
17729
- },
17730
- {
17731
- AddressArguments: ["0xb452af299c565D04B05E601efF2840e000C922f1"],
17732
- CanSendValue: false,
17733
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17734
- Description: "Mint poUSDC using USDC",
17735
- FunctionSelector: "0x94bf804d",
17736
- FunctionSignature: "mint(uint256,address)",
17737
- LeafDigest: "0x0388d6fd19c028547765a79cfda374bc28b63fb5a7d7917140d3a4bf9291735c",
17738
- PackedArgumentAddresses: "0xb452af299c565d04b05e601eff2840e000c922f1",
17739
- TargetAddress: "0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2"
17740
- },
17741
- {
17742
- AddressArguments: ["0xb452af299c565D04B05E601efF2840e000C922f1", "0xb452af299c565D04B05E601efF2840e000C922f1"],
17743
- CanSendValue: false,
17744
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17745
- Description: "Redeem poUSDC for USDC",
17746
- FunctionSelector: "0xba087652",
17747
- FunctionSignature: "redeem(uint256,address,address)",
17748
- LeafDigest: "0x48991b25cb2c04123611ac39bb8a263b3b5e017df450f8b99043c6b011c47e04",
17749
- PackedArgumentAddresses: "0xb452af299c565d04b05e601eff2840e000c922f1b452af299c565d04b05e601eff2840e000c922f1",
17750
- TargetAddress: "0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2"
17751
- },
17752
- {
17753
- AddressArguments: [],
17754
- CanSendValue: false,
17755
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17756
- Description: "Dispatch mint/burn options on PanopticPool",
17757
- FunctionSelector: "0xc25813aa",
17758
- FunctionSignature: "dispatch(uint256[],uint256[],uint128[],int24[3][],bool,uint256)",
17759
- LeafDigest: "0x3511807d2f289860aabed888c5f014d6e702ac8e7190c3d1be484184062f275f",
17760
- PackedArgumentAddresses: "0x",
17761
- TargetAddress: "0xB50e8bb68f5855DA742f4579274902a20454174a"
17762
- },
17763
- {
17764
- AddressArguments: [],
17765
- CanSendValue: false,
17766
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
17767
- Description: "",
17768
- FunctionSelector: "0xc5d24601",
17769
- FunctionSignature: "",
17770
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
17771
- PackedArgumentAddresses: "0x",
17772
- TargetAddress: "0x0000000000000000000000000000000000000000"
17773
- }
17774
- ],
17775
- MerkleTree: {
17776
- "0": ["0x439b725656f4b039bc6f0e69637ca712b889fe92a67b7e3c3bfb048eeb24f54c"],
17777
- "1": ["0xd9d6b3d3269db0f4cf00c2cd272d4062df2755d6cb946ea297ef3d4dae263b53", "0x2402ea021b1c733b28a9994cff136ea03b25da458d771a3b6b439714a5f65189"],
17778
- "2": [
17779
- "0x0f6b2076ed836e73653bccbeca0b14cd622a9008ce63207efe0b68ff8c1752bc",
17780
- "0xa15b4791c182b7a60aba42320f3b0e546bc7b9f9c7f630405046fd9eb8a4e03b",
17781
- "0x93fa6bdda33957e9c908718cae7b6422b249b1a4c173bb1504970f315c3e9175",
17782
- "0x467a4c913fa1e6e405c9c223eb47ab4ea399eb79a20f231961d6fbc28836171f"
17783
- ],
17784
- "3": [
17785
- "0x6ff765f56848bf7b492313985adc8bb3a473a3ad264f95d1dfeb22c6ec083090",
17786
- "0xaecbb22ecbdb783a69ea9936b99a8d9e21e9921c33eb7e9deee8002f16e2c653",
17787
- "0xd42657b7a5e2ca4a277a22ec2a423213c751079d3bee560aa0c27503d3365882",
17788
- "0x5aea6888874c2cb0d8cdebf1faf46597700148efb3b34eb9c45824d7be96fa08",
17789
- "0x0388d6fd19c028547765a79cfda374bc28b63fb5a7d7917140d3a4bf9291735c",
17790
- "0x48991b25cb2c04123611ac39bb8a263b3b5e017df450f8b99043c6b011c47e04",
17791
- "0x3511807d2f289860aabed888c5f014d6e702ac8e7190c3d1be484184062f275f",
17792
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400"
17793
- ]
17794
- }
17795
- };
17796
-
17797
- //#endregion
17798
- //#region src/hypoVault/hypoVaultManagerArtifacts/BaseWETHPLPStrategistLeaves.ts
17799
- const BaseWETHPLPStrategistLeaves = {
17800
- metadata: {
17801
- AccountantAddress: "0x345cA3407942f9d175c9eA8B90e83A36F570f852",
17802
- BoringVaultAddress: "0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04",
17803
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17804
- DigestComposition: [
17805
- "Bytes20(DECODER_AND_SANITIZER_ADDRESS)",
17806
- "Bytes20(TARGET_ADDRESS)",
17807
- "Bytes1(CAN_SEND_VALUE)",
17808
- "Bytes4(TARGET_FUNCTION_SELECTOR)",
17809
- "Bytes{N*20}(ADDRESS_ARGUMENT_0,...,ADDRESS_ARGUMENT_N)"
17810
- ],
17811
- LeafCount: 8,
17812
- ManageRoot: "0xf16b7de890ba886cfdd082d38de768914d04ccc8048da00d4ddc9c4a91e5a927",
17813
- ManagerAddress: "0x2a4923456c79E9ebD10F5Bf5305a5C742bBc1D7C",
17814
- TreeCapacity: 8
17815
- },
17816
- leafs: [
17817
- {
17818
- AddressArguments: ["0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04"],
17819
- CanSendValue: true,
17820
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17821
- Description: "Deposit ETH for poETH (payable)",
17822
- FunctionSelector: "0x6e553f65",
17823
- FunctionSignature: "deposit(uint256,address)",
17824
- LeafDigest: "0x49a37c69f7895816355583596b4be0aeacdde14b42ee6ab030db48060b76e65b",
17825
- PackedArgumentAddresses: "0x41b7d0515d709a4fd2cf27f9d141d0c2f8713d04",
17826
- TargetAddress: "0x0d82b189c96EbB1f44A7207e6A9cfB1e490f2869"
17827
- },
17828
- {
17829
- AddressArguments: ["0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04", "0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04"],
17830
- CanSendValue: false,
17831
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17832
- Description: "Withdraw ETH from poETH",
17833
- FunctionSelector: "0xb460af94",
17834
- FunctionSignature: "withdraw(uint256,address,address)",
17835
- LeafDigest: "0xe333260c717c7d627669bc93c828e0a7428e77a4123cf3cf8ddd34dcdc1c04d2",
17836
- PackedArgumentAddresses: "0x41b7d0515d709a4fd2cf27f9d141d0c2f8713d0441b7d0515d709a4fd2cf27f9d141d0c2f8713d04",
17837
- TargetAddress: "0x0d82b189c96EbB1f44A7207e6A9cfB1e490f2869"
17838
- },
17839
- {
17840
- AddressArguments: ["0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04", "0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04"],
17841
- CanSendValue: false,
17842
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17843
- Description: "Withdraw ETH from poETH (with open positions)",
17844
- FunctionSelector: "0xe51161ba",
17845
- FunctionSignature: "withdraw(uint256,address,address,uint256[],bool)",
17846
- LeafDigest: "0x0c81b5dfdbae415ec481accb604d0242422780c21f03023d93b6965554645eaf",
17847
- PackedArgumentAddresses: "0x41b7d0515d709a4fd2cf27f9d141d0c2f8713d0441b7d0515d709a4fd2cf27f9d141d0c2f8713d04",
17848
- TargetAddress: "0x0d82b189c96EbB1f44A7207e6A9cfB1e490f2869"
17849
- },
17850
- {
17851
- AddressArguments: ["0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04"],
17852
- CanSendValue: true,
17853
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17854
- Description: "Mint poETH using ETH (payable)",
17855
- FunctionSelector: "0x94bf804d",
17856
- FunctionSignature: "mint(uint256,address)",
17857
- LeafDigest: "0xf67de3c599396a1de64f6e444371d3f535ca07fec79e45f32e5b59012247ec4e",
17858
- PackedArgumentAddresses: "0x41b7d0515d709a4fd2cf27f9d141d0c2f8713d04",
17859
- TargetAddress: "0x0d82b189c96EbB1f44A7207e6A9cfB1e490f2869"
17860
- },
17861
- {
17862
- AddressArguments: ["0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04", "0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04"],
17863
- CanSendValue: false,
17864
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17865
- Description: "Redeem poETH for ETH",
17866
- FunctionSelector: "0xba087652",
17867
- FunctionSignature: "redeem(uint256,address,address)",
17868
- LeafDigest: "0x1c458519bcbe83c91581ae657571e885e5912920579433baae833f7b7d189444",
17869
- PackedArgumentAddresses: "0x41b7d0515d709a4fd2cf27f9d141d0c2f8713d0441b7d0515d709a4fd2cf27f9d141d0c2f8713d04",
17870
- TargetAddress: "0x0d82b189c96EbB1f44A7207e6A9cfB1e490f2869"
17871
- },
17872
- {
17873
- AddressArguments: [],
17874
- CanSendValue: false,
17875
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17876
- Description: "Dispatch mint/burn options on PanopticPool",
17877
- FunctionSelector: "0xc25813aa",
17878
- FunctionSignature: "dispatch(uint256[],uint256[],uint128[],int24[3][],bool,uint256)",
17879
- LeafDigest: "0x3511807d2f289860aabed888c5f014d6e702ac8e7190c3d1be484184062f275f",
17880
- PackedArgumentAddresses: "0x",
17881
- TargetAddress: "0xB50e8bb68f5855DA742f4579274902a20454174a"
17882
- },
17883
- {
17884
- AddressArguments: [],
17885
- CanSendValue: true,
17886
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17887
- Description: "Wrap ETH to WETH",
17888
- FunctionSelector: "0xd0e30db0",
17889
- FunctionSignature: "deposit()",
17890
- LeafDigest: "0xed6a02d4b0a38222eef73d975ec7adc5ca881f53678819679a498d6a9e1b01cc",
17891
- PackedArgumentAddresses: "0x",
17892
- TargetAddress: "0x4200000000000000000000000000000000000006"
17893
- },
17894
- {
17895
- AddressArguments: [],
17896
- CanSendValue: false,
17897
- DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17898
- Description: "Unwrap WETH to ETH",
17899
- FunctionSelector: "0x2e1a7d4d",
17900
- FunctionSignature: "withdraw(uint256)",
17901
- LeafDigest: "0x318f82b3dc0e3981caaa2cb243c7f6db03baf1b181aea535e60af815c49d1420",
17902
- PackedArgumentAddresses: "0x",
17903
- TargetAddress: "0x4200000000000000000000000000000000000006"
17952
+ multicallCalldatas
17953
+ }),
17954
+ account: simulatedAccount,
17955
+ query: {
17956
+ enabled: canSimulate,
17957
+ retry: false
17904
17958
  }
17905
- ],
17906
- MerkleTree: {
17907
- "0": ["0xf16b7de890ba886cfdd082d38de768914d04ccc8048da00d4ddc9c4a91e5a927"],
17908
- "1": ["0x568a4614a67249f65190b0a948555aa171897ba2ad5045a66366fbda3d007376", "0xbca42dbe1178a2df33362800b614a08e5ed5943f89c7feb03c90adccb974be09"],
17909
- "2": [
17910
- "0x3ab7b6d39bf1809f2258285158d6b81c648c96f0bc8232bf16527c7e2b20ffce",
17911
- "0x5c00194ec30f9320748cfbd831212d634db8c5b1c391e564c34df090ea7e8695",
17912
- "0xec9b0f61187d82d9ef3c32779d17957899b456a92bdf60167d95ea0475393406",
17913
- "0x92726c93facfe3bdc63d5185a232caeb254ac1820afbc57337476304fc233723"
17914
- ],
17915
- "3": [
17916
- "0x49a37c69f7895816355583596b4be0aeacdde14b42ee6ab030db48060b76e65b",
17917
- "0xe333260c717c7d627669bc93c828e0a7428e77a4123cf3cf8ddd34dcdc1c04d2",
17918
- "0x0c81b5dfdbae415ec481accb604d0242422780c21f03023d93b6965554645eaf",
17919
- "0xf67de3c599396a1de64f6e444371d3f535ca07fec79e45f32e5b59012247ec4e",
17920
- "0x1c458519bcbe83c91581ae657571e885e5912920579433baae833f7b7d189444",
17921
- "0x3511807d2f289860aabed888c5f014d6e702ac8e7190c3d1be484184062f275f",
17922
- "0xed6a02d4b0a38222eef73d975ec7adc5ca881f53678819679a498d6a9e1b01cc",
17923
- "0x318f82b3dc0e3981caaa2cb243c7f6db03baf1b181aea535e60af815c49d1420"
17924
- ]
17925
- }
17959
+ });
17960
+ const write = useWriteContract();
17961
+ const wait = useWaitForTransactionReceipt({
17962
+ chainId,
17963
+ hash: write.data,
17964
+ query: {
17965
+ refetchOnWindowFocus: false,
17966
+ refetchOnMount: false
17967
+ }
17968
+ });
17969
+ const handledRequestHashRef = useRef(void 0);
17970
+ useEffect(() => {
17971
+ const requestHash = write.data;
17972
+ if (!wait.isSuccess || requestHash == null) return;
17973
+ if (handledRequestHashRef.current === requestHash) return;
17974
+ handledRequestHashRef.current = requestHash;
17975
+ onWaitSuccess?.();
17976
+ }, [
17977
+ onWaitSuccess,
17978
+ wait.isSuccess,
17979
+ write.data
17980
+ ]);
17981
+ const act = useCallback(() => {
17982
+ const request = simulate.data?.request;
17983
+ return request != null ? write.writeContract(request) : void 0;
17984
+ }, [simulate.data?.request, write]);
17985
+ const actionLabel = useMemo(() => {
17986
+ if (simulate.isLoading) return "Simulating withdrawal execution...";
17987
+ if (write.isPending || wait.isLoading) return "Executing withdrawal...";
17988
+ return "Execute Withdrawal";
17989
+ }, [
17990
+ simulate.isLoading,
17991
+ write.isPending,
17992
+ wait.isLoading
17993
+ ]);
17994
+ const isLoading = simulate.isLoading || write.isPending || wait.isLoading;
17995
+ const error = useMemo(() => {
17996
+ if (simulate.error) return parseCustomError(simulate.error);
17997
+ if (write.error && !isErrorUserRejection(write.error.message)) return parseCustomError(write.error);
17998
+ return void 0;
17999
+ }, [simulate.error, write.error]);
18000
+ const output = {
18001
+ actionLabel,
18002
+ act,
18003
+ isLoading,
18004
+ error,
18005
+ simulate,
18006
+ write,
18007
+ wait
18008
+ };
18009
+ return {
18010
+ ...output,
18011
+ claimableAssets: claimableWithdrawals.totalAssets,
18012
+ assetsToExecute,
18013
+ epochsToExecute,
18014
+ multicallCalldatas
18015
+ };
17926
18016
  };
17927
18017
 
17928
18018
  //#endregion
17929
- //#region src/hypoVault/hypoVaultManagerArtifacts/MainnetLegacyUSDCPLPStrategistLeaves.ts
17930
- const MainnetLegacyUSDCPLPStrategistLeaves = {
18019
+ //#region src/hypoVault/hypoVaultManagerArtifacts/BaseUSDCPLPStrategistLeaves.ts
18020
+ const BaseUSDCPLPStrategistLeaves = {
17931
18021
  metadata: {
17932
- AccountantAddress: "0xCCAA8adC2776786Fd0A14Fb1f22D6089E0637a49",
17933
- BoringVaultAddress: "0x963Fe9c93bc353602656ee4051A75114bA74d6c5",
17934
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18022
+ AccountantAddress: "0x345cA3407942f9d175c9eA8B90e83A36F570f852",
18023
+ BoringVaultAddress: "0xb452af299c565D04B05E601efF2840e000C922f1",
18024
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17935
18025
  DigestComposition: [
17936
18026
  "Bytes20(DECODER_AND_SANITIZER_ADDRESS)",
17937
18027
  "Bytes20(TARGET_ADDRESS)",
@@ -17939,176 +18029,88 @@ const MainnetLegacyUSDCPLPStrategistLeaves = {
17939
18029
  "Bytes4(TARGET_FUNCTION_SELECTOR)",
17940
18030
  "Bytes{N*20}(ADDRESS_ARGUMENT_0,...,ADDRESS_ARGUMENT_N)"
17941
18031
  ],
17942
- LeafCount: 10,
17943
- ManageRoot: "0x4df5c1b82729c2e070ab0923230e57bb0d0ee3a0f29159178c1315b4cb47d735",
17944
- ManagerAddress: "0xf42EED8F0d3326ad59fc1f5d4c4009B5F6B4D87c",
17945
- TreeCapacity: 16
18032
+ LeafCount: 7,
18033
+ ManageRoot: "0x439b725656f4b039bc6f0e69637ca712b889fe92a67b7e3c3bfb048eeb24f54c",
18034
+ ManagerAddress: "0xdd6E2406a044582463CFE9F0C774870eAf4A310B",
18035
+ TreeCapacity: 8
17946
18036
  },
17947
18037
  leafs: [
17948
18038
  {
17949
- AddressArguments: ["0x6778d652A0BCe658C9a0E27D506eA20D179140e5"],
18039
+ AddressArguments: ["0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2"],
17950
18040
  CanSendValue: false,
17951
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18041
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17952
18042
  Description: "Approve poUSDC to spend USDC",
17953
18043
  FunctionSelector: "0x095ea7b3",
17954
18044
  FunctionSignature: "approve(address,uint256)",
17955
- LeafDigest: "0x346f207a137fe0706e1762800b928a9a5b77a1413a33ba8f204cf44d680ea7b4",
17956
- PackedArgumentAddresses: "0x6778d652a0bce658c9a0e27d506ea20d179140e5",
17957
- TargetAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
18045
+ LeafDigest: "0x6ff765f56848bf7b492313985adc8bb3a473a3ad264f95d1dfeb22c6ec083090",
18046
+ PackedArgumentAddresses: "0x9ba1082ab3cb9edea988697a14bbe543a3dabed2",
18047
+ TargetAddress: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
17958
18048
  },
17959
18049
  {
17960
- AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18050
+ AddressArguments: ["0xb452af299c565D04B05E601efF2840e000C922f1"],
17961
18051
  CanSendValue: false,
17962
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18052
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17963
18053
  Description: "Deposit USDC for poUSDC",
17964
18054
  FunctionSelector: "0x6e553f65",
17965
18055
  FunctionSignature: "deposit(uint256,address)",
17966
- LeafDigest: "0x0ba88b5dab9627bfd3e0fdc7d71942f45d26a0fb325de026c1fbaf69e0e56dad",
17967
- PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5",
17968
- TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18056
+ LeafDigest: "0xaecbb22ecbdb783a69ea9936b99a8d9e21e9921c33eb7e9deee8002f16e2c653",
18057
+ PackedArgumentAddresses: "0xb452af299c565d04b05e601eff2840e000c922f1",
18058
+ TargetAddress: "0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2"
17969
18059
  },
17970
18060
  {
17971
- AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5", "0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18061
+ AddressArguments: ["0xb452af299c565D04B05E601efF2840e000C922f1", "0xb452af299c565D04B05E601efF2840e000C922f1"],
17972
18062
  CanSendValue: false,
17973
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18063
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17974
18064
  Description: "Withdraw USDC from poUSDC",
17975
18065
  FunctionSelector: "0xb460af94",
17976
18066
  FunctionSignature: "withdraw(uint256,address,address)",
17977
- LeafDigest: "0xf0056965e40ae08d0b2008a238b1c534bdb8fe9a9781ed4b4210d46220c686a8",
17978
- PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5963fe9c93bc353602656ee4051a75114ba74d6c5",
17979
- TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18067
+ LeafDigest: "0xd42657b7a5e2ca4a277a22ec2a423213c751079d3bee560aa0c27503d3365882",
18068
+ PackedArgumentAddresses: "0xb452af299c565d04b05e601eff2840e000c922f1b452af299c565d04b05e601eff2840e000c922f1",
18069
+ TargetAddress: "0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2"
17980
18070
  },
17981
18071
  {
17982
- AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5", "0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18072
+ AddressArguments: ["0xb452af299c565D04B05E601efF2840e000C922f1", "0xb452af299c565D04B05E601efF2840e000C922f1"],
17983
18073
  CanSendValue: false,
17984
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18074
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17985
18075
  Description: "Withdraw USDC from poUSDC (with open positions)",
17986
18076
  FunctionSelector: "0xe51161ba",
17987
18077
  FunctionSignature: "withdraw(uint256,address,address,uint256[],bool)",
17988
- LeafDigest: "0x5dde5a861d62c41e316d6962260d8742601815f56f3b06f10b6543648e3ee1f0",
17989
- PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5963fe9c93bc353602656ee4051a75114ba74d6c5",
17990
- TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18078
+ LeafDigest: "0x5aea6888874c2cb0d8cdebf1faf46597700148efb3b34eb9c45824d7be96fa08",
18079
+ PackedArgumentAddresses: "0xb452af299c565d04b05e601eff2840e000c922f1b452af299c565d04b05e601eff2840e000c922f1",
18080
+ TargetAddress: "0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2"
17991
18081
  },
17992
18082
  {
17993
- AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18083
+ AddressArguments: ["0xb452af299c565D04B05E601efF2840e000C922f1"],
17994
18084
  CanSendValue: false,
17995
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18085
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
17996
18086
  Description: "Mint poUSDC using USDC",
17997
18087
  FunctionSelector: "0x94bf804d",
17998
18088
  FunctionSignature: "mint(uint256,address)",
17999
- LeafDigest: "0x0282b6e97c1a52b881c9480ea44fc4a2cdd46abbd0703b0c40388c6acefa715a",
18000
- PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5",
18001
- TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18089
+ LeafDigest: "0x0388d6fd19c028547765a79cfda374bc28b63fb5a7d7917140d3a4bf9291735c",
18090
+ PackedArgumentAddresses: "0xb452af299c565d04b05e601eff2840e000c922f1",
18091
+ TargetAddress: "0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2"
18002
18092
  },
18003
18093
  {
18004
- AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5", "0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18094
+ AddressArguments: ["0xb452af299c565D04B05E601efF2840e000C922f1", "0xb452af299c565D04B05E601efF2840e000C922f1"],
18005
18095
  CanSendValue: false,
18006
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18096
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
18007
18097
  Description: "Redeem poUSDC for USDC",
18008
18098
  FunctionSelector: "0xba087652",
18009
18099
  FunctionSignature: "redeem(uint256,address,address)",
18010
- LeafDigest: "0xf4c92c489022aae42690da9bbae84e23acb28b7495aa8a58965fd0173f0c16ad",
18011
- PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5963fe9c93bc353602656ee4051a75114ba74d6c5",
18012
- TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18100
+ LeafDigest: "0x48991b25cb2c04123611ac39bb8a263b3b5e017df450f8b99043c6b011c47e04",
18101
+ PackedArgumentAddresses: "0xb452af299c565d04b05e601eff2840e000c922f1b452af299c565d04b05e601eff2840e000c922f1",
18102
+ TargetAddress: "0x9ba1082Ab3cb9edEA988697A14BBe543A3dABEd2"
18013
18103
  },
18014
18104
  {
18015
18105
  AddressArguments: [],
18016
18106
  CanSendValue: false,
18017
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18107
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
18018
18108
  Description: "Dispatch mint/burn options on PanopticPool",
18019
18109
  FunctionSelector: "0xc25813aa",
18020
18110
  FunctionSignature: "dispatch(uint256[],uint256[],uint128[],int24[3][],bool,uint256)",
18021
- LeafDigest: "0x82a883bd80ac38a61ce761a509a6e6ce10659099fc872db39cbb940abd356e29",
18022
- PackedArgumentAddresses: "0x",
18023
- TargetAddress: "0x000000007588B488d180899cDEa2080a886D2441"
18024
- },
18025
- {
18026
- AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18027
- CanSendValue: true,
18028
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18029
- Description: "Deposit ETH for poETH (payable)",
18030
- FunctionSelector: "0x6e553f65",
18031
- FunctionSignature: "deposit(uint256,address)",
18032
- LeafDigest: "0xca0ff0331ca1493aa7c0a7c06e1ad55cb2dc63a4b854474a628b520fe45f480e",
18033
- PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5",
18034
- TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18035
- },
18036
- {
18037
- AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5", "0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18038
- CanSendValue: false,
18039
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18040
- Description: "Withdraw ETH from poETH",
18041
- FunctionSelector: "0xb460af94",
18042
- FunctionSignature: "withdraw(uint256,address,address)",
18043
- LeafDigest: "0xcf5f157610c7f41c82d5ab9fe7cfa154d399b9b374ead620b95df9bfe1150caf",
18044
- PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5963fe9c93bc353602656ee4051a75114ba74d6c5",
18045
- TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18046
- },
18047
- {
18048
- AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5", "0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18049
- CanSendValue: false,
18050
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18051
- Description: "Withdraw ETH from poETH (with open positions)",
18052
- FunctionSelector: "0xe51161ba",
18053
- FunctionSignature: "withdraw(uint256,address,address,uint256[],bool)",
18054
- LeafDigest: "0x0b5e6f71c235d36249a399400fa6741c4d6a56f3b458d85aeacd206e61aafeed",
18055
- PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5963fe9c93bc353602656ee4051a75114ba74d6c5",
18056
- TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18057
- },
18058
- {
18059
- AddressArguments: [],
18060
- CanSendValue: false,
18061
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
18062
- Description: "",
18063
- FunctionSelector: "0xc5d24601",
18064
- FunctionSignature: "",
18065
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18066
- PackedArgumentAddresses: "0x",
18067
- TargetAddress: "0x0000000000000000000000000000000000000000"
18068
- },
18069
- {
18070
- AddressArguments: [],
18071
- CanSendValue: false,
18072
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
18073
- Description: "",
18074
- FunctionSelector: "0xc5d24601",
18075
- FunctionSignature: "",
18076
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18077
- PackedArgumentAddresses: "0x",
18078
- TargetAddress: "0x0000000000000000000000000000000000000000"
18079
- },
18080
- {
18081
- AddressArguments: [],
18082
- CanSendValue: false,
18083
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
18084
- Description: "",
18085
- FunctionSelector: "0xc5d24601",
18086
- FunctionSignature: "",
18087
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18088
- PackedArgumentAddresses: "0x",
18089
- TargetAddress: "0x0000000000000000000000000000000000000000"
18090
- },
18091
- {
18092
- AddressArguments: [],
18093
- CanSendValue: false,
18094
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
18095
- Description: "",
18096
- FunctionSelector: "0xc5d24601",
18097
- FunctionSignature: "",
18098
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18099
- PackedArgumentAddresses: "0x",
18100
- TargetAddress: "0x0000000000000000000000000000000000000000"
18101
- },
18102
- {
18103
- AddressArguments: [],
18104
- CanSendValue: false,
18105
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
18106
- Description: "",
18107
- FunctionSelector: "0xc5d24601",
18108
- FunctionSignature: "",
18109
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18111
+ LeafDigest: "0x3511807d2f289860aabed888c5f014d6e702ac8e7190c3d1be484184062f275f",
18110
18112
  PackedArgumentAddresses: "0x",
18111
- TargetAddress: "0x0000000000000000000000000000000000000000"
18113
+ TargetAddress: "0xB50e8bb68f5855DA742f4579274902a20454174a"
18112
18114
  },
18113
18115
  {
18114
18116
  AddressArguments: [],
@@ -18123,52 +18125,34 @@ const MainnetLegacyUSDCPLPStrategistLeaves = {
18123
18125
  }
18124
18126
  ],
18125
18127
  MerkleTree: {
18126
- "0": ["0x4df5c1b82729c2e070ab0923230e57bb0d0ee3a0f29159178c1315b4cb47d735"],
18127
- "1": ["0xbac4becc6803fad3b5048929ab579b3bcb2d3b5d746b8b0cbe83ffab3bd02af3", "0x114252b1f2edd8a0cd246246732ee3e293e423ff6de8631e42db3d1994c0b628"],
18128
+ "0": ["0x439b725656f4b039bc6f0e69637ca712b889fe92a67b7e3c3bfb048eeb24f54c"],
18129
+ "1": ["0xd9d6b3d3269db0f4cf00c2cd272d4062df2755d6cb946ea297ef3d4dae263b53", "0x2402ea021b1c733b28a9994cff136ea03b25da458d771a3b6b439714a5f65189"],
18128
18130
  "2": [
18129
- "0xdc61bb3a67e08f65ae5fb69d313d6145340a5b2d58ab80b22ce3eb9271444917",
18130
- "0x1b07cee6fe14ac13400398311846511425edc4858a1179d1f0d8ad648544f98a",
18131
- "0x7c66b4febed550fbb3f11d6b2814491f9423466cc7ef4e16325bac47e4a6bbd6",
18132
- "0x849eda7a295b642e5ddaf49a30eec4470cf507efa83b4104c0752d069c7638fe"
18131
+ "0x0f6b2076ed836e73653bccbeca0b14cd622a9008ce63207efe0b68ff8c1752bc",
18132
+ "0xa15b4791c182b7a60aba42320f3b0e546bc7b9f9c7f630405046fd9eb8a4e03b",
18133
+ "0x93fa6bdda33957e9c908718cae7b6422b249b1a4c173bb1504970f315c3e9175",
18134
+ "0x467a4c913fa1e6e405c9c223eb47ab4ea399eb79a20f231961d6fbc28836171f"
18133
18135
  ],
18134
18136
  "3": [
18135
- "0x032280a8f6377dba443a56ec7d00b3c6d2942fe090d3aeb30613a19fdc90569f",
18136
- "0x8a117d51d3bd6ac0a55e9f6a574beed72c865f741ef824ae9784f3d721fc086d",
18137
- "0x925bc995a913d6722560d46f4e0c1560a916430387ec44c1505c487ce7f2ee03",
18138
- "0xeab476d6a326a74d5a1297a40d1a6af5cf0b37320e41f3b342b379cd6b5d6a65",
18139
- "0xbf5201e2b1c88fbe98051b963eb82aaa2433395760c9816b8a7c502039792074",
18140
- "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba",
18141
- "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba",
18142
- "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba"
18143
- ],
18144
- "4": [
18145
- "0x346f207a137fe0706e1762800b928a9a5b77a1413a33ba8f204cf44d680ea7b4",
18146
- "0x0ba88b5dab9627bfd3e0fdc7d71942f45d26a0fb325de026c1fbaf69e0e56dad",
18147
- "0xf0056965e40ae08d0b2008a238b1c534bdb8fe9a9781ed4b4210d46220c686a8",
18148
- "0x5dde5a861d62c41e316d6962260d8742601815f56f3b06f10b6543648e3ee1f0",
18149
- "0x0282b6e97c1a52b881c9480ea44fc4a2cdd46abbd0703b0c40388c6acefa715a",
18150
- "0xf4c92c489022aae42690da9bbae84e23acb28b7495aa8a58965fd0173f0c16ad",
18151
- "0x82a883bd80ac38a61ce761a509a6e6ce10659099fc872db39cbb940abd356e29",
18152
- "0xca0ff0331ca1493aa7c0a7c06e1ad55cb2dc63a4b854474a628b520fe45f480e",
18153
- "0xcf5f157610c7f41c82d5ab9fe7cfa154d399b9b374ead620b95df9bfe1150caf",
18154
- "0x0b5e6f71c235d36249a399400fa6741c4d6a56f3b458d85aeacd206e61aafeed",
18155
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18156
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18157
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18158
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18159
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18137
+ "0x6ff765f56848bf7b492313985adc8bb3a473a3ad264f95d1dfeb22c6ec083090",
18138
+ "0xaecbb22ecbdb783a69ea9936b99a8d9e21e9921c33eb7e9deee8002f16e2c653",
18139
+ "0xd42657b7a5e2ca4a277a22ec2a423213c751079d3bee560aa0c27503d3365882",
18140
+ "0x5aea6888874c2cb0d8cdebf1faf46597700148efb3b34eb9c45824d7be96fa08",
18141
+ "0x0388d6fd19c028547765a79cfda374bc28b63fb5a7d7917140d3a4bf9291735c",
18142
+ "0x48991b25cb2c04123611ac39bb8a263b3b5e017df450f8b99043c6b011c47e04",
18143
+ "0x3511807d2f289860aabed888c5f014d6e702ac8e7190c3d1be484184062f275f",
18160
18144
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400"
18161
18145
  ]
18162
18146
  }
18163
18147
  };
18164
18148
 
18165
18149
  //#endregion
18166
- //#region src/hypoVault/hypoVaultManagerArtifacts/MainnetLegacyWETHPLPStrategistLeaves.ts
18167
- const MainnetLegacyWETHPLPStrategistLeaves = {
18150
+ //#region src/hypoVault/hypoVaultManagerArtifacts/BaseWETHPLPStrategistLeaves.ts
18151
+ const BaseWETHPLPStrategistLeaves = {
18168
18152
  metadata: {
18169
- AccountantAddress: "0xCCAA8adC2776786Fd0A14Fb1f22D6089E0637a49",
18170
- BoringVaultAddress: "0x779a2aa634A004b3a3f3b322083744869BBC6D66",
18171
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18153
+ AccountantAddress: "0x345cA3407942f9d175c9eA8B90e83A36F570f852",
18154
+ BoringVaultAddress: "0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04",
18155
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
18172
18156
  DigestComposition: [
18173
18157
  "Bytes20(DECODER_AND_SANITIZER_ADDRESS)",
18174
18158
  "Bytes20(TARGET_ADDRESS)",
@@ -18176,236 +18160,130 @@ const MainnetLegacyWETHPLPStrategistLeaves = {
18176
18160
  "Bytes4(TARGET_FUNCTION_SELECTOR)",
18177
18161
  "Bytes{N*20}(ADDRESS_ARGUMENT_0,...,ADDRESS_ARGUMENT_N)"
18178
18162
  ],
18179
- LeafCount: 12,
18180
- ManageRoot: "0xd097509d7b1fc6f899a47b8d06f8a5e2b3337ee8b98e77ef612a1c54a79370c8",
18181
- ManagerAddress: "0xcc80f113298DdF9D399323D5288aE5Eeaed20D44",
18182
- TreeCapacity: 16
18163
+ LeafCount: 8,
18164
+ ManageRoot: "0xf16b7de890ba886cfdd082d38de768914d04ccc8048da00d4ddc9c4a91e5a927",
18165
+ ManagerAddress: "0x2a4923456c79E9ebD10F5Bf5305a5C742bBc1D7C",
18166
+ TreeCapacity: 8
18183
18167
  },
18184
18168
  leafs: [
18185
18169
  {
18186
- AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18170
+ AddressArguments: ["0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04"],
18187
18171
  CanSendValue: true,
18188
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18172
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
18189
18173
  Description: "Deposit ETH for poETH (payable)",
18190
18174
  FunctionSelector: "0x6e553f65",
18191
18175
  FunctionSignature: "deposit(uint256,address)",
18192
- LeafDigest: "0x8c7514a7c7a2fcc2879277fddd57e0fb909a347d9870acec7072837bc6cc845f",
18193
- PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66",
18194
- TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18176
+ LeafDigest: "0x49a37c69f7895816355583596b4be0aeacdde14b42ee6ab030db48060b76e65b",
18177
+ PackedArgumentAddresses: "0x41b7d0515d709a4fd2cf27f9d141d0c2f8713d04",
18178
+ TargetAddress: "0x0d82b189c96EbB1f44A7207e6A9cfB1e490f2869"
18195
18179
  },
18196
18180
  {
18197
- AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66", "0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18181
+ AddressArguments: ["0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04", "0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04"],
18198
18182
  CanSendValue: false,
18199
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18183
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
18200
18184
  Description: "Withdraw ETH from poETH",
18201
18185
  FunctionSelector: "0xb460af94",
18202
18186
  FunctionSignature: "withdraw(uint256,address,address)",
18203
- LeafDigest: "0xe56b3e14b4827a05f29eb8831783ae2dc367fa07d4119dafcca902a21d57e580",
18204
- PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66779a2aa634a004b3a3f3b322083744869bbc6d66",
18205
- TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18187
+ LeafDigest: "0xe333260c717c7d627669bc93c828e0a7428e77a4123cf3cf8ddd34dcdc1c04d2",
18188
+ PackedArgumentAddresses: "0x41b7d0515d709a4fd2cf27f9d141d0c2f8713d0441b7d0515d709a4fd2cf27f9d141d0c2f8713d04",
18189
+ TargetAddress: "0x0d82b189c96EbB1f44A7207e6A9cfB1e490f2869"
18206
18190
  },
18207
18191
  {
18208
- AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66", "0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18192
+ AddressArguments: ["0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04", "0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04"],
18209
18193
  CanSendValue: false,
18210
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18194
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
18211
18195
  Description: "Withdraw ETH from poETH (with open positions)",
18212
18196
  FunctionSelector: "0xe51161ba",
18213
18197
  FunctionSignature: "withdraw(uint256,address,address,uint256[],bool)",
18214
- LeafDigest: "0xa8a9f210396743484d4b09e374d3e38af4d8d1a10197894c1ea3d16000bcf677",
18215
- PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66779a2aa634a004b3a3f3b322083744869bbc6d66",
18216
- TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18198
+ LeafDigest: "0x0c81b5dfdbae415ec481accb604d0242422780c21f03023d93b6965554645eaf",
18199
+ PackedArgumentAddresses: "0x41b7d0515d709a4fd2cf27f9d141d0c2f8713d0441b7d0515d709a4fd2cf27f9d141d0c2f8713d04",
18200
+ TargetAddress: "0x0d82b189c96EbB1f44A7207e6A9cfB1e490f2869"
18217
18201
  },
18218
18202
  {
18219
- AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18203
+ AddressArguments: ["0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04"],
18220
18204
  CanSendValue: true,
18221
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18205
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
18222
18206
  Description: "Mint poETH using ETH (payable)",
18223
18207
  FunctionSelector: "0x94bf804d",
18224
18208
  FunctionSignature: "mint(uint256,address)",
18225
- LeafDigest: "0x7b2a36717d43f06bb7a8247bf0929e4447f24ca49b119106b9e6925dfd84619e",
18226
- PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66",
18227
- TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18209
+ LeafDigest: "0xf67de3c599396a1de64f6e444371d3f535ca07fec79e45f32e5b59012247ec4e",
18210
+ PackedArgumentAddresses: "0x41b7d0515d709a4fd2cf27f9d141d0c2f8713d04",
18211
+ TargetAddress: "0x0d82b189c96EbB1f44A7207e6A9cfB1e490f2869"
18228
18212
  },
18229
18213
  {
18230
- AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66", "0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18214
+ AddressArguments: ["0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04", "0x41b7D0515d709A4Fd2CF27f9d141D0c2F8713D04"],
18231
18215
  CanSendValue: false,
18232
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18216
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
18233
18217
  Description: "Redeem poETH for ETH",
18234
18218
  FunctionSelector: "0xba087652",
18235
18219
  FunctionSignature: "redeem(uint256,address,address)",
18236
- LeafDigest: "0x6db67a9d9af5202848f4926f7aa5211d0d2cccbdda101637ca6c60fdf613281e",
18237
- PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66779a2aa634a004b3a3f3b322083744869bbc6d66",
18238
- TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18220
+ LeafDigest: "0x1c458519bcbe83c91581ae657571e885e5912920579433baae833f7b7d189444",
18221
+ PackedArgumentAddresses: "0x41b7d0515d709a4fd2cf27f9d141d0c2f8713d0441b7d0515d709a4fd2cf27f9d141d0c2f8713d04",
18222
+ TargetAddress: "0x0d82b189c96EbB1f44A7207e6A9cfB1e490f2869"
18239
18223
  },
18240
18224
  {
18241
18225
  AddressArguments: [],
18242
18226
  CanSendValue: false,
18243
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18227
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
18244
18228
  Description: "Dispatch mint/burn options on PanopticPool",
18245
18229
  FunctionSelector: "0xc25813aa",
18246
18230
  FunctionSignature: "dispatch(uint256[],uint256[],uint128[],int24[3][],bool,uint256)",
18247
- LeafDigest: "0x82a883bd80ac38a61ce761a509a6e6ce10659099fc872db39cbb940abd356e29",
18231
+ LeafDigest: "0x3511807d2f289860aabed888c5f014d6e702ac8e7190c3d1be484184062f275f",
18248
18232
  PackedArgumentAddresses: "0x",
18249
- TargetAddress: "0x000000007588B488d180899cDEa2080a886D2441"
18233
+ TargetAddress: "0xB50e8bb68f5855DA742f4579274902a20454174a"
18250
18234
  },
18251
18235
  {
18252
18236
  AddressArguments: [],
18253
18237
  CanSendValue: true,
18254
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18238
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
18255
18239
  Description: "Wrap ETH to WETH",
18256
18240
  FunctionSelector: "0xd0e30db0",
18257
18241
  FunctionSignature: "deposit()",
18258
- LeafDigest: "0x5f912d61b50a583c1384f1c66b6f082e2ad815da3c9c9e5c93171189e427b1f4",
18242
+ LeafDigest: "0xed6a02d4b0a38222eef73d975ec7adc5ca881f53678819679a498d6a9e1b01cc",
18259
18243
  PackedArgumentAddresses: "0x",
18260
- TargetAddress: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
18244
+ TargetAddress: "0x4200000000000000000000000000000000000006"
18261
18245
  },
18262
18246
  {
18263
18247
  AddressArguments: [],
18264
18248
  CanSendValue: false,
18265
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18249
+ DecoderAndSanitizerAddress: "0x4A290b3EC46cF320421Bb2aaee96d445de31CF0b",
18266
18250
  Description: "Unwrap WETH to ETH",
18267
18251
  FunctionSelector: "0x2e1a7d4d",
18268
18252
  FunctionSignature: "withdraw(uint256)",
18269
- LeafDigest: "0xdabf1f63a2737d544f0cb9d20b19b6da1a83e0f1998382f93e90d610e59cdca2",
18270
- PackedArgumentAddresses: "0x",
18271
- TargetAddress: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
18272
- },
18273
- {
18274
- AddressArguments: ["0x6778d652A0BCe658C9a0E27D506eA20D179140e5"],
18275
- CanSendValue: false,
18276
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18277
- Description: "Approve poUSDC to spend USDC",
18278
- FunctionSelector: "0x095ea7b3",
18279
- FunctionSignature: "approve(address,uint256)",
18280
- LeafDigest: "0x346f207a137fe0706e1762800b928a9a5b77a1413a33ba8f204cf44d680ea7b4",
18281
- PackedArgumentAddresses: "0x6778d652a0bce658c9a0e27d506ea20d179140e5",
18282
- TargetAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
18283
- },
18284
- {
18285
- AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18286
- CanSendValue: false,
18287
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18288
- Description: "Deposit USDC for poUSDC",
18289
- FunctionSelector: "0x6e553f65",
18290
- FunctionSignature: "deposit(uint256,address)",
18291
- LeafDigest: "0xf805e4d58110bd4d25a6d6af8935f12e79f157146f0c329466a3db4a4753bd21",
18292
- PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66",
18293
- TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18294
- },
18295
- {
18296
- AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66", "0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18297
- CanSendValue: false,
18298
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18299
- Description: "Withdraw USDC from poUSDC",
18300
- FunctionSelector: "0xb460af94",
18301
- FunctionSignature: "withdraw(uint256,address,address)",
18302
- LeafDigest: "0xc8c0f1a15ffe7ec0a97142e6415fa45dfd28a23025e4a59677a5c50ba375d719",
18303
- PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66779a2aa634a004b3a3f3b322083744869bbc6d66",
18304
- TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18305
- },
18306
- {
18307
- AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66", "0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18308
- CanSendValue: false,
18309
- DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18310
- Description: "Withdraw USDC from poUSDC (with open positions)",
18311
- FunctionSelector: "0xe51161ba",
18312
- FunctionSignature: "withdraw(uint256,address,address,uint256[],bool)",
18313
- LeafDigest: "0x59a5d4cb31e1fd7832969e599f02275bca7cacd43ed93f1b1058d7347d4f70f7",
18314
- PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66779a2aa634a004b3a3f3b322083744869bbc6d66",
18315
- TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18316
- },
18317
- {
18318
- AddressArguments: [],
18319
- CanSendValue: false,
18320
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
18321
- Description: "",
18322
- FunctionSelector: "0xc5d24601",
18323
- FunctionSignature: "",
18324
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18325
- PackedArgumentAddresses: "0x",
18326
- TargetAddress: "0x0000000000000000000000000000000000000000"
18327
- },
18328
- {
18329
- AddressArguments: [],
18330
- CanSendValue: false,
18331
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
18332
- Description: "",
18333
- FunctionSelector: "0xc5d24601",
18334
- FunctionSignature: "",
18335
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18336
- PackedArgumentAddresses: "0x",
18337
- TargetAddress: "0x0000000000000000000000000000000000000000"
18338
- },
18339
- {
18340
- AddressArguments: [],
18341
- CanSendValue: false,
18342
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
18343
- Description: "",
18344
- FunctionSelector: "0xc5d24601",
18345
- FunctionSignature: "",
18346
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18347
- PackedArgumentAddresses: "0x",
18348
- TargetAddress: "0x0000000000000000000000000000000000000000"
18349
- },
18350
- {
18351
- AddressArguments: [],
18352
- CanSendValue: false,
18353
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
18354
- Description: "",
18355
- FunctionSelector: "0xc5d24601",
18356
- FunctionSignature: "",
18357
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18253
+ LeafDigest: "0x318f82b3dc0e3981caaa2cb243c7f6db03baf1b181aea535e60af815c49d1420",
18358
18254
  PackedArgumentAddresses: "0x",
18359
- TargetAddress: "0x0000000000000000000000000000000000000000"
18255
+ TargetAddress: "0x4200000000000000000000000000000000000006"
18360
18256
  }
18361
18257
  ],
18362
18258
  MerkleTree: {
18363
- "0": ["0xd097509d7b1fc6f899a47b8d06f8a5e2b3337ee8b98e77ef612a1c54a79370c8"],
18364
- "1": ["0xecc8eceb557095ac1ec73d22b889587cb4b62a247f71eaa240f5d15ae53b0442", "0xa3c80589d0591fa84692dd6fb1545db7d2a9bc83d5cb90d79b0a0c84cfb5877c"],
18259
+ "0": ["0xf16b7de890ba886cfdd082d38de768914d04ccc8048da00d4ddc9c4a91e5a927"],
18260
+ "1": ["0x568a4614a67249f65190b0a948555aa171897ba2ad5045a66366fbda3d007376", "0xbca42dbe1178a2df33362800b614a08e5ed5943f89c7feb03c90adccb974be09"],
18365
18261
  "2": [
18366
- "0xbdefa4834d99bf83b5723a84a7936801f7b1a6c9f6d26c5728fc60b225707520",
18367
- "0xafb4b8b386986170cc6c4c21e313ee1f62e232b040751016a66bcba8cf2f3ae4",
18368
- "0x3c19856f0ddfa56b8146248d45b503d6ae2a7fd77f88f07b6feba55c963b2415",
18369
- "0x849eda7a295b642e5ddaf49a30eec4470cf507efa83b4104c0752d069c7638fe"
18370
- ],
18371
- "3": [
18372
- "0x44fd254707cf6c87ac0efe200b59f712e837dd6ad303b7f827110502d7e0ab7a",
18373
- "0x6264743f8a226c88339ed52ad0a7abd546822c3dba83aab0c5fb12526b5f91d3",
18374
- "0xdb2209c5b9952579d2b01f9410a8b6bd21db999cc7b9b88aa93b4322df84f2c7",
18375
- "0x7e48b787e4c7cc699a80b9e8cee4d897b7641fce92237fdb1a7051549162f2dd",
18376
- "0xf3f55d959a163add55810d3fc9b3fee19effbe69efe5f0fc9f0d0af1937803fa",
18377
- "0xfabe01305db6cc9d463124975d40fade6e3b605795a318ce075352a750b3f494",
18378
- "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba",
18379
- "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba"
18380
- ],
18381
- "4": [
18382
- "0x8c7514a7c7a2fcc2879277fddd57e0fb909a347d9870acec7072837bc6cc845f",
18383
- "0xe56b3e14b4827a05f29eb8831783ae2dc367fa07d4119dafcca902a21d57e580",
18384
- "0xa8a9f210396743484d4b09e374d3e38af4d8d1a10197894c1ea3d16000bcf677",
18385
- "0x7b2a36717d43f06bb7a8247bf0929e4447f24ca49b119106b9e6925dfd84619e",
18386
- "0x6db67a9d9af5202848f4926f7aa5211d0d2cccbdda101637ca6c60fdf613281e",
18387
- "0x82a883bd80ac38a61ce761a509a6e6ce10659099fc872db39cbb940abd356e29",
18388
- "0x5f912d61b50a583c1384f1c66b6f082e2ad815da3c9c9e5c93171189e427b1f4",
18389
- "0xdabf1f63a2737d544f0cb9d20b19b6da1a83e0f1998382f93e90d610e59cdca2",
18390
- "0x346f207a137fe0706e1762800b928a9a5b77a1413a33ba8f204cf44d680ea7b4",
18391
- "0xf805e4d58110bd4d25a6d6af8935f12e79f157146f0c329466a3db4a4753bd21",
18392
- "0xc8c0f1a15ffe7ec0a97142e6415fa45dfd28a23025e4a59677a5c50ba375d719",
18393
- "0x59a5d4cb31e1fd7832969e599f02275bca7cacd43ed93f1b1058d7347d4f70f7",
18394
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18395
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18396
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18397
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400"
18262
+ "0x3ab7b6d39bf1809f2258285158d6b81c648c96f0bc8232bf16527c7e2b20ffce",
18263
+ "0x5c00194ec30f9320748cfbd831212d634db8c5b1c391e564c34df090ea7e8695",
18264
+ "0xec9b0f61187d82d9ef3c32779d17957899b456a92bdf60167d95ea0475393406",
18265
+ "0x92726c93facfe3bdc63d5185a232caeb254ac1820afbc57337476304fc233723"
18266
+ ],
18267
+ "3": [
18268
+ "0x49a37c69f7895816355583596b4be0aeacdde14b42ee6ab030db48060b76e65b",
18269
+ "0xe333260c717c7d627669bc93c828e0a7428e77a4123cf3cf8ddd34dcdc1c04d2",
18270
+ "0x0c81b5dfdbae415ec481accb604d0242422780c21f03023d93b6965554645eaf",
18271
+ "0xf67de3c599396a1de64f6e444371d3f535ca07fec79e45f32e5b59012247ec4e",
18272
+ "0x1c458519bcbe83c91581ae657571e885e5912920579433baae833f7b7d189444",
18273
+ "0x3511807d2f289860aabed888c5f014d6e702ac8e7190c3d1be484184062f275f",
18274
+ "0xed6a02d4b0a38222eef73d975ec7adc5ca881f53678819679a498d6a9e1b01cc",
18275
+ "0x318f82b3dc0e3981caaa2cb243c7f6db03baf1b181aea535e60af815c49d1420"
18398
18276
  ]
18399
18277
  }
18400
18278
  };
18401
18279
 
18402
18280
  //#endregion
18403
- //#region src/hypoVault/hypoVaultManagerArtifacts/MainnetUSDCPLPStrategistLeaves.ts
18404
- const MainnetUSDCPLPStrategistLeaves = {
18281
+ //#region src/hypoVault/hypoVaultManagerArtifacts/MainnetLegacyUSDCPLPStrategistLeaves.ts
18282
+ const MainnetLegacyUSDCPLPStrategistLeaves = {
18405
18283
  metadata: {
18406
- AccountantAddress: "0x65aA902AE3135658587FFC36ED51B61c927114e1",
18407
- BoringVaultAddress: "0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18",
18408
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18284
+ AccountantAddress: "0xCCAA8adC2776786Fd0A14Fb1f22D6089E0637a49",
18285
+ BoringVaultAddress: "0x963Fe9c93bc353602656ee4051A75114bA74d6c5",
18286
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18409
18287
  DigestComposition: [
18410
18288
  "Bytes20(DECODER_AND_SANITIZER_ADDRESS)",
18411
18289
  "Bytes20(TARGET_ADDRESS)",
@@ -18413,143 +18291,143 @@ const MainnetUSDCPLPStrategistLeaves = {
18413
18291
  "Bytes4(TARGET_FUNCTION_SELECTOR)",
18414
18292
  "Bytes{N*20}(ADDRESS_ARGUMENT_0,...,ADDRESS_ARGUMENT_N)"
18415
18293
  ],
18416
- LeafCount: 12,
18417
- ManageRoot: "0xed7d4ae055fd62c6edc93bd676456748f52fe4f4b78f60ab3ef6394bacc31b5d",
18418
- ManagerAddress: "0x2ce65016366ef7320078e0758D58Cf1038bc7C4e",
18294
+ LeafCount: 10,
18295
+ ManageRoot: "0x4df5c1b82729c2e070ab0923230e57bb0d0ee3a0f29159178c1315b4cb47d735",
18296
+ ManagerAddress: "0xf42EED8F0d3326ad59fc1f5d4c4009B5F6B4D87c",
18419
18297
  TreeCapacity: 16
18420
18298
  },
18421
18299
  leafs: [
18422
18300
  {
18423
- AddressArguments: ["0x12bF31955522BAC337D93e1bC0a39F68D8BDa216"],
18301
+ AddressArguments: ["0x6778d652A0BCe658C9a0E27D506eA20D179140e5"],
18424
18302
  CanSendValue: false,
18425
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18303
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18426
18304
  Description: "Approve poUSDC to spend USDC",
18427
18305
  FunctionSelector: "0x095ea7b3",
18428
18306
  FunctionSignature: "approve(address,uint256)",
18429
- LeafDigest: "0xa4ff0f9069d415056a5ca71d6f564b3cb9948639de45f81830c44c3c13d5c0d6",
18430
- PackedArgumentAddresses: "0x12bf31955522bac337d93e1bc0a39f68d8bda216",
18307
+ LeafDigest: "0x346f207a137fe0706e1762800b928a9a5b77a1413a33ba8f204cf44d680ea7b4",
18308
+ PackedArgumentAddresses: "0x6778d652a0bce658c9a0e27d506ea20d179140e5",
18431
18309
  TargetAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
18432
18310
  },
18433
18311
  {
18434
- AddressArguments: ["0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"],
18312
+ AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18435
18313
  CanSendValue: false,
18436
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18314
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18437
18315
  Description: "Deposit USDC for poUSDC",
18438
18316
  FunctionSelector: "0x6e553f65",
18439
18317
  FunctionSignature: "deposit(uint256,address)",
18440
- LeafDigest: "0xbb2c673192faea1e2c7bcf47132061066ff342c42176e91889a5876d9ae3ef77",
18441
- PackedArgumentAddresses: "0x236d0558f06cd60780b232d4ec4c92d2cb7e4d18",
18442
- TargetAddress: "0x12bF31955522BAC337D93e1bC0a39F68D8BDa216"
18318
+ LeafDigest: "0x0ba88b5dab9627bfd3e0fdc7d71942f45d26a0fb325de026c1fbaf69e0e56dad",
18319
+ PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5",
18320
+ TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18443
18321
  },
18444
18322
  {
18445
- AddressArguments: ["0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18", "0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"],
18323
+ AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5", "0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18446
18324
  CanSendValue: false,
18447
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18325
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18448
18326
  Description: "Withdraw USDC from poUSDC",
18449
18327
  FunctionSelector: "0xb460af94",
18450
18328
  FunctionSignature: "withdraw(uint256,address,address)",
18451
- LeafDigest: "0x174f9b40456f664fa1a0f9f2fb904df68f567720f7453dd62195297240bfcaf7",
18452
- PackedArgumentAddresses: "0x236d0558f06cd60780b232d4ec4c92d2cb7e4d18236d0558f06cd60780b232d4ec4c92d2cb7e4d18",
18453
- TargetAddress: "0x12bF31955522BAC337D93e1bC0a39F68D8BDa216"
18329
+ LeafDigest: "0xf0056965e40ae08d0b2008a238b1c534bdb8fe9a9781ed4b4210d46220c686a8",
18330
+ PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5963fe9c93bc353602656ee4051a75114ba74d6c5",
18331
+ TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18454
18332
  },
18455
18333
  {
18456
- AddressArguments: ["0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18", "0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"],
18334
+ AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5", "0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18457
18335
  CanSendValue: false,
18458
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18336
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18459
18337
  Description: "Withdraw USDC from poUSDC (with open positions)",
18460
18338
  FunctionSelector: "0xe51161ba",
18461
18339
  FunctionSignature: "withdraw(uint256,address,address,uint256[],bool)",
18462
- LeafDigest: "0x6c17d228bfbb30e970580cfaf2503a7a205836f8120b536fe94623204ac3d100",
18463
- PackedArgumentAddresses: "0x236d0558f06cd60780b232d4ec4c92d2cb7e4d18236d0558f06cd60780b232d4ec4c92d2cb7e4d18",
18464
- TargetAddress: "0x12bF31955522BAC337D93e1bC0a39F68D8BDa216"
18340
+ LeafDigest: "0x5dde5a861d62c41e316d6962260d8742601815f56f3b06f10b6543648e3ee1f0",
18341
+ PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5963fe9c93bc353602656ee4051a75114ba74d6c5",
18342
+ TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18465
18343
  },
18466
18344
  {
18467
- AddressArguments: ["0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"],
18345
+ AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18468
18346
  CanSendValue: false,
18469
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18347
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18470
18348
  Description: "Mint poUSDC using USDC",
18471
18349
  FunctionSelector: "0x94bf804d",
18472
18350
  FunctionSignature: "mint(uint256,address)",
18473
- LeafDigest: "0xb47becce43e16f164eeebe57151b3a474a5810fad1bad8c8c502c82a534a0398",
18474
- PackedArgumentAddresses: "0x236d0558f06cd60780b232d4ec4c92d2cb7e4d18",
18475
- TargetAddress: "0x12bF31955522BAC337D93e1bC0a39F68D8BDa216"
18351
+ LeafDigest: "0x0282b6e97c1a52b881c9480ea44fc4a2cdd46abbd0703b0c40388c6acefa715a",
18352
+ PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5",
18353
+ TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18476
18354
  },
18477
18355
  {
18478
- AddressArguments: ["0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18", "0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"],
18356
+ AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5", "0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18479
18357
  CanSendValue: false,
18480
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18358
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18481
18359
  Description: "Redeem poUSDC for USDC",
18482
18360
  FunctionSelector: "0xba087652",
18483
18361
  FunctionSignature: "redeem(uint256,address,address)",
18484
- LeafDigest: "0xc91cc83e9b2230b47bb390d3be17407f42c3b9348cc6596803c269dec49e8d51",
18485
- PackedArgumentAddresses: "0x236d0558f06cd60780b232d4ec4c92d2cb7e4d18236d0558f06cd60780b232d4ec4c92d2cb7e4d18",
18486
- TargetAddress: "0x12bF31955522BAC337D93e1bC0a39F68D8BDa216"
18362
+ LeafDigest: "0xf4c92c489022aae42690da9bbae84e23acb28b7495aa8a58965fd0173f0c16ad",
18363
+ PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5963fe9c93bc353602656ee4051a75114ba74d6c5",
18364
+ TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18487
18365
  },
18488
18366
  {
18489
18367
  AddressArguments: [],
18490
18368
  CanSendValue: false,
18491
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18369
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18492
18370
  Description: "Dispatch mint/burn options on PanopticPool",
18493
18371
  FunctionSelector: "0xc25813aa",
18494
18372
  FunctionSignature: "dispatch(uint256[],uint256[],uint128[],int24[3][],bool,uint256)",
18495
- LeafDigest: "0xf5cc741985c1ce6b1af02be04696bd5944097198abf5ce09945a956143b14e6d",
18373
+ LeafDigest: "0x82a883bd80ac38a61ce761a509a6e6ce10659099fc872db39cbb940abd356e29",
18496
18374
  PackedArgumentAddresses: "0x",
18497
- TargetAddress: "0x00000000563b70d704f4c6675a5f6ac989fbae13"
18375
+ TargetAddress: "0x000000007588B488d180899cDEa2080a886D2441"
18376
+ },
18377
+ {
18378
+ AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18379
+ CanSendValue: true,
18380
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18381
+ Description: "Deposit ETH for poETH (payable)",
18382
+ FunctionSelector: "0x6e553f65",
18383
+ FunctionSignature: "deposit(uint256,address)",
18384
+ LeafDigest: "0xca0ff0331ca1493aa7c0a7c06e1ad55cb2dc63a4b854474a628b520fe45f480e",
18385
+ PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5",
18386
+ TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18498
18387
  },
18499
18388
  {
18500
- AddressArguments: ["0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18", "0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"],
18389
+ AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5", "0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18501
18390
  CanSendValue: false,
18502
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18391
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18503
18392
  Description: "Withdraw ETH from poETH",
18504
18393
  FunctionSelector: "0xb460af94",
18505
18394
  FunctionSignature: "withdraw(uint256,address,address)",
18506
- LeafDigest: "0xb5731bb52d9dccf49773020a8ddc59afbf937d6e203ef104e085f94f18b50e9b",
18507
- PackedArgumentAddresses: "0x236d0558f06cd60780b232d4ec4c92d2cb7e4d18236d0558f06cd60780b232d4ec4c92d2cb7e4d18",
18508
- TargetAddress: "0x1e46b0289B7E0F710E2Db8Ab87800dd782D624f7"
18395
+ LeafDigest: "0xcf5f157610c7f41c82d5ab9fe7cfa154d399b9b374ead620b95df9bfe1150caf",
18396
+ PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5963fe9c93bc353602656ee4051a75114ba74d6c5",
18397
+ TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18509
18398
  },
18510
18399
  {
18511
- AddressArguments: ["0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18", "0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"],
18400
+ AddressArguments: ["0x963Fe9c93bc353602656ee4051A75114bA74d6c5", "0x963Fe9c93bc353602656ee4051A75114bA74d6c5"],
18512
18401
  CanSendValue: false,
18513
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18402
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18514
18403
  Description: "Withdraw ETH from poETH (with open positions)",
18515
18404
  FunctionSelector: "0xe51161ba",
18516
18405
  FunctionSignature: "withdraw(uint256,address,address,uint256[],bool)",
18517
- LeafDigest: "0xa600a5aea3b025f316a4cc99e16c188953aeca6e1bf347d6b2ea8f549b859689",
18518
- PackedArgumentAddresses: "0x236d0558f06cd60780b232d4ec4c92d2cb7e4d18236d0558f06cd60780b232d4ec4c92d2cb7e4d18",
18519
- TargetAddress: "0x1e46b0289B7E0F710E2Db8Ab87800dd782D624f7"
18520
- },
18521
- {
18522
- AddressArguments: ["0x141cc517a6276542B59732Fd85C1A2C536eF7aCA"],
18523
- CanSendValue: false,
18524
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18525
- Description: "Approve wSPCXx poUSDC to spend USDC",
18526
- FunctionSelector: "0x095ea7b3",
18527
- FunctionSignature: "approve(address,uint256)",
18528
- LeafDigest: "0x51f664e3fbdd3e6780eebf725f83871971fedbc1344987982349ae6d636e04df",
18529
- PackedArgumentAddresses: "0x141cc517a6276542b59732fd85c1a2c536ef7aca",
18530
- TargetAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
18406
+ LeafDigest: "0x0b5e6f71c235d36249a399400fa6741c4d6a56f3b458d85aeacd206e61aafeed",
18407
+ PackedArgumentAddresses: "0x963fe9c93bc353602656ee4051a75114ba74d6c5963fe9c93bc353602656ee4051a75114ba74d6c5",
18408
+ TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18531
18409
  },
18532
18410
  {
18533
- AddressArguments: ["0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"],
18411
+ AddressArguments: [],
18534
18412
  CanSendValue: false,
18535
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18536
- Description: "Deposit USDC for wSPCXx poUSDC",
18537
- FunctionSelector: "0x6e553f65",
18538
- FunctionSignature: "deposit(uint256,address)",
18539
- LeafDigest: "0xb8baaad70acd2686ec36c69277ae1e53e2e5f515a3a6087187cfb6c00ec9f322",
18540
- PackedArgumentAddresses: "0x236d0558f06cd60780b232d4ec4c92d2cb7e4d18",
18541
- TargetAddress: "0x141cc517a6276542B59732Fd85C1A2C536eF7aCA"
18413
+ DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
18414
+ Description: "",
18415
+ FunctionSelector: "0xc5d24601",
18416
+ FunctionSignature: "",
18417
+ LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18418
+ PackedArgumentAddresses: "0x",
18419
+ TargetAddress: "0x0000000000000000000000000000000000000000"
18542
18420
  },
18543
18421
  {
18544
- AddressArguments: ["0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18", "0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"],
18422
+ AddressArguments: [],
18545
18423
  CanSendValue: false,
18546
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18547
- Description: "Withdraw USDC from wSPCXx poUSDC",
18548
- FunctionSelector: "0xb460af94",
18549
- FunctionSignature: "withdraw(uint256,address,address)",
18550
- LeafDigest: "0x4ede52d99a5e4722726abc80a939e2f94268cfb2a0584a184bcae79a1c6c82c2",
18551
- PackedArgumentAddresses: "0x236d0558f06cd60780b232d4ec4c92d2cb7e4d18236d0558f06cd60780b232d4ec4c92d2cb7e4d18",
18552
- TargetAddress: "0x141cc517a6276542B59732Fd85C1A2C536eF7aCA"
18424
+ DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
18425
+ Description: "",
18426
+ FunctionSelector: "0xc5d24601",
18427
+ FunctionSignature: "",
18428
+ LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18429
+ PackedArgumentAddresses: "0x",
18430
+ TargetAddress: "0x0000000000000000000000000000000000000000"
18553
18431
  },
18554
18432
  {
18555
18433
  AddressArguments: [],
@@ -18597,37 +18475,37 @@ const MainnetUSDCPLPStrategistLeaves = {
18597
18475
  }
18598
18476
  ],
18599
18477
  MerkleTree: {
18600
- "0": ["0xed7d4ae055fd62c6edc93bd676456748f52fe4f4b78f60ab3ef6394bacc31b5d"],
18601
- "1": ["0xfdd68e4155c3f0143529939165390a7717848d745d5848b5de5dcbabc28e5bbb", "0x559d6a628cef4d55eabf143e84c270be2c3f61e236c2c36115fc29ebadc30bfa"],
18478
+ "0": ["0x4df5c1b82729c2e070ab0923230e57bb0d0ee3a0f29159178c1315b4cb47d735"],
18479
+ "1": ["0xbac4becc6803fad3b5048929ab579b3bcb2d3b5d746b8b0cbe83ffab3bd02af3", "0x114252b1f2edd8a0cd246246732ee3e293e423ff6de8631e42db3d1994c0b628"],
18602
18480
  "2": [
18603
- "0x03ddbd298d0afd4b181cc56a653fcd6c4cc6124edba7ffcea1cf9abc1396b34a",
18604
- "0x5a78f5fea4886abf9b990cb11d6c97d8d90fa3aef528289cd2c7da07f7188d15",
18605
- "0x67b572f27c64d564c387cf62d05e228ee073dedf11cfad4f95ca78d2673354ce",
18481
+ "0xdc61bb3a67e08f65ae5fb69d313d6145340a5b2d58ab80b22ce3eb9271444917",
18482
+ "0x1b07cee6fe14ac13400398311846511425edc4858a1179d1f0d8ad648544f98a",
18483
+ "0x7c66b4febed550fbb3f11d6b2814491f9423466cc7ef4e16325bac47e4a6bbd6",
18606
18484
  "0x849eda7a295b642e5ddaf49a30eec4470cf507efa83b4104c0752d069c7638fe"
18607
18485
  ],
18608
18486
  "3": [
18609
- "0xa48323079d50b7688f97c97276fe33bcc23c3664b0a94aa9f24162ad63e4c622",
18610
- "0x9604e6ac6ac45ac3ec61d6ab2b52d96aeb9025c8e90cf93f7411b9c9a9dda29b",
18611
- "0xa22cac1a8d963fd80eecce587c5833c77d944bc1dfaace739c66421431823263",
18612
- "0x6bab63ba855d0ba1ef5fc9c8058253f278aec18f88be21d95b7cb11097d11e8a",
18613
- "0x20b3b7048a0735825b5cb83b931b60eb4bbbd1c68c8466d86df5ae72361d5da4",
18614
- "0xa0e8444c994231a2893a69086326624b42ad2973144580795d00406bb36b0b3f",
18487
+ "0x032280a8f6377dba443a56ec7d00b3c6d2942fe090d3aeb30613a19fdc90569f",
18488
+ "0x8a117d51d3bd6ac0a55e9f6a574beed72c865f741ef824ae9784f3d721fc086d",
18489
+ "0x925bc995a913d6722560d46f4e0c1560a916430387ec44c1505c487ce7f2ee03",
18490
+ "0xeab476d6a326a74d5a1297a40d1a6af5cf0b37320e41f3b342b379cd6b5d6a65",
18491
+ "0xbf5201e2b1c88fbe98051b963eb82aaa2433395760c9816b8a7c502039792074",
18492
+ "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba",
18615
18493
  "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba",
18616
18494
  "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba"
18617
18495
  ],
18618
18496
  "4": [
18619
- "0xa4ff0f9069d415056a5ca71d6f564b3cb9948639de45f81830c44c3c13d5c0d6",
18620
- "0xbb2c673192faea1e2c7bcf47132061066ff342c42176e91889a5876d9ae3ef77",
18621
- "0x174f9b40456f664fa1a0f9f2fb904df68f567720f7453dd62195297240bfcaf7",
18622
- "0x6c17d228bfbb30e970580cfaf2503a7a205836f8120b536fe94623204ac3d100",
18623
- "0xb47becce43e16f164eeebe57151b3a474a5810fad1bad8c8c502c82a534a0398",
18624
- "0xc91cc83e9b2230b47bb390d3be17407f42c3b9348cc6596803c269dec49e8d51",
18625
- "0xf5cc741985c1ce6b1af02be04696bd5944097198abf5ce09945a956143b14e6d",
18626
- "0xb5731bb52d9dccf49773020a8ddc59afbf937d6e203ef104e085f94f18b50e9b",
18627
- "0xa600a5aea3b025f316a4cc99e16c188953aeca6e1bf347d6b2ea8f549b859689",
18628
- "0x51f664e3fbdd3e6780eebf725f83871971fedbc1344987982349ae6d636e04df",
18629
- "0xb8baaad70acd2686ec36c69277ae1e53e2e5f515a3a6087187cfb6c00ec9f322",
18630
- "0x4ede52d99a5e4722726abc80a939e2f94268cfb2a0584a184bcae79a1c6c82c2",
18497
+ "0x346f207a137fe0706e1762800b928a9a5b77a1413a33ba8f204cf44d680ea7b4",
18498
+ "0x0ba88b5dab9627bfd3e0fdc7d71942f45d26a0fb325de026c1fbaf69e0e56dad",
18499
+ "0xf0056965e40ae08d0b2008a238b1c534bdb8fe9a9781ed4b4210d46220c686a8",
18500
+ "0x5dde5a861d62c41e316d6962260d8742601815f56f3b06f10b6543648e3ee1f0",
18501
+ "0x0282b6e97c1a52b881c9480ea44fc4a2cdd46abbd0703b0c40388c6acefa715a",
18502
+ "0xf4c92c489022aae42690da9bbae84e23acb28b7495aa8a58965fd0173f0c16ad",
18503
+ "0x82a883bd80ac38a61ce761a509a6e6ce10659099fc872db39cbb940abd356e29",
18504
+ "0xca0ff0331ca1493aa7c0a7c06e1ad55cb2dc63a4b854474a628b520fe45f480e",
18505
+ "0xcf5f157610c7f41c82d5ab9fe7cfa154d399b9b374ead620b95df9bfe1150caf",
18506
+ "0x0b5e6f71c235d36249a399400fa6741c4d6a56f3b458d85aeacd206e61aafeed",
18507
+ "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18508
+ "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18631
18509
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18632
18510
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18633
18511
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
@@ -18637,12 +18515,12 @@ const MainnetUSDCPLPStrategistLeaves = {
18637
18515
  };
18638
18516
 
18639
18517
  //#endregion
18640
- //#region src/hypoVault/hypoVaultManagerArtifacts/MainnetWETHPLPStrategistLeaves.ts
18641
- const MainnetWETHPLPStrategistLeaves = {
18518
+ //#region src/hypoVault/hypoVaultManagerArtifacts/MainnetLegacyWETHPLPStrategistLeaves.ts
18519
+ const MainnetLegacyWETHPLPStrategistLeaves = {
18642
18520
  metadata: {
18643
- AccountantAddress: "0x65aA902AE3135658587FFC36ED51B61c927114e1",
18644
- BoringVaultAddress: "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92",
18645
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18521
+ AccountantAddress: "0xCCAA8adC2776786Fd0A14Fb1f22D6089E0637a49",
18522
+ BoringVaultAddress: "0x779a2aa634A004b3a3f3b322083744869BBC6D66",
18523
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18646
18524
  DigestComposition: [
18647
18525
  "Bytes20(DECODER_AND_SANITIZER_ADDRESS)",
18648
18526
  "Bytes20(TARGET_ADDRESS)",
@@ -18650,143 +18528,143 @@ const MainnetWETHPLPStrategistLeaves = {
18650
18528
  "Bytes4(TARGET_FUNCTION_SELECTOR)",
18651
18529
  "Bytes{N*20}(ADDRESS_ARGUMENT_0,...,ADDRESS_ARGUMENT_N)"
18652
18530
  ],
18653
- LeafCount: 10,
18654
- ManageRoot: "0x14c4c96cc3730452ce71a447bdde6132f81acec862098a9ddd5e086805046a07",
18655
- ManagerAddress: "0xB6Fc48e658C9B1a7dbdFA51A5E153ab60BB2e04d",
18531
+ LeafCount: 12,
18532
+ ManageRoot: "0xd097509d7b1fc6f899a47b8d06f8a5e2b3337ee8b98e77ef612a1c54a79370c8",
18533
+ ManagerAddress: "0xcc80f113298DdF9D399323D5288aE5Eeaed20D44",
18656
18534
  TreeCapacity: 16
18657
18535
  },
18658
18536
  leafs: [
18659
18537
  {
18660
- AddressArguments: ["0xd4e2c720a760049cc4151bcf61e3a9348db9cd92"],
18538
+ AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18661
18539
  CanSendValue: true,
18662
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18540
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18663
18541
  Description: "Deposit ETH for poETH (payable)",
18664
18542
  FunctionSelector: "0x6e553f65",
18665
18543
  FunctionSignature: "deposit(uint256,address)",
18666
- LeafDigest: "0xcde717428f55a23f1c5590ae350e411a96f376207e4cd74f2ad261072915782c",
18667
- PackedArgumentAddresses: "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92",
18668
- TargetAddress: "0x1e46b0289B7E0F710E2Db8Ab87800dd782D624f7"
18544
+ LeafDigest: "0x8c7514a7c7a2fcc2879277fddd57e0fb909a347d9870acec7072837bc6cc845f",
18545
+ PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66",
18546
+ TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18669
18547
  },
18670
18548
  {
18671
- AddressArguments: ["0xd4e2c720a760049cc4151bcf61e3a9348db9cd92", "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92"],
18549
+ AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66", "0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18672
18550
  CanSendValue: false,
18673
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18551
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18674
18552
  Description: "Withdraw ETH from poETH",
18675
18553
  FunctionSelector: "0xb460af94",
18676
18554
  FunctionSignature: "withdraw(uint256,address,address)",
18677
- LeafDigest: "0xcebfac0106f9d33ca5766a2f6054eeb9df218af39b9f87a446a54674481caa4f",
18678
- PackedArgumentAddresses: "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92d4e2c720a760049cc4151bcf61e3a9348db9cd92",
18679
- TargetAddress: "0x1e46b0289B7E0F710E2Db8Ab87800dd782D624f7"
18555
+ LeafDigest: "0xe56b3e14b4827a05f29eb8831783ae2dc367fa07d4119dafcca902a21d57e580",
18556
+ PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66779a2aa634a004b3a3f3b322083744869bbc6d66",
18557
+ TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18680
18558
  },
18681
18559
  {
18682
- AddressArguments: ["0xd4e2c720a760049cc4151bcf61e3a9348db9cd92", "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92"],
18560
+ AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66", "0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18683
18561
  CanSendValue: false,
18684
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18562
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18685
18563
  Description: "Withdraw ETH from poETH (with open positions)",
18686
18564
  FunctionSelector: "0xe51161ba",
18687
18565
  FunctionSignature: "withdraw(uint256,address,address,uint256[],bool)",
18688
- LeafDigest: "0x6eacf89fb24e20afd26b47bc704571a6ae14675623678caf767ff4167b989b94",
18689
- PackedArgumentAddresses: "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92d4e2c720a760049cc4151bcf61e3a9348db9cd92",
18690
- TargetAddress: "0x1e46b0289B7E0F710E2Db8Ab87800dd782D624f7"
18566
+ LeafDigest: "0xa8a9f210396743484d4b09e374d3e38af4d8d1a10197894c1ea3d16000bcf677",
18567
+ PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66779a2aa634a004b3a3f3b322083744869bbc6d66",
18568
+ TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18691
18569
  },
18692
18570
  {
18693
- AddressArguments: ["0xd4e2c720a760049cc4151bcf61e3a9348db9cd92"],
18571
+ AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18694
18572
  CanSendValue: true,
18695
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18573
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18696
18574
  Description: "Mint poETH using ETH (payable)",
18697
18575
  FunctionSelector: "0x94bf804d",
18698
18576
  FunctionSignature: "mint(uint256,address)",
18699
- LeafDigest: "0x2393ae33b276888f3402cd9be5ac50c99f6c093ab26d76309fcde84f32ac5779",
18700
- PackedArgumentAddresses: "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92",
18701
- TargetAddress: "0x1e46b0289B7E0F710E2Db8Ab87800dd782D624f7"
18577
+ LeafDigest: "0x7b2a36717d43f06bb7a8247bf0929e4447f24ca49b119106b9e6925dfd84619e",
18578
+ PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66",
18579
+ TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18702
18580
  },
18703
18581
  {
18704
- AddressArguments: ["0xd4e2c720a760049cc4151bcf61e3a9348db9cd92", "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92"],
18582
+ AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66", "0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18705
18583
  CanSendValue: false,
18706
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18584
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18707
18585
  Description: "Redeem poETH for ETH",
18708
18586
  FunctionSelector: "0xba087652",
18709
18587
  FunctionSignature: "redeem(uint256,address,address)",
18710
- LeafDigest: "0x7560d3271ed5c3e12cf98e16f3e6810c35a9da7ade8642ce4f4047012f768ae4",
18711
- PackedArgumentAddresses: "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92d4e2c720a760049cc4151bcf61e3a9348db9cd92",
18712
- TargetAddress: "0x1e46b0289B7E0F710E2Db8Ab87800dd782D624f7"
18588
+ LeafDigest: "0x6db67a9d9af5202848f4926f7aa5211d0d2cccbdda101637ca6c60fdf613281e",
18589
+ PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66779a2aa634a004b3a3f3b322083744869bbc6d66",
18590
+ TargetAddress: "0x6cd0186Fb4c32B6fD23279bBE0022506958216f9"
18713
18591
  },
18714
18592
  {
18715
18593
  AddressArguments: [],
18716
18594
  CanSendValue: false,
18717
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18595
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18718
18596
  Description: "Dispatch mint/burn options on PanopticPool",
18719
18597
  FunctionSelector: "0xc25813aa",
18720
18598
  FunctionSignature: "dispatch(uint256[],uint256[],uint128[],int24[3][],bool,uint256)",
18721
- LeafDigest: "0xf5cc741985c1ce6b1af02be04696bd5944097198abf5ce09945a956143b14e6d",
18599
+ LeafDigest: "0x82a883bd80ac38a61ce761a509a6e6ce10659099fc872db39cbb940abd356e29",
18722
18600
  PackedArgumentAddresses: "0x",
18723
- TargetAddress: "0x00000000563b70d704f4c6675a5f6ac989fbae13"
18601
+ TargetAddress: "0x000000007588B488d180899cDEa2080a886D2441"
18724
18602
  },
18725
18603
  {
18726
18604
  AddressArguments: [],
18727
18605
  CanSendValue: true,
18728
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18606
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18729
18607
  Description: "Wrap ETH to WETH",
18730
18608
  FunctionSelector: "0xd0e30db0",
18731
18609
  FunctionSignature: "deposit()",
18732
- LeafDigest: "0x89484d127bf05d2f4fcc56181335b8d87023e41ccc81c042e9f922f578f1471b",
18610
+ LeafDigest: "0x5f912d61b50a583c1384f1c66b6f082e2ad815da3c9c9e5c93171189e427b1f4",
18733
18611
  PackedArgumentAddresses: "0x",
18734
18612
  TargetAddress: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
18735
18613
  },
18736
18614
  {
18737
18615
  AddressArguments: [],
18738
18616
  CanSendValue: false,
18739
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18617
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18740
18618
  Description: "Unwrap WETH to ETH",
18741
18619
  FunctionSelector: "0x2e1a7d4d",
18742
18620
  FunctionSignature: "withdraw(uint256)",
18743
- LeafDigest: "0x7f94c593f64614a4739e3005bc02e9db203ded2796c3104cc7609ecbc89bc240",
18621
+ LeafDigest: "0xdabf1f63a2737d544f0cb9d20b19b6da1a83e0f1998382f93e90d610e59cdca2",
18744
18622
  PackedArgumentAddresses: "0x",
18745
18623
  TargetAddress: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
18746
18624
  },
18747
18625
  {
18748
- AddressArguments: ["0xd4e2c720a760049cc4151bcf61e3a9348db9cd92", "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92"],
18626
+ AddressArguments: ["0x6778d652A0BCe658C9a0E27D506eA20D179140e5"],
18749
18627
  CanSendValue: false,
18750
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18751
- Description: "Withdraw USDC from poUSDC",
18752
- FunctionSelector: "0xb460af94",
18753
- FunctionSignature: "withdraw(uint256,address,address)",
18754
- LeafDigest: "0xa7b676c12e394da66e124d4611ddf107a1267f476fab0b3cbc3dc885a8e5a77c",
18755
- PackedArgumentAddresses: "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92d4e2c720a760049cc4151bcf61e3a9348db9cd92",
18756
- TargetAddress: "0x12bF31955522BAC337D93e1bC0a39F68D8BDa216"
18628
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18629
+ Description: "Approve poUSDC to spend USDC",
18630
+ FunctionSelector: "0x095ea7b3",
18631
+ FunctionSignature: "approve(address,uint256)",
18632
+ LeafDigest: "0x346f207a137fe0706e1762800b928a9a5b77a1413a33ba8f204cf44d680ea7b4",
18633
+ PackedArgumentAddresses: "0x6778d652a0bce658c9a0e27d506ea20d179140e5",
18634
+ TargetAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
18757
18635
  },
18758
18636
  {
18759
- AddressArguments: ["0xd4e2c720a760049cc4151bcf61e3a9348db9cd92", "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92"],
18637
+ AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18760
18638
  CanSendValue: false,
18761
- DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
18762
- Description: "Withdraw USDC from poUSDC (with open positions)",
18763
- FunctionSelector: "0xe51161ba",
18764
- FunctionSignature: "withdraw(uint256,address,address,uint256[],bool)",
18765
- LeafDigest: "0x219732b5a811c3167d72323963327d5ea266e27575caecab2d1f35746f30a2f2",
18766
- PackedArgumentAddresses: "0xd4e2c720a760049cc4151bcf61e3a9348db9cd92d4e2c720a760049cc4151bcf61e3a9348db9cd92",
18767
- TargetAddress: "0x12bF31955522BAC337D93e1bC0a39F68D8BDa216"
18639
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18640
+ Description: "Deposit USDC for poUSDC",
18641
+ FunctionSelector: "0x6e553f65",
18642
+ FunctionSignature: "deposit(uint256,address)",
18643
+ LeafDigest: "0xf805e4d58110bd4d25a6d6af8935f12e79f157146f0c329466a3db4a4753bd21",
18644
+ PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66",
18645
+ TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18768
18646
  },
18769
18647
  {
18770
- AddressArguments: [],
18648
+ AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66", "0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18771
18649
  CanSendValue: false,
18772
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
18773
- Description: "",
18774
- FunctionSelector: "0xc5d24601",
18775
- FunctionSignature: "",
18776
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18777
- PackedArgumentAddresses: "0x",
18778
- TargetAddress: "0x0000000000000000000000000000000000000000"
18650
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18651
+ Description: "Withdraw USDC from poUSDC",
18652
+ FunctionSelector: "0xb460af94",
18653
+ FunctionSignature: "withdraw(uint256,address,address)",
18654
+ LeafDigest: "0xc8c0f1a15ffe7ec0a97142e6415fa45dfd28a23025e4a59677a5c50ba375d719",
18655
+ PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66779a2aa634a004b3a3f3b322083744869bbc6d66",
18656
+ TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18779
18657
  },
18780
18658
  {
18781
- AddressArguments: [],
18659
+ AddressArguments: ["0x779a2aa634A004b3a3f3b322083744869BBC6D66", "0x779a2aa634A004b3a3f3b322083744869BBC6D66"],
18782
18660
  CanSendValue: false,
18783
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
18784
- Description: "",
18785
- FunctionSelector: "0xc5d24601",
18786
- FunctionSignature: "",
18787
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18788
- PackedArgumentAddresses: "0x",
18789
- TargetAddress: "0x0000000000000000000000000000000000000000"
18661
+ DecoderAndSanitizerAddress: "0x1c8620AC42c1F69eE493B953165FCd1864DEB439",
18662
+ Description: "Withdraw USDC from poUSDC (with open positions)",
18663
+ FunctionSelector: "0xe51161ba",
18664
+ FunctionSignature: "withdraw(uint256,address,address,uint256[],bool)",
18665
+ LeafDigest: "0x59a5d4cb31e1fd7832969e599f02275bca7cacd43ed93f1b1058d7347d4f70f7",
18666
+ PackedArgumentAddresses: "0x779a2aa634a004b3a3f3b322083744869bbc6d66779a2aa634a004b3a3f3b322083744869bbc6d66",
18667
+ TargetAddress: "0x6778d652A0BCe658C9a0E27D506eA20D179140e5"
18790
18668
  },
18791
18669
  {
18792
18670
  AddressArguments: [],
@@ -18834,37 +18712,37 @@ const MainnetWETHPLPStrategistLeaves = {
18834
18712
  }
18835
18713
  ],
18836
18714
  MerkleTree: {
18837
- "0": ["0x14c4c96cc3730452ce71a447bdde6132f81acec862098a9ddd5e086805046a07"],
18838
- "1": ["0xcd0defea21f2f5625ba2d231bce9500ad31a12181821c3e44a9eab8091726ef9", "0xb456d992b88713679d0f26a8212a362b552e0f1b8e8f4730ef9d93260658e6f4"],
18715
+ "0": ["0xd097509d7b1fc6f899a47b8d06f8a5e2b3337ee8b98e77ef612a1c54a79370c8"],
18716
+ "1": ["0xecc8eceb557095ac1ec73d22b889587cb4b62a247f71eaa240f5d15ae53b0442", "0xa3c80589d0591fa84692dd6fb1545db7d2a9bc83d5cb90d79b0a0c84cfb5877c"],
18839
18717
  "2": [
18840
- "0xd49b1154605f32b0e47658955ad9aa7f3fe8cd35358ee78a1cd96557e5c3aa4d",
18841
- "0x6522d66ec4944c055a9004873f1d3eab7c42ec8328cad32a43f7cf5626099576",
18842
- "0x106e1c4bfe0f35058431f70afe23aa18c131f9ed04c0e9442c15742800410377",
18718
+ "0xbdefa4834d99bf83b5723a84a7936801f7b1a6c9f6d26c5728fc60b225707520",
18719
+ "0xafb4b8b386986170cc6c4c21e313ee1f62e232b040751016a66bcba8cf2f3ae4",
18720
+ "0x3c19856f0ddfa56b8146248d45b503d6ae2a7fd77f88f07b6feba55c963b2415",
18843
18721
  "0x849eda7a295b642e5ddaf49a30eec4470cf507efa83b4104c0752d069c7638fe"
18844
18722
  ],
18845
18723
  "3": [
18846
- "0xa6bf0406d4c1a9cc26bd7b8e443b3d933011eeed6f805e7f96c98f8ca7b6570c",
18847
- "0x1b4e0fc75d960683a9b652c9f9aa14ee22ba29685a3253a96bf65aea93934cee",
18848
- "0xc13cedfed63f868281097bfc4491f94573cf90c8d65c417aefc7c10ed03f60cf",
18849
- "0xe684b7c98715395e7d8478eb48587181872712495d41b47760ac5fe24211fc5e",
18850
- "0x9c00f68592aac90ff74b0f87e48d5a3f0ca6108c0af23ed83cbbdab4ea49ffb6",
18851
- "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba",
18724
+ "0x44fd254707cf6c87ac0efe200b59f712e837dd6ad303b7f827110502d7e0ab7a",
18725
+ "0x6264743f8a226c88339ed52ad0a7abd546822c3dba83aab0c5fb12526b5f91d3",
18726
+ "0xdb2209c5b9952579d2b01f9410a8b6bd21db999cc7b9b88aa93b4322df84f2c7",
18727
+ "0x7e48b787e4c7cc699a80b9e8cee4d897b7641fce92237fdb1a7051549162f2dd",
18728
+ "0xf3f55d959a163add55810d3fc9b3fee19effbe69efe5f0fc9f0d0af1937803fa",
18729
+ "0xfabe01305db6cc9d463124975d40fade6e3b605795a318ce075352a750b3f494",
18852
18730
  "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba",
18853
18731
  "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba"
18854
18732
  ],
18855
18733
  "4": [
18856
- "0xcde717428f55a23f1c5590ae350e411a96f376207e4cd74f2ad261072915782c",
18857
- "0xcebfac0106f9d33ca5766a2f6054eeb9df218af39b9f87a446a54674481caa4f",
18858
- "0x6eacf89fb24e20afd26b47bc704571a6ae14675623678caf767ff4167b989b94",
18859
- "0x2393ae33b276888f3402cd9be5ac50c99f6c093ab26d76309fcde84f32ac5779",
18860
- "0x7560d3271ed5c3e12cf98e16f3e6810c35a9da7ade8642ce4f4047012f768ae4",
18861
- "0xf5cc741985c1ce6b1af02be04696bd5944097198abf5ce09945a956143b14e6d",
18862
- "0x89484d127bf05d2f4fcc56181335b8d87023e41ccc81c042e9f922f578f1471b",
18863
- "0x7f94c593f64614a4739e3005bc02e9db203ded2796c3104cc7609ecbc89bc240",
18864
- "0xa7b676c12e394da66e124d4611ddf107a1267f476fab0b3cbc3dc885a8e5a77c",
18865
- "0x219732b5a811c3167d72323963327d5ea266e27575caecab2d1f35746f30a2f2",
18866
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18867
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18734
+ "0x8c7514a7c7a2fcc2879277fddd57e0fb909a347d9870acec7072837bc6cc845f",
18735
+ "0xe56b3e14b4827a05f29eb8831783ae2dc367fa07d4119dafcca902a21d57e580",
18736
+ "0xa8a9f210396743484d4b09e374d3e38af4d8d1a10197894c1ea3d16000bcf677",
18737
+ "0x7b2a36717d43f06bb7a8247bf0929e4447f24ca49b119106b9e6925dfd84619e",
18738
+ "0x6db67a9d9af5202848f4926f7aa5211d0d2cccbdda101637ca6c60fdf613281e",
18739
+ "0x82a883bd80ac38a61ce761a509a6e6ce10659099fc872db39cbb940abd356e29",
18740
+ "0x5f912d61b50a583c1384f1c66b6f082e2ad815da3c9c9e5c93171189e427b1f4",
18741
+ "0xdabf1f63a2737d544f0cb9d20b19b6da1a83e0f1998382f93e90d610e59cdca2",
18742
+ "0x346f207a137fe0706e1762800b928a9a5b77a1413a33ba8f204cf44d680ea7b4",
18743
+ "0xf805e4d58110bd4d25a6d6af8935f12e79f157146f0c329466a3db4a4753bd21",
18744
+ "0xc8c0f1a15ffe7ec0a97142e6415fa45dfd28a23025e4a59677a5c50ba375d719",
18745
+ "0x59a5d4cb31e1fd7832969e599f02275bca7cacd43ed93f1b1058d7347d4f70f7",
18868
18746
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18869
18747
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
18870
18748
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
@@ -20469,7 +20347,13 @@ function createPlpManagerInputStrategy(minBlock) {
20469
20347
  minBlockNumber: minBlock,
20470
20348
  context: `PLP manager input for vault ${vault.id}`
20471
20349
  });
20472
- const poolInfos = getVaultPoolInfos(vaultAddress, chainId);
20350
+ const authorization = await resolveMainnetV3AuthorizationArtifacts({
20351
+ viemClient: client,
20352
+ chainId,
20353
+ vaultAddress,
20354
+ blockNumber
20355
+ });
20356
+ const poolInfos = authorization?.poolInfos ?? getVaultPoolInfos(vaultAddress, chainId);
20473
20357
  if (poolInfos.length === 0) return DEFAULT_MANAGER_INPUT;
20474
20358
  const tokenIds = candidates === void 0 ? await resolveVaultTokenIdsByPool({
20475
20359
  viemClient: client,
@@ -20481,7 +20365,13 @@ function createPlpManagerInputStrategy(minBlock) {
20481
20365
  }) : await verifyVaultOpenTokenIdsAtBlock({
20482
20366
  viemClient: client,
20483
20367
  vaultAddress,
20484
- candidatesByPool: candidates,
20368
+ candidatesByPool: poolInfos.map((poolInfo) => {
20369
+ const candidate = candidates.find((item) => item.poolAddress.toLowerCase() === poolInfo.pool.toLowerCase());
20370
+ return {
20371
+ poolAddress: poolInfo.pool,
20372
+ candidates: candidate?.candidates ?? []
20373
+ };
20374
+ }),
20485
20375
  blockNumber
20486
20376
  });
20487
20377
  const wethAddress = resolveChainWethAddress(chainId);
@@ -20852,6 +20742,17 @@ function findLeaf(artifact, description) {
20852
20742
  return leaf;
20853
20743
  }
20854
20744
  /**
20745
+ * Finds a pool-bound leaf by both its description and target contract.
20746
+ * Use this instead of findLeaf when an artifact can authorize the same action
20747
+ * on more than one Panoptic pool.
20748
+ */
20749
+ function findLeafForTarget(artifact, description, target) {
20750
+ const normalizedTarget = target.toLowerCase();
20751
+ const leaf = artifact.leafs.find((candidate) => candidate.Description === description && candidate.TargetAddress.toLowerCase() === normalizedTarget);
20752
+ if (!leaf) throw new Error(`Leaf not found: "${description}" for target ${target}`);
20753
+ return leaf;
20754
+ }
20755
+ /**
20855
20756
  * Transforms an array of ManageActions into the argument tuple required by
20856
20757
  * manageVaultWithMerkleVerification.
20857
20758
  *
@@ -20950,5 +20851,5 @@ function getAlchemyWsRpcUrl(chainId, alchemyApiKey) {
20950
20851
  }
20951
20852
 
20952
20853
  //#endregion
20953
- export { BASE_CHAIN_ID, BASE_DEPLOYMENT, BASE_ETH_USDC_5BPS_MARKET, BASE_HYPOVAULT_ADDRESSES, BASE_HYPOVAULT_CORE_ADDRESSES, BASE_HYPOVAULT_MANAGER_ADDRESSES, BASE_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, BASE_PANOPTIC_POOL_ADDRESSES, BASE_PANOPTIC_V2_ADDRESSES, BORROW_INDEX_BITS, BPS_SCALE, BaseUSDCPLPStrategistLeaves, BaseUSDCPLPVaultPoolInfos, BaseWETHPLPStrategistLeaves, BaseWETHPLPVaultPoolInfos, CHAIN_DEPLOYMENTS, CollateralTrackerAbi, CollateralTrackerV1_1Abi, Erc1155Abi, Erc20Abi, HypoVaultAbi, HypoVaultManagerConfigSchema, HypoVaultManagerWithMerkleVerificationAbi, MAINNET_CHAIN_ID, MAINNET_DEPLOYMENT, MAINNET_PANOPTIC_V2_ADDRESSES, MARKET_EPOCH_BITS, MARKET_EPOCH_SHIFT, MainnetLegacyUSDCPLPStrategistLeaves, MainnetLegacyWETHPLPStrategistLeaves, MainnetUSDCPLPLegacyVaultPoolInfos, MainnetUSDCPLPStrategistLeaves, MainnetUSDCPLPVaultPoolInfos, MainnetWETHPLPLegacyVaultPoolInfos, MainnetWETHPLPStrategistLeaves, MainnetWETHPLPVaultPoolInfos, Multicall3Abi, NonFungiblePositionManagerAbi, PanopticFactoryV3Abi, PanopticFactoryV4Abi, PanopticHelperAbi, PanopticPoolAbi, PanopticPoolV1_1Abi, PanopticQueryV1_1Abi, PanopticVaultAccountantAbi, PanopticVaultAccountantManagerInputAbi, PoolManagerAbi, RATE_AT_TARGET_BITS, RescueDistributorAbi, SECONDS_PER_YEAR, SEPOLIA_CHAIN_ID, SEPOLIA_DEPLOYMENT, SEPOLIA_ETH_USDC_5BPS_MARKET, SEPOLIA_HYPOVAULT_ADDRESSES, SEPOLIA_HYPOVAULT_CORE_ADDRESSES, SEPOLIA_HYPOVAULT_MANAGER_ADDRESSES, SEPOLIA_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, SEPOLIA_PANOPTIC_POOL_ADDRESSES, SEPOLIA_PANOPTIC_V2_ADDRESSES, SemiFungiblePositionManagerAbi, SemiFungiblePositionManagerV1_1Abi, SepoliaUSDCPLPStrategistLeaves, SepoliaUSDCPLPVaultPoolInfos, SepoliaWETHPLPStrategistLeaves, SepoliaWETHPLPVaultPoolInfos, Simple7702AccountAbi, StateViewAbi, UNREALIZED_INTEREST_BITS, UniswapHelperAbi, UniswapHelperV1_1Abi, UniswapMigratorAbi, UniswapV3FactoryAbi, UniswapV3PoolAbi, UsdcPlpVaultBaseProdConfig, UsdcPlpVaultMainnetLegacyConfig, UsdcPlpVaultMainnetProdConfig, UsdcPlpVaultSepoliaDevConfig, UsdcPlpVaultSepoliaProdConfig, VAULT_DISPLAY_NAMES_PER_CHAIN, VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN, VaultApyPreInceptionBlockError, WAD, WETHAbi, WethPlpVaultBaseProdConfig, WethPlpVaultMainnetLegacyConfig, WethPlpVaultMainnetProdConfig, WethPlpVaultSepoliaDevConfig, WethPlpVaultSepoliaProdConfig, adjustUnderlyingIdleBalance, annualizePerSecondRateWad, buildClaimVaultShareCalldatas, buildExecuteDepositCalldatas, buildExecuteWithdrawalCalldatas, buildManageArgs, buildManagerInput, buildManagerInputAtBlock, buildRequestWithdrawalCalldatas, buildVaultManagerInput, buildVaultManagerInputAtBlock, builderFactoryAbi, builderWalletAbi, calculateAnnualizedApyPct, calculateAssetsFromShares, calculateAvailableShares, calculateClaimableAssetsFromQueuedWithdrawals, calculateClaimableSharesFromQueuedDeposits, calculateSharesFromAssets, calculateVaultNetLendingApyPctFromTrackerInputs, calculateVaultNetLendingYieldUnderlyingFromTrackerInputs, cancelDeposit, chainToHypoVaultGraphQlAPI, collateralTrackerV2Abi as collateralTrackerAbi, collateralTrackerV2Abi, computeSharePriceFromNavSnapshot, convertJsonTreeToArray, deriveSupplyRatePerSecWad, deriveVaultApyTimeseriesFromSharePrices, encodeApproveFunctionData, encodeCancelDepositFunctionData, encodeDepositFunctionData, encodeExecuteDepositFunctionData, encodeExecuteWithdrawalFunctionData, encodeExecuteWithdrawalMulticallFunctionData, encodeFulfillDepositsFunctionData, encodeFulfillWithdrawalsFunctionData, encodeRequestDepositFunctionData, encodeRequestWithdrawalFunctionData, encodeRequestWithdrawalMulticallFunctionData, encodeWithdrawFunctionData, executeWithdrawal, executeWithdrawalMulticall, fetchFirstDepositTimestampByVaultId, fetchVaultLendingAllocation, fetchVaultNetLendingApyPct, fetchVaultNetLendingYieldUnderlying, fetchVaultSharePriceSnapshot, findLeaf, formatPerSecondRateWadAsAprPct, formatPerSecondRateWadAsApyPct, generateProof, getAlchemyRpcUrl, getAlchemyWsRpcUrl, getCancelDepositContractConfig, getChainDeployment, getEthUsdcMarket, getExecuteWithdrawalContractConfig, getExecuteWithdrawalMulticallContractConfig, getHypoVaultConfigForVault, getHypoVaultGraphQLClient, getIrmCurrent, getIrmCurve, getLendingAllocationRows, getMinQueuedDepositEpoch, getProofsFromDigests, getProofsUsingTree, getRequestDepositContractConfig, getRequestWithdrawalContractConfig, getRequestWithdrawalMulticallContractConfig, getStaleOracleOverrideBytecodeForAccountant, getStaleOracleStateOverrideForAccountant, getVaultApyErrorMessage, getVaultApyStrategy, getVaultPoolInfos, isExpectedHistoricalReadMiss, isStaleOraclePriceError, isStaleOraclePriceReadError, isSupportedChain, packMarketState, panopticFactoryV4Abi as panopticFactoryAbi, panopticFactoryV3Abi, panopticFactoryV4Abi, panopticPoolV2Abi as panopticPoolAbi, panopticPoolV2Abi, panopticQueryAbi, parseCustomError, ratePerSecWadToAprPct, requestDeposit, requestWithdrawal, requestWithdrawalMulticall, requireChainDeployment, resolveVaultDisplayName, resolveVaultHistoricalCandidatesByPool, resolveVaultTokenIdsByPool, riskEngineAbi, semiFungiblePositionManagerV4Abi as semiFungiblePositionManagerAbi, semiFungiblePositionManagerV3Abi, semiFungiblePositionManagerV4Abi, setVaultApyStrategyOverride, simulateCancelDeposit, simulateExecuteWithdrawal, simulateExecuteWithdrawalMulticall, simulateRequestDeposit, simulateRequestWithdrawal, simulateRequestWithdrawalMulticall, useCancelDeposit, useClaimVaultShares, useExecuteWithdrawal, useRequestDeposit, useRequestWithdrawal, utilizationBpsToWad, utilizationPctToWad, verifyVaultOpenTokenIdsAtBlock };
20854
+ export { BASE_CHAIN_ID, BASE_DEPLOYMENT, BASE_ETH_USDC_5BPS_MARKET, BASE_HYPOVAULT_ADDRESSES, BASE_HYPOVAULT_CORE_ADDRESSES, BASE_HYPOVAULT_MANAGER_ADDRESSES, BASE_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, BASE_PANOPTIC_POOL_ADDRESSES, BASE_PANOPTIC_V2_ADDRESSES, BORROW_INDEX_BITS, BPS_SCALE, BaseUSDCPLPStrategistLeaves, BaseUSDCPLPVaultPoolInfos, BaseWETHPLPStrategistLeaves, BaseWETHPLPVaultPoolInfos, CHAIN_DEPLOYMENTS, CollateralTrackerAbi, CollateralTrackerV1_1Abi, Erc1155Abi, Erc20Abi, HypoVaultAbi, HypoVaultManagerConfigSchema, HypoVaultManagerWithMerkleVerificationAbi, MAINNET_CHAIN_ID, MAINNET_DEPLOYMENT, MAINNET_ETH_USDC_5BPS_V3_PANOPTIC_POOL_ADDRESSES, MAINNET_PANOPTIC_V2_ADDRESSES, MAINNET_RISK_ENGINES, MARKET_EPOCH_BITS, MARKET_EPOCH_SHIFT, MainnetLegacyUSDCPLPStrategistLeaves, MainnetLegacyWETHPLPStrategistLeaves, MainnetUSDCPLPLegacyVaultPoolInfos, MainnetUSDCPLPPreviousStrategistLeaves, MainnetUSDCPLPPreviousVaultPoolInfos, MainnetUSDCPLPStrategistLeaves, MainnetUSDCPLPVaultPoolInfos, MainnetWETHPLPLegacyVaultPoolInfos, MainnetWETHPLPPreviousStrategistLeaves, MainnetWETHPLPPreviousVaultPoolInfos, MainnetWETHPLPStrategistLeaves, MainnetWETHPLPVaultPoolInfos, Multicall3Abi, NonFungiblePositionManagerAbi, PanopticFactoryV3Abi, PanopticFactoryV4Abi, PanopticHelperAbi, PanopticPoolAbi, PanopticPoolV1_1Abi, PanopticQueryV1_1Abi, PanopticVaultAccountantAbi, PanopticVaultAccountantManagerInputAbi, PoolManagerAbi, RATE_AT_TARGET_BITS, RescueDistributorAbi, SECONDS_PER_YEAR, SEPOLIA_CHAIN_ID, SEPOLIA_DEPLOYMENT, SEPOLIA_ETH_USDC_5BPS_MARKET, SEPOLIA_HYPOVAULT_ADDRESSES, SEPOLIA_HYPOVAULT_CORE_ADDRESSES, SEPOLIA_HYPOVAULT_MANAGER_ADDRESSES, SEPOLIA_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, SEPOLIA_PANOPTIC_POOL_ADDRESSES, SEPOLIA_PANOPTIC_V2_ADDRESSES, SemiFungiblePositionManagerAbi, SemiFungiblePositionManagerV1_1Abi, SepoliaUSDCPLPStrategistLeaves, SepoliaUSDCPLPVaultPoolInfos, SepoliaWETHPLPStrategistLeaves, SepoliaWETHPLPVaultPoolInfos, Simple7702AccountAbi, StateViewAbi, UNREALIZED_INTEREST_BITS, UniswapHelperAbi, UniswapHelperV1_1Abi, UniswapMigratorAbi, UniswapV3FactoryAbi, UniswapV3PoolAbi, UsdcPlpVaultBaseProdConfig, UsdcPlpVaultMainnetLegacyConfig, UsdcPlpVaultMainnetProdConfig, UsdcPlpVaultSepoliaDevConfig, UsdcPlpVaultSepoliaProdConfig, VAULT_DISPLAY_NAMES_PER_CHAIN, VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN, VaultApyPreInceptionBlockError, WAD, WETHAbi, WethPlpVaultBaseProdConfig, WethPlpVaultMainnetLegacyConfig, WethPlpVaultMainnetProdConfig, WethPlpVaultSepoliaDevConfig, WethPlpVaultSepoliaProdConfig, adjustUnderlyingIdleBalance, annualizePerSecondRateWad, buildClaimVaultShareCalldatas, buildExecuteDepositCalldatas, buildExecuteWithdrawalCalldatas, buildManageArgs, buildManagerInput, buildManagerInputAtBlock, buildRequestWithdrawalCalldatas, buildVaultManagerInput, buildVaultManagerInputAtBlock, builderFactoryAbi, builderWalletAbi, calculateAnnualizedApyPct, calculateAssetsFromShares, calculateAvailableShares, calculateClaimableAssetsFromQueuedWithdrawals, calculateClaimableSharesFromQueuedDeposits, calculateSharesFromAssets, calculateVaultNetLendingApyPctFromTrackerInputs, calculateVaultNetLendingYieldUnderlyingFromTrackerInputs, cancelDeposit, chainToHypoVaultGraphQlAPI, collateralTrackerV2Abi as collateralTrackerAbi, collateralTrackerV2Abi, computeSharePriceFromNavSnapshot, convertJsonTreeToArray, deriveSupplyRatePerSecWad, deriveVaultApyTimeseriesFromSharePrices, encodeApproveFunctionData, encodeCancelDepositFunctionData, encodeDepositFunctionData, encodeExecuteDepositFunctionData, encodeExecuteWithdrawalFunctionData, encodeExecuteWithdrawalMulticallFunctionData, encodeFulfillDepositsFunctionData, encodeFulfillWithdrawalsFunctionData, encodeRequestDepositFunctionData, encodeRequestWithdrawalFunctionData, encodeRequestWithdrawalMulticallFunctionData, encodeWithdrawFunctionData, executeWithdrawal, executeWithdrawalMulticall, fetchFirstDepositTimestampByVaultId, fetchVaultLendingAllocation, fetchVaultNetLendingApyPct, fetchVaultNetLendingYieldUnderlying, fetchVaultSharePriceSnapshot, findLeaf, findLeafForTarget, formatPerSecondRateWadAsAprPct, formatPerSecondRateWadAsApyPct, generateProof, getAlchemyRpcUrl, getAlchemyWsRpcUrl, getCancelDepositContractConfig, getChainDeployment, getEthUsdcMarket, getExecuteWithdrawalContractConfig, getExecuteWithdrawalMulticallContractConfig, getHypoVaultConfigForVault, getHypoVaultGraphQLClient, getIrmCurrent, getIrmCurve, getLendingAllocationRows, getMainnetV3AuthorizationGenerations, getMinQueuedDepositEpoch, getProofsFromDigests, getProofsUsingTree, getRequestDepositContractConfig, getRequestWithdrawalContractConfig, getRequestWithdrawalMulticallContractConfig, getStaleOracleOverrideBytecodeForAccountant, getStaleOracleStateOverrideForAccountant, getVaultApyErrorMessage, getVaultApyStrategy, getVaultPoolInfos, isExpectedHistoricalReadMiss, isStaleOraclePriceError, isStaleOraclePriceReadError, isSupportedChain, packMarketState, panopticFactoryV4Abi as panopticFactoryAbi, panopticFactoryV3Abi, panopticFactoryV4Abi, panopticPoolV2Abi as panopticPoolAbi, panopticPoolV2Abi, panopticQueryAbi, parseCustomError, ratePerSecWadToAprPct, requestDeposit, requestWithdrawal, requestWithdrawalMulticall, requireChainDeployment, resolveMainnetV3AuthorizationArtifacts, resolveVaultDisplayName, resolveVaultHistoricalCandidatesByPool, resolveVaultTokenIdsByPool, riskEngineAbi, semiFungiblePositionManagerV4Abi as semiFungiblePositionManagerAbi, semiFungiblePositionManagerV3Abi, semiFungiblePositionManagerV4Abi, setVaultApyStrategyOverride, simulateCancelDeposit, simulateExecuteWithdrawal, simulateExecuteWithdrawalMulticall, simulateRequestDeposit, simulateRequestWithdrawal, simulateRequestWithdrawalMulticall, useCancelDeposit, useClaimVaultShares, useExecuteWithdrawal, useRequestDeposit, useRequestWithdrawal, utilizationBpsToWad, utilizationPctToWad, verifyVaultOpenTokenIdsAtBlock };
20954
20855
  //# sourceMappingURL=index.js.map