@panoptic-eng/sdk 1.0.8 → 1.0.10

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
@@ -15482,6 +15482,7 @@ const UsdcPlpVaultBaseProdConfig = {
15482
15482
  manageCycleIntervalMs: 12e5,
15483
15483
  vaultCapInUnderlying: 300000000n,
15484
15484
  vaultCapInShares: 3000000000000000n,
15485
+ allowUnlimitedDepositRequestIfCapNotReached: true,
15485
15486
  maxBuyingPowerUsageBps: 2e3,
15486
15487
  chainId: BASE_CHAIN_ID,
15487
15488
  poolDeploymentBlock: 43e6,
@@ -15522,6 +15523,7 @@ const UsdcPlpVaultMainnetProdConfig = {
15522
15523
  manageCycleIntervalMs: 6e5,
15523
15524
  vaultCapInUnderlying: 19500000000n,
15524
15525
  vaultCapInShares: 19500000000000000n,
15526
+ allowUnlimitedDepositRequestIfCapNotReached: true,
15525
15527
  maxBuyingPowerUsageBps: 2e3,
15526
15528
  chainId: MAINNET_CHAIN_ID,
15527
15529
  hypoVaultAddress: MAINNET_HYPOVAULT_ADDRESSES$1.usdcPlpVault,
@@ -15572,6 +15574,7 @@ const UsdcPlpVaultSepoliaDevConfig = {
15572
15574
  vaultAssetIndex: 0n,
15573
15575
  manageCycleIntervalMs: 6e5,
15574
15576
  vaultCapInUnderlying: 300000000n,
15577
+ allowUnlimitedDepositRequestIfCapNotReached: true,
15575
15578
  maxBuyingPowerUsageBps: 2e3,
15576
15579
  chainId: SEPOLIA_CHAIN_ID,
15577
15580
  hypoVaultAddress: SEPOLIA_HYPOVAULT_ADDRESSES$4.usdcPlpVault,
@@ -15601,6 +15604,7 @@ const UsdcPlpVaultSepoliaProdConfig = {
15601
15604
  vaultAssetIndex: 0n,
15602
15605
  manageCycleIntervalMs: 12e5,
15603
15606
  vaultCapInUnderlying: 300000000n,
15607
+ allowUnlimitedDepositRequestIfCapNotReached: true,
15604
15608
  maxBuyingPowerUsageBps: 2e3,
15605
15609
  chainId: SEPOLIA_CHAIN_ID,
15606
15610
  hypoVaultAddress: SEPOLIA_HYPOVAULT_ADDRESSES$3.usdcPlpVault,
@@ -15630,6 +15634,7 @@ const WethPlpVaultBaseProdConfig = {
15630
15634
  manageCycleIntervalMs: 12e5,
15631
15635
  vaultCapInUnderlying: 1000000000000000000n,
15632
15636
  vaultCapInShares: 1000000000000000000000000n,
15637
+ allowUnlimitedDepositRequestIfCapNotReached: true,
15633
15638
  maxBuyingPowerUsageBps: 6600,
15634
15639
  chainId: BASE_CHAIN_ID,
15635
15640
  poolDeploymentBlock: 43e6,
@@ -15666,6 +15671,7 @@ const WethPlpVaultMainnetProdConfig = {
15666
15671
  manageCycleIntervalMs: 6e5,
15667
15672
  vaultCapInUnderlying: 9500000000000000000n,
15668
15673
  vaultCapInShares: 9500000000000000000000000n,
15674
+ allowUnlimitedDepositRequestIfCapNotReached: true,
15669
15675
  maxBuyingPowerUsageBps: 6600,
15670
15676
  chainId: MAINNET_CHAIN_ID,
15671
15677
  hypoVaultAddress: MAINNET_HYPOVAULT_ADDRESSES.wethPlpVault,
@@ -15715,6 +15721,7 @@ const WethPlpVaultSepoliaDevConfig = {
15715
15721
  vaultAssetIndex: 1n,
15716
15722
  manageCycleIntervalMs: 6e5,
15717
15723
  vaultCapInUnderlying: 1000000000000000000n,
15724
+ allowUnlimitedDepositRequestIfCapNotReached: true,
15718
15725
  maxBuyingPowerUsageBps: 6600,
15719
15726
  chainId: SEPOLIA_CHAIN_ID,
15720
15727
  hypoVaultAddress: SEPOLIA_HYPOVAULT_ADDRESSES$2.wethPlpVault,
@@ -15743,6 +15750,7 @@ const WethPlpVaultSepoliaProdConfig = {
15743
15750
  vaultAssetIndex: 1n,
15744
15751
  manageCycleIntervalMs: 6e5,
15745
15752
  vaultCapInUnderlying: 1000000000000000000n,
15753
+ allowUnlimitedDepositRequestIfCapNotReached: true,
15746
15754
  maxBuyingPowerUsageBps: 6600,
15747
15755
  chainId: SEPOLIA_CHAIN_ID,
15748
15756
  hypoVaultAddress: SEPOLIA_HYPOVAULT_ADDRESSES$1.wethPlpVault,
@@ -15796,6 +15804,7 @@ const SEPOLIA_DEPLOYMENT$1 = requireChainDeployment(SEPOLIA_CHAIN_ID);
15796
15804
  const BASE_DEPLOYMENT$1 = requireChainDeployment(BASE_CHAIN_ID);
15797
15805
  const MAINNET_DEPLOYMENT$1 = requireChainDeployment(MAINNET_CHAIN_ID);
15798
15806
  const MAX_PRICE_DEVIATION = 100;
15807
+ const WSPCXX_USDC_MAX_PRICE_DEVIATION = 1e4;
15799
15808
  const DEFAULT_TRIGGER_TICK = 150;
15800
15809
  const SEPOLIA_DEFAULT_POOL_INFOS = [{
15801
15810
  maxPriceDeviation: MAX_PRICE_DEVIATION,
@@ -15817,6 +15826,12 @@ const MAINNET_DEFAULT_POOL_INFOS = [{
15817
15826
  token0: getEthUsdcMarket(MAINNET_DEPLOYMENT$1).currency0,
15818
15827
  token1: getEthUsdcMarket(MAINNET_DEPLOYMENT$1).currency1
15819
15828
  }];
15829
+ const MAINNET_USDC_PLP_POOL_INFOS = [...MAINNET_DEFAULT_POOL_INFOS, {
15830
+ maxPriceDeviation: WSPCXX_USDC_MAX_PRICE_DEVIATION,
15831
+ pool: "0x0f34e6fCda264349Db10d445BD95f529cbe88090",
15832
+ token0: "0x8e2eeD8b8B5E13Ea7BF38e50d7821d2C57309072",
15833
+ token1: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
15834
+ }];
15820
15835
  const MAINNET_LEGACY_DEFAULT_POOL_INFOS = [{
15821
15836
  maxPriceDeviation: MAX_PRICE_DEVIATION,
15822
15837
  pool: "0x000000007588B488d180899cDEa2080a886D2441",
@@ -15853,7 +15868,7 @@ const BaseWETHPLPVaultPoolInfos = {
15853
15868
  //#region src/hypoVault/hypoVaultManagerArtifacts/MainnetUSDCPLPVaultPoolInfos.ts
15854
15869
  const MainnetUSDCPLPVaultPoolInfos = {
15855
15870
  vaultAddress: MAINNET_VAULT_ADDRESSES.usdcPlpVault,
15856
- poolInfos: MAINNET_DEFAULT_POOL_INFOS.map((poolInfo) => ({
15871
+ poolInfos: MAINNET_USDC_PLP_POOL_INFOS.map((poolInfo) => ({
15857
15872
  ...poolInfo,
15858
15873
  triggerTick: DEFAULT_TRIGGER_TICK
15859
15874
  }))
@@ -16239,6 +16254,71 @@ function getVaultPoolInfos(vaultAddress, chainId) {
16239
16254
  const artifact = artifacts.find((candidate) => toLowerAddress$1(candidate.vaultAddress) === vaultAddressLower);
16240
16255
  return artifact?.poolInfos ?? [];
16241
16256
  }
16257
+ /**
16258
+ * Resolve the block-INDEPENDENT candidate tokenIds per pool for a vault — i.e. the
16259
+ * two subgraph paging queries only, with no on-chain verification. Pair with
16260
+ * {@link verifyVaultOpenTokenIdsAtBlock} to narrow to positions open at a given
16261
+ * block. Splitting these out lets a timeseries fetch the candidate set ONCE per
16262
+ * vault instead of re-running the subgraph paging for every anchor block. The
16263
+ * combined {@link resolveVaultTokenIdsByPool} remains for one-shot callers.
16264
+ */
16265
+ async function resolveVaultHistoricalCandidatesByPool({ chainId, vaultAddress, managerAddress, poolInfos, panopticSubgraphUrl, fetchFn = fetch }) {
16266
+ const resolvedPoolInfos = poolInfos ?? getVaultPoolInfos(vaultAddress, chainId);
16267
+ if (resolvedPoolInfos.length === 0) return [];
16268
+ const configuredEndpoint = panopticSubgraphUrl ?? requireChainDeployment(chainId).subgraphs.panoptic;
16269
+ if (configuredEndpoint === void 0) return resolvedPoolInfos.map((poolInfo) => ({
16270
+ poolAddress: poolInfo.pool,
16271
+ candidates: []
16272
+ }));
16273
+ const vaultAddressLower = toLowerAddress$1(vaultAddress);
16274
+ const recipientAddresses = Array.from(new Set([vaultAddressLower, managerAddress?.toLowerCase()].filter((value) => value !== void 0 && value.length > 0).map((value) => value.toLowerCase())));
16275
+ const poolIds = Array.from(new Set(resolvedPoolInfos.map((poolInfo) => toLowerAddress$1(poolInfo.pool))));
16276
+ const balanceCandidatesByPool = new Map();
16277
+ const eventCandidatesByPool = new Map();
16278
+ await collectPoolAccountBalanceCandidates({
16279
+ endpoint: configuredEndpoint,
16280
+ poolIds,
16281
+ vaultAddress: vaultAddressLower,
16282
+ candidatesByPool: balanceCandidatesByPool,
16283
+ fetchFn
16284
+ });
16285
+ await collectOptionEventCandidates({
16286
+ endpoint: configuredEndpoint,
16287
+ poolIds,
16288
+ recipientAddresses,
16289
+ candidatesByPool: eventCandidatesByPool,
16290
+ fetchFn
16291
+ });
16292
+ return resolvedPoolInfos.map((poolInfo) => {
16293
+ const poolAddressLower = toLowerAddress$1(poolInfo.pool);
16294
+ const openBalances = balanceCandidatesByPool.get(poolAddressLower) ?? new Set();
16295
+ const eventCandidates = eventCandidatesByPool.get(poolAddressLower) ?? new Set();
16296
+ const candidates = sortBigintsAscending(new Set([...openBalances, ...eventCandidates]));
16297
+ return {
16298
+ poolAddress: poolInfo.pool,
16299
+ candidates
16300
+ };
16301
+ });
16302
+ }
16303
+ /**
16304
+ * Narrow pre-resolved {@link VaultPoolCandidateTokenIds} to the tokenIds actually
16305
+ * open at `blockNumber`, per pool, via on-chain `getFullPositionsData` (bisecting
16306
+ * on stale candidates). This is the per-block half of the candidate/verify split.
16307
+ */
16308
+ async function verifyVaultOpenTokenIdsAtBlock({ viemClient, vaultAddress, candidatesByPool, blockNumber }) {
16309
+ const tokenIdsByPool = [];
16310
+ for (const { poolAddress, candidates } of candidatesByPool) {
16311
+ const openTokenIds = await filterOpenTokenIdsAtBlock({
16312
+ viemClient,
16313
+ poolAddress,
16314
+ account: vaultAddress,
16315
+ candidates,
16316
+ blockNumber
16317
+ });
16318
+ tokenIdsByPool.push(openTokenIds);
16319
+ }
16320
+ return tokenIdsByPool;
16321
+ }
16242
16322
  async function resolveVaultTokenIdsByPool({ viemClient, chainId, vaultAddress, managerAddress, poolInfos, panopticSubgraphUrl, verificationBlockNumber, fetchFn = fetch }) {
16243
16323
  const resolvedPoolInfos = poolInfos ?? getVaultPoolInfos(vaultAddress, chainId);
16244
16324
  if (resolvedPoolInfos.length === 0) return [];
@@ -17612,8 +17692,8 @@ const MainnetUSDCPLPStrategistLeaves = {
17612
17692
  "Bytes4(TARGET_FUNCTION_SELECTOR)",
17613
17693
  "Bytes{N*20}(ADDRESS_ARGUMENT_0,...,ADDRESS_ARGUMENT_N)"
17614
17694
  ],
17615
- LeafCount: 9,
17616
- ManageRoot: "0x215542d18c9cf442c62bc3a06dbe8d8d9bc893e5d97e70b675e5c8b1721c6e29",
17695
+ LeafCount: 12,
17696
+ ManageRoot: "0xed7d4ae055fd62c6edc93bd676456748f52fe4f4b78f60ab3ef6394bacc31b5d",
17617
17697
  ManagerAddress: "0x2ce65016366ef7320078e0758D58Cf1038bc7C4e",
17618
17698
  TreeCapacity: 16
17619
17699
  },
@@ -17718,37 +17798,37 @@ const MainnetUSDCPLPStrategistLeaves = {
17718
17798
  TargetAddress: "0x1e46b0289B7E0F710E2Db8Ab87800dd782D624f7"
17719
17799
  },
17720
17800
  {
17721
- AddressArguments: [],
17801
+ AddressArguments: ["0x141cc517a6276542B59732Fd85C1A2C536eF7aCA"],
17722
17802
  CanSendValue: false,
17723
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
17724
- Description: "",
17725
- FunctionSelector: "0xc5d24601",
17726
- FunctionSignature: "",
17727
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
17728
- PackedArgumentAddresses: "0x",
17729
- TargetAddress: "0x0000000000000000000000000000000000000000"
17803
+ DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
17804
+ Description: "Approve wSPCXx poUSDC to spend USDC",
17805
+ FunctionSelector: "0x095ea7b3",
17806
+ FunctionSignature: "approve(address,uint256)",
17807
+ LeafDigest: "0x51f664e3fbdd3e6780eebf725f83871971fedbc1344987982349ae6d636e04df",
17808
+ PackedArgumentAddresses: "0x141cc517a6276542b59732fd85c1a2c536ef7aca",
17809
+ TargetAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
17730
17810
  },
17731
17811
  {
17732
- AddressArguments: [],
17812
+ AddressArguments: ["0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"],
17733
17813
  CanSendValue: false,
17734
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
17735
- Description: "",
17736
- FunctionSelector: "0xc5d24601",
17737
- FunctionSignature: "",
17738
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
17739
- PackedArgumentAddresses: "0x",
17740
- TargetAddress: "0x0000000000000000000000000000000000000000"
17814
+ DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
17815
+ Description: "Deposit USDC for wSPCXx poUSDC",
17816
+ FunctionSelector: "0x6e553f65",
17817
+ FunctionSignature: "deposit(uint256,address)",
17818
+ LeafDigest: "0xb8baaad70acd2686ec36c69277ae1e53e2e5f515a3a6087187cfb6c00ec9f322",
17819
+ PackedArgumentAddresses: "0x236d0558f06cd60780b232d4ec4c92d2cb7e4d18",
17820
+ TargetAddress: "0x141cc517a6276542B59732Fd85C1A2C536eF7aCA"
17741
17821
  },
17742
17822
  {
17743
- AddressArguments: [],
17823
+ AddressArguments: ["0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18", "0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"],
17744
17824
  CanSendValue: false,
17745
- DecoderAndSanitizerAddress: "0x0000000000000000000000000000000000000000",
17746
- Description: "",
17747
- FunctionSelector: "0xc5d24601",
17748
- FunctionSignature: "",
17749
- LeafDigest: "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
17750
- PackedArgumentAddresses: "0x",
17751
- TargetAddress: "0x0000000000000000000000000000000000000000"
17825
+ DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
17826
+ Description: "Withdraw USDC from wSPCXx poUSDC",
17827
+ FunctionSelector: "0xb460af94",
17828
+ FunctionSignature: "withdraw(uint256,address,address)",
17829
+ LeafDigest: "0x4ede52d99a5e4722726abc80a939e2f94268cfb2a0584a184bcae79a1c6c82c2",
17830
+ PackedArgumentAddresses: "0x236d0558f06cd60780b232d4ec4c92d2cb7e4d18236d0558f06cd60780b232d4ec4c92d2cb7e4d18",
17831
+ TargetAddress: "0x141cc517a6276542B59732Fd85C1A2C536eF7aCA"
17752
17832
  },
17753
17833
  {
17754
17834
  AddressArguments: [],
@@ -17796,12 +17876,12 @@ const MainnetUSDCPLPStrategistLeaves = {
17796
17876
  }
17797
17877
  ],
17798
17878
  MerkleTree: {
17799
- "0": ["0x215542d18c9cf442c62bc3a06dbe8d8d9bc893e5d97e70b675e5c8b1721c6e29"],
17800
- "1": ["0xfdd68e4155c3f0143529939165390a7717848d745d5848b5de5dcbabc28e5bbb", "0x153e94cb5785054402d188bf49e3bfd27d2aa336384d23055faa969d8fa8bd77"],
17879
+ "0": ["0xed7d4ae055fd62c6edc93bd676456748f52fe4f4b78f60ab3ef6394bacc31b5d"],
17880
+ "1": ["0xfdd68e4155c3f0143529939165390a7717848d745d5848b5de5dcbabc28e5bbb", "0x559d6a628cef4d55eabf143e84c270be2c3f61e236c2c36115fc29ebadc30bfa"],
17801
17881
  "2": [
17802
17882
  "0x03ddbd298d0afd4b181cc56a653fcd6c4cc6124edba7ffcea1cf9abc1396b34a",
17803
17883
  "0x5a78f5fea4886abf9b990cb11d6c97d8d90fa3aef528289cd2c7da07f7188d15",
17804
- "0x62bc115420860e0f111c62fb6dab141f690afdc12f9b4a1d362c15096ac8d606",
17884
+ "0x67b572f27c64d564c387cf62d05e228ee073dedf11cfad4f95ca78d2673354ce",
17805
17885
  "0x849eda7a295b642e5ddaf49a30eec4470cf507efa83b4104c0752d069c7638fe"
17806
17886
  ],
17807
17887
  "3": [
@@ -17809,8 +17889,8 @@ const MainnetUSDCPLPStrategistLeaves = {
17809
17889
  "0x9604e6ac6ac45ac3ec61d6ab2b52d96aeb9025c8e90cf93f7411b9c9a9dda29b",
17810
17890
  "0xa22cac1a8d963fd80eecce587c5833c77d944bc1dfaace739c66421431823263",
17811
17891
  "0x6bab63ba855d0ba1ef5fc9c8058253f278aec18f88be21d95b7cb11097d11e8a",
17812
- "0x1f1e162b1891921acaa6f790667ffa6051dcf6fac3df0399e74574359d6d0bfa",
17813
- "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba",
17892
+ "0x20b3b7048a0735825b5cb83b931b60eb4bbbd1c68c8466d86df5ae72361d5da4",
17893
+ "0xa0e8444c994231a2893a69086326624b42ad2973144580795d00406bb36b0b3f",
17814
17894
  "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba",
17815
17895
  "0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba"
17816
17896
  ],
@@ -17824,9 +17904,9 @@ const MainnetUSDCPLPStrategistLeaves = {
17824
17904
  "0xf5cc741985c1ce6b1af02be04696bd5944097198abf5ce09945a956143b14e6d",
17825
17905
  "0xb5731bb52d9dccf49773020a8ddc59afbf937d6e203ef104e085f94f18b50e9b",
17826
17906
  "0xa600a5aea3b025f316a4cc99e16c188953aeca6e1bf347d6b2ea8f549b859689",
17827
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
17828
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
17829
- "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
17907
+ "0x51f664e3fbdd3e6780eebf725f83871971fedbc1344987982349ae6d636e04df",
17908
+ "0xb8baaad70acd2686ec36c69277ae1e53e2e5f515a3a6087187cfb6c00ec9f322",
17909
+ "0x4ede52d99a5e4722726abc80a939e2f94268cfb2a0584a184bcae79a1c6c82c2",
17830
17910
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
17831
17911
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
17832
17912
  "0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
@@ -18351,6 +18431,7 @@ const HypoVaultManagerConfigSchema = z.object({
18351
18431
  manageCycleIntervalMs: z.number().positive().optional(),
18352
18432
  vaultCapInUnderlying: z.bigint().positive(),
18353
18433
  vaultCapInShares: z.bigint().positive().optional(),
18434
+ allowUnlimitedDepositRequestIfCapNotReached: z.boolean().optional(),
18354
18435
  maxBuyingPowerUsageBps: z.number().int().positive().max(1e4),
18355
18436
  chainId: z.number().int().positive().optional(),
18356
18437
  poolDeploymentBlock: z.number().int().nonnegative().optional(),
@@ -18436,19 +18517,23 @@ function requestDeposit({ walletClient, vaultAddress, assets, account }) {
18436
18517
  //#region src/hypoVault/requestDeposit/hooks/use-request-deposit.ts
18437
18518
  const APPROVAL_SYNC_POLL_INTERVAL_MS = 1200;
18438
18519
  const APPROVAL_SYNC_MAX_ATTEMPTS = 20;
18439
- const useRequestDeposit = ({ chainId, vaultAddress, assets, tokenAddress, onWaitSuccess }) => {
18520
+ const useRequestDeposit = ({ chainId, vaultAddress, assets, tokenAddress, simulationAccount, onWaitSuccess }) => {
18440
18521
  const { address: account } = useAccount();
18441
- const canReadAllowance = account != null && account !== zeroAddress && tokenAddress !== zeroAddress && vaultAddress !== zeroAddress;
18522
+ const simulatedAccount = simulationAccount ?? account;
18523
+ const canReadAllowance = simulatedAccount != null && simulatedAccount !== zeroAddress && tokenAddress !== zeroAddress && vaultAddress !== zeroAddress;
18442
18524
  const allowanceRead = useReadContract({
18443
18525
  chainId,
18444
18526
  address: canReadAllowance ? tokenAddress : void 0,
18445
18527
  abi: Erc20Abi,
18446
18528
  functionName: "allowance",
18447
- args: canReadAllowance ? [account, vaultAddress] : void 0,
18529
+ args: canReadAllowance ? [simulatedAccount, vaultAddress] : void 0,
18448
18530
  query: { enabled: canReadAllowance }
18449
18531
  });
18450
18532
  const allowanceKnown = allowanceRead.data !== void 0;
18451
18533
  const tokenNeedsApproval = canReadAllowance && allowanceKnown && allowanceRead.data < assets;
18534
+ const normalizedAccount = account?.toLowerCase();
18535
+ const normalizedSimulationAccount = simulationAccount?.toLowerCase();
18536
+ const canApproveForSimulatedAccount = normalizedAccount != null && normalizedAccount !== zeroAddress && (normalizedSimulationAccount === void 0 || normalizedSimulationAccount === normalizedAccount);
18452
18537
  const refetchAllowance = allowanceRead.refetch;
18453
18538
  const approveSimulate = useSimulateContract({
18454
18539
  chainId,
@@ -18458,7 +18543,7 @@ const useRequestDeposit = ({ chainId, vaultAddress, assets, tokenAddress, onWait
18458
18543
  args: [vaultAddress, maxUint256],
18459
18544
  account,
18460
18545
  query: {
18461
- enabled: allowanceKnown && tokenNeedsApproval && assets > 0n && account != null,
18546
+ enabled: allowanceKnown && tokenNeedsApproval && assets > 0n && account != null && canApproveForSimulatedAccount,
18462
18547
  retry: false
18463
18548
  }
18464
18549
  });
@@ -18477,9 +18562,9 @@ const useRequestDeposit = ({ chainId, vaultAddress, assets, tokenAddress, onWait
18477
18562
  vaultAddress,
18478
18563
  assets
18479
18564
  }),
18480
- account,
18565
+ account: simulatedAccount,
18481
18566
  query: {
18482
- enabled: allowanceKnown && !tokenNeedsApproval && assets > 0n && vaultAddress !== zeroAddress && account != null && account !== zeroAddress,
18567
+ enabled: allowanceKnown && !tokenNeedsApproval && assets > 0n && vaultAddress !== zeroAddress && simulatedAccount != null && simulatedAccount !== zeroAddress,
18483
18568
  retry: false
18484
18569
  }
18485
18570
  });
@@ -18561,6 +18646,7 @@ const useRequestDeposit = ({ chainId, vaultAddress, assets, tokenAddress, onWait
18561
18646
  const actionLabel = useMemo(() => {
18562
18647
  if (isApprovalSyncing) return "Approval confirmed. Syncing allowance...";
18563
18648
  if (tokenNeedsApproval) {
18649
+ if (!canApproveForSimulatedAccount) return "Approval Required";
18564
18650
  if (approveSimulate.isLoading) return "Simulating approval...";
18565
18651
  if (approveWrite.isPending || approveWait.isLoading) return "Approving...";
18566
18652
  return "Approve Token";
@@ -18571,6 +18657,7 @@ const useRequestDeposit = ({ chainId, vaultAddress, assets, tokenAddress, onWait
18571
18657
  }, [
18572
18658
  isApprovalSyncing,
18573
18659
  tokenNeedsApproval,
18660
+ canApproveForSimulatedAccount,
18574
18661
  approveSimulate.isLoading,
18575
18662
  approveWrite.isPending,
18576
18663
  approveWait.isLoading,
@@ -19607,5 +19694,5 @@ function getHypoVaultGraphQLClient(chainId) {
19607
19694
  }
19608
19695
 
19609
19696
  //#endregion
19610
- 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, WAD, WETHAbi, WethPlpVaultBaseProdConfig, WethPlpVaultMainnetLegacyConfig, WethPlpVaultMainnetProdConfig, WethPlpVaultSepoliaDevConfig, WethPlpVaultSepoliaProdConfig, annualizePerSecondRateWad, buildExecuteDepositCalldatas, buildExecuteWithdrawalCalldatas, buildManageArgs, buildManagerInput, buildManagerInputAtBlock, buildRequestWithdrawalCalldatas, buildVaultManagerInput, buildVaultManagerInputAtBlock, builderFactoryAbi, builderWalletAbi, calculateAssetsFromShares, calculateAvailableShares, calculateClaimableAssetsFromQueuedWithdrawals, calculateClaimableSharesFromQueuedDeposits, calculateSharesFromAssets, cancelDeposit, chainToHypoVaultGraphQlAPI, collateralTrackerV2Abi as collateralTrackerAbi, collateralTrackerV2Abi, convertJsonTreeToArray, deriveSupplyRatePerSecWad, encodeApproveFunctionData, encodeCancelDepositFunctionData, encodeDepositFunctionData, encodeExecuteDepositFunctionData, encodeExecuteWithdrawalFunctionData, encodeExecuteWithdrawalMulticallFunctionData, encodeFulfillDepositsFunctionData, encodeFulfillWithdrawalsFunctionData, encodeRequestDepositFunctionData, encodeRequestWithdrawalFunctionData, encodeRequestWithdrawalMulticallFunctionData, encodeWithdrawFunctionData, executeWithdrawal, executeWithdrawalMulticall, findLeaf, formatPerSecondRateWadAsAprPct, formatPerSecondRateWadAsApyPct, generateProof, getAlchemyRpcUrl, getAlchemyWsRpcUrl, getCancelDepositContractConfig, getChainDeployment, getEthUsdcMarket, getExecuteWithdrawalContractConfig, getExecuteWithdrawalMulticallContractConfig, getHypoVaultConfigForVault, getHypoVaultGraphQLClient, getIrmCurrent, getIrmCurve, getLendingAllocationRows, getMinQueuedDepositEpoch, getProofsFromDigests, getProofsUsingTree, getRequestDepositContractConfig, getRequestWithdrawalContractConfig, getRequestWithdrawalMulticallContractConfig, getStaleOracleOverrideBytecodeForAccountant, getStaleOracleStateOverrideForAccountant, getVaultPoolInfos, isSupportedChain, packMarketState, panopticFactoryV4Abi as panopticFactoryAbi, panopticFactoryV3Abi, panopticFactoryV4Abi, panopticPoolV2Abi as panopticPoolAbi, panopticPoolV2Abi, panopticQueryAbi, parseCustomError, ratePerSecWadToAprPct, requestDeposit, requestWithdrawal, requestWithdrawalMulticall, requireChainDeployment, resolveVaultDisplayName, resolveVaultTokenIdsByPool, riskEngineAbi, semiFungiblePositionManagerV4Abi as semiFungiblePositionManagerAbi, semiFungiblePositionManagerV3Abi, semiFungiblePositionManagerV4Abi, simulateCancelDeposit, simulateExecuteWithdrawal, simulateExecuteWithdrawalMulticall, simulateRequestDeposit, simulateRequestWithdrawal, simulateRequestWithdrawalMulticall, useCancelDeposit, useExecuteWithdrawal, useRequestDeposit, useRequestWithdrawal, utilizationBpsToWad, utilizationPctToWad };
19697
+ 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, WAD, WETHAbi, WethPlpVaultBaseProdConfig, WethPlpVaultMainnetLegacyConfig, WethPlpVaultMainnetProdConfig, WethPlpVaultSepoliaDevConfig, WethPlpVaultSepoliaProdConfig, annualizePerSecondRateWad, buildExecuteDepositCalldatas, buildExecuteWithdrawalCalldatas, buildManageArgs, buildManagerInput, buildManagerInputAtBlock, buildRequestWithdrawalCalldatas, buildVaultManagerInput, buildVaultManagerInputAtBlock, builderFactoryAbi, builderWalletAbi, calculateAssetsFromShares, calculateAvailableShares, calculateClaimableAssetsFromQueuedWithdrawals, calculateClaimableSharesFromQueuedDeposits, calculateSharesFromAssets, cancelDeposit, chainToHypoVaultGraphQlAPI, collateralTrackerV2Abi as collateralTrackerAbi, collateralTrackerV2Abi, convertJsonTreeToArray, deriveSupplyRatePerSecWad, encodeApproveFunctionData, encodeCancelDepositFunctionData, encodeDepositFunctionData, encodeExecuteDepositFunctionData, encodeExecuteWithdrawalFunctionData, encodeExecuteWithdrawalMulticallFunctionData, encodeFulfillDepositsFunctionData, encodeFulfillWithdrawalsFunctionData, encodeRequestDepositFunctionData, encodeRequestWithdrawalFunctionData, encodeRequestWithdrawalMulticallFunctionData, encodeWithdrawFunctionData, executeWithdrawal, executeWithdrawalMulticall, findLeaf, formatPerSecondRateWadAsAprPct, formatPerSecondRateWadAsApyPct, generateProof, getAlchemyRpcUrl, getAlchemyWsRpcUrl, getCancelDepositContractConfig, getChainDeployment, getEthUsdcMarket, getExecuteWithdrawalContractConfig, getExecuteWithdrawalMulticallContractConfig, getHypoVaultConfigForVault, getHypoVaultGraphQLClient, getIrmCurrent, getIrmCurve, getLendingAllocationRows, getMinQueuedDepositEpoch, getProofsFromDigests, getProofsUsingTree, getRequestDepositContractConfig, getRequestWithdrawalContractConfig, getRequestWithdrawalMulticallContractConfig, getStaleOracleOverrideBytecodeForAccountant, getStaleOracleStateOverrideForAccountant, getVaultPoolInfos, 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, simulateCancelDeposit, simulateExecuteWithdrawal, simulateExecuteWithdrawalMulticall, simulateRequestDeposit, simulateRequestWithdrawal, simulateRequestWithdrawalMulticall, useCancelDeposit, useExecuteWithdrawal, useRequestDeposit, useRequestWithdrawal, utilizationBpsToWad, utilizationPctToWad, verifyVaultOpenTokenIdsAtBlock };
19611
19698
  //# sourceMappingURL=index.js.map