@panoptic-eng/sdk 1.0.4 → 1.0.5

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.
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { annualizePerSecondRateWad, formatPerSecondRateWadAsAprPct, formatPerSecondRateWadAsApyPct, getAccountCollateral, getCollateralData, getPoolMetadata } from "./rates-D-7EWaPS.js";
1
2
  import { BaseError, ContractFunctionRevertedError, encodeAbiParameters, encodeFunctionData, encodePacked, keccak256, maxUint256, parseAbi, zeroAddress } from "viem";
2
3
  import { readContract, simulateContract, writeContract } from "viem/actions";
3
4
  import { useCallback, useEffect, useMemo, useRef } from "react";
@@ -19703,6 +19704,398 @@ const semiFungiblePositionManagerAbi = [
19703
19704
  }
19704
19705
  ];
19705
19706
 
19707
+ //#endregion
19708
+ //#region src/hypoVault/hypoVaultManagerArtifacts/ProductionUSDCPLPVaultPoolInfos.ts
19709
+ const ProductionUSDCPLPVaultPoolInfos = {
19710
+ vaultAddress: "0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87",
19711
+ poolInfos: [{
19712
+ maxPriceDeviation: 100,
19713
+ pool: "0x5D44F6574B8dE88ffa2CCAEba0B07aD3C204571E",
19714
+ token0: "0x0000000000000000000000000000000000000000",
19715
+ token1: "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A"
19716
+ }]
19717
+ };
19718
+
19719
+ //#endregion
19720
+ //#region src/hypoVault/hypoVaultManagerArtifacts/ProductionWETHPLPVaultPoolInfos.ts
19721
+ const ProductionWETHPLPVaultPoolInfos = {
19722
+ vaultAddress: "0x225Bf020d280E98C3037fb3c5aa291De6F618834",
19723
+ poolInfos: [{
19724
+ maxPriceDeviation: 100,
19725
+ pool: "0x5D44F6574B8dE88ffa2CCAEba0B07aD3C204571E",
19726
+ token0: "0x0000000000000000000000000000000000000000",
19727
+ token1: "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A"
19728
+ }]
19729
+ };
19730
+
19731
+ //#endregion
19732
+ //#region src/hypoVault/hypoVaultManagerConfigs/usdcGammaVaultSepoliaDevConfig.ts
19733
+ const UsdcGammaVaultSepoliaDevConfig = {
19734
+ deployment: "dev",
19735
+ manageCycleIntervalMs: 1e4,
19736
+ vaultCapInUnderlying: 1000000000n,
19737
+ chainId: 11155111,
19738
+ hypoVaultAddress: "0xAed1bBE846605B9913F43C9c884399e3085C33f5",
19739
+ addresses: {
19740
+ ethUsdc500bpsV4Collateral1: "0xe2BD879109f84313AC986B2390110F5A240a9fa9",
19741
+ ethUsdc500bpsV4PanopticPool: "0x5D44F6574B8dE88ffa2CCAEba0B07aD3C204571E",
19742
+ hypoVaultManagerWithMerkleVerification: "0x5214b3ee7c7913454a7f53cd9dC813D05D0043Ed",
19743
+ hypoVault: "0xAed1bBE846605B9913F43C9c884399e3085C33f5",
19744
+ underlyingToken: "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A"
19745
+ }
19746
+ };
19747
+
19748
+ //#endregion
19749
+ //#region src/hypoVault/hypoVaultManagerConfigs/usdcGammaVaultSepoliaProdConfig.ts
19750
+ const UsdcGammaVaultSepoliaProdConfig = {
19751
+ deployment: "prod",
19752
+ manageCycleIntervalMs: 864e5,
19753
+ vaultCapInUnderlying: 1000000000n,
19754
+ chainId: 11155111,
19755
+ hypoVaultAddress: "0xAed1bBE846605B9913F43C9c884399e3085C33f5",
19756
+ addresses: {
19757
+ ethUsdc500bpsV4Collateral1: "0xe2BD879109f84313AC986B2390110F5A240a9fa9",
19758
+ ethUsdc500bpsV4PanopticPool: "0x5D44F6574B8dE88ffa2CCAEba0B07aD3C204571E",
19759
+ hypoVaultManagerWithMerkleVerification: "0x5214b3ee7c7913454a7f53cd9dC813D05D0043Ed",
19760
+ hypoVault: "0xAed1bBE846605B9913F43C9c884399e3085C33f5",
19761
+ underlyingToken: "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A"
19762
+ }
19763
+ };
19764
+
19765
+ //#endregion
19766
+ //#region src/hypoVault/hypoVaultManagerConfigs/usdcPlpVaultSepoliaDevConfig.ts
19767
+ const UsdcPlpVaultSepoliaDevConfig = {
19768
+ deployment: "dev",
19769
+ manageCycleIntervalMs: 1e4,
19770
+ vaultCapInUnderlying: 1000000000n,
19771
+ chainId: 11155111,
19772
+ hypoVaultAddress: "0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87",
19773
+ addresses: {
19774
+ ethUsdc500bpsV4Collateral1: "0xe2BD879109f84313AC986B2390110F5A240a9fa9",
19775
+ ethUsdc500bpsV4PanopticPool: "0x5D44F6574B8dE88ffa2CCAEba0B07aD3C204571E",
19776
+ hypoVaultManagerWithMerkleVerification: "0x2FDaAeb3401DC87c2A8082Bf42c7ea05856c200b",
19777
+ hypoVault: "0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87",
19778
+ underlyingToken: "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A"
19779
+ }
19780
+ };
19781
+
19782
+ //#endregion
19783
+ //#region src/hypoVault/hypoVaultManagerConfigs/usdcPlpVaultSepoliaProdConfig.ts
19784
+ const UsdcPlpVaultSepoliaProdConfig = {
19785
+ deployment: "prod",
19786
+ manageCycleIntervalMs: 864e5,
19787
+ vaultCapInUnderlying: 150000000n,
19788
+ chainId: 11155111,
19789
+ hypoVaultAddress: "0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87",
19790
+ addresses: {
19791
+ ethUsdc500bpsV4Collateral1: "0xe2BD879109f84313AC986B2390110F5A240a9fa9",
19792
+ ethUsdc500bpsV4PanopticPool: "0x5D44F6574B8dE88ffa2CCAEba0B07aD3C204571E",
19793
+ hypoVaultManagerWithMerkleVerification: "0x2FDaAeb3401DC87c2A8082Bf42c7ea05856c200b",
19794
+ hypoVault: "0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87",
19795
+ underlyingToken: "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A"
19796
+ }
19797
+ };
19798
+
19799
+ //#endregion
19800
+ //#region src/hypoVault/hypoVaultManagerConfigs/wethPlpVaultSepoliaDevConfig.ts
19801
+ const WethPlpVaultSepoliaDevConfig = {
19802
+ deployment: "dev",
19803
+ manageCycleIntervalMs: 1e4,
19804
+ vaultCapInUnderlying: 1000000000000000000n,
19805
+ chainId: 11155111,
19806
+ hypoVaultAddress: "0x225Bf020d280E98C3037fb3c5aa291De6F618834",
19807
+ addresses: {
19808
+ ethUsdc500bpsV4Collateral0: "0x4d2579A5F9BC32641D6AdbFC47C6dAceF30027F1",
19809
+ ethUsdc500bpsV4PanopticPool: "0x5D44F6574B8dE88ffa2CCAEba0B07aD3C204571E",
19810
+ hypoVaultManagerWithMerkleVerification: "0xe675A002d7f8C9476Ebf3706550b80221BA2AE5E",
19811
+ hypoVault: "0x225Bf020d280E98C3037fb3c5aa291De6F618834",
19812
+ underlyingToken: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"
19813
+ }
19814
+ };
19815
+
19816
+ //#endregion
19817
+ //#region src/hypoVault/hypoVaultManagerConfigs/wethPlpVaultSepoliaProdConfig.ts
19818
+ const WethPlpVaultSepoliaProdConfig = {
19819
+ deployment: "prod",
19820
+ manageCycleIntervalMs: 864e5,
19821
+ vaultCapInUnderlying: 1000000000000000000n,
19822
+ chainId: 11155111,
19823
+ hypoVaultAddress: "0x225Bf020d280E98C3037fb3c5aa291De6F618834",
19824
+ addresses: {
19825
+ ethUsdc500bpsV4Collateral0: "0x4d2579A5F9BC32641D6AdbFC47C6dAceF30027F1",
19826
+ ethUsdc500bpsV4PanopticPool: "0x5D44F6574B8dE88ffa2CCAEba0B07aD3C204571E",
19827
+ hypoVaultManagerWithMerkleVerification: "0xe675A002d7f8C9476Ebf3706550b80221BA2AE5E",
19828
+ hypoVault: "0x225Bf020d280E98C3037fb3c5aa291De6F618834",
19829
+ underlyingToken: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"
19830
+ }
19831
+ };
19832
+
19833
+ //#endregion
19834
+ //#region src/hypoVault/hypoVaultManagerConfigs/vaultToConfig.ts
19835
+ const ALL_HYPO_VAULT_CONFIGS = [
19836
+ WethPlpVaultSepoliaDevConfig,
19837
+ WethPlpVaultSepoliaProdConfig,
19838
+ UsdcPlpVaultSepoliaDevConfig,
19839
+ UsdcPlpVaultSepoliaProdConfig,
19840
+ UsdcGammaVaultSepoliaDevConfig,
19841
+ UsdcGammaVaultSepoliaProdConfig
19842
+ ];
19843
+ function getHypoVaultConfigForVault(vaultAddress, chainId, options) {
19844
+ const vaultLower = vaultAddress.toLowerCase();
19845
+ const matchingConfigs = ALL_HYPO_VAULT_CONFIGS.filter((c) => c.hypoVaultAddress?.toLowerCase() === vaultLower && c.chainId === chainId);
19846
+ if (matchingConfigs.length === 0) return void 0;
19847
+ const preferredDeployment = options?.preferredDeployment;
19848
+ if (preferredDeployment !== void 0) {
19849
+ const preferredConfig = matchingConfigs.find((c) => c.deployment === preferredDeployment);
19850
+ if (preferredConfig !== void 0) return preferredConfig;
19851
+ }
19852
+ const deploymentRank = {
19853
+ prod: 0,
19854
+ dev: 1
19855
+ };
19856
+ return [...matchingConfigs].sort((a, b) => deploymentRank[a.deployment] - deploymentRank[b.deployment])[0];
19857
+ }
19858
+
19859
+ //#endregion
19860
+ //#region src/hypoVault/analytics/lendingAllocation.ts
19861
+ const erc20BalanceOfAbi = [{
19862
+ type: "function",
19863
+ name: "balanceOf",
19864
+ inputs: [{
19865
+ name: "account",
19866
+ type: "address"
19867
+ }],
19868
+ outputs: [{
19869
+ name: "balance",
19870
+ type: "uint256"
19871
+ }],
19872
+ stateMutability: "view"
19873
+ }];
19874
+ function toLowerAddress(address) {
19875
+ return address.toLowerCase();
19876
+ }
19877
+ function discoverPoolAddresses({ chainId, vaultAddress }) {
19878
+ const discoveredAddresses = [];
19879
+ const seen = new Set();
19880
+ const config = getHypoVaultConfigForVault(vaultAddress, chainId);
19881
+ const poolFromConfig = config?.addresses?.ethUsdc500bpsV4PanopticPool;
19882
+ if (poolFromConfig !== void 0) {
19883
+ const key = toLowerAddress(poolFromConfig);
19884
+ if (!seen.has(key)) {
19885
+ seen.add(key);
19886
+ discoveredAddresses.push(poolFromConfig);
19887
+ }
19888
+ }
19889
+ const vaultLower = toLowerAddress(vaultAddress);
19890
+ const artifactPoolInfos = [...toLowerAddress(ProductionUSDCPLPVaultPoolInfos.vaultAddress) === vaultLower ? ProductionUSDCPLPVaultPoolInfos.poolInfos : [], ...toLowerAddress(ProductionWETHPLPVaultPoolInfos.vaultAddress) === vaultLower ? ProductionWETHPLPVaultPoolInfos.poolInfos : []];
19891
+ for (const poolInfo of artifactPoolInfos) {
19892
+ const key = toLowerAddress(poolInfo.pool);
19893
+ if (!seen.has(key)) {
19894
+ seen.add(key);
19895
+ discoveredAddresses.push(poolInfo.pool);
19896
+ }
19897
+ }
19898
+ return discoveredAddresses;
19899
+ }
19900
+ function getUnderlyingIndex({ underlyingTokenAddress, token0Asset, token1Asset }) {
19901
+ const underlyingLower = toLowerAddress(underlyingTokenAddress);
19902
+ if (toLowerAddress(token0Asset) === underlyingLower) return 0;
19903
+ if (toLowerAddress(token1Asset) === underlyingLower) return 1;
19904
+ return null;
19905
+ }
19906
+ async function getLendingAllocationRows({ client, chainId, vaultAddress, underlyingTokenAddress, blockNumber }) {
19907
+ const poolAddresses = discoverPoolAddresses({
19908
+ chainId,
19909
+ vaultAddress
19910
+ });
19911
+ const poolRows = await Promise.all(poolAddresses.map(async (poolAddress) => {
19912
+ const metadata = await getPoolMetadata({
19913
+ client,
19914
+ poolAddress
19915
+ });
19916
+ const underlyingIndex = getUnderlyingIndex({
19917
+ underlyingTokenAddress,
19918
+ token0Asset: metadata.token0Asset,
19919
+ token1Asset: metadata.token1Asset
19920
+ });
19921
+ if (underlyingIndex === null) return null;
19922
+ const [collateralData, accountCollateral] = await Promise.all([getCollateralData({
19923
+ client,
19924
+ poolAddress,
19925
+ tokenIndex: underlyingIndex,
19926
+ blockNumber
19927
+ }), getAccountCollateral({
19928
+ client,
19929
+ poolAddress,
19930
+ account: vaultAddress,
19931
+ blockNumber
19932
+ })]);
19933
+ const allocationUnderlying = underlyingIndex === 0 ? accountCollateral.token0.assets : accountCollateral.token1.assets;
19934
+ return {
19935
+ market: `${metadata.token0Symbol}/${metadata.token1Symbol}`,
19936
+ supplyRateWad: collateralData.supplyRate,
19937
+ utilizationBps: collateralData.utilization,
19938
+ allocationUnderlying,
19939
+ allocationPctBps: 0n,
19940
+ isIdle: false,
19941
+ poolAddress
19942
+ };
19943
+ }));
19944
+ const nonNullPoolRows = poolRows.filter((row) => row !== null);
19945
+ const idleBalance = await client.readContract({
19946
+ address: underlyingTokenAddress,
19947
+ abi: erc20BalanceOfAbi,
19948
+ functionName: "balanceOf",
19949
+ args: [vaultAddress],
19950
+ blockNumber
19951
+ });
19952
+ const idleRow = {
19953
+ market: "Idle Funds",
19954
+ supplyRateWad: null,
19955
+ utilizationBps: null,
19956
+ allocationUnderlying: idleBalance,
19957
+ allocationPctBps: 0n,
19958
+ isIdle: true,
19959
+ poolAddress: null
19960
+ };
19961
+ const rowsBeforePct = [...nonNullPoolRows, idleRow];
19962
+ const totalUnderlying = rowsBeforePct.reduce((sum, row) => sum + row.allocationUnderlying, 0n);
19963
+ if (totalUnderlying === 0n) return {
19964
+ rows: rowsBeforePct,
19965
+ totalUnderlying
19966
+ };
19967
+ return {
19968
+ rows: rowsBeforePct.map((row) => ({
19969
+ ...row,
19970
+ allocationPctBps: row.allocationUnderlying * 10000n / totalUnderlying
19971
+ })),
19972
+ totalUnderlying
19973
+ };
19974
+ }
19975
+
19976
+ //#endregion
19977
+ //#region src/hypoVault/cancelDeposit/cancelDeposit.ts
19978
+ const getCancelDepositContractConfig = ({ vaultAddress }) => ({
19979
+ address: vaultAddress,
19980
+ abi: HypoVaultAbi,
19981
+ functionName: "cancelDeposit",
19982
+ args: []
19983
+ });
19984
+ function encodeCancelDepositFunctionData() {
19985
+ return encodeFunctionData({
19986
+ abi: HypoVaultAbi,
19987
+ functionName: "cancelDeposit",
19988
+ args: []
19989
+ });
19990
+ }
19991
+ function simulateCancelDeposit({ viemClient, vaultAddress, account }) {
19992
+ return simulateContract(viemClient, {
19993
+ ...getCancelDepositContractConfig({ vaultAddress }),
19994
+ account
19995
+ });
19996
+ }
19997
+ function cancelDeposit({ walletClient, vaultAddress, account }) {
19998
+ return writeContract(walletClient, {
19999
+ ...getCancelDepositContractConfig({ vaultAddress }),
20000
+ account
20001
+ });
20002
+ }
20003
+
20004
+ //#endregion
20005
+ //#region src/errors/ethereum.ts
20006
+ /**
20007
+ * Parses a custom error from Viem's BaseError or ContractFunctionRevertedError using BaseError.walk.
20008
+ * Docs on walk usage: https://viem.sh/docs/contract/simulateContract.html#handling-custom-errors
20009
+ *
20010
+ * @param {Error} e - The error to parse.
20011
+ * @returns {BaseError | ContractFunctionRevertedError | Error} The parsed error.
20012
+ *
20013
+ * @example
20014
+ * To get typesafe access to revert error, can do something like:
20015
+ * if (e instanceof ContractFunctionRevertedError) {
20016
+ * // Access custom error properties through the `data` attribute:
20017
+ * console.error('Custom error name: ', e.data?.errorName)
20018
+ * console.error('Custom error args: ', e.data?.args)
20019
+ * } else {
20020
+ * console.error('Error name: ', e.name)
20021
+ * console.error('Error message: ', e.message)
20022
+ * }
20023
+ */
20024
+ const parseCustomError = (e) => {
20025
+ if (e instanceof BaseError) {
20026
+ const revertError = e.walk((e$1) => e$1 instanceof ContractFunctionRevertedError);
20027
+ if (revertError instanceof ContractFunctionRevertedError) return revertError;
20028
+ return e;
20029
+ }
20030
+ return e;
20031
+ };
20032
+ const isErrorUserRejection = (errorMessage) => errorMessage.includes("User rejected the request.");
20033
+
20034
+ //#endregion
20035
+ //#region src/hypoVault/cancelDeposit/hooks/use-cancel-deposit.ts
20036
+ const useCancelDeposit = ({ vaultAddress, onWaitSuccess }) => {
20037
+ const { address: account } = useAccount();
20038
+ const canSimulate = vaultAddress !== zeroAddress && account != null && account !== zeroAddress;
20039
+ const simulate = useSimulateContract({
20040
+ ...getCancelDepositContractConfig({ vaultAddress }),
20041
+ account,
20042
+ query: {
20043
+ enabled: canSimulate,
20044
+ retry: false
20045
+ }
20046
+ });
20047
+ const write = useWriteContract();
20048
+ const wait = useWaitForTransactionReceipt({
20049
+ hash: write.data,
20050
+ query: {
20051
+ refetchOnWindowFocus: false,
20052
+ refetchOnMount: false
20053
+ }
20054
+ });
20055
+ const handledRequestHashRef = useRef(void 0);
20056
+ useEffect(() => {
20057
+ const requestHash = write.data;
20058
+ if (!wait.isSuccess || requestHash == null) return;
20059
+ if (handledRequestHashRef.current === requestHash) return;
20060
+ handledRequestHashRef.current = requestHash;
20061
+ onWaitSuccess?.();
20062
+ }, [
20063
+ onWaitSuccess,
20064
+ wait.isSuccess,
20065
+ write.data
20066
+ ]);
20067
+ const act = useCallback(() => {
20068
+ const request = simulate.data?.request;
20069
+ return request != null ? write.writeContract(request) : void 0;
20070
+ }, [simulate.data?.request, write]);
20071
+ const actionLabel = useMemo(() => {
20072
+ if (simulate.isLoading) return "Simulating deposit cancellation...";
20073
+ if (write.isPending || wait.isLoading) return "Cancelling deposits...";
20074
+ return "Cancel All";
20075
+ }, [
20076
+ simulate.isLoading,
20077
+ write.isPending,
20078
+ wait.isLoading
20079
+ ]);
20080
+ const isLoading = simulate.isLoading || write.isPending || wait.isLoading;
20081
+ const canSubmit = simulate.data?.request != null && !isLoading;
20082
+ const error = useMemo(() => {
20083
+ if (simulate.error) return parseCustomError(simulate.error);
20084
+ if (write.error && !isErrorUserRejection(write.error.message)) return parseCustomError(write.error);
20085
+ return void 0;
20086
+ }, [simulate.error, write.error]);
20087
+ return {
20088
+ actionLabel,
20089
+ act,
20090
+ canSubmit,
20091
+ isLoading,
20092
+ error,
20093
+ simulate,
20094
+ write,
20095
+ wait
20096
+ };
20097
+ };
20098
+
19706
20099
  //#endregion
19707
20100
  //#region src/hypoVault/executeWithdrawal/executeWithdrawal.ts
19708
20101
  function encodeExecuteWithdrawalFunctionData({ user, epoch }) {
@@ -19776,36 +20169,6 @@ function buildExecuteWithdrawalCalldatas({ user, epochsToExecute }) {
19776
20169
  }));
19777
20170
  }
19778
20171
 
19779
- //#endregion
19780
- //#region src/errors/ethereum.ts
19781
- /**
19782
- * Parses a custom error from Viem's BaseError or ContractFunctionRevertedError using BaseError.walk.
19783
- * Docs on walk usage: https://viem.sh/docs/contract/simulateContract.html#handling-custom-errors
19784
- *
19785
- * @param {Error} e - The error to parse.
19786
- * @returns {BaseError | ContractFunctionRevertedError | Error} The parsed error.
19787
- *
19788
- * @example
19789
- * To get typesafe access to revert error, can do something like:
19790
- * if (e instanceof ContractFunctionRevertedError) {
19791
- * // Access custom error properties through the `data` attribute:
19792
- * console.error('Custom error name: ', e.data?.errorName)
19793
- * console.error('Custom error args: ', e.data?.args)
19794
- * } else {
19795
- * console.error('Error name: ', e.name)
19796
- * console.error('Error message: ', e.message)
19797
- * }
19798
- */
19799
- const parseCustomError = (e) => {
19800
- if (e instanceof BaseError) {
19801
- const revertError = e.walk((e$1) => e$1 instanceof ContractFunctionRevertedError);
19802
- if (revertError instanceof ContractFunctionRevertedError) return revertError;
19803
- return e;
19804
- }
19805
- return e;
19806
- };
19807
- const isErrorUserRejection = (errorMessage) => errorMessage.includes("User rejected the request.");
19808
-
19809
20172
  //#endregion
19810
20173
  //#region src/hypoVault/executeWithdrawal/utils/index.ts
19811
20174
  function mulDiv$1({ value, numerator, denominator }) {
@@ -19969,13 +20332,262 @@ const useExecuteWithdrawal = ({ vaultAddress, desiredAssets, queuedWithdrawals,
19969
20332
  };
19970
20333
  };
19971
20334
 
20335
+ //#endregion
20336
+ //#region src/hypoVault/hypoVaultManagerArtifacts/ProductionUSDCGammaStrategistLeaves.ts
20337
+ const ProductionUSDCGammaStrategistLeaves = {
20338
+ metadata: {
20339
+ AccountantAddress: "0x061AF4Fd2a015ed871e7EA406749cF268236C918",
20340
+ BoringVaultAddress: "0xAed1bBE846605B9913F43C9c884399e3085C33f5",
20341
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20342
+ DigestComposition: [
20343
+ "Bytes20(DECODER_AND_SANITIZER_ADDRESS)",
20344
+ "Bytes20(TARGET_ADDRESS)",
20345
+ "Bytes1(CAN_SEND_VALUE)",
20346
+ "Bytes4(TARGET_FUNCTION_SELECTOR)",
20347
+ "Bytes{N*20}(ADDRESS_ARGUMENT_0,...,ADDRESS_ARGUMENT_N)"
20348
+ ],
20349
+ LeafCount: 11,
20350
+ ManageRoot: "0x55ae620ed666b0e014a4d6b276e18e4ba55b79d0c741e171f63804ea123ac0c7",
20351
+ ManagerAddress: "0x5214b3ee7c7913454a7f53cd9dC813D05D0043Ed",
20352
+ TreeCapacity: 16
20353
+ },
20354
+ leafs: [
20355
+ {
20356
+ AddressArguments: ["0xe2BD879109f84313AC986B2390110F5A240a9fa9"],
20357
+ CanSendValue: false,
20358
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20359
+ Description: "Approve poUSDC to spend USDC",
20360
+ FunctionSelector: "0x095ea7b3",
20361
+ FunctionSignature: "approve(address,uint256)",
20362
+ LeafDigest: "0x8663df1ac55443db0f05fe1497cd6bde9bef2a253df8dd3825bed0b224e0aec8",
20363
+ PackedArgumentAddresses: "0xe2bd879109f84313ac986b2390110f5a240a9fa9",
20364
+ TargetAddress: "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A"
20365
+ },
20366
+ {
20367
+ AddressArguments: ["0xAed1bBE846605B9913F43C9c884399e3085C33f5"],
20368
+ CanSendValue: false,
20369
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20370
+ Description: "Deposit USDC for poUSDC",
20371
+ FunctionSelector: "0x6e553f65",
20372
+ FunctionSignature: "deposit(uint256,address)",
20373
+ LeafDigest: "0x4bf3398b42a50dc899ac3dc143c0dac11125d62c50c268c91b54c74c4072fc2b",
20374
+ PackedArgumentAddresses: "0xaed1bbe846605b9913f43c9c884399e3085c33f5",
20375
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20376
+ },
20377
+ {
20378
+ AddressArguments: ["0xAed1bBE846605B9913F43C9c884399e3085C33f5"],
20379
+ CanSendValue: true,
20380
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20381
+ Description: "Deposit USDC for poUSDC (payable)",
20382
+ FunctionSelector: "0x6e553f65",
20383
+ FunctionSignature: "deposit(uint256,address)",
20384
+ LeafDigest: "0xbdebc37f956aa0ac0c4aa9625786b9701e1aa1578bcbf5fb604c976558901b61",
20385
+ PackedArgumentAddresses: "0xaed1bbe846605b9913f43c9c884399e3085c33f5",
20386
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20387
+ },
20388
+ {
20389
+ AddressArguments: ["0xAed1bBE846605B9913F43C9c884399e3085C33f5", "0xAed1bBE846605B9913F43C9c884399e3085C33f5"],
20390
+ CanSendValue: false,
20391
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20392
+ Description: "Withdraw USDC from poUSDC",
20393
+ FunctionSelector: "0xb460af94",
20394
+ FunctionSignature: "withdraw(uint256,address,address)",
20395
+ LeafDigest: "0xec54f4ffedf4edb6e24c63f77bf0dc9570215f827d0e017af3f0742ce35162c2",
20396
+ PackedArgumentAddresses: "0xaed1bbe846605b9913f43c9c884399e3085c33f5aed1bbe846605b9913f43c9c884399e3085c33f5",
20397
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20398
+ },
20399
+ {
20400
+ AddressArguments: ["0xAed1bBE846605B9913F43C9c884399e3085C33f5", "0xAed1bBE846605B9913F43C9c884399e3085C33f5"],
20401
+ CanSendValue: false,
20402
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20403
+ Description: "Withdraw USDC from poUSDC",
20404
+ FunctionSelector: "0x795a1f0d",
20405
+ FunctionSignature: "withdraw(uint256,address,address,uint256[])",
20406
+ LeafDigest: "0x9dc4dc2afdb2238cb09de4007c6140512a95bfe863a0cd916c8b63fc0e0a0cbe",
20407
+ PackedArgumentAddresses: "0xaed1bbe846605b9913f43c9c884399e3085c33f5aed1bbe846605b9913f43c9c884399e3085c33f5",
20408
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20409
+ },
20410
+ {
20411
+ AddressArguments: ["0xAed1bBE846605B9913F43C9c884399e3085C33f5"],
20412
+ CanSendValue: false,
20413
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20414
+ Description: "Mint poUSDC using USDC",
20415
+ FunctionSelector: "0x94bf804d",
20416
+ FunctionSignature: "mint(uint256,address)",
20417
+ LeafDigest: "0x14d886768796dbb64b5d768d71ff7c827a740b000a37ce8690cd0c810128031e",
20418
+ PackedArgumentAddresses: "0xaed1bbe846605b9913f43c9c884399e3085c33f5",
20419
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20420
+ },
20421
+ {
20422
+ AddressArguments: ["0xAed1bBE846605B9913F43C9c884399e3085C33f5"],
20423
+ CanSendValue: true,
20424
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20425
+ Description: "Mint poUSDC using USDC (payable)",
20426
+ FunctionSelector: "0x94bf804d",
20427
+ FunctionSignature: "mint(uint256,address)",
20428
+ LeafDigest: "0x506412cb75d2e7bc998eb96807f7588eb7068b24713295afa9d317112aa6b297",
20429
+ PackedArgumentAddresses: "0xaed1bbe846605b9913f43c9c884399e3085c33f5",
20430
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20431
+ },
20432
+ {
20433
+ AddressArguments: ["0xAed1bBE846605B9913F43C9c884399e3085C33f5", "0xAed1bBE846605B9913F43C9c884399e3085C33f5"],
20434
+ CanSendValue: false,
20435
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20436
+ Description: "Redeem poUSDC for USDC",
20437
+ FunctionSelector: "0xba087652",
20438
+ FunctionSignature: "redeem(uint256,address,address)",
20439
+ LeafDigest: "0x72479b43d124b4adeab2a2c405d70f6b9a13a707478675873e629016b4bd736b",
20440
+ PackedArgumentAddresses: "0xaed1bbe846605b9913f43c9c884399e3085c33f5aed1bbe846605b9913f43c9c884399e3085c33f5",
20441
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20442
+ },
20443
+ {
20444
+ AddressArguments: [],
20445
+ CanSendValue: false,
20446
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20447
+ Description: "Dispatch mint/burn options on PanopticPool",
20448
+ FunctionSelector: "0xc25813aa",
20449
+ FunctionSignature: "dispatch(uint256[],uint256[],uint128[],int24[3][],bool,uint256)",
20450
+ LeafDigest: "0x0cfafbcb312ae216c967b7e2f5eb41516f192473291b61604dd09d4784625e63",
20451
+ PackedArgumentAddresses: "0x",
20452
+ TargetAddress: "0x5D44F6574B8dE88ffa2CCAEba0B07aD3C204571E"
20453
+ },
20454
+ {
20455
+ AddressArguments: [],
20456
+ CanSendValue: true,
20457
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20458
+ Description: "Wrap ETH to WETH",
20459
+ FunctionSelector: "0xd0e30db0",
20460
+ FunctionSignature: "deposit()",
20461
+ LeafDigest: "0xb2aef7663f89e5d8fe36d0b5aa587b3c2757cb331e012d780a0dbb671202ce54",
20462
+ PackedArgumentAddresses: "0x",
20463
+ TargetAddress: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"
20464
+ },
20465
+ {
20466
+ AddressArguments: [],
20467
+ CanSendValue: false,
20468
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20469
+ Description: "Unwrap WETH to ETH",
20470
+ FunctionSelector: "0x2e1a7d4d",
20471
+ FunctionSignature: "withdraw(uint256)",
20472
+ LeafDigest: "0xf19f2620d35392f96bfad6680277e285442d996a6232da14399b2406aada4433",
20473
+ PackedArgumentAddresses: "0x",
20474
+ TargetAddress: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"
20475
+ },
20476
+ {
20477
+ AddressArguments: [],
20478
+ CanSendValue: false,
20479
+ DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
20480
+ Description: "",
20481
+ FunctionSelector: "0xc5d24601",
20482
+ FunctionSignature: "",
20483
+ LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20484
+ PackedArgumentAddresses: "0x",
20485
+ TargetAddress: "0x0000000000000000000000000000000000000000"
20486
+ },
20487
+ {
20488
+ AddressArguments: [],
20489
+ CanSendValue: false,
20490
+ DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
20491
+ Description: "",
20492
+ FunctionSelector: "0xc5d24601",
20493
+ FunctionSignature: "",
20494
+ LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20495
+ PackedArgumentAddresses: "0x",
20496
+ TargetAddress: "0x0000000000000000000000000000000000000000"
20497
+ },
20498
+ {
20499
+ AddressArguments: [],
20500
+ CanSendValue: false,
20501
+ DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
20502
+ Description: "",
20503
+ FunctionSelector: "0xc5d24601",
20504
+ FunctionSignature: "",
20505
+ LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20506
+ PackedArgumentAddresses: "0x",
20507
+ TargetAddress: "0x0000000000000000000000000000000000000000"
20508
+ },
20509
+ {
20510
+ AddressArguments: [],
20511
+ CanSendValue: false,
20512
+ DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
20513
+ Description: "",
20514
+ FunctionSelector: "0xc5d24601",
20515
+ FunctionSignature: "",
20516
+ LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20517
+ PackedArgumentAddresses: "0x",
20518
+ TargetAddress: "0x0000000000000000000000000000000000000000"
20519
+ },
20520
+ {
20521
+ AddressArguments: [],
20522
+ CanSendValue: false,
20523
+ DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
20524
+ Description: "",
20525
+ FunctionSelector: "0xc5d24601",
20526
+ FunctionSignature: "",
20527
+ LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20528
+ PackedArgumentAddresses: "0x",
20529
+ TargetAddress: "0x0000000000000000000000000000000000000000"
20530
+ }
20531
+ ],
20532
+ MerkleTree: {
20533
+ "0": ["0x55ae620ed666b0e014a4d6b276e18e4ba55b79d0c741e171f63804ea123ac0c7"],
20534
+ "1": ["0xb207db6f2f976d48e751fddae1a5656d7b4a7964f229cf2b5b0ac383f52f62a4", "0x93c4636deb159a40ef8ea624b39d7e8e2f3be1e5ea96d0f7b4c3c707284e3dcc"],
20535
+ "2": [
20536
+ "0xcae4ec7e78b00ce195d96171ce61d10f6dd0849980d4b49c29fa330050daea94",
20537
+ "0x2b0dad8ecd6563765ee7a966dbc7c524a39e535316a12180f88ada4aa9cc98e2",
20538
+ "0x8cecdeedb91d1c78d98bd6497896b7ba793fe0b9fb7febc9e0853b81927b8283",
20539
+ "0x849eda7a295b642e5ddaf49a30eec4470cf507efa83b4104c0752d069c7638fe"
20540
+ ],
20541
+ "3": [
20542
+ "0x960c1e8c12f9d734648ff9e7069cd821a26c9f8f81cea1b5d5a7a9835adc75bd",
20543
+ "0x8b86bcad22fbd334277bc6bb7ff27c5f6353a931c0df3f5c53bd70a7750c4197",
20544
+ "0xb898222e0f69e1f18241078d591108459c138ece5f96798c01e8b781ed445ee3",
20545
+ "0x9e5fa07e4f1d3b60f3ccce3a84edf5dbb0ccbe539d988c81bb6c6246e4695260",
20546
+ "0x81c5d6c12f48338e385f0400cd2c56e4cbd93094f47503c30e72648f97ba8457",
20547
+ "0x349f5d427759c09b0ed4892d7b9b900873922204f917196f6f0c177f82d6064e",
20548
+ "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba",
20549
+ "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba"
20550
+ ],
20551
+ "4": [
20552
+ "0x8663df1ac55443db0f05fe1497cd6bde9bef2a253df8dd3825bed0b224e0aec8",
20553
+ "0x4bf3398b42a50dc899ac3dc143c0dac11125d62c50c268c91b54c74c4072fc2b",
20554
+ "0xbdebc37f956aa0ac0c4aa9625786b9701e1aa1578bcbf5fb604c976558901b61",
20555
+ "0xec54f4ffedf4edb6e24c63f77bf0dc9570215f827d0e017af3f0742ce35162c2",
20556
+ "0x9dc4dc2afdb2238cb09de4007c6140512a95bfe863a0cd916c8b63fc0e0a0cbe",
20557
+ "0x14d886768796dbb64b5d768d71ff7c827a740b000a37ce8690cd0c810128031e",
20558
+ "0x506412cb75d2e7bc998eb96807f7588eb7068b24713295afa9d317112aa6b297",
20559
+ "0x72479b43d124b4adeab2a2c405d70f6b9a13a707478675873e629016b4bd736b",
20560
+ "0x0cfafbcb312ae216c967b7e2f5eb41516f192473291b61604dd09d4784625e63",
20561
+ "0xb2aef7663f89e5d8fe36d0b5aa587b3c2757cb331e012d780a0dbb671202ce54",
20562
+ "0xf19f2620d35392f96bfad6680277e285442d996a6232da14399b2406aada4433",
20563
+ "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20564
+ "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20565
+ "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20566
+ "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20567
+ "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400"
20568
+ ]
20569
+ }
20570
+ };
20571
+
20572
+ //#endregion
20573
+ //#region src/hypoVault/hypoVaultManagerArtifacts/ProductionUSDCGammaVaultPoolInfos.ts
20574
+ const ProductionUSDCGammaVaultPoolInfos = {
20575
+ vaultAddress: "0xAed1bBE846605B9913F43C9c884399e3085C33f5",
20576
+ poolInfos: [{
20577
+ maxPriceDeviation: 100,
20578
+ pool: "0x5D44F6574B8dE88ffa2CCAEba0B07aD3C204571E",
20579
+ token0: "0x0000000000000000000000000000000000000000",
20580
+ token1: "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A"
20581
+ }]
20582
+ };
20583
+
19972
20584
  //#endregion
19973
20585
  //#region src/hypoVault/hypoVaultManagerArtifacts/ProductionUSDCPLPStrategistLeaves.ts
19974
20586
  const ProductionUSDCPLPStrategistLeaves = {
19975
20587
  metadata: {
19976
- AccountantAddress: "0x6100455aA6637093464E75a9Cb9785F7A8D51E80",
19977
- BoringVaultAddress: "0x91760623ce2BBE50001e18F0973Ffe37c0C6b948",
19978
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20588
+ AccountantAddress: "0x061AF4Fd2a015ed871e7EA406749cF268236C918",
20589
+ BoringVaultAddress: "0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87",
20590
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
19979
20591
  DigestComposition: [
19980
20592
  "Bytes20(DECODER_AND_SANITIZER_ADDRESS)",
19981
20593
  "Bytes20(TARGET_ADDRESS)",
@@ -19983,77 +20595,165 @@ const ProductionUSDCPLPStrategistLeaves = {
19983
20595
  "Bytes4(TARGET_FUNCTION_SELECTOR)",
19984
20596
  "Bytes{N*20}(ADDRESS_ARGUMENT_0,...,ADDRESS_ARGUMENT_N)"
19985
20597
  ],
19986
- LeafCount: 6,
19987
- ManageRoot: "0xc26fe6edba9cd8237e7a75375f77d2fa01e0e81af1d64397cffc19c821de5e89",
19988
- ManagerAddress: "0x7dd0055110306e9D648C56996020425826605cd3",
19989
- TreeCapacity: 8
20598
+ LeafCount: 11,
20599
+ ManageRoot: "0x5634495896a0077485c8ff7d8d0ad0f3281cbc7a7dcbf392bddcfda3cc916aa2",
20600
+ ManagerAddress: "0x2FDaAeb3401DC87c2A8082Bf42c7ea05856c200b",
20601
+ TreeCapacity: 16
19990
20602
  },
19991
20603
  leafs: [
19992
20604
  {
19993
- AddressArguments: ["0x244Bf88435Be52e8dFb642a718ef4b6d0A1166BF"],
20605
+ AddressArguments: ["0xe2BD879109f84313AC986B2390110F5A240a9fa9"],
19994
20606
  CanSendValue: false,
19995
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20607
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
19996
20608
  Description: "Approve poUSDC to spend USDC",
19997
20609
  FunctionSelector: "0x095ea7b3",
19998
20610
  FunctionSignature: "approve(address,uint256)",
19999
- LeafDigest: "0x6a2bf3e97e78914807b2adf1c03b1c1280b8ae91e868896c84d30beb87601f9f",
20000
- PackedArgumentAddresses: "0x244bf88435be52e8dfb642a718ef4b6d0a1166bf",
20611
+ LeafDigest: "0x8663df1ac55443db0f05fe1497cd6bde9bef2a253df8dd3825bed0b224e0aec8",
20612
+ PackedArgumentAddresses: "0xe2bd879109f84313ac986b2390110f5a240a9fa9",
20001
20613
  TargetAddress: "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A"
20002
20614
  },
20003
20615
  {
20004
- AddressArguments: ["0x91760623ce2BBE50001e18F0973Ffe37c0C6b948"],
20616
+ AddressArguments: ["0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87"],
20005
20617
  CanSendValue: false,
20006
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20618
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20007
20619
  Description: "Deposit USDC for poUSDC",
20008
20620
  FunctionSelector: "0x6e553f65",
20009
20621
  FunctionSignature: "deposit(uint256,address)",
20010
- LeafDigest: "0x806d1a1679c08f0035226572892806b24dfc6374c55b621fb7e97751a96cfa3f",
20011
- PackedArgumentAddresses: "0x91760623ce2bbe50001e18f0973ffe37c0c6b948",
20012
- TargetAddress: "0x244Bf88435Be52e8dFb642a718ef4b6d0A1166BF"
20622
+ LeafDigest: "0xd1428d14cedc73c9d9bb33bac7bcd2c53c8ac34272281ebe76420c39aea497f9",
20623
+ PackedArgumentAddresses: "0xc4bcfe746fdab946ac79244c5fd5e4f3c08c9f87",
20624
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20625
+ },
20626
+ {
20627
+ AddressArguments: ["0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87"],
20628
+ CanSendValue: true,
20629
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20630
+ Description: "Deposit USDC for poUSDC (payable)",
20631
+ FunctionSelector: "0x6e553f65",
20632
+ FunctionSignature: "deposit(uint256,address)",
20633
+ LeafDigest: "0xf11106bf026d053b7196bd7a9ae8b72d5375a0ffca088f824fea49806d35104d",
20634
+ PackedArgumentAddresses: "0xc4bcfe746fdab946ac79244c5fd5e4f3c08c9f87",
20635
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20013
20636
  },
20014
20637
  {
20015
- AddressArguments: ["0x91760623ce2BBE50001e18F0973Ffe37c0C6b948", "0x91760623ce2BBE50001e18F0973Ffe37c0C6b948"],
20638
+ AddressArguments: ["0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87", "0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87"],
20016
20639
  CanSendValue: false,
20017
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20640
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20018
20641
  Description: "Withdraw USDC from poUSDC",
20019
20642
  FunctionSelector: "0xb460af94",
20020
20643
  FunctionSignature: "withdraw(uint256,address,address)",
20021
- LeafDigest: "0x23aa7d00f4c5a213c3997843b27a4ff25d1b7a80a7878d76302d51462017bb38",
20022
- PackedArgumentAddresses: "0x91760623ce2bbe50001e18f0973ffe37c0c6b94891760623ce2bbe50001e18f0973ffe37c0c6b948",
20023
- TargetAddress: "0x244Bf88435Be52e8dFb642a718ef4b6d0A1166BF"
20644
+ LeafDigest: "0xf0064888c63b8cc64c4740111eaadbd95b51a1bd5e4b39ac291435ccc4f0dcf2",
20645
+ PackedArgumentAddresses: "0xc4bcfe746fdab946ac79244c5fd5e4f3c08c9f87c4bcfe746fdab946ac79244c5fd5e4f3c08c9f87",
20646
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20024
20647
  },
20025
20648
  {
20026
- AddressArguments: ["0x91760623ce2BBE50001e18F0973Ffe37c0C6b948", "0x91760623ce2BBE50001e18F0973Ffe37c0C6b948"],
20649
+ AddressArguments: ["0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87", "0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87"],
20027
20650
  CanSendValue: false,
20028
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20651
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20029
20652
  Description: "Withdraw USDC from poUSDC",
20030
20653
  FunctionSelector: "0x795a1f0d",
20031
20654
  FunctionSignature: "withdraw(uint256,address,address,uint256[])",
20032
- LeafDigest: "0x8d4b5fd540b77f2fd6d6967e837024d4076971b88d506c73fbf486344936bd7c",
20033
- PackedArgumentAddresses: "0x91760623ce2bbe50001e18f0973ffe37c0c6b94891760623ce2bbe50001e18f0973ffe37c0c6b948",
20034
- TargetAddress: "0x244Bf88435Be52e8dFb642a718ef4b6d0A1166BF"
20655
+ LeafDigest: "0xf4101e3dea49bf3757c8ab8568709d9b171e8a29478714ef4ebe1d28a10be66d",
20656
+ PackedArgumentAddresses: "0xc4bcfe746fdab946ac79244c5fd5e4f3c08c9f87c4bcfe746fdab946ac79244c5fd5e4f3c08c9f87",
20657
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20035
20658
  },
20036
20659
  {
20037
- AddressArguments: ["0x91760623ce2BBE50001e18F0973Ffe37c0C6b948"],
20660
+ AddressArguments: ["0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87"],
20038
20661
  CanSendValue: false,
20039
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20662
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20040
20663
  Description: "Mint poUSDC using USDC",
20041
20664
  FunctionSelector: "0x94bf804d",
20042
20665
  FunctionSignature: "mint(uint256,address)",
20043
- LeafDigest: "0xee76999b647deedc49b6134da798a2006ba1df00006df062f1a259e5a6082dc2",
20044
- PackedArgumentAddresses: "0x91760623ce2bbe50001e18f0973ffe37c0c6b948",
20045
- TargetAddress: "0x244Bf88435Be52e8dFb642a718ef4b6d0A1166BF"
20666
+ LeafDigest: "0x78e45f4d6477f374e518661063392d4c8e9c14be22d02e6bf05d954a76654314",
20667
+ PackedArgumentAddresses: "0xc4bcfe746fdab946ac79244c5fd5e4f3c08c9f87",
20668
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20669
+ },
20670
+ {
20671
+ AddressArguments: ["0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87"],
20672
+ CanSendValue: true,
20673
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20674
+ Description: "Mint poUSDC using USDC (payable)",
20675
+ FunctionSelector: "0x94bf804d",
20676
+ FunctionSignature: "mint(uint256,address)",
20677
+ LeafDigest: "0x364f71043240d4b2e4b2879f5f892c2e8ff7c454e49e7b54d63c3ef9d9d90bc9",
20678
+ PackedArgumentAddresses: "0xc4bcfe746fdab946ac79244c5fd5e4f3c08c9f87",
20679
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20046
20680
  },
20047
20681
  {
20048
- AddressArguments: ["0x91760623ce2BBE50001e18F0973Ffe37c0C6b948", "0x91760623ce2BBE50001e18F0973Ffe37c0C6b948"],
20682
+ AddressArguments: ["0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87", "0xC4Bcfe746fdAB946Ac79244c5Fd5E4f3c08c9F87"],
20049
20683
  CanSendValue: false,
20050
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20684
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20051
20685
  Description: "Redeem poUSDC for USDC",
20052
20686
  FunctionSelector: "0xba087652",
20053
20687
  FunctionSignature: "redeem(uint256,address,address)",
20054
- LeafDigest: "0xffd8217c249688d7b7213f6b1c10d3350e977024f2b2b2ebc65f4d3137712be1",
20055
- PackedArgumentAddresses: "0x91760623ce2bbe50001e18f0973ffe37c0c6b94891760623ce2bbe50001e18f0973ffe37c0c6b948",
20056
- TargetAddress: "0x244Bf88435Be52e8dFb642a718ef4b6d0A1166BF"
20688
+ LeafDigest: "0xf7331c312f77a834caaba1f91f62b6ba2ba4632e0a6ebaabce98f6462a0911f3",
20689
+ PackedArgumentAddresses: "0xc4bcfe746fdab946ac79244c5fd5e4f3c08c9f87c4bcfe746fdab946ac79244c5fd5e4f3c08c9f87",
20690
+ TargetAddress: "0xe2BD879109f84313AC986B2390110F5A240a9fa9"
20691
+ },
20692
+ {
20693
+ AddressArguments: [],
20694
+ CanSendValue: false,
20695
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20696
+ Description: "Dispatch mint/burn options on PanopticPool",
20697
+ FunctionSelector: "0xc25813aa",
20698
+ FunctionSignature: "dispatch(uint256[],uint256[],uint128[],int24[3][],bool,uint256)",
20699
+ LeafDigest: "0x0cfafbcb312ae216c967b7e2f5eb41516f192473291b61604dd09d4784625e63",
20700
+ PackedArgumentAddresses: "0x",
20701
+ TargetAddress: "0x5D44F6574B8dE88ffa2CCAEba0B07aD3C204571E"
20702
+ },
20703
+ {
20704
+ AddressArguments: [],
20705
+ CanSendValue: true,
20706
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20707
+ Description: "Wrap ETH to WETH",
20708
+ FunctionSelector: "0xd0e30db0",
20709
+ FunctionSignature: "deposit()",
20710
+ LeafDigest: "0xb2aef7663f89e5d8fe36d0b5aa587b3c2757cb331e012d780a0dbb671202ce54",
20711
+ PackedArgumentAddresses: "0x",
20712
+ TargetAddress: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"
20713
+ },
20714
+ {
20715
+ AddressArguments: [],
20716
+ CanSendValue: false,
20717
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20718
+ Description: "Unwrap WETH to ETH",
20719
+ FunctionSelector: "0x2e1a7d4d",
20720
+ FunctionSignature: "withdraw(uint256)",
20721
+ LeafDigest: "0xf19f2620d35392f96bfad6680277e285442d996a6232da14399b2406aada4433",
20722
+ PackedArgumentAddresses: "0x",
20723
+ TargetAddress: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"
20724
+ },
20725
+ {
20726
+ AddressArguments: [],
20727
+ CanSendValue: false,
20728
+ DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
20729
+ Description: "",
20730
+ FunctionSelector: "0xc5d24601",
20731
+ FunctionSignature: "",
20732
+ LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20733
+ PackedArgumentAddresses: "0x",
20734
+ TargetAddress: "0x0000000000000000000000000000000000000000"
20735
+ },
20736
+ {
20737
+ AddressArguments: [],
20738
+ CanSendValue: false,
20739
+ DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
20740
+ Description: "",
20741
+ FunctionSelector: "0xc5d24601",
20742
+ FunctionSignature: "",
20743
+ LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20744
+ PackedArgumentAddresses: "0x",
20745
+ TargetAddress: "0x0000000000000000000000000000000000000000"
20746
+ },
20747
+ {
20748
+ AddressArguments: [],
20749
+ CanSendValue: false,
20750
+ DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
20751
+ Description: "",
20752
+ FunctionSelector: "0xc5d24601",
20753
+ FunctionSignature: "",
20754
+ LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20755
+ PackedArgumentAddresses: "0x",
20756
+ TargetAddress: "0x0000000000000000000000000000000000000000"
20057
20757
  },
20058
20758
  {
20059
20759
  AddressArguments: [],
@@ -20079,46 +20779,52 @@ const ProductionUSDCPLPStrategistLeaves = {
20079
20779
  }
20080
20780
  ],
20081
20781
  MerkleTree: {
20082
- "0": ["0xc26fe6edba9cd8237e7a75375f77d2fa01e0e81af1d64397cffc19c821de5e89"],
20083
- "1": ["0xfcc336b1ef2623dc5cacccd2768d546b531031ece5b61bdd85b98f14a1201fdd", "0xc97529a167e55655e7ef4602ad1758f571931589b97ed781883c667eb2771f04"],
20782
+ "0": ["0x5634495896a0077485c8ff7d8d0ad0f3281cbc7a7dcbf392bddcfda3cc916aa2"],
20783
+ "1": ["0x6c1b8049d5e46a7987d46575b47d436eca2b368fb5f7202e644ea949beaca529", "0x93c4636deb159a40ef8ea624b39d7e8e2f3be1e5ea96d0f7b4c3c707284e3dcc"],
20084
20784
  "2": [
20085
- "0x533dfdf64edc049a68585f4b398b55097390f011c221309a9b6998631a5ee14c",
20086
- "0x14f1b889705933da6a26222d4071d5c061095c25834856aa7dd31f948b2efe1d",
20087
- "0x96886fc982da0067ccd69963ee13f1dd9d48d687bef73ffaac259014b0823f64",
20088
- "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba"
20785
+ "0xd1197fb9db16150a641971abcf07350abd60fa4a6fb251c695ed4a27a274d98d",
20786
+ "0x90ec909d5c2669b49342bdd070c95ab8f6fb802b3fdbba031138c8bd45e78ce8",
20787
+ "0x8cecdeedb91d1c78d98bd6497896b7ba793fe0b9fb7febc9e0853b81927b8283",
20788
+ "0x849eda7a295b642e5ddaf49a30eec4470cf507efa83b4104c0752d069c7638fe"
20089
20789
  ],
20090
20790
  "3": [
20091
- "0x6a2bf3e97e78914807b2adf1c03b1c1280b8ae91e868896c84d30beb87601f9f",
20092
- "0x806d1a1679c08f0035226572892806b24dfc6374c55b621fb7e97751a96cfa3f",
20093
- "0x23aa7d00f4c5a213c3997843b27a4ff25d1b7a80a7878d76302d51462017bb38",
20094
- "0x8d4b5fd540b77f2fd6d6967e837024d4076971b88d506c73fbf486344936bd7c",
20095
- "0xee76999b647deedc49b6134da798a2006ba1df00006df062f1a259e5a6082dc2",
20096
- "0xffd8217c249688d7b7213f6b1c10d3350e977024f2b2b2ebc65f4d3137712be1",
20791
+ "0x31748f7f747436f6d5154d4a75e9fd7b8742dd9b8c2c6854bcf5c558954f298c",
20792
+ "0x829f9a2495c47a6ceadab444a69d0d6a43a037b5a39694115db9972d7845d62d",
20793
+ "0x69b2ebf3b2d8d4ca088f6568a3077e183d84942cc6de224d196e626a896f3826",
20794
+ "0x5970aa0aad46dd5efbe0991fabe2b64242dcf8db7d7978e65c731837b9ef4193",
20795
+ "0x81c5d6c12f48338e385f0400cd2c56e4cbd93094f47503c30e72648f97ba8457",
20796
+ "0x349f5d427759c09b0ed4892d7b9b900873922204f917196f6f0c177f82d6064e",
20797
+ "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba",
20798
+ "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba"
20799
+ ],
20800
+ "4": [
20801
+ "0x8663df1ac55443db0f05fe1497cd6bde9bef2a253df8dd3825bed0b224e0aec8",
20802
+ "0xd1428d14cedc73c9d9bb33bac7bcd2c53c8ac34272281ebe76420c39aea497f9",
20803
+ "0xf11106bf026d053b7196bd7a9ae8b72d5375a0ffca088f824fea49806d35104d",
20804
+ "0xf0064888c63b8cc64c4740111eaadbd95b51a1bd5e4b39ac291435ccc4f0dcf2",
20805
+ "0xf4101e3dea49bf3757c8ab8568709d9b171e8a29478714ef4ebe1d28a10be66d",
20806
+ "0x78e45f4d6477f374e518661063392d4c8e9c14be22d02e6bf05d954a76654314",
20807
+ "0x364f71043240d4b2e4b2879f5f892c2e8ff7c454e49e7b54d63c3ef9d9d90bc9",
20808
+ "0xf7331c312f77a834caaba1f91f62b6ba2ba4632e0a6ebaabce98f6462a0911f3",
20809
+ "0x0cfafbcb312ae216c967b7e2f5eb41516f192473291b61604dd09d4784625e63",
20810
+ "0xb2aef7663f89e5d8fe36d0b5aa587b3c2757cb331e012d780a0dbb671202ce54",
20811
+ "0xf19f2620d35392f96bfad6680277e285442d996a6232da14399b2406aada4433",
20812
+ "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20813
+ "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20814
+ "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20097
20815
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20098
20816
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400"
20099
20817
  ]
20100
20818
  }
20101
20819
  };
20102
20820
 
20103
- //#endregion
20104
- //#region src/hypoVault/hypoVaultManagerArtifacts/ProductionUSDCPLPVaultPoolInfos.ts
20105
- const ProductionUSDCPLPVaultPoolInfos = {
20106
- vaultAddress: "0x91760623ce2BBE50001e18F0973Ffe37c0C6b948",
20107
- poolInfos: [{
20108
- maxPriceDeviation: 100,
20109
- pool: "0x2aafC1D2Af4dEB9FD8b02cDE5a8C0922cA4D6c78",
20110
- token0: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",
20111
- token1: "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A"
20112
- }]
20113
- };
20114
-
20115
20821
  //#endregion
20116
20822
  //#region src/hypoVault/hypoVaultManagerArtifacts/ProductionWETHPLPStrategistLeaves.ts
20117
20823
  const ProductionWETHPLPStrategistLeaves = {
20118
20824
  metadata: {
20119
- AccountantAddress: "0x6100455aA6637093464E75a9Cb9785F7A8D51E80",
20120
- BoringVaultAddress: "0x69a3Dd63BCB02E89a70630294EDCe0e78377B876",
20121
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20825
+ AccountantAddress: "0x061AF4Fd2a015ed871e7EA406749cF268236C918",
20826
+ BoringVaultAddress: "0x225Bf020d280E98C3037fb3c5aa291De6F618834",
20827
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20122
20828
  DigestComposition: [
20123
20829
  "Bytes20(DECODER_AND_SANITIZER_ADDRESS)",
20124
20830
  "Bytes20(TARGET_ADDRESS)",
@@ -20126,77 +20832,165 @@ const ProductionWETHPLPStrategistLeaves = {
20126
20832
  "Bytes4(TARGET_FUNCTION_SELECTOR)",
20127
20833
  "Bytes{N*20}(ADDRESS_ARGUMENT_0,...,ADDRESS_ARGUMENT_N)"
20128
20834
  ],
20129
- LeafCount: 6,
20130
- ManageRoot: "0xe549943e306f51294f5a3a09cede8a3852ab598074251db69e7a9d0c90e2719a",
20131
- ManagerAddress: "0xcCaB9842150F19552B137f4dA28DeEB6101542cF",
20132
- TreeCapacity: 8
20835
+ LeafCount: 10,
20836
+ ManageRoot: "0x3f094303a46c01916d75f3fdc9217f39cfed68665f4903bb0b228eedf9aad3e1",
20837
+ ManagerAddress: "0xe675A002d7f8C9476Ebf3706550b80221BA2AE5E",
20838
+ TreeCapacity: 16
20133
20839
  },
20134
20840
  leafs: [
20135
20841
  {
20136
- AddressArguments: ["0x4f29B472bebbFcEEc250a4A5BC33312F00025600"],
20842
+ AddressArguments: ["0x4d2579A5F9BC32641D6AdbFC47C6dAceF30027F1"],
20137
20843
  CanSendValue: false,
20138
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20139
- Description: "Approve poWETH to spend WETH",
20844
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20845
+ Description: "Approve poETH to spend ETH",
20140
20846
  FunctionSelector: "0x095ea7b3",
20141
20847
  FunctionSignature: "approve(address,uint256)",
20142
- LeafDigest: "0x496ea09def393aed79b93ee6cbd5fad9ca647b268b90bd27623769c9a8306ce9",
20143
- PackedArgumentAddresses: "0x4f29b472bebbfceec250a4a5bc33312f00025600",
20144
- TargetAddress: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"
20848
+ LeafDigest: "0x4a6e2392dafc484c2b695252ed2ee3a6d1ab9e67eb07e367bf3f016caf3ab56f",
20849
+ PackedArgumentAddresses: "0x4d2579a5f9bc32641d6adbfc47c6dacef30027f1",
20850
+ TargetAddress: "0x0000000000000000000000000000000000000000"
20145
20851
  },
20146
20852
  {
20147
- AddressArguments: ["0x69a3Dd63BCB02E89a70630294EDCe0e78377B876"],
20853
+ AddressArguments: ["0x225Bf020d280E98C3037fb3c5aa291De6F618834"],
20148
20854
  CanSendValue: false,
20149
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20150
- Description: "Deposit WETH for poWETH",
20855
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20856
+ Description: "Deposit ETH for poETH",
20857
+ FunctionSelector: "0x6e553f65",
20858
+ FunctionSignature: "deposit(uint256,address)",
20859
+ LeafDigest: "0xc5034bc371e012020e7e9ed0120352597ed6836a7c3c45f6a73332632e1fa6ab",
20860
+ PackedArgumentAddresses: "0x225bf020d280e98c3037fb3c5aa291de6f618834",
20861
+ TargetAddress: "0x4d2579A5F9BC32641D6AdbFC47C6dAceF30027F1"
20862
+ },
20863
+ {
20864
+ AddressArguments: ["0x225Bf020d280E98C3037fb3c5aa291De6F618834"],
20865
+ CanSendValue: true,
20866
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20867
+ Description: "Deposit ETH for poETH (payable)",
20151
20868
  FunctionSelector: "0x6e553f65",
20152
20869
  FunctionSignature: "deposit(uint256,address)",
20153
- LeafDigest: "0xbca5ba973f7658ce4d340653ee753828cddffddcd2282f2aca23f7dd95c9a3e6",
20154
- PackedArgumentAddresses: "0x69a3dd63bcb02e89a70630294edce0e78377b876",
20155
- TargetAddress: "0x4f29B472bebbFcEEc250a4A5BC33312F00025600"
20870
+ LeafDigest: "0xaa9e1837f7b55d00bfa7dc8b1d0d0a6ddd32efc7c10eec69d8aa350141c6b58f",
20871
+ PackedArgumentAddresses: "0x225bf020d280e98c3037fb3c5aa291de6f618834",
20872
+ TargetAddress: "0x4d2579A5F9BC32641D6AdbFC47C6dAceF30027F1"
20156
20873
  },
20157
20874
  {
20158
- AddressArguments: ["0x69a3Dd63BCB02E89a70630294EDCe0e78377B876", "0x69a3Dd63BCB02E89a70630294EDCe0e78377B876"],
20875
+ AddressArguments: ["0x225Bf020d280E98C3037fb3c5aa291De6F618834", "0x225Bf020d280E98C3037fb3c5aa291De6F618834"],
20159
20876
  CanSendValue: false,
20160
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20161
- Description: "Withdraw WETH from poWETH",
20877
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20878
+ Description: "Withdraw ETH from poETH",
20162
20879
  FunctionSelector: "0xb460af94",
20163
20880
  FunctionSignature: "withdraw(uint256,address,address)",
20164
- LeafDigest: "0x5ce0917f018e77b9a876f0170f1a3993668c7c7b22404c86abb27c3989cd39b8",
20165
- PackedArgumentAddresses: "0x69a3dd63bcb02e89a70630294edce0e78377b87669a3dd63bcb02e89a70630294edce0e78377b876",
20166
- TargetAddress: "0x4f29B472bebbFcEEc250a4A5BC33312F00025600"
20881
+ LeafDigest: "0xdbfaeb427c9e28b3e90c2aec67bc32e11899ebc88c4da3396b25aca8a6065365",
20882
+ PackedArgumentAddresses: "0x225bf020d280e98c3037fb3c5aa291de6f618834225bf020d280e98c3037fb3c5aa291de6f618834",
20883
+ TargetAddress: "0x4d2579A5F9BC32641D6AdbFC47C6dAceF30027F1"
20167
20884
  },
20168
20885
  {
20169
- AddressArguments: ["0x69a3Dd63BCB02E89a70630294EDCe0e78377B876", "0x69a3Dd63BCB02E89a70630294EDCe0e78377B876"],
20886
+ AddressArguments: ["0x225Bf020d280E98C3037fb3c5aa291De6F618834", "0x225Bf020d280E98C3037fb3c5aa291De6F618834"],
20170
20887
  CanSendValue: false,
20171
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20172
- Description: "Withdraw WETH from poWETH",
20888
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20889
+ Description: "Withdraw ETH from poETH",
20173
20890
  FunctionSelector: "0x795a1f0d",
20174
20891
  FunctionSignature: "withdraw(uint256,address,address,uint256[])",
20175
- LeafDigest: "0x4ca7708fefb655644158cab73282401abb133497ea46f0f8990d995b8773a16d",
20176
- PackedArgumentAddresses: "0x69a3dd63bcb02e89a70630294edce0e78377b87669a3dd63bcb02e89a70630294edce0e78377b876",
20177
- TargetAddress: "0x4f29B472bebbFcEEc250a4A5BC33312F00025600"
20892
+ LeafDigest: "0x20cfd8d4acdb46c6602108cfeb7b0f7d68c680572407e62754065985d8298d51",
20893
+ PackedArgumentAddresses: "0x225bf020d280e98c3037fb3c5aa291de6f618834225bf020d280e98c3037fb3c5aa291de6f618834",
20894
+ TargetAddress: "0x4d2579A5F9BC32641D6AdbFC47C6dAceF30027F1"
20178
20895
  },
20179
20896
  {
20180
- AddressArguments: ["0x69a3Dd63BCB02E89a70630294EDCe0e78377B876"],
20897
+ AddressArguments: ["0x225Bf020d280E98C3037fb3c5aa291De6F618834"],
20181
20898
  CanSendValue: false,
20182
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20183
- Description: "Mint poWETH using WETH",
20899
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20900
+ Description: "Mint poETH using ETH",
20901
+ FunctionSelector: "0x94bf804d",
20902
+ FunctionSignature: "mint(uint256,address)",
20903
+ LeafDigest: "0x7dbfa359b77672a9313b83d1794cc8e7e37c848ea2a99169b6b3a37b88329419",
20904
+ PackedArgumentAddresses: "0x225bf020d280e98c3037fb3c5aa291de6f618834",
20905
+ TargetAddress: "0x4d2579A5F9BC32641D6AdbFC47C6dAceF30027F1"
20906
+ },
20907
+ {
20908
+ AddressArguments: ["0x225Bf020d280E98C3037fb3c5aa291De6F618834"],
20909
+ CanSendValue: true,
20910
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20911
+ Description: "Mint poETH using ETH (payable)",
20184
20912
  FunctionSelector: "0x94bf804d",
20185
20913
  FunctionSignature: "mint(uint256,address)",
20186
- LeafDigest: "0xe0688b74b7c386181dce3c0cd08c85531912a46b432123f431963a0749b4ebd0",
20187
- PackedArgumentAddresses: "0x69a3dd63bcb02e89a70630294edce0e78377b876",
20188
- TargetAddress: "0x4f29B472bebbFcEEc250a4A5BC33312F00025600"
20914
+ LeafDigest: "0x9eff66aafed64041bb89840202923b9c82783a0302899780ee342724df44ee7b",
20915
+ PackedArgumentAddresses: "0x225bf020d280e98c3037fb3c5aa291de6f618834",
20916
+ TargetAddress: "0x4d2579A5F9BC32641D6AdbFC47C6dAceF30027F1"
20189
20917
  },
20190
20918
  {
20191
- AddressArguments: ["0x69a3Dd63BCB02E89a70630294EDCe0e78377B876", "0x69a3Dd63BCB02E89a70630294EDCe0e78377B876"],
20919
+ AddressArguments: ["0x225Bf020d280E98C3037fb3c5aa291De6F618834", "0x225Bf020d280E98C3037fb3c5aa291De6F618834"],
20192
20920
  CanSendValue: false,
20193
- DecoderAndSanitizerAddress: "0x606c4Aee942f2F0dCd0c0934E4266eb854EA0cBe",
20194
- Description: "Redeem poWETH for WETH",
20921
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20922
+ Description: "Redeem poETH for ETH",
20195
20923
  FunctionSelector: "0xba087652",
20196
20924
  FunctionSignature: "redeem(uint256,address,address)",
20197
- LeafDigest: "0x7c502c90a7090075481813e09e1c65bbc3aed3d71bf19f49f283d2a9ad8547e1",
20198
- PackedArgumentAddresses: "0x69a3dd63bcb02e89a70630294edce0e78377b87669a3dd63bcb02e89a70630294edce0e78377b876",
20199
- TargetAddress: "0x4f29B472bebbFcEEc250a4A5BC33312F00025600"
20925
+ LeafDigest: "0xc5cee52896a82f0c495f4ae4b8a423610d03cd73839784259140d0c3037211a6",
20926
+ PackedArgumentAddresses: "0x225bf020d280e98c3037fb3c5aa291de6f618834225bf020d280e98c3037fb3c5aa291de6f618834",
20927
+ TargetAddress: "0x4d2579A5F9BC32641D6AdbFC47C6dAceF30027F1"
20928
+ },
20929
+ {
20930
+ AddressArguments: [],
20931
+ CanSendValue: false,
20932
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20933
+ Description: "Dispatch mint/burn options on PanopticPool",
20934
+ FunctionSelector: "0xc25813aa",
20935
+ FunctionSignature: "dispatch(uint256[],uint256[],uint128[],int24[3][],bool,uint256)",
20936
+ LeafDigest: "0x0cfafbcb312ae216c967b7e2f5eb41516f192473291b61604dd09d4784625e63",
20937
+ PackedArgumentAddresses: "0x",
20938
+ TargetAddress: "0x5D44F6574B8dE88ffa2CCAEba0B07aD3C204571E"
20939
+ },
20940
+ {
20941
+ AddressArguments: [],
20942
+ CanSendValue: true,
20943
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20944
+ Description: "Wrap ETH to WETH",
20945
+ FunctionSelector: "0xd0e30db0",
20946
+ FunctionSignature: "deposit()",
20947
+ LeafDigest: "0xb2aef7663f89e5d8fe36d0b5aa587b3c2757cb331e012d780a0dbb671202ce54",
20948
+ PackedArgumentAddresses: "0x",
20949
+ TargetAddress: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"
20950
+ },
20951
+ {
20952
+ AddressArguments: [],
20953
+ CanSendValue: false,
20954
+ DecoderAndSanitizerAddress: "0x3c2D182DB402Fc649aea61731CE47Ea72Ab3a7f1",
20955
+ Description: "Unwrap WETH to ETH",
20956
+ FunctionSelector: "0x2e1a7d4d",
20957
+ FunctionSignature: "withdraw(uint256)",
20958
+ LeafDigest: "0xf19f2620d35392f96bfad6680277e285442d996a6232da14399b2406aada4433",
20959
+ PackedArgumentAddresses: "0x",
20960
+ TargetAddress: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"
20961
+ },
20962
+ {
20963
+ AddressArguments: [],
20964
+ CanSendValue: false,
20965
+ DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
20966
+ Description: "",
20967
+ FunctionSelector: "0xc5d24601",
20968
+ FunctionSignature: "",
20969
+ LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20970
+ PackedArgumentAddresses: "0x",
20971
+ TargetAddress: "0x0000000000000000000000000000000000000000"
20972
+ },
20973
+ {
20974
+ AddressArguments: [],
20975
+ CanSendValue: false,
20976
+ DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
20977
+ Description: "",
20978
+ FunctionSelector: "0xc5d24601",
20979
+ FunctionSignature: "",
20980
+ LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20981
+ PackedArgumentAddresses: "0x",
20982
+ TargetAddress: "0x0000000000000000000000000000000000000000"
20983
+ },
20984
+ {
20985
+ AddressArguments: [],
20986
+ CanSendValue: false,
20987
+ DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
20988
+ Description: "",
20989
+ FunctionSelector: "0xc5d24601",
20990
+ FunctionSignature: "",
20991
+ LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20992
+ PackedArgumentAddresses: "0x",
20993
+ TargetAddress: "0x0000000000000000000000000000000000000000"
20200
20994
  },
20201
20995
  {
20202
20996
  AddressArguments: [],
@@ -20222,135 +21016,66 @@ const ProductionWETHPLPStrategistLeaves = {
20222
21016
  }
20223
21017
  ],
20224
21018
  MerkleTree: {
20225
- "0": ["0xe549943e306f51294f5a3a09cede8a3852ab598074251db69e7a9d0c90e2719a"],
20226
- "1": ["0xa4e05e9258ed676e5e60de1e3cec60d0c90d4736d679378f02db130bae97d3c4", "0xa81fadd1ab83c7dd49ebdeb49dec582fa55ead1fbdd989f7678709a4ebf9347b"],
21019
+ "0": ["0x3f094303a46c01916d75f3fdc9217f39cfed68665f4903bb0b228eedf9aad3e1"],
21020
+ "1": ["0x9717e385b49a14a92728e86e34bf47eb1f4dfd5251def0177b7e1a284b69a9c0", "0x93c4636deb159a40ef8ea624b39d7e8e2f3be1e5ea96d0f7b4c3c707284e3dcc"],
20227
21021
  "2": [
20228
- "0x9ccb135ba1f391f62041c7bf00eab810f9d6b338c4c9b1e62b9b25c8c7ed05bc",
20229
- "0xe2941d16194fdc40d5bde7565ad959c1903aff642e4f0175088243810bc20552",
20230
- "0x7031f8e9b575addeee9ae021e854765266e742b5ac072884954c943363201af5",
20231
- "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba"
21022
+ "0x6ca942fe793f8a12b84771b3f339083250cca66b6ee0748a6bde7dc9e63d52c5",
21023
+ "0x51d2ff41c6c5eb1d6964275bf50c58a48c32888ae18f711a999a17534d0cc12c",
21024
+ "0x8cecdeedb91d1c78d98bd6497896b7ba793fe0b9fb7febc9e0853b81927b8283",
21025
+ "0x849eda7a295b642e5ddaf49a30eec4470cf507efa83b4104c0752d069c7638fe"
20232
21026
  ],
20233
21027
  "3": [
20234
- "0x496ea09def393aed79b93ee6cbd5fad9ca647b268b90bd27623769c9a8306ce9",
20235
- "0xbca5ba973f7658ce4d340653ee753828cddffddcd2282f2aca23f7dd95c9a3e6",
20236
- "0x5ce0917f018e77b9a876f0170f1a3993668c7c7b22404c86abb27c3989cd39b8",
20237
- "0x4ca7708fefb655644158cab73282401abb133497ea46f0f8990d995b8773a16d",
20238
- "0xe0688b74b7c386181dce3c0cd08c85531912a46b432123f431963a0749b4ebd0",
20239
- "0x7c502c90a7090075481813e09e1c65bbc3aed3d71bf19f49f283d2a9ad8547e1",
21028
+ "0x1399aca4d28fbc27a0795723108462f0d1caddfb514bf11985282a3a536d9731",
21029
+ "0xa3d12edf17380aa0935aad34d1cd4f17ed78228239d294581106ab559b280464",
21030
+ "0xa6b8985dac0410283fc4608e452956092bbdad250f80c6aa45428456a60b94d3",
21031
+ "0xdc5d66a8c6fa7c0e86e1e69985714e7c6cfd0ff842e688d7bc375bba9a241ae9",
21032
+ "0x81c5d6c12f48338e385f0400cd2c56e4cbd93094f47503c30e72648f97ba8457",
21033
+ "0x349f5d427759c09b0ed4892d7b9b900873922204f917196f6f0c177f82d6064e",
21034
+ "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba",
21035
+ "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba"
21036
+ ],
21037
+ "4": [
21038
+ "0x4a6e2392dafc484c2b695252ed2ee3a6d1ab9e67eb07e367bf3f016caf3ab56f",
21039
+ "0xc5034bc371e012020e7e9ed0120352597ed6836a7c3c45f6a73332632e1fa6ab",
21040
+ "0xaa9e1837f7b55d00bfa7dc8b1d0d0a6ddd32efc7c10eec69d8aa350141c6b58f",
21041
+ "0xdbfaeb427c9e28b3e90c2aec67bc32e11899ebc88c4da3396b25aca8a6065365",
21042
+ "0x20cfd8d4acdb46c6602108cfeb7b0f7d68c680572407e62754065985d8298d51",
21043
+ "0x7dbfa359b77672a9313b83d1794cc8e7e37c848ea2a99169b6b3a37b88329419",
21044
+ "0x9eff66aafed64041bb89840202923b9c82783a0302899780ee342724df44ee7b",
21045
+ "0xc5cee52896a82f0c495f4ae4b8a423610d03cd73839784259140d0c3037211a6",
21046
+ "0x0cfafbcb312ae216c967b7e2f5eb41516f192473291b61604dd09d4784625e63",
21047
+ "0xb2aef7663f89e5d8fe36d0b5aa587b3c2757cb331e012d780a0dbb671202ce54",
21048
+ "0xf19f2620d35392f96bfad6680277e285442d996a6232da14399b2406aada4433",
21049
+ "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
21050
+ "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
21051
+ "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20240
21052
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
20241
21053
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400"
20242
21054
  ]
20243
21055
  }
20244
21056
  };
20245
21057
 
20246
- //#endregion
20247
- //#region src/hypoVault/hypoVaultManagerArtifacts/ProductionWETHPLPVaultPoolInfos.ts
20248
- const ProductionWETHPLPVaultPoolInfos = {
20249
- vaultAddress: "0x69a3Dd63BCB02E89a70630294EDCe0e78377B876",
20250
- poolInfos: [{
20251
- maxPriceDeviation: 100,
20252
- pool: "0x2aafC1D2Af4dEB9FD8b02cDE5a8C0922cA4D6c78",
20253
- token0: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14",
20254
- token1: "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A"
20255
- }]
20256
- };
20257
-
20258
21058
  //#endregion
20259
21059
  //#region src/hypoVault/hypoVaultManagerConfigs/schema.ts
20260
21060
  const addressSchema = z.custom((val) => {
20261
21061
  return typeof val === "string" && /^0x[a-fA-F0-9]{40}$/.test(val);
20262
21062
  });
20263
21063
  const HypoVaultManagerConfigSchema = z.object({
21064
+ deployment: z.enum(["dev", "prod"]),
20264
21065
  manageCycleIntervalMs: z.number().positive().optional(),
20265
21066
  vaultCapInUnderlying: z.bigint().positive(),
20266
21067
  chainId: z.number().int().positive().optional(),
20267
21068
  hypoVaultAddress: addressSchema.optional(),
20268
21069
  addresses: z.object({
20269
- wethUsdc500bpsV4Collateral0: addressSchema.optional(),
20270
- wethUsdc500bpsV4PanopticPool: addressSchema.optional(),
21070
+ ethUsdc500bpsV4Collateral0: addressSchema.optional(),
21071
+ ethUsdc500bpsV4Collateral1: addressSchema.optional(),
21072
+ ethUsdc500bpsV4PanopticPool: addressSchema.optional(),
20271
21073
  hypoVaultManagerWithMerkleVerification: addressSchema.optional(),
20272
21074
  hypoVault: addressSchema.optional(),
20273
21075
  underlyingToken: addressSchema.optional()
20274
21076
  }).optional()
20275
21077
  });
20276
21078
 
20277
- //#endregion
20278
- //#region src/hypoVault/hypoVaultManagerConfigs/usdcPlpVaultSepoliaDevConfig.ts
20279
- const UsdcPlpVaultSepoliaDevConfig = {
20280
- manageCycleIntervalMs: 1e4,
20281
- vaultCapInUnderlying: 100000000000n,
20282
- chainId: 11155111,
20283
- hypoVaultAddress: "0x91760623ce2BBE50001e18F0973Ffe37c0C6b948",
20284
- addresses: {
20285
- wethUsdc500bpsV4Collateral0: "0x244Bf88435Be52e8dFb642a718ef4b6d0A1166BF",
20286
- wethUsdc500bpsV4PanopticPool: "0x2aafC1D2Af4dEB9FD8b02cDE5a8C0922cA4D6c78",
20287
- hypoVaultManagerWithMerkleVerification: "0x7dd0055110306e9D648C56996020425826605cd3",
20288
- hypoVault: "0x91760623ce2BBE50001e18F0973Ffe37c0C6b948",
20289
- underlyingToken: "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A"
20290
- }
20291
- };
20292
-
20293
- //#endregion
20294
- //#region src/hypoVault/hypoVaultManagerConfigs/usdcPlpVaultSepoliaProdConfig.ts
20295
- const UsdcPlpVaultSepoliaProdConfig = {
20296
- manageCycleIntervalMs: 864e5,
20297
- vaultCapInUnderlying: 100000000000n,
20298
- chainId: 11155111,
20299
- hypoVaultAddress: "0x91760623ce2BBE50001e18F0973Ffe37c0C6b948",
20300
- addresses: {
20301
- wethUsdc500bpsV4Collateral0: "0x244Bf88435Be52e8dFb642a718ef4b6d0A1166BF",
20302
- wethUsdc500bpsV4PanopticPool: "0x2aafC1D2Af4dEB9FD8b02cDE5a8C0922cA4D6c78",
20303
- hypoVaultManagerWithMerkleVerification: "0x7dd0055110306e9D648C56996020425826605cd3",
20304
- hypoVault: "0x91760623ce2BBE50001e18F0973Ffe37c0C6b948",
20305
- underlyingToken: "0xFFFeD8254566B7F800f6D8CDb843ec75AE49B07A"
20306
- }
20307
- };
20308
-
20309
- //#endregion
20310
- //#region src/hypoVault/hypoVaultManagerConfigs/wethPlpVaultSepoliaDevConfig.ts
20311
- const WethPlpVaultSepoliaDevConfig = {
20312
- manageCycleIntervalMs: 1e4,
20313
- vaultCapInUnderlying: 100000000000000000000n,
20314
- chainId: 11155111,
20315
- hypoVaultAddress: "0x69a3Dd63BCB02E89a70630294EDCe0e78377B876",
20316
- addresses: {
20317
- wethUsdc500bpsV4Collateral0: "0x4f29B472bebbFcEEc250a4A5BC33312F00025600",
20318
- wethUsdc500bpsV4PanopticPool: "0x2aafC1D2Af4dEB9FD8b02cDE5a8C0922cA4D6c78",
20319
- hypoVaultManagerWithMerkleVerification: "0xcCaB9842150F19552B137f4dA28DeEB6101542cF",
20320
- hypoVault: "0x69a3Dd63BCB02E89a70630294EDCe0e78377B876",
20321
- underlyingToken: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"
20322
- }
20323
- };
20324
-
20325
- //#endregion
20326
- //#region src/hypoVault/hypoVaultManagerConfigs/wethPlpVaultSepoliaProdConfig.ts
20327
- const WethPlpVaultSepoliaProdConfig = {
20328
- manageCycleIntervalMs: 864e5,
20329
- vaultCapInUnderlying: 100000000000000000000n,
20330
- chainId: 11155111,
20331
- hypoVaultAddress: "0x69a3Dd63BCB02E89a70630294EDCe0e78377B876",
20332
- addresses: {
20333
- wethUsdc500bpsV4Collateral0: "0x4f29B472bebbFcEEc250a4A5BC33312F00025600",
20334
- wethUsdc500bpsV4PanopticPool: "0x2aafC1D2Af4dEB9FD8b02cDE5a8C0922cA4D6c78",
20335
- hypoVaultManagerWithMerkleVerification: "0xcCaB9842150F19552B137f4dA28DeEB6101542cF",
20336
- hypoVault: "0x69a3Dd63BCB02E89a70630294EDCe0e78377B876",
20337
- underlyingToken: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"
20338
- }
20339
- };
20340
-
20341
- //#endregion
20342
- //#region src/hypoVault/hypoVaultManagerConfigs/vaultToConfig.ts
20343
- const ALL_HYPO_VAULT_CONFIGS = [
20344
- WethPlpVaultSepoliaDevConfig,
20345
- WethPlpVaultSepoliaProdConfig,
20346
- UsdcPlpVaultSepoliaDevConfig,
20347
- UsdcPlpVaultSepoliaProdConfig
20348
- ];
20349
- function getHypoVaultConfigForVault(vaultAddress, chainId) {
20350
- const vaultLower = vaultAddress.toLowerCase();
20351
- return ALL_HYPO_VAULT_CONFIGS.find((c) => c.hypoVaultAddress?.toLowerCase() === vaultLower && c.chainId === chainId);
20352
- }
20353
-
20354
21079
  //#endregion
20355
21080
  //#region src/hypoVault/hypoVaultManagerWithMerkleVerification/fulfillDeposits.ts
20356
21081
  function encodeFulfillDepositsFunctionData({ assetsToFulfill, managerInput }) {
@@ -20413,14 +21138,15 @@ function requestDeposit({ walletClient, vaultAddress, assets, account }) {
20413
21138
  //#region src/hypoVault/requestDeposit/hooks/use-request-deposit.ts
20414
21139
  const useRequestDeposit = ({ vaultAddress, assets, tokenAddress, onWaitSuccess }) => {
20415
21140
  const { address: account } = useAccount();
21141
+ const canReadAllowance = account != null && account !== zeroAddress && tokenAddress !== zeroAddress && vaultAddress !== zeroAddress;
20416
21142
  const allowanceRead = useReadContract({
20417
- address: tokenAddress,
21143
+ address: canReadAllowance ? tokenAddress : void 0,
20418
21144
  abi: Erc20Abi,
20419
21145
  functionName: "allowance",
20420
- args: [account ?? zeroAddress, vaultAddress],
20421
- query: { enabled: account != null && account !== zeroAddress }
21146
+ args: canReadAllowance ? [account, vaultAddress] : void 0,
21147
+ query: { enabled: canReadAllowance }
20422
21148
  });
20423
- const tokenNeedsApproval = !allowanceRead.isFetching && (allowanceRead.data === void 0 || allowanceRead.data < assets);
21149
+ const tokenNeedsApproval = canReadAllowance && !allowanceRead.isFetching && (allowanceRead.data === void 0 || allowanceRead.data < assets);
20424
21150
  const refetchAllowance = allowanceRead.refetch;
20425
21151
  const approveSimulate = useSimulateContract({
20426
21152
  address: tokenAddress,
@@ -20683,7 +21409,7 @@ function buildExecuteDepositCalldatas({ user, epochsToExecute }) {
20683
21409
  epoch
20684
21410
  }));
20685
21411
  }
20686
- function buildRequestWithdrawalCalldatas({ user, desiredAssets, sharePrice, walletShares, queuedDeposits, depositEpochStates, currentDepositEpoch }) {
21412
+ function buildRequestWithdrawalCalldatas({ user, desiredAssets, requestAllAvailableShares = false, sharePrice, walletShares, queuedDeposits, depositEpochStates, currentDepositEpoch }) {
20687
21413
  const claimable = calculateClaimableSharesFromQueuedDeposits({
20688
21414
  queuedDeposits,
20689
21415
  depositEpochStates,
@@ -20697,7 +21423,7 @@ function buildRequestWithdrawalCalldatas({ user, desiredAssets, sharePrice, wall
20697
21423
  assets: desiredAssets,
20698
21424
  sharePrice
20699
21425
  });
20700
- const sharesToRequest = sharesForAssets > availableShares ? availableShares : sharesForAssets;
21426
+ const sharesToRequest = requestAllAvailableShares ? availableShares : sharesForAssets > availableShares ? availableShares : sharesForAssets;
20701
21427
  const executeDepositCalldatas = buildExecuteDepositCalldatas({
20702
21428
  user,
20703
21429
  epochsToExecute: claimable.epochsToExecute
@@ -20714,12 +21440,13 @@ function buildRequestWithdrawalCalldatas({ user, desiredAssets, sharePrice, wall
20714
21440
 
20715
21441
  //#endregion
20716
21442
  //#region src/hypoVault/requestWithdrawal/hooks/use-request-withdrawal.ts
20717
- const useRequestWithdrawal = ({ vaultAddress, desiredAssets, sharePrice, walletShares, queuedDeposits, depositEpochStates, currentDepositEpoch, onWaitSuccess }) => {
21443
+ const useRequestWithdrawal = ({ vaultAddress, desiredAssets, requestAllAvailableShares = false, sharePrice, walletShares, queuedDeposits, depositEpochStates, currentDepositEpoch, onWaitSuccess }) => {
20718
21444
  const { address: account } = useAccount();
20719
21445
  const user = account ?? zeroAddress;
20720
21446
  const { claimableDepositShares, availableShares, sharesToRequest, multicallCalldatas } = useMemo(() => buildRequestWithdrawalCalldatas({
20721
21447
  user,
20722
21448
  desiredAssets,
21449
+ requestAllAvailableShares,
20723
21450
  sharePrice,
20724
21451
  walletShares,
20725
21452
  queuedDeposits,
@@ -20728,6 +21455,7 @@ const useRequestWithdrawal = ({ vaultAddress, desiredAssets, sharePrice, walletS
20728
21455
  }), [
20729
21456
  user,
20730
21457
  desiredAssets,
21458
+ requestAllAvailableShares,
20731
21459
  sharePrice,
20732
21460
  walletShares,
20733
21461
  queuedDeposits,
@@ -21008,6 +21736,41 @@ async function buildManagerInput({ viemClient, poolInfos, tokenIds, underlyingTo
21008
21736
  ]);
21009
21737
  }
21010
21738
 
21739
+ //#endregion
21740
+ //#region src/hypoVault/utils/buildManagerInputAtBlock.ts
21741
+ /**
21742
+ * Builds encoded managerInput for HypoVault accountant reads at a specific block.
21743
+ */
21744
+ async function buildManagerInputAtBlock({ viemClient, poolInfos, tokenIds, underlyingToken, blockNumber }) {
21745
+ const twapTicks = await Promise.all(poolInfos.map((poolInfo) => readContract(viemClient, {
21746
+ address: poolInfo.pool,
21747
+ abi: parseAbi(["function getTWAP() view returns (int24)"]),
21748
+ functionName: "getTWAP",
21749
+ blockNumber
21750
+ })));
21751
+ const managerPrices = poolInfos.map((poolInfo, i) => {
21752
+ const twapTick = Number(twapTicks[i]);
21753
+ const underlyingLower = underlyingToken.toLowerCase();
21754
+ const token0IsUnderlying = poolInfo.token0.toLowerCase() === underlyingLower;
21755
+ const token1IsUnderlying = poolInfo.token1.toLowerCase() === underlyingLower;
21756
+ return {
21757
+ poolPrice: twapTick,
21758
+ token0Price: token0IsUnderlying ? 0 : twapTick,
21759
+ token1Price: token1IsUnderlying ? 0 : twapTick
21760
+ };
21761
+ });
21762
+ return encodeAbiParameters(PanopticVaultAccountantManagerInputAbi, [
21763
+ managerPrices,
21764
+ poolInfos.map((poolInfo) => ({
21765
+ pool: poolInfo.pool,
21766
+ token0: poolInfo.token0,
21767
+ token1: poolInfo.token1,
21768
+ maxPriceDeviation: poolInfo.maxPriceDeviation
21769
+ })),
21770
+ tokenIds
21771
+ ]);
21772
+ }
21773
+
21011
21774
  //#endregion
21012
21775
  //#region src/panoptic/v1/CollateralTracker/deposit.ts
21013
21776
  function encodeDepositFunctionData({ assets, receiver }) {
@@ -21213,6 +21976,129 @@ const GetLatestEpochDocument = gql`
21213
21976
  }
21214
21977
  ${DepositEpochStateFragmentDoc}
21215
21978
  ${WithdrawalEpochStateFragmentDoc}`;
21979
+ const GetVaultHistoryDocument = gql`
21980
+ query GetVaultHistory($hypoVault: String!, $first: Int = 200, $skip: Int = 0) {
21981
+ depositRequesteds(
21982
+ where: {hypoVault: $hypoVault}
21983
+ orderBy: blockTimestamp
21984
+ orderDirection: desc
21985
+ first: $first
21986
+ skip: $skip
21987
+ ) {
21988
+ id
21989
+ assets
21990
+ blockTimestamp
21991
+ transactionHash
21992
+ user {
21993
+ id
21994
+ }
21995
+ }
21996
+ depositsFulfilleds(
21997
+ where: {hypoVault: $hypoVault}
21998
+ orderBy: blockTimestamp
21999
+ orderDirection: desc
22000
+ first: $first
22001
+ skip: $skip
22002
+ ) {
22003
+ id
22004
+ assetsFulfilled
22005
+ sharesReceived
22006
+ blockTimestamp
22007
+ transactionHash
22008
+ }
22009
+ withdrawalRequesteds(
22010
+ where: {hypoVault: $hypoVault}
22011
+ orderBy: blockTimestamp
22012
+ orderDirection: desc
22013
+ first: $first
22014
+ skip: $skip
22015
+ ) {
22016
+ id
22017
+ shares
22018
+ blockTimestamp
22019
+ transactionHash
22020
+ user {
22021
+ id
22022
+ }
22023
+ }
22024
+ withdrawalsFulfilleds(
22025
+ where: {hypoVault: $hypoVault}
22026
+ orderBy: blockTimestamp
22027
+ orderDirection: desc
22028
+ first: $first
22029
+ skip: $skip
22030
+ ) {
22031
+ id
22032
+ assetsReceived
22033
+ sharesFulfilled
22034
+ blockTimestamp
22035
+ transactionHash
22036
+ }
22037
+ depositCancelleds(
22038
+ where: {hypoVault: $hypoVault}
22039
+ orderBy: blockTimestamp
22040
+ orderDirection: desc
22041
+ first: $first
22042
+ skip: $skip
22043
+ ) {
22044
+ id
22045
+ assets
22046
+ blockTimestamp
22047
+ transactionHash
22048
+ user {
22049
+ id
22050
+ }
22051
+ }
22052
+ withdrawalCancelleds(
22053
+ where: {hypoVault: $hypoVault}
22054
+ orderBy: blockTimestamp
22055
+ orderDirection: desc
22056
+ first: $first
22057
+ skip: $skip
22058
+ ) {
22059
+ id
22060
+ shares
22061
+ blockTimestamp
22062
+ transactionHash
22063
+ user {
22064
+ id
22065
+ }
22066
+ }
22067
+ depositExecuteds(
22068
+ where: {hypoVault: $hypoVault}
22069
+ orderBy: blockTimestamp
22070
+ orderDirection: desc
22071
+ first: $first
22072
+ skip: $skip
22073
+ ) {
22074
+ id
22075
+ assets
22076
+ shares
22077
+ blockTimestamp
22078
+ transactionHash
22079
+ user {
22080
+ id
22081
+ }
22082
+ }
22083
+ withdrawalExecuteds(
22084
+ where: {hypoVault: $hypoVault}
22085
+ orderBy: blockTimestamp
22086
+ orderDirection: desc
22087
+ first: $first
22088
+ skip: $skip
22089
+ ) {
22090
+ id
22091
+ assets
22092
+ shares
22093
+ performanceFee
22094
+ blockTimestamp
22095
+ transactionHash
22096
+ user {
22097
+ id
22098
+ }
22099
+ }
22100
+ }
22101
+ `;
21216
22102
  const GetFilteredHypoVaultsDocument = gql`
21217
22103
  query GetFilteredHypoVaults($hypoVaultWhitelist: [Bytes!]!) {
21218
22104
  bundle(id: "1") {
@@ -21297,6 +22183,12 @@ function getSdk(client, withWrapper = defaultWrapper) {
21297
22183
  ...wrappedRequestHeaders
21298
22184
  }), "GetLatestEpoch", "query", variables);
21299
22185
  },
22186
+ GetVaultHistory(variables, requestHeaders) {
22187
+ return withWrapper((wrappedRequestHeaders) => client.request(GetVaultHistoryDocument, variables, {
22188
+ ...requestHeaders,
22189
+ ...wrappedRequestHeaders
22190
+ }), "GetVaultHistory", "query", variables);
22191
+ },
21300
22192
  GetFilteredHypoVaults(variables, requestHeaders) {
21301
22193
  return withWrapper((wrappedRequestHeaders) => client.request(GetFilteredHypoVaultsDocument, variables, {
21302
22194
  ...requestHeaders,
@@ -21340,5 +22232,5 @@ function getHypoVaultGraphQLClient(chainId) {
21340
22232
  }
21341
22233
 
21342
22234
  //#endregion
21343
- export { CollateralTrackerAbi, CollateralTrackerV1_1Abi, Erc1155Abi, Erc20Abi, HypoVaultAbi, HypoVaultManagerConfigSchema, HypoVaultManagerWithMerkleVerificationAbi, Multicall3Abi, NonFungiblePositionManagerAbi, PanopticFactoryAbi, PanopticFactoryV1_1Abi, PanopticHelperAbi, PanopticPoolAbi, PanopticPoolV1_1Abi, PanopticQueryV1_1Abi, PanopticVaultAccountantAbi, PanopticVaultAccountantManagerInputAbi, PoolManagerAbi, ProductionUSDCPLPStrategistLeaves, ProductionUSDCPLPVaultPoolInfos, ProductionWETHPLPStrategistLeaves, ProductionWETHPLPVaultPoolInfos, RescueDistributorAbi, SemiFungiblePositionManagerAbi, SemiFungiblePositionManagerV1_1Abi, Simple7702AccountAbi, StateViewAbi, UniswapHelperAbi, UniswapHelperV1_1Abi, UniswapMigratorAbi, UniswapV3FactoryAbi, UniswapV3PoolAbi, UsdcPlpVaultSepoliaDevConfig, UsdcPlpVaultSepoliaProdConfig, WETHAbi, WethPlpVaultSepoliaDevConfig, WethPlpVaultSepoliaProdConfig, buildExecuteDepositCalldatas, buildExecuteWithdrawalCalldatas, buildManageArgs, buildManagerInput, buildRequestWithdrawalCalldatas, builderFactoryAbi, builderWalletAbi, calculateAssetsFromShares, calculateAvailableShares, calculateClaimableAssetsFromQueuedWithdrawals, calculateClaimableSharesFromQueuedDeposits, calculateSharesFromAssets, collateralTrackerAbi as collateralTrackerV2Abi, convertJsonTreeToArray, encodeApproveFunctionData, encodeDepositFunctionData, encodeExecuteDepositFunctionData, encodeExecuteWithdrawalFunctionData, encodeExecuteWithdrawalMulticallFunctionData, encodeFulfillDepositsFunctionData, encodeFulfillWithdrawalsFunctionData, encodeRequestDepositFunctionData, encodeRequestWithdrawalFunctionData, encodeRequestWithdrawalMulticallFunctionData, encodeWithdrawFunctionData, executeWithdrawal, executeWithdrawalMulticall, findLeaf, generateProof, getAlchemyRpcUrl, getAlchemyWsRpcUrl, getExecuteWithdrawalContractConfig, getExecuteWithdrawalMulticallContractConfig, getHypoVaultConfigForVault, getHypoVaultGraphQLClient, getMinQueuedDepositEpoch, getProofsFromDigests, getProofsUsingTree, getRequestDepositContractConfig, getRequestWithdrawalContractConfig, getRequestWithdrawalMulticallContractConfig, panopticFactoryAbi as panopticFactoryV2Abi, panopticHelperAbi as panopticHelperV2Abi, panopticPoolAbi as panopticPoolV2Abi, parseCustomError, requestDeposit, requestWithdrawal, requestWithdrawalMulticall, riskEngineAbi, semiFungiblePositionManagerAbi as semiFungiblePositionManagerV2Abi, simulateExecuteWithdrawal, simulateExecuteWithdrawalMulticall, simulateRequestDeposit, simulateRequestWithdrawal, simulateRequestWithdrawalMulticall, useExecuteWithdrawal, useRequestDeposit, useRequestWithdrawal };
22235
+ export { CollateralTrackerAbi, CollateralTrackerV1_1Abi, Erc1155Abi, Erc20Abi, HypoVaultAbi, HypoVaultManagerConfigSchema, HypoVaultManagerWithMerkleVerificationAbi, Multicall3Abi, NonFungiblePositionManagerAbi, PanopticFactoryAbi, PanopticFactoryV1_1Abi, PanopticHelperAbi, PanopticPoolAbi, PanopticPoolV1_1Abi, PanopticQueryV1_1Abi, PanopticVaultAccountantAbi, PanopticVaultAccountantManagerInputAbi, PoolManagerAbi, ProductionUSDCGammaStrategistLeaves, ProductionUSDCGammaVaultPoolInfos, ProductionUSDCPLPStrategistLeaves, ProductionUSDCPLPVaultPoolInfos, ProductionWETHPLPStrategistLeaves, ProductionWETHPLPVaultPoolInfos, RescueDistributorAbi, SemiFungiblePositionManagerAbi, SemiFungiblePositionManagerV1_1Abi, Simple7702AccountAbi, StateViewAbi, UniswapHelperAbi, UniswapHelperV1_1Abi, UniswapMigratorAbi, UniswapV3FactoryAbi, UniswapV3PoolAbi, UsdcPlpVaultSepoliaDevConfig, UsdcPlpVaultSepoliaProdConfig, WETHAbi, WethPlpVaultSepoliaDevConfig, WethPlpVaultSepoliaProdConfig, annualizePerSecondRateWad, buildExecuteDepositCalldatas, buildExecuteWithdrawalCalldatas, buildManageArgs, buildManagerInput, buildManagerInputAtBlock, buildRequestWithdrawalCalldatas, builderFactoryAbi, builderWalletAbi, calculateAssetsFromShares, calculateAvailableShares, calculateClaimableAssetsFromQueuedWithdrawals, calculateClaimableSharesFromQueuedDeposits, calculateSharesFromAssets, cancelDeposit, chainToHypoVaultGraphQlAPI, collateralTrackerAbi as collateralTrackerV2Abi, convertJsonTreeToArray, encodeApproveFunctionData, encodeCancelDepositFunctionData, encodeDepositFunctionData, encodeExecuteDepositFunctionData, encodeExecuteWithdrawalFunctionData, encodeExecuteWithdrawalMulticallFunctionData, encodeFulfillDepositsFunctionData, encodeFulfillWithdrawalsFunctionData, encodeRequestDepositFunctionData, encodeRequestWithdrawalFunctionData, encodeRequestWithdrawalMulticallFunctionData, encodeWithdrawFunctionData, executeWithdrawal, executeWithdrawalMulticall, findLeaf, formatPerSecondRateWadAsAprPct, formatPerSecondRateWadAsApyPct, generateProof, getAlchemyRpcUrl, getAlchemyWsRpcUrl, getCancelDepositContractConfig, getExecuteWithdrawalContractConfig, getExecuteWithdrawalMulticallContractConfig, getHypoVaultConfigForVault, getHypoVaultGraphQLClient, getLendingAllocationRows, getMinQueuedDepositEpoch, getProofsFromDigests, getProofsUsingTree, getRequestDepositContractConfig, getRequestWithdrawalContractConfig, getRequestWithdrawalMulticallContractConfig, panopticFactoryAbi as panopticFactoryV2Abi, panopticHelperAbi as panopticHelperV2Abi, panopticPoolAbi as panopticPoolV2Abi, parseCustomError, requestDeposit, requestWithdrawal, requestWithdrawalMulticall, riskEngineAbi, semiFungiblePositionManagerAbi as semiFungiblePositionManagerV2Abi, simulateCancelDeposit, simulateExecuteWithdrawal, simulateExecuteWithdrawalMulticall, simulateRequestDeposit, simulateRequestWithdrawal, simulateRequestWithdrawalMulticall, useCancelDeposit, useExecuteWithdrawal, useRequestDeposit, useRequestWithdrawal };
21344
22236
  //# sourceMappingURL=index.js.map