@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/cow/index.js +1 -1
- package/dist/index.d.ts +103 -47
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +129 -42
- package/dist/index.js.map +1 -1
- package/dist/panoptic/v2/index.d.ts +84 -1
- package/dist/panoptic/v2/index.d.ts.map +1 -1
- package/dist/panoptic/v2/index.js +59 -2
- package/dist/panoptic/v2/index.js.map +1 -1
- package/dist/test/index.d.ts +2 -2
- package/dist/test/index.d.ts.map +1 -1
- package/dist/uniswap/index.js +1 -1
- package/dist/{writes-zbqyGAkV.js → writes-sE5gMbcW.js} +71 -2
- package/dist/writes-sE5gMbcW.js.map +1 -0
- package/package.json +1 -1
- package/dist/writes-zbqyGAkV.js.map +0 -1
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:
|
|
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:
|
|
17616
|
-
ManageRoot: "
|
|
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: "
|
|
17724
|
-
Description: "",
|
|
17725
|
-
FunctionSelector: "
|
|
17726
|
-
FunctionSignature: "",
|
|
17727
|
-
LeafDigest: "
|
|
17728
|
-
PackedArgumentAddresses: "
|
|
17729
|
-
TargetAddress: "
|
|
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: "
|
|
17735
|
-
Description: "",
|
|
17736
|
-
FunctionSelector: "
|
|
17737
|
-
FunctionSignature: "",
|
|
17738
|
-
LeafDigest: "
|
|
17739
|
-
PackedArgumentAddresses: "
|
|
17740
|
-
TargetAddress: "
|
|
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: "
|
|
17746
|
-
Description: "",
|
|
17747
|
-
FunctionSelector: "
|
|
17748
|
-
FunctionSignature: "",
|
|
17749
|
-
LeafDigest: "
|
|
17750
|
-
PackedArgumentAddresses: "
|
|
17751
|
-
TargetAddress: "
|
|
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": ["
|
|
17800
|
-
"1": ["0xfdd68e4155c3f0143529939165390a7717848d745d5848b5de5dcbabc28e5bbb", "
|
|
17879
|
+
"0": ["0xed7d4ae055fd62c6edc93bd676456748f52fe4f4b78f60ab3ef6394bacc31b5d"],
|
|
17880
|
+
"1": ["0xfdd68e4155c3f0143529939165390a7717848d745d5848b5de5dcbabc28e5bbb", "0x559d6a628cef4d55eabf143e84c270be2c3f61e236c2c36115fc29ebadc30bfa"],
|
|
17801
17881
|
"2": [
|
|
17802
17882
|
"0x03ddbd298d0afd4b181cc56a653fcd6c4cc6124edba7ffcea1cf9abc1396b34a",
|
|
17803
17883
|
"0x5a78f5fea4886abf9b990cb11d6c97d8d90fa3aef528289cd2c7da07f7188d15",
|
|
17804
|
-
"
|
|
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
|
-
"
|
|
17813
|
-
"
|
|
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
|
-
"
|
|
17828
|
-
"
|
|
17829
|
-
"
|
|
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
|
|
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 ? [
|
|
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 &&
|
|
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
|