@panoptic-eng/sdk 1.0.7 → 1.0.9
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 +3 -3
- package/dist/{cow-Dy-Cd09v.js → cow-BQH0jUpa.js} +2 -2
- package/dist/{cow-Dy-Cd09v.js.map → cow-BQH0jUpa.js.map} +1 -1
- package/dist/index.d.ts +89 -34
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -44
- package/dist/index.js.map +1 -1
- package/dist/{irm-CBrX8bjH.js → irm-BTK_DhAz.js} +3 -3
- package/dist/{irm-CBrX8bjH.js.map → irm-BTK_DhAz.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 +63 -6
- package/dist/panoptic/v2/index.js.map +1 -1
- package/dist/{position-FxaZi608.js → position-BVhvYRm8.js} +2 -2
- package/dist/{position-FxaZi608.js.map → position-BVhvYRm8.js.map} +1 -1
- package/dist/{router-gzYGM1OO.js → router-Uk3EXb-b.js} +2 -2
- package/dist/{router-gzYGM1OO.js.map → router-Uk3EXb-b.js.map} +1 -1
- package/dist/uniswap/index.js +3 -3
- package/dist/{writes-CVCD6Ers.js → writes-sE5gMbcW.js} +72 -3
- package/dist/writes-sE5gMbcW.js.map +1 -0
- package/package.json +1 -1
- package/dist/writes-CVCD6Ers.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BORROW_INDEX_BITS, BPS_SCALE, MARKET_EPOCH_BITS, MARKET_EPOCH_SHIFT, Multicall3Abi, RATE_AT_TARGET_BITS, SECONDS_PER_YEAR, UNREALIZED_INTEREST_BITS, WAD, annualizePerSecondRateWad, deriveSupplyRatePerSecWad, formatPerSecondRateWadAsAprPct, formatPerSecondRateWadAsApyPct, getAccountCollateral, getCollateralData, getIrmCurrent, getIrmCurve, packMarketState, ratePerSecWadToAprPct, utilizationBpsToWad, utilizationPctToWad } from "./irm-
|
|
2
|
-
import { collateralTrackerV2Abi, getPoolMetadata$1 as getPoolMetadata, panopticFactoryV3Abi, panopticFactoryV4Abi, panopticPoolV2Abi, panopticQueryAbi
|
|
1
|
+
import { BORROW_INDEX_BITS, BPS_SCALE, MARKET_EPOCH_BITS, MARKET_EPOCH_SHIFT, Multicall3Abi, RATE_AT_TARGET_BITS, SECONDS_PER_YEAR, UNREALIZED_INTEREST_BITS, WAD$1 as WAD, annualizePerSecondRateWad, deriveSupplyRatePerSecWad, formatPerSecondRateWadAsAprPct, formatPerSecondRateWadAsApyPct, getAccountCollateral, getCollateralData, getIrmCurrent, getIrmCurve, packMarketState, ratePerSecWadToAprPct, utilizationBpsToWad, utilizationPctToWad } from "./irm-BTK_DhAz.js";
|
|
2
|
+
import { collateralTrackerV2Abi, getPoolMetadata$1 as getPoolMetadata, panopticFactoryV3Abi, panopticFactoryV4Abi, panopticPoolV2Abi, panopticQueryAbi, riskEngineAbi, semiFungiblePositionManagerV3Abi, semiFungiblePositionManagerV4Abi } from "./position-BVhvYRm8.js";
|
|
3
3
|
import { BaseError, ContractFunctionExecutionError, ContractFunctionRevertedError, encodeAbiParameters, encodeFunctionData, encodePacked, keccak256, maxUint256, parseAbi, zeroAddress } from "viem";
|
|
4
4
|
import { readContract, simulateContract, writeContract } from "viem/actions";
|
|
5
5
|
import { BASE_CHAIN_ID, BASE_DEPLOYMENT, BASE_ETH_USDC_5BPS_MARKET, BASE_HYPOVAULT_ADDRESSES, BASE_HYPOVAULT_CORE_ADDRESSES, BASE_HYPOVAULT_MANAGER_ADDRESSES, BASE_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, BASE_PANOPTIC_POOL_ADDRESSES, BASE_PANOPTIC_V2_ADDRESSES, CHAIN_DEPLOYMENTS, MAINNET_CHAIN_ID, MAINNET_DEPLOYMENT, MAINNET_PANOPTIC_V2_ADDRESSES, 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, VAULT_DISPLAY_NAMES_PER_CHAIN, VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN, getChainDeployment, getEthUsdcMarket, isSupportedChain, requireChainDeployment, resolveVaultDisplayName } from "@panoptic-eng/deployments";
|
|
@@ -15796,6 +15796,7 @@ const SEPOLIA_DEPLOYMENT$1 = requireChainDeployment(SEPOLIA_CHAIN_ID);
|
|
|
15796
15796
|
const BASE_DEPLOYMENT$1 = requireChainDeployment(BASE_CHAIN_ID);
|
|
15797
15797
|
const MAINNET_DEPLOYMENT$1 = requireChainDeployment(MAINNET_CHAIN_ID);
|
|
15798
15798
|
const MAX_PRICE_DEVIATION = 100;
|
|
15799
|
+
const WSPCXX_USDC_MAX_PRICE_DEVIATION = 1e4;
|
|
15799
15800
|
const DEFAULT_TRIGGER_TICK = 150;
|
|
15800
15801
|
const SEPOLIA_DEFAULT_POOL_INFOS = [{
|
|
15801
15802
|
maxPriceDeviation: MAX_PRICE_DEVIATION,
|
|
@@ -15817,6 +15818,12 @@ const MAINNET_DEFAULT_POOL_INFOS = [{
|
|
|
15817
15818
|
token0: getEthUsdcMarket(MAINNET_DEPLOYMENT$1).currency0,
|
|
15818
15819
|
token1: getEthUsdcMarket(MAINNET_DEPLOYMENT$1).currency1
|
|
15819
15820
|
}];
|
|
15821
|
+
const MAINNET_USDC_PLP_POOL_INFOS = [...MAINNET_DEFAULT_POOL_INFOS, {
|
|
15822
|
+
maxPriceDeviation: WSPCXX_USDC_MAX_PRICE_DEVIATION,
|
|
15823
|
+
pool: "0x0f34e6fCda264349Db10d445BD95f529cbe88090",
|
|
15824
|
+
token0: "0x8e2eeD8b8B5E13Ea7BF38e50d7821d2C57309072",
|
|
15825
|
+
token1: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
|
|
15826
|
+
}];
|
|
15820
15827
|
const MAINNET_LEGACY_DEFAULT_POOL_INFOS = [{
|
|
15821
15828
|
maxPriceDeviation: MAX_PRICE_DEVIATION,
|
|
15822
15829
|
pool: "0x000000007588B488d180899cDEa2080a886D2441",
|
|
@@ -15853,7 +15860,7 @@ const BaseWETHPLPVaultPoolInfos = {
|
|
|
15853
15860
|
//#region src/hypoVault/hypoVaultManagerArtifacts/MainnetUSDCPLPVaultPoolInfos.ts
|
|
15854
15861
|
const MainnetUSDCPLPVaultPoolInfos = {
|
|
15855
15862
|
vaultAddress: MAINNET_VAULT_ADDRESSES.usdcPlpVault,
|
|
15856
|
-
poolInfos:
|
|
15863
|
+
poolInfos: MAINNET_USDC_PLP_POOL_INFOS.map((poolInfo) => ({
|
|
15857
15864
|
...poolInfo,
|
|
15858
15865
|
triggerTick: DEFAULT_TRIGGER_TICK
|
|
15859
15866
|
}))
|
|
@@ -16239,6 +16246,71 @@ function getVaultPoolInfos(vaultAddress, chainId) {
|
|
|
16239
16246
|
const artifact = artifacts.find((candidate) => toLowerAddress$1(candidate.vaultAddress) === vaultAddressLower);
|
|
16240
16247
|
return artifact?.poolInfos ?? [];
|
|
16241
16248
|
}
|
|
16249
|
+
/**
|
|
16250
|
+
* Resolve the block-INDEPENDENT candidate tokenIds per pool for a vault — i.e. the
|
|
16251
|
+
* two subgraph paging queries only, with no on-chain verification. Pair with
|
|
16252
|
+
* {@link verifyVaultOpenTokenIdsAtBlock} to narrow to positions open at a given
|
|
16253
|
+
* block. Splitting these out lets a timeseries fetch the candidate set ONCE per
|
|
16254
|
+
* vault instead of re-running the subgraph paging for every anchor block. The
|
|
16255
|
+
* combined {@link resolveVaultTokenIdsByPool} remains for one-shot callers.
|
|
16256
|
+
*/
|
|
16257
|
+
async function resolveVaultHistoricalCandidatesByPool({ chainId, vaultAddress, managerAddress, poolInfos, panopticSubgraphUrl, fetchFn = fetch }) {
|
|
16258
|
+
const resolvedPoolInfos = poolInfos ?? getVaultPoolInfos(vaultAddress, chainId);
|
|
16259
|
+
if (resolvedPoolInfos.length === 0) return [];
|
|
16260
|
+
const configuredEndpoint = panopticSubgraphUrl ?? requireChainDeployment(chainId).subgraphs.panoptic;
|
|
16261
|
+
if (configuredEndpoint === void 0) return resolvedPoolInfos.map((poolInfo) => ({
|
|
16262
|
+
poolAddress: poolInfo.pool,
|
|
16263
|
+
candidates: []
|
|
16264
|
+
}));
|
|
16265
|
+
const vaultAddressLower = toLowerAddress$1(vaultAddress);
|
|
16266
|
+
const recipientAddresses = Array.from(new Set([vaultAddressLower, managerAddress?.toLowerCase()].filter((value) => value !== void 0 && value.length > 0).map((value) => value.toLowerCase())));
|
|
16267
|
+
const poolIds = Array.from(new Set(resolvedPoolInfos.map((poolInfo) => toLowerAddress$1(poolInfo.pool))));
|
|
16268
|
+
const balanceCandidatesByPool = new Map();
|
|
16269
|
+
const eventCandidatesByPool = new Map();
|
|
16270
|
+
await collectPoolAccountBalanceCandidates({
|
|
16271
|
+
endpoint: configuredEndpoint,
|
|
16272
|
+
poolIds,
|
|
16273
|
+
vaultAddress: vaultAddressLower,
|
|
16274
|
+
candidatesByPool: balanceCandidatesByPool,
|
|
16275
|
+
fetchFn
|
|
16276
|
+
});
|
|
16277
|
+
await collectOptionEventCandidates({
|
|
16278
|
+
endpoint: configuredEndpoint,
|
|
16279
|
+
poolIds,
|
|
16280
|
+
recipientAddresses,
|
|
16281
|
+
candidatesByPool: eventCandidatesByPool,
|
|
16282
|
+
fetchFn
|
|
16283
|
+
});
|
|
16284
|
+
return resolvedPoolInfos.map((poolInfo) => {
|
|
16285
|
+
const poolAddressLower = toLowerAddress$1(poolInfo.pool);
|
|
16286
|
+
const openBalances = balanceCandidatesByPool.get(poolAddressLower) ?? new Set();
|
|
16287
|
+
const eventCandidates = eventCandidatesByPool.get(poolAddressLower) ?? new Set();
|
|
16288
|
+
const candidates = sortBigintsAscending(new Set([...openBalances, ...eventCandidates]));
|
|
16289
|
+
return {
|
|
16290
|
+
poolAddress: poolInfo.pool,
|
|
16291
|
+
candidates
|
|
16292
|
+
};
|
|
16293
|
+
});
|
|
16294
|
+
}
|
|
16295
|
+
/**
|
|
16296
|
+
* Narrow pre-resolved {@link VaultPoolCandidateTokenIds} to the tokenIds actually
|
|
16297
|
+
* open at `blockNumber`, per pool, via on-chain `getFullPositionsData` (bisecting
|
|
16298
|
+
* on stale candidates). This is the per-block half of the candidate/verify split.
|
|
16299
|
+
*/
|
|
16300
|
+
async function verifyVaultOpenTokenIdsAtBlock({ viemClient, vaultAddress, candidatesByPool, blockNumber }) {
|
|
16301
|
+
const tokenIdsByPool = [];
|
|
16302
|
+
for (const { poolAddress, candidates } of candidatesByPool) {
|
|
16303
|
+
const openTokenIds = await filterOpenTokenIdsAtBlock({
|
|
16304
|
+
viemClient,
|
|
16305
|
+
poolAddress,
|
|
16306
|
+
account: vaultAddress,
|
|
16307
|
+
candidates,
|
|
16308
|
+
blockNumber
|
|
16309
|
+
});
|
|
16310
|
+
tokenIdsByPool.push(openTokenIds);
|
|
16311
|
+
}
|
|
16312
|
+
return tokenIdsByPool;
|
|
16313
|
+
}
|
|
16242
16314
|
async function resolveVaultTokenIdsByPool({ viemClient, chainId, vaultAddress, managerAddress, poolInfos, panopticSubgraphUrl, verificationBlockNumber, fetchFn = fetch }) {
|
|
16243
16315
|
const resolvedPoolInfos = poolInfos ?? getVaultPoolInfos(vaultAddress, chainId);
|
|
16244
16316
|
if (resolvedPoolInfos.length === 0) return [];
|
|
@@ -17612,8 +17684,8 @@ const MainnetUSDCPLPStrategistLeaves = {
|
|
|
17612
17684
|
"Bytes4(TARGET_FUNCTION_SELECTOR)",
|
|
17613
17685
|
"Bytes{N*20}(ADDRESS_ARGUMENT_0,...,ADDRESS_ARGUMENT_N)"
|
|
17614
17686
|
],
|
|
17615
|
-
LeafCount:
|
|
17616
|
-
ManageRoot: "
|
|
17687
|
+
LeafCount: 12,
|
|
17688
|
+
ManageRoot: "0xed7d4ae055fd62c6edc93bd676456748f52fe4f4b78f60ab3ef6394bacc31b5d",
|
|
17617
17689
|
ManagerAddress: "0x2ce65016366ef7320078e0758D58Cf1038bc7C4e",
|
|
17618
17690
|
TreeCapacity: 16
|
|
17619
17691
|
},
|
|
@@ -17718,37 +17790,37 @@ const MainnetUSDCPLPStrategistLeaves = {
|
|
|
17718
17790
|
TargetAddress: "0x1e46b0289B7E0F710E2Db8Ab87800dd782D624f7"
|
|
17719
17791
|
},
|
|
17720
17792
|
{
|
|
17721
|
-
AddressArguments: [],
|
|
17793
|
+
AddressArguments: ["0x141cc517a6276542B59732Fd85C1A2C536eF7aCA"],
|
|
17722
17794
|
CanSendValue: false,
|
|
17723
|
-
DecoderAndSanitizerAddress: "
|
|
17724
|
-
Description: "",
|
|
17725
|
-
FunctionSelector: "
|
|
17726
|
-
FunctionSignature: "",
|
|
17727
|
-
LeafDigest: "
|
|
17728
|
-
PackedArgumentAddresses: "
|
|
17729
|
-
TargetAddress: "
|
|
17795
|
+
DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
|
|
17796
|
+
Description: "Approve wSPCXx poUSDC to spend USDC",
|
|
17797
|
+
FunctionSelector: "0x095ea7b3",
|
|
17798
|
+
FunctionSignature: "approve(address,uint256)",
|
|
17799
|
+
LeafDigest: "0x51f664e3fbdd3e6780eebf725f83871971fedbc1344987982349ae6d636e04df",
|
|
17800
|
+
PackedArgumentAddresses: "0x141cc517a6276542b59732fd85c1a2c536ef7aca",
|
|
17801
|
+
TargetAddress: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
|
|
17730
17802
|
},
|
|
17731
17803
|
{
|
|
17732
|
-
AddressArguments: [],
|
|
17804
|
+
AddressArguments: ["0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"],
|
|
17733
17805
|
CanSendValue: false,
|
|
17734
|
-
DecoderAndSanitizerAddress: "
|
|
17735
|
-
Description: "",
|
|
17736
|
-
FunctionSelector: "
|
|
17737
|
-
FunctionSignature: "",
|
|
17738
|
-
LeafDigest: "
|
|
17739
|
-
PackedArgumentAddresses: "
|
|
17740
|
-
TargetAddress: "
|
|
17806
|
+
DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
|
|
17807
|
+
Description: "Deposit USDC for wSPCXx poUSDC",
|
|
17808
|
+
FunctionSelector: "0x6e553f65",
|
|
17809
|
+
FunctionSignature: "deposit(uint256,address)",
|
|
17810
|
+
LeafDigest: "0xb8baaad70acd2686ec36c69277ae1e53e2e5f515a3a6087187cfb6c00ec9f322",
|
|
17811
|
+
PackedArgumentAddresses: "0x236d0558f06cd60780b232d4ec4c92d2cb7e4d18",
|
|
17812
|
+
TargetAddress: "0x141cc517a6276542B59732Fd85C1A2C536eF7aCA"
|
|
17741
17813
|
},
|
|
17742
17814
|
{
|
|
17743
|
-
AddressArguments: [],
|
|
17815
|
+
AddressArguments: ["0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18", "0x236d0558f06cd60780b232d4Ec4c92d2cb7e4D18"],
|
|
17744
17816
|
CanSendValue: false,
|
|
17745
|
-
DecoderAndSanitizerAddress: "
|
|
17746
|
-
Description: "",
|
|
17747
|
-
FunctionSelector: "
|
|
17748
|
-
FunctionSignature: "",
|
|
17749
|
-
LeafDigest: "
|
|
17750
|
-
PackedArgumentAddresses: "
|
|
17751
|
-
TargetAddress: "
|
|
17817
|
+
DecoderAndSanitizerAddress: "0xC87c45d2dbE5acb56013e2591427ECC84Fa251E6",
|
|
17818
|
+
Description: "Withdraw USDC from wSPCXx poUSDC",
|
|
17819
|
+
FunctionSelector: "0xb460af94",
|
|
17820
|
+
FunctionSignature: "withdraw(uint256,address,address)",
|
|
17821
|
+
LeafDigest: "0x4ede52d99a5e4722726abc80a939e2f94268cfb2a0584a184bcae79a1c6c82c2",
|
|
17822
|
+
PackedArgumentAddresses: "0x236d0558f06cd60780b232d4ec4c92d2cb7e4d18236d0558f06cd60780b232d4ec4c92d2cb7e4d18",
|
|
17823
|
+
TargetAddress: "0x141cc517a6276542B59732Fd85C1A2C536eF7aCA"
|
|
17752
17824
|
},
|
|
17753
17825
|
{
|
|
17754
17826
|
AddressArguments: [],
|
|
@@ -17796,12 +17868,12 @@ const MainnetUSDCPLPStrategistLeaves = {
|
|
|
17796
17868
|
}
|
|
17797
17869
|
],
|
|
17798
17870
|
MerkleTree: {
|
|
17799
|
-
"0": ["
|
|
17800
|
-
"1": ["0xfdd68e4155c3f0143529939165390a7717848d745d5848b5de5dcbabc28e5bbb", "
|
|
17871
|
+
"0": ["0xed7d4ae055fd62c6edc93bd676456748f52fe4f4b78f60ab3ef6394bacc31b5d"],
|
|
17872
|
+
"1": ["0xfdd68e4155c3f0143529939165390a7717848d745d5848b5de5dcbabc28e5bbb", "0x559d6a628cef4d55eabf143e84c270be2c3f61e236c2c36115fc29ebadc30bfa"],
|
|
17801
17873
|
"2": [
|
|
17802
17874
|
"0x03ddbd298d0afd4b181cc56a653fcd6c4cc6124edba7ffcea1cf9abc1396b34a",
|
|
17803
17875
|
"0x5a78f5fea4886abf9b990cb11d6c97d8d90fa3aef528289cd2c7da07f7188d15",
|
|
17804
|
-
"
|
|
17876
|
+
"0x67b572f27c64d564c387cf62d05e228ee073dedf11cfad4f95ca78d2673354ce",
|
|
17805
17877
|
"0x849eda7a295b642e5ddaf49a30eec4470cf507efa83b4104c0752d069c7638fe"
|
|
17806
17878
|
],
|
|
17807
17879
|
"3": [
|
|
@@ -17809,8 +17881,8 @@ const MainnetUSDCPLPStrategistLeaves = {
|
|
|
17809
17881
|
"0x9604e6ac6ac45ac3ec61d6ab2b52d96aeb9025c8e90cf93f7411b9c9a9dda29b",
|
|
17810
17882
|
"0xa22cac1a8d963fd80eecce587c5833c77d944bc1dfaace739c66421431823263",
|
|
17811
17883
|
"0x6bab63ba855d0ba1ef5fc9c8058253f278aec18f88be21d95b7cb11097d11e8a",
|
|
17812
|
-
"
|
|
17813
|
-
"
|
|
17884
|
+
"0x20b3b7048a0735825b5cb83b931b60eb4bbbd1c68c8466d86df5ae72361d5da4",
|
|
17885
|
+
"0xa0e8444c994231a2893a69086326624b42ad2973144580795d00406bb36b0b3f",
|
|
17814
17886
|
"0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba",
|
|
17815
17887
|
"0xc5a36f3b7b955966d5ed3135dcc612f978306d73bce3697e230afae57fbaeeba"
|
|
17816
17888
|
],
|
|
@@ -17824,9 +17896,9 @@ const MainnetUSDCPLPStrategistLeaves = {
|
|
|
17824
17896
|
"0xf5cc741985c1ce6b1af02be04696bd5944097198abf5ce09945a956143b14e6d",
|
|
17825
17897
|
"0xb5731bb52d9dccf49773020a8ddc59afbf937d6e203ef104e085f94f18b50e9b",
|
|
17826
17898
|
"0xa600a5aea3b025f316a4cc99e16c188953aeca6e1bf347d6b2ea8f549b859689",
|
|
17827
|
-
"
|
|
17828
|
-
"
|
|
17829
|
-
"
|
|
17899
|
+
"0x51f664e3fbdd3e6780eebf725f83871971fedbc1344987982349ae6d636e04df",
|
|
17900
|
+
"0xb8baaad70acd2686ec36c69277ae1e53e2e5f515a3a6087187cfb6c00ec9f322",
|
|
17901
|
+
"0x4ede52d99a5e4722726abc80a939e2f94268cfb2a0584a184bcae79a1c6c82c2",
|
|
17830
17902
|
"0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
|
|
17831
17903
|
"0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
|
|
17832
17904
|
"0xa7a0fd846665d92e66be6155c6221b3acd7145ca7c4e4b67a594e4c516969400",
|
|
@@ -18436,19 +18508,23 @@ function requestDeposit({ walletClient, vaultAddress, assets, account }) {
|
|
|
18436
18508
|
//#region src/hypoVault/requestDeposit/hooks/use-request-deposit.ts
|
|
18437
18509
|
const APPROVAL_SYNC_POLL_INTERVAL_MS = 1200;
|
|
18438
18510
|
const APPROVAL_SYNC_MAX_ATTEMPTS = 20;
|
|
18439
|
-
const useRequestDeposit = ({ chainId, vaultAddress, assets, tokenAddress, onWaitSuccess }) => {
|
|
18511
|
+
const useRequestDeposit = ({ chainId, vaultAddress, assets, tokenAddress, simulationAccount, onWaitSuccess }) => {
|
|
18440
18512
|
const { address: account } = useAccount();
|
|
18441
|
-
const
|
|
18513
|
+
const simulatedAccount = simulationAccount ?? account;
|
|
18514
|
+
const canReadAllowance = simulatedAccount != null && simulatedAccount !== zeroAddress && tokenAddress !== zeroAddress && vaultAddress !== zeroAddress;
|
|
18442
18515
|
const allowanceRead = useReadContract({
|
|
18443
18516
|
chainId,
|
|
18444
18517
|
address: canReadAllowance ? tokenAddress : void 0,
|
|
18445
18518
|
abi: Erc20Abi,
|
|
18446
18519
|
functionName: "allowance",
|
|
18447
|
-
args: canReadAllowance ? [
|
|
18520
|
+
args: canReadAllowance ? [simulatedAccount, vaultAddress] : void 0,
|
|
18448
18521
|
query: { enabled: canReadAllowance }
|
|
18449
18522
|
});
|
|
18450
18523
|
const allowanceKnown = allowanceRead.data !== void 0;
|
|
18451
18524
|
const tokenNeedsApproval = canReadAllowance && allowanceKnown && allowanceRead.data < assets;
|
|
18525
|
+
const normalizedAccount = account?.toLowerCase();
|
|
18526
|
+
const normalizedSimulationAccount = simulationAccount?.toLowerCase();
|
|
18527
|
+
const canApproveForSimulatedAccount = normalizedAccount != null && normalizedAccount !== zeroAddress && (normalizedSimulationAccount === void 0 || normalizedSimulationAccount === normalizedAccount);
|
|
18452
18528
|
const refetchAllowance = allowanceRead.refetch;
|
|
18453
18529
|
const approveSimulate = useSimulateContract({
|
|
18454
18530
|
chainId,
|
|
@@ -18458,7 +18534,7 @@ const useRequestDeposit = ({ chainId, vaultAddress, assets, tokenAddress, onWait
|
|
|
18458
18534
|
args: [vaultAddress, maxUint256],
|
|
18459
18535
|
account,
|
|
18460
18536
|
query: {
|
|
18461
|
-
enabled: allowanceKnown && tokenNeedsApproval && assets > 0n && account != null,
|
|
18537
|
+
enabled: allowanceKnown && tokenNeedsApproval && assets > 0n && account != null && canApproveForSimulatedAccount,
|
|
18462
18538
|
retry: false
|
|
18463
18539
|
}
|
|
18464
18540
|
});
|
|
@@ -18477,9 +18553,9 @@ const useRequestDeposit = ({ chainId, vaultAddress, assets, tokenAddress, onWait
|
|
|
18477
18553
|
vaultAddress,
|
|
18478
18554
|
assets
|
|
18479
18555
|
}),
|
|
18480
|
-
account,
|
|
18556
|
+
account: simulatedAccount,
|
|
18481
18557
|
query: {
|
|
18482
|
-
enabled: allowanceKnown && !tokenNeedsApproval && assets > 0n && vaultAddress !== zeroAddress &&
|
|
18558
|
+
enabled: allowanceKnown && !tokenNeedsApproval && assets > 0n && vaultAddress !== zeroAddress && simulatedAccount != null && simulatedAccount !== zeroAddress,
|
|
18483
18559
|
retry: false
|
|
18484
18560
|
}
|
|
18485
18561
|
});
|
|
@@ -18561,6 +18637,7 @@ const useRequestDeposit = ({ chainId, vaultAddress, assets, tokenAddress, onWait
|
|
|
18561
18637
|
const actionLabel = useMemo(() => {
|
|
18562
18638
|
if (isApprovalSyncing) return "Approval confirmed. Syncing allowance...";
|
|
18563
18639
|
if (tokenNeedsApproval) {
|
|
18640
|
+
if (!canApproveForSimulatedAccount) return "Approval Required";
|
|
18564
18641
|
if (approveSimulate.isLoading) return "Simulating approval...";
|
|
18565
18642
|
if (approveWrite.isPending || approveWait.isLoading) return "Approving...";
|
|
18566
18643
|
return "Approve Token";
|
|
@@ -18571,6 +18648,7 @@ const useRequestDeposit = ({ chainId, vaultAddress, assets, tokenAddress, onWait
|
|
|
18571
18648
|
}, [
|
|
18572
18649
|
isApprovalSyncing,
|
|
18573
18650
|
tokenNeedsApproval,
|
|
18651
|
+
canApproveForSimulatedAccount,
|
|
18574
18652
|
approveSimulate.isLoading,
|
|
18575
18653
|
approveWrite.isPending,
|
|
18576
18654
|
approveWait.isLoading,
|
|
@@ -19607,5 +19685,5 @@ function getHypoVaultGraphQLClient(chainId) {
|
|
|
19607
19685
|
}
|
|
19608
19686
|
|
|
19609
19687
|
//#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 };
|
|
19688
|
+
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
19689
|
//# sourceMappingURL=index.js.map
|