@panoptic-eng/sdk 1.0.68 → 1.0.70
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 +47 -2
- package/dist/cow/index.js.map +1 -1
- package/dist/{cow-CGgPXhY6.js → cow-sGuN0eas.js} +1 -1
- package/dist/{greeks-CGtgLUyh.js → greeks-DNPP24KL.js} +115 -9
- package/dist/index.d.ts +67 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +161 -62
- package/dist/index.js.map +1 -1
- package/dist/{irm-BDxwCFDm.js → irm-6RzXXa1_.js} +927 -3
- package/dist/panoptic/v2/greeks/index.d.ts +7 -4
- package/dist/panoptic/v2/greeks/index.d.ts.map +1 -1
- package/dist/panoptic/v2/greeks/index.js +74 -7
- package/dist/panoptic/v2/greeks/index.js.map +1 -1
- package/dist/panoptic/v2/index.d.ts +244 -6
- package/dist/panoptic/v2/index.d.ts.map +1 -1
- package/dist/panoptic/v2/index.js +2554 -464
- package/dist/panoptic/v2/index.js.map +1 -1
- package/dist/panoptic/v2/react-public.d.ts +258 -9
- package/dist/panoptic/v2/react-public.d.ts.map +1 -1
- package/dist/panoptic/v2/react-public.js +4655 -2909
- package/dist/panoptic/v2/react-public.js.map +1 -1
- package/dist/{providers-DubVMHWU.js → providers-CbcNt27n.js} +2 -1
- package/dist/{rates-BHS-Qiu7.js → rates-DDK4ZimJ.js} +40 -4
- package/dist/{router-BW6TqwOO.js → router-njWsLvZc.js} +969 -39
- package/dist/rpc/index.d.ts +12 -1
- package/dist/rpc/index.d.ts.map +1 -1
- package/dist/rpc/index.js +65 -5
- package/dist/rpc/index.js.map +1 -1
- package/dist/uniswap/index.js +53 -13
- package/dist/uniswap/index.js.map +1 -1
- package/dist/{v2-Dgh6JxG_.js → v2-BrG4T_Gh.js} +681 -32
- package/dist/{writes-CG612Vuk.js → writes-CI6Haer-.js} +34 -3
- package/package.json +1 -1
- package/dist/router-IDtCENST.js +0 -942
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BaseError,
|
|
1
|
+
import { BaseError, ContractFunctionRevertedError, concat, decodeAbiParameters, decodeErrorResult, decodeFunctionData, decodeFunctionResult, encodeAbiParameters, encodeFunctionData, encodePacked, erc20Abi, getAddress, hexToBigInt, keccak256, maxUint256, parseAbi, toBytes, toFunctionSelector, zeroAddress } from "viem";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import { estimateFeesPerGas, getBlock, getBlockNumber, getFeeHistory, readContract, simulateContract, writeContract } from "viem/actions";
|
|
3
|
+
import { call, estimateFeesPerGas, getBlock, getBlockNumber, getFeeHistory, readContract, simulateContract, writeContract } from "viem/actions";
|
|
4
4
|
import Decimal from "decimal.js";
|
|
5
5
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
6
6
|
import { useAccount, useReadContract, useSimulateContract, useWaitForTransactionReceipt, useWriteContract } from "wagmi";
|
|
@@ -23349,7 +23349,7 @@ const NO_UPPER_LIQUIDATION_TICK = (1n << 23n) - 1n;
|
|
|
23349
23349
|
|
|
23350
23350
|
//#endregion
|
|
23351
23351
|
//#region src/panoptic/v2/formatters/tick.ts
|
|
23352
|
-
const Q192$
|
|
23352
|
+
const Q192$2 = 1n << 192n;
|
|
23353
23353
|
function tickToSqrtPriceX96(tick) {
|
|
23354
23354
|
if (tick < MIN_TICK || tick > MAX_TICK) throw new RangeError("Tick out of bounds");
|
|
23355
23355
|
const absTick = tick < 0n ? -tick : tick;
|
|
@@ -23602,6 +23602,39 @@ const panopticErrorsAbi = [
|
|
|
23602
23602
|
}
|
|
23603
23603
|
]
|
|
23604
23604
|
},
|
|
23605
|
+
{
|
|
23606
|
+
type: "error",
|
|
23607
|
+
name: "NotEnoughTokens",
|
|
23608
|
+
inputs: [
|
|
23609
|
+
{
|
|
23610
|
+
name: "tokenAddress",
|
|
23611
|
+
type: "address"
|
|
23612
|
+
},
|
|
23613
|
+
{
|
|
23614
|
+
name: "account",
|
|
23615
|
+
type: "address"
|
|
23616
|
+
},
|
|
23617
|
+
{
|
|
23618
|
+
name: "assetsRequested",
|
|
23619
|
+
type: "uint256"
|
|
23620
|
+
},
|
|
23621
|
+
{
|
|
23622
|
+
name: "assetBalance",
|
|
23623
|
+
type: "uint256"
|
|
23624
|
+
}
|
|
23625
|
+
]
|
|
23626
|
+
},
|
|
23627
|
+
{
|
|
23628
|
+
type: "error",
|
|
23629
|
+
name: "ExecuteError",
|
|
23630
|
+
inputs: [{
|
|
23631
|
+
name: "callIndex",
|
|
23632
|
+
type: "uint256"
|
|
23633
|
+
}, {
|
|
23634
|
+
name: "revertData",
|
|
23635
|
+
type: "bytes"
|
|
23636
|
+
}]
|
|
23637
|
+
},
|
|
23605
23638
|
{
|
|
23606
23639
|
type: "error",
|
|
23607
23640
|
name: "NotGuardian",
|
|
@@ -23737,6 +23770,10 @@ const combinedAbi = [
|
|
|
23737
23770
|
...panopticErrorsAbi
|
|
23738
23771
|
];
|
|
23739
23772
|
|
|
23773
|
+
//#endregion
|
|
23774
|
+
//#region src/panoptic/v2/reads/multicallBlock.ts
|
|
23775
|
+
const MULTICALL3_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11";
|
|
23776
|
+
|
|
23740
23777
|
//#endregion
|
|
23741
23778
|
//#region src/panoptic/v2/reads/checks.ts
|
|
23742
23779
|
const FP96 = 1n << 96n;
|
|
@@ -24200,6 +24237,15 @@ function parsePoolKey(poolKeyBytes) {
|
|
|
24200
24237
|
};
|
|
24201
24238
|
}
|
|
24202
24239
|
|
|
24240
|
+
//#endregion
|
|
24241
|
+
//#region src/uniswap/lpGreeks.ts
|
|
24242
|
+
const Q96$2 = 1n << 96n;
|
|
24243
|
+
const Q192$1 = 1n << 192n;
|
|
24244
|
+
|
|
24245
|
+
//#endregion
|
|
24246
|
+
//#region src/panoptic/v2/greeks/legLiquidity.ts
|
|
24247
|
+
const Q96$1 = 1n << 96n;
|
|
24248
|
+
|
|
24203
24249
|
//#endregion
|
|
24204
24250
|
//#region src/panoptic/v2/greeks/index.ts
|
|
24205
24251
|
/** Fixed-point scale constants for sqrtPriceX96 arithmetic */
|
|
@@ -26775,6 +26821,8 @@ async function resolveMainnetV3AuthorizationArtifacts({ viemClient, chainId, vau
|
|
|
26775
26821
|
const MAINNET_DEPLOYMENT$3 = requireChainDeployment(MAINNET_CHAIN_ID);
|
|
26776
26822
|
const MAINNET_POOL_RETIREMENT_BLOCK = 25898997n;
|
|
26777
26823
|
const MAINNET_POOL_RETIREMENT_TRANSACTION = "0xfca6a6dd0f081649dd6f50496175a58e6a119d574b594390beab23618b05ba2c";
|
|
26824
|
+
const MAINNET_REPLACEMENT_POOL_ACTIVATION_BLOCK = 26191216n;
|
|
26825
|
+
const MAINNET_REPLACEMENT_POOL_ACTIVATION_TRANSACTION = "0xc498e22a62c6281fabf05af114abc4914b00c89db07c9c207b20d293dce30de7";
|
|
26778
26826
|
const ROBINHOOD_USDG_VAULT_DEPLOYMENT_BLOCK = 63972776n;
|
|
26779
26827
|
const ROBINHOOD_USDG_VAULT_DEPLOYMENT_TRANSACTION = "0x738c8a6d30a45f9b71d2d6260aa1c04aff558489631b3a9c6ccd5f49e0f57df4";
|
|
26780
26828
|
const ROBINHOOD_SPY_USDG_5BPS_ACTIVATION_BLOCK = 78163813n;
|
|
@@ -26838,7 +26886,8 @@ const MAINNET_VAULT_HISTORIES = [{
|
|
|
26838
26886
|
poolConfigurations: [
|
|
26839
26887
|
poolConfiguration(25296753n, "0xdb7ed1d63d3f3b158fca070bdbf8d0268ed8e5c398cae772a1facb40987a838e", wethInitialPoolInfos),
|
|
26840
26888
|
poolConfiguration(25704951n, "0xb6d62abb10728655c4c9b612abcd82af9e93c5906357eb6be41cabb224b32118", MainnetWETHPLPV3AuthorizedVaultPoolInfos.poolInfos),
|
|
26841
|
-
poolConfiguration(MAINNET_POOL_RETIREMENT_BLOCK, MAINNET_POOL_RETIREMENT_TRANSACTION, MainnetWETHPLPVaultPoolInfos.poolInfos)
|
|
26889
|
+
poolConfiguration(MAINNET_POOL_RETIREMENT_BLOCK, MAINNET_POOL_RETIREMENT_TRANSACTION, MainnetWETHPLPVaultPoolInfos.poolInfos),
|
|
26890
|
+
poolConfiguration(MAINNET_REPLACEMENT_POOL_ACTIVATION_BLOCK, MAINNET_REPLACEMENT_POOL_ACTIVATION_TRANSACTION, MAINNET_WETH_REPLACEMENT_ARTIFACTS.vaultPoolInfos.poolInfos)
|
|
26842
26891
|
],
|
|
26843
26892
|
managerRootTransitions: [
|
|
26844
26893
|
{
|
|
@@ -26860,6 +26909,11 @@ const MAINNET_VAULT_HISTORIES = [{
|
|
|
26860
26909
|
activationBlockNumber: MAINNET_POOL_RETIREMENT_BLOCK,
|
|
26861
26910
|
transactionHash: MAINNET_POOL_RETIREMENT_TRANSACTION,
|
|
26862
26911
|
manageRoot: "0x99baae2a0ddf55db31bf2e340856e6e76c87d37add86e95483bd7d1bad93e95c"
|
|
26912
|
+
},
|
|
26913
|
+
{
|
|
26914
|
+
activationBlockNumber: MAINNET_REPLACEMENT_POOL_ACTIVATION_BLOCK,
|
|
26915
|
+
transactionHash: MAINNET_REPLACEMENT_POOL_ACTIVATION_TRANSACTION,
|
|
26916
|
+
manageRoot: MAINNET_WETH_REPLACEMENT_ARTIFACTS.strategistLeaves.metadata.ManageRoot
|
|
26863
26917
|
}
|
|
26864
26918
|
]
|
|
26865
26919
|
}, {
|
|
@@ -26869,7 +26923,8 @@ const MAINNET_VAULT_HISTORIES = [{
|
|
|
26869
26923
|
poolConfiguration(25332015n, "0xbe29b782e3aab5cb28476248ff4f5ea67cb6adc16bb5488ec7a1a27f07e59752", usdcTwoPoolInitialDeviation),
|
|
26870
26924
|
poolConfiguration(25332931n, "0xb0cc8525abcf3c507eb46e8654250cc67e500886f031adec8cfb5b0baf7c2028", MainnetUSDCPLPPreviousVaultPoolInfos.poolInfos),
|
|
26871
26925
|
poolConfiguration(25704951n, "0xb6d62abb10728655c4c9b612abcd82af9e93c5906357eb6be41cabb224b32118", MainnetUSDCPLPV3AuthorizedVaultPoolInfos.poolInfos),
|
|
26872
|
-
poolConfiguration(MAINNET_POOL_RETIREMENT_BLOCK, MAINNET_POOL_RETIREMENT_TRANSACTION, MainnetUSDCPLPVaultPoolInfos.poolInfos)
|
|
26926
|
+
poolConfiguration(MAINNET_POOL_RETIREMENT_BLOCK, MAINNET_POOL_RETIREMENT_TRANSACTION, MainnetUSDCPLPVaultPoolInfos.poolInfos),
|
|
26927
|
+
poolConfiguration(MAINNET_REPLACEMENT_POOL_ACTIVATION_BLOCK, MAINNET_REPLACEMENT_POOL_ACTIVATION_TRANSACTION, MAINNET_USDC_REPLACEMENT_ARTIFACTS.vaultPoolInfos.poolInfos)
|
|
26873
26928
|
],
|
|
26874
26929
|
managerRootTransitions: [
|
|
26875
26930
|
{
|
|
@@ -26896,6 +26951,11 @@ const MAINNET_VAULT_HISTORIES = [{
|
|
|
26896
26951
|
activationBlockNumber: MAINNET_POOL_RETIREMENT_BLOCK,
|
|
26897
26952
|
transactionHash: MAINNET_POOL_RETIREMENT_TRANSACTION,
|
|
26898
26953
|
manageRoot: "0x29587b0f67aefbf4a11ecffe3bfb56ebef54e441df95fa260d44273d182027b7"
|
|
26954
|
+
},
|
|
26955
|
+
{
|
|
26956
|
+
activationBlockNumber: MAINNET_REPLACEMENT_POOL_ACTIVATION_BLOCK,
|
|
26957
|
+
transactionHash: MAINNET_REPLACEMENT_POOL_ACTIVATION_TRANSACTION,
|
|
26958
|
+
manageRoot: MAINNET_USDC_REPLACEMENT_ARTIFACTS.strategistLeaves.metadata.ManageRoot
|
|
26899
26959
|
}
|
|
26900
26960
|
]
|
|
26901
26961
|
}];
|
|
@@ -27361,56 +27421,60 @@ function extractPositionSizeFromPackedBalance(value) {
|
|
|
27361
27421
|
if (typeof value !== "bigint") return null;
|
|
27362
27422
|
return value & (1n << 128n) - 1n;
|
|
27363
27423
|
}
|
|
27364
|
-
const
|
|
27365
|
-
async function readPositionBalances({ viemClient, poolAddress, account, candidates, blockNumber }) {
|
|
27366
|
-
let result;
|
|
27367
|
-
try {
|
|
27368
|
-
result = await readContract(viemClient, {
|
|
27369
|
-
address: poolAddress,
|
|
27370
|
-
abi: panopticPoolV2Abi$1,
|
|
27371
|
-
functionName: "getFullPositionsData",
|
|
27372
|
-
args: [
|
|
27373
|
-
account,
|
|
27374
|
-
false,
|
|
27375
|
-
candidates
|
|
27376
|
-
],
|
|
27377
|
-
blockNumber
|
|
27378
|
-
});
|
|
27379
|
-
} catch (error) {
|
|
27380
|
-
if (error instanceof ContractFunctionExecutionError) return null;
|
|
27381
|
-
throw error;
|
|
27382
|
-
}
|
|
27383
|
-
const maybePositionBalances = Array.isArray(result) ? result[2] : void 0;
|
|
27384
|
-
if (!Array.isArray(maybePositionBalances)) return null;
|
|
27385
|
-
return maybePositionBalances;
|
|
27386
|
-
}
|
|
27424
|
+
const POSITION_VERIFICATION_BATCH_SIZE = 16;
|
|
27387
27425
|
async function filterOpenTokenIdsAtBlock({ viemClient, poolAddress, account, candidates, blockNumber }) {
|
|
27388
|
-
|
|
27389
|
-
|
|
27390
|
-
|
|
27391
|
-
const
|
|
27392
|
-
|
|
27393
|
-
|
|
27394
|
-
|
|
27395
|
-
|
|
27426
|
+
const open = [];
|
|
27427
|
+
for (let offset = 0; offset < candidates.length; offset += POSITION_VERIFICATION_BATCH_SIZE) {
|
|
27428
|
+
const chunk = candidates.slice(offset, offset + POSITION_VERIFICATION_BATCH_SIZE);
|
|
27429
|
+
const response = await call(viemClient, {
|
|
27430
|
+
to: MULTICALL3_ADDRESS,
|
|
27431
|
+
data: encodeFunctionData({
|
|
27432
|
+
abi: Multicall3Abi,
|
|
27433
|
+
functionName: "aggregate3",
|
|
27434
|
+
args: [chunk.map((tokenId) => ({
|
|
27435
|
+
target: poolAddress,
|
|
27436
|
+
allowFailure: true,
|
|
27437
|
+
callData: encodeFunctionData({
|
|
27438
|
+
abi: panopticPoolV2Abi$1,
|
|
27439
|
+
functionName: "getFullPositionsData",
|
|
27440
|
+
args: [
|
|
27441
|
+
account,
|
|
27442
|
+
false,
|
|
27443
|
+
[tokenId]
|
|
27444
|
+
]
|
|
27445
|
+
})
|
|
27446
|
+
}))]
|
|
27447
|
+
}),
|
|
27396
27448
|
blockNumber
|
|
27397
27449
|
});
|
|
27398
|
-
if (
|
|
27399
|
-
|
|
27400
|
-
|
|
27401
|
-
|
|
27402
|
-
|
|
27403
|
-
|
|
27404
|
-
|
|
27405
|
-
|
|
27450
|
+
if (response.data === void 0) throw new Error("Missing vault position verification response");
|
|
27451
|
+
const results = decodeFunctionResult({
|
|
27452
|
+
abi: Multicall3Abi,
|
|
27453
|
+
functionName: "aggregate3",
|
|
27454
|
+
data: response.data
|
|
27455
|
+
});
|
|
27456
|
+
if (results.length !== chunk.length) throw new Error("Incomplete vault position verification response");
|
|
27457
|
+
for (const [index, tokenId] of chunk.entries()) {
|
|
27458
|
+
const result = results[index];
|
|
27459
|
+
if (!result.success) {
|
|
27460
|
+
const error = decodeErrorResult({
|
|
27461
|
+
abi: panopticPoolV2Abi$1,
|
|
27462
|
+
data: result.returnData
|
|
27463
|
+
});
|
|
27464
|
+
if (error.errorName === "PositionNotOwned") continue;
|
|
27465
|
+
throw new Error(`Vault position verification reverted: ${error.errorName}`);
|
|
27466
|
+
}
|
|
27467
|
+
const data = decodeFunctionResult({
|
|
27468
|
+
abi: panopticPoolV2Abi$1,
|
|
27469
|
+
functionName: "getFullPositionsData",
|
|
27470
|
+
data: result.returnData
|
|
27471
|
+
});
|
|
27472
|
+
const size = extractPositionSizeFromPackedBalance(data[2][0]);
|
|
27473
|
+
if (size === null || data[2].length !== 1) throw new Error("Invalid vault position balance response");
|
|
27474
|
+
if (size > 0n) open.push(tokenId);
|
|
27406
27475
|
}
|
|
27407
|
-
|
|
27408
|
-
|
|
27409
|
-
const [leftOpen, rightOpen] = await Promise.all([collectOpen(chunk.slice(0, mid)), collectOpen(chunk.slice(mid))]);
|
|
27410
|
-
return [...leftOpen, ...rightOpen];
|
|
27411
|
-
};
|
|
27412
|
-
const openTokenIds = await collectOpen(candidates);
|
|
27413
|
-
return sortBigintsAscending(openTokenIds);
|
|
27476
|
+
}
|
|
27477
|
+
return sortBigintsAscending(open);
|
|
27414
27478
|
}
|
|
27415
27479
|
function getVaultPoolInfos(vaultAddress$3, chainId) {
|
|
27416
27480
|
const vaultAddressLower = toLowerAddress$1(vaultAddress$3);
|
|
@@ -27559,8 +27623,7 @@ async function resolveVaultHistoricalCandidatesByPool({ chainId, vaultAddress: v
|
|
|
27559
27623
|
}
|
|
27560
27624
|
/**
|
|
27561
27625
|
* Narrow pre-resolved {@link VaultPoolCandidateTokenIds} to the tokenIds actually
|
|
27562
|
-
* open at `blockNumber`, per pool, via on-chain `getFullPositionsData
|
|
27563
|
-
* on stale candidates). This is the per-block half of the candidate/verify split.
|
|
27626
|
+
* open at `blockNumber`, per pool, via bounded on-chain multicalls of `getFullPositionsData`. This is the per-block half of the candidate/verify split.
|
|
27564
27627
|
*/
|
|
27565
27628
|
async function verifyVaultOpenTokenIdsAtBlock({ viemClient, vaultAddress: vaultAddress$3, candidatesByPool, blockNumber }) {
|
|
27566
27629
|
const tokenIdsByPool = [];
|
|
@@ -31756,7 +31819,7 @@ function createPlpManagerInputStrategy(minBlock) {
|
|
|
31756
31819
|
fromBlock
|
|
31757
31820
|
});
|
|
31758
31821
|
},
|
|
31759
|
-
managerInputProvider: async ({ chainId, client, vault: vault$2, blockNumber, candidates }) => {
|
|
31822
|
+
managerInputProvider: async ({ chainId, client, vault: vault$2, blockNumber, candidates, positionsByPool }) => {
|
|
31760
31823
|
const vaultAddress$3 = vault$2.id;
|
|
31761
31824
|
if (minBlock !== void 0 && blockNumber < minBlock) throw new VaultApyPreInceptionBlockError({
|
|
31762
31825
|
blockNumber,
|
|
@@ -31770,7 +31833,11 @@ function createPlpManagerInputStrategy(minBlock) {
|
|
|
31770
31833
|
blockNumber
|
|
31771
31834
|
});
|
|
31772
31835
|
if (poolInfos.length === 0) return DEFAULT_MANAGER_INPUT;
|
|
31773
|
-
const tokenIds =
|
|
31836
|
+
const tokenIds = positionsByPool !== void 0 ? poolInfos.map(({ pool }) => {
|
|
31837
|
+
const positions = positionsByPool.find(({ poolAddress }) => poolAddress.toLowerCase() === pool.toLowerCase());
|
|
31838
|
+
if (positions === void 0) throw new Error(`Missing position snapshot for pool ${pool}`);
|
|
31839
|
+
return [...positions.tokenIds];
|
|
31840
|
+
}) : candidates === void 0 ? await resolveVaultTokenIdsByPool({
|
|
31774
31841
|
viemClient: client,
|
|
31775
31842
|
chainId,
|
|
31776
31843
|
vaultAddress: vaultAddress$3,
|
|
@@ -31851,7 +31918,7 @@ function getAssetsDepositedFromDepositEpochState(value) {
|
|
|
31851
31918
|
}
|
|
31852
31919
|
return null;
|
|
31853
31920
|
}
|
|
31854
|
-
async function fetchVaultSharePriceSnapshot({ client, vault: vault$2, chainId, windowLabel, blockNumber, readContractFn, candidates, includeTokenIdsInDiagnostics = false }) {
|
|
31921
|
+
async function fetchVaultSharePriceSnapshot({ client, vault: vault$2, chainId, windowLabel, blockNumber, readContractFn, candidates, positionsByPool, includeTokenIdsInDiagnostics = false }) {
|
|
31855
31922
|
const vaultAddress$3 = vault$2.id;
|
|
31856
31923
|
const accountantAddress = vault$2.accountant;
|
|
31857
31924
|
const underlyingTokenAddress = vault$2.underlyingToken.id;
|
|
@@ -31864,7 +31931,8 @@ async function fetchVaultSharePriceSnapshot({ client, vault: vault$2, chainId, w
|
|
|
31864
31931
|
vault: vault$2,
|
|
31865
31932
|
client,
|
|
31866
31933
|
blockNumber,
|
|
31867
|
-
candidates
|
|
31934
|
+
candidates,
|
|
31935
|
+
positionsByPool
|
|
31868
31936
|
});
|
|
31869
31937
|
const managerInput = typeof managerInputProviderResult === "string" ? managerInputProviderResult : managerInputProviderResult.managerInput;
|
|
31870
31938
|
const managerInputDiagnostics = typeof managerInputProviderResult === "string" ? void 0 : managerInputProviderResult.diagnostics;
|
|
@@ -31997,7 +32065,7 @@ async function fetchVaultSharePriceSnapshotWithCandidateRecovery({ recoveryFromB
|
|
|
31997
32065
|
chainId: params.chainId,
|
|
31998
32066
|
vaultAddress: params.vault.id
|
|
31999
32067
|
});
|
|
32000
|
-
if (!isIncorrectPositionListReadError(error) || strategy.recoverCandidates === void 0 || params.candidates === void 0) throw error;
|
|
32068
|
+
if (!isIncorrectPositionListReadError(error) || strategy.recoverCandidates === void 0 || params.candidates === void 0 || params.positionsByPool !== void 0) throw error;
|
|
32001
32069
|
const recoveredCandidates = await strategy.recoverCandidates({
|
|
32002
32070
|
chainId: params.chainId,
|
|
32003
32071
|
vault: params.vault,
|
|
@@ -32050,12 +32118,12 @@ function createVaultSharePriceProcessor({ chainId, client, candidateRefreshSecon
|
|
|
32050
32118
|
}
|
|
32051
32119
|
return lastTrustedBlockByVault.get(vault$2.id) ?? recoveryFallbackBlock;
|
|
32052
32120
|
}
|
|
32053
|
-
return { async process({ vault: vault$2, strategy, blockNumber, blockTimestamp, recoveryFallbackBlock, loadLastTrustedBlock, readContractFn, windowLabel = "series" }) {
|
|
32054
|
-
const candidates = await getCandidates({
|
|
32121
|
+
return { async process({ vault: vault$2, strategy, blockNumber, blockTimestamp, recoveryFallbackBlock, loadLastTrustedBlock, readContractFn, positionsByPool, windowLabel = "series" }) {
|
|
32122
|
+
const candidates = positionsByPool === void 0 ? await getCandidates({
|
|
32055
32123
|
strategy,
|
|
32056
32124
|
vault: vault$2,
|
|
32057
32125
|
blockTimestamp
|
|
32058
|
-
});
|
|
32126
|
+
}) : void 0;
|
|
32059
32127
|
const recoveryFromBlock = await getRecoveryFromBlock({
|
|
32060
32128
|
vault: vault$2,
|
|
32061
32129
|
recoveryFallbackBlock,
|
|
@@ -32069,6 +32137,7 @@ function createVaultSharePriceProcessor({ chainId, client, candidateRefreshSecon
|
|
|
32069
32137
|
blockNumber,
|
|
32070
32138
|
readContractFn,
|
|
32071
32139
|
candidates,
|
|
32140
|
+
positionsByPool,
|
|
32072
32141
|
recoveryFromBlock
|
|
32073
32142
|
});
|
|
32074
32143
|
if (result.candidates !== void 0 && result.candidates !== candidates) candidateCache.set(vault$2.id, {
|
|
@@ -32923,5 +32992,35 @@ async function getIrmCurve(params) {
|
|
|
32923
32992
|
}
|
|
32924
32993
|
|
|
32925
32994
|
//#endregion
|
|
32926
|
-
|
|
32995
|
+
//#region src/panoptic/v2/sync/positionSnapshot.ts
|
|
32996
|
+
/** Applies a confirmed pool event to the account's transaction-final position set. */
|
|
32997
|
+
function updatePositionSnapshot({ previous: previous$1, poolAddress, account, transaction, change }) {
|
|
32998
|
+
if (previous$1?.fromDispatch && previous$1.transactionHash === transaction.hash) return {
|
|
32999
|
+
...previous$1,
|
|
33000
|
+
positionIds: [...previous$1.positionIds]
|
|
33001
|
+
};
|
|
33002
|
+
const decoded = decodeSnapshotTransaction({
|
|
33003
|
+
input: transaction.input,
|
|
33004
|
+
from: transaction.from,
|
|
33005
|
+
to: transaction.to,
|
|
33006
|
+
account,
|
|
33007
|
+
pool: poolAddress
|
|
33008
|
+
});
|
|
33009
|
+
if (decoded !== null) return {
|
|
33010
|
+
positionIds: [...decoded.positionIds],
|
|
33011
|
+
transactionHash: transaction.hash,
|
|
33012
|
+
fromDispatch: true
|
|
33013
|
+
};
|
|
33014
|
+
const positions = new Set(previous$1?.positionIds ?? []);
|
|
33015
|
+
if (change.type === "mint") positions.add(change.tokenId);
|
|
33016
|
+
else positions.delete(change.tokenId);
|
|
33017
|
+
return {
|
|
33018
|
+
positionIds: [...positions].sort((a, b) => a < b ? -1 : a > b ? 1 : 0),
|
|
33019
|
+
transactionHash: transaction.hash,
|
|
33020
|
+
fromDispatch: false
|
|
33021
|
+
};
|
|
33022
|
+
}
|
|
33023
|
+
|
|
33024
|
+
//#endregion
|
|
33025
|
+
export { BASE_CHAIN_ID, BASE_DEPLOYMENT, BASE_ETH_USDC_5BPS_MARKET, BASE_HYPOVAULT_ADDRESSES, BASE_HYPOVAULT_CORE_ADDRESSES, BASE_HYPOVAULT_MANAGER_ADDRESSES, BASE_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, BASE_PANOPTIC_POOL_ADDRESSES, BASE_PANOPTIC_V2_ADDRESSES, BORROW_INDEX_BITS, BPS_SCALE, BaseUSDCPLPStrategistLeaves, BaseUSDCPLPVaultPoolInfos, BaseWETHPLPStrategistLeaves, BaseWETHPLPVaultPoolInfos, CHAIN_DEPLOYMENTS, CollateralTrackerAbi, CollateralTrackerV1_1Abi, Erc1155Abi, Erc20Abi, HypoVaultAbi, HypoVaultManagerConfigSchema, HypoVaultManagerWithMerkleVerificationAbi, MAINNET_CHAIN_ID, MAINNET_DEPLOYMENT, MAINNET_ETH_USDC_5BPS_V3_PANOPTIC_POOL_ADDRESSES, MAINNET_PANOPTIC_V2_ADDRESSES, MAINNET_RISK_ENGINES, MAINNET_USDC_PLP_COMPILED_POOL_POLICY, MAINNET_USDC_PLP_POOL_POLICY, MAINNET_USDC_REPLACEMENT_ARTIFACTS, MAINNET_V3_AUTHORIZATION_BLOCK, MAINNET_WETH_PLP_COMPILED_POOL_POLICY, MAINNET_WETH_PLP_POOL_POLICY, MAINNET_WETH_REPLACEMENT_ARTIFACTS, MARKET_EPOCH_BITS, MARKET_EPOCH_SHIFT, MAX_STALE_DELTA_HEDGE_PRIORITY_FEE_PER_GAS, MAX_VAULT_PRIORITY_FEE_PER_GAS, MAX_VAULT_TRANSACTION_GAS_COST, MIN_VAULT_PRIORITY_FEE_PER_GAS, MainnetLegacyUSDCPLPStrategistLeaves, MainnetLegacyWETHPLPStrategistLeaves, MainnetUSDCPLPLegacyVaultPoolInfos, MainnetUSDCPLPPreviousStrategistLeaves, MainnetUSDCPLPPreviousVaultPoolInfos, MainnetUSDCPLPStrategistLeaves, MainnetUSDCPLPV3AuthorizedStrategistLeaves, MainnetUSDCPLPV3AuthorizedVaultPoolInfos, MainnetUSDCPLPVaultPoolInfos, MainnetWETHPLPLegacyVaultPoolInfos, MainnetWETHPLPPreviousStrategistLeaves, MainnetWETHPLPPreviousVaultPoolInfos, MainnetWETHPLPStrategistLeaves, MainnetWETHPLPV3AuthorizedStrategistLeaves, MainnetWETHPLPV3AuthorizedVaultPoolInfos, MainnetWETHPLPVaultPoolInfos, Multicall3Abi, NonFungiblePositionManagerAbi, PanopticFactoryV3Abi, PanopticFactoryV4Abi, PanopticHelperAbi, PanopticPoolAbi, PanopticPoolV1_1Abi, PanopticQueryV1_1Abi, PanopticVaultAccountantAbi, PanopticVaultAccountantManagerInputAbi, PoolManagerAbi, RATE_AT_TARGET_BITS, ROBINHOOD_CHAIN_ID, ROBINHOOD_DEPLOYMENT, ROBINHOOD_HYPOVAULT_ADDRESSES, ROBINHOOD_HYPOVAULT_CORE_ADDRESSES, ROBINHOOD_HYPOVAULT_MANAGER_ADDRESSES, ROBINHOOD_HYPOVAULT_MANAGER_TURNKEY_SIGNERS, ROBINHOOD_PANOPTIC_POOL_ADDRESSES, ROBINHOOD_PANOPTIC_V2_ADDRESSES, ROBINHOOD_RISK_ENGINES, ROBINHOOD_SPY_USDG_30BPS_MARKET, ROBINHOOD_SPY_USDG_30BPS_PANOPTIC_POOL_ADDRESSES, ROBINHOOD_SPY_USDG_30BPS_POOL_DEPLOYMENT_BLOCK, ROBINHOOD_SPY_USDG_30BPS_POOL_INFO, ROBINHOOD_SPY_USDG_5BPS_MARKET, ROBINHOOD_SPY_USDG_5BPS_PANOPTIC_POOL_ADDRESSES, ROBINHOOD_SPY_USDG_5BPS_POOL_DEPLOYMENT_BLOCK, ROBINHOOD_SPY_USDG_5BPS_POOL_INFO, ROBINHOOD_SPY_USDG_MARKET, ROBINHOOD_SPY_USDG_POOL_DEPLOYMENT_BLOCK, ROBINHOOD_SPY_USDG_POOL_INFO, ROBINHOOD_USDG_30BPS_MANAGE_ROOT, ROBINHOOD_USDG_30BPS_POOL_HASH, ROBINHOOD_USDG_5BPS_POOL_HASH, ROBINHOOD_USDG_PLP_30BPS_COMPILED_POOL_POLICY, ROBINHOOD_USDG_PLP_30BPS_POOL_POLICY, ROBINHOOD_USDG_PLP_5BPS_COMPILED_POOL_POLICY, ROBINHOOD_USDG_PLP_5BPS_POOL_POLICY, ROBINHOOD_USDG_PLP_COMPILED_POOL_POLICY, ROBINHOOD_USDG_PLP_POOL_POLICY, ROBINHOOD_USDG_REPLACEMENT_ARTIFACTS, ROBINHOOD_USDG_VAULT_DEPLOYMENT_BLOCK, RescueDistributorAbi, RobinhoodUSDGPLP30bpsStrategistLeaves, RobinhoodUSDGPLP30bpsVaultPoolInfos, RobinhoodUSDGPLP5bpsStrategistLeaves, RobinhoodUSDGPLP5bpsVaultPoolInfos, RobinhoodUSDGPLPStrategistLeaves, RobinhoodUSDGPLPVaultPoolInfos, 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, TRUSTED_VAULT_SHARE_PRICE_STATUSES, UNREALIZED_INTEREST_BITS, UniswapHelperAbi, UniswapHelperV1_1Abi, UniswapMigratorAbi, UniswapV3FactoryAbi, UniswapV3PoolAbi, UsdcPlpVaultBaseProdConfig, UsdcPlpVaultMainnetLegacyConfig, UsdcPlpVaultMainnetProdConfig, UsdcPlpVaultSepoliaDevConfig, UsdcPlpVaultSepoliaProdConfig, UsdgPlpVaultRobinhoodProdConfig, VAULT_DISPLAY_NAMES_PER_CHAIN, VAULT_DISPLAY_NAME_RESOLVERS_PER_CHAIN, VaultApyPreInceptionBlockError, VaultTransactionFeeEstimationError, VaultTransactionGasCostLimitError, VaultTransactionReplacementLimitError, WAD, WETHAbi, WethPlpVaultBaseProdConfig, WethPlpVaultMainnetLegacyConfig, WethPlpVaultMainnetProdConfig, WethPlpVaultSepoliaDevConfig, WethPlpVaultSepoliaProdConfig, adjustUnderlyingIdleBalance, annualizePerSecondRateWad, applyVaultTransactionGasCostLimit, bufferVaultTransactionGasEstimate, buildClaimVaultShareCalldatas, buildExecuteDepositCalldatas, buildExecuteWithdrawalCalldatas, buildManageArgs, buildManagerInput, buildManagerInputAtBlock, buildRequestWithdrawalCalldatas, buildVaultManagerInput, buildVaultManagerInputAtBlock, builderFactoryAbi, builderWalletAbi, calculateAnnualizedApyPct, calculateAssetsFromShares, calculateAvailableShares, calculateClaimableAssetsFromQueuedWithdrawals, calculateClaimableSharesFromQueuedDeposits, calculateSharesFromAssets, calculateVaultNetLendingApyPctFromTrackerInputs, calculateVaultNetLendingYieldUnderlyingFromTrackerInputs, cancelDeposit, chainToHypoVaultGraphQlAPI, clearVaultApyStrategyOverride, collateralTrackerV2Abi as collateralTrackerAbi, collateralTrackerV2Abi, computeSharePriceFromNavSnapshot, convertJsonTreeToArray, createVaultSharePriceProcessor, deriveSupplyRatePerSecWad, deriveVaultApyTimeseriesFromSharePrices, encodeApproveFunctionData, encodeCancelDepositFunctionData, encodeDepositFunctionData, encodeExecuteDepositFunctionData, encodeExecuteWithdrawalFunctionData, encodeExecuteWithdrawalMulticallFunctionData, encodeFulfillDepositsFunctionData, encodeFulfillWithdrawalsFunctionData, encodeRequestDepositFunctionData, encodeRequestWithdrawalFunctionData, encodeRequestWithdrawalMulticallFunctionData, encodeWithdrawFunctionData, executeWithdrawal, executeWithdrawalMulticall, fetchFirstDepositTimestampByVaultId, fetchVaultLendingAllocation, fetchVaultNetLendingApyPct, fetchVaultNetLendingYieldUnderlying, fetchVaultSharePriceSnapshot, fetchVaultSharePriceSnapshotWithCandidateRecovery, findLeaf, findLeafForTarget, findLeafForTargetAndSignature, formatPerSecondRateWadAsAprPct, formatPerSecondRateWadAsApyPct, generateProof, getAaveHoldings, getAlchemyRpcUrl, getAlchemyWsRpcUrl, getCancelDepositContractConfig, getChainDeployment, getEthUsdcMarket, getExecuteWithdrawalContractConfig, getExecuteWithdrawalMulticallContractConfig, getHypoVaultConfigForVault, getHypoVaultGraphQLClient, getIrmCurrent, getIrmCurve, getLendingAllocationRows, getMainnetV3AuthorizationArtifactsAtBlock, getMainnetV3AuthorizationGenerations, getMainnetVaultManagerRootAtBlock, getMainnetVaultManagerRootHistory, getMainnetVaultPoolConfigurationAtBlock, getMainnetVaultPoolConfigurationHistory, getMinQueuedDepositEpoch, getMorphoHoldings, getProofsFromDigests, getProofsUsingTree, getRequestDepositContractConfig, getRequestWithdrawalContractConfig, getRequestWithdrawalMulticallContractConfig, getRobinhoodSpyUsdgAuthorizationGenerations, getSpyUsdgMarket, getStaleOracleOverrideBytecodeForAccountant, getStaleOracleStateOverrideForAccountant, getStkAaveHoldings, getVaultApyErrorMessage, getVaultApyStrategy, getVaultCandidatePoolInfos, getVaultDeltaHedgeHistoricalFeeQuote, getVaultDeltaHedgeInitialFeeQuote, getVaultManagerRootAtBlock, getVaultManagerRootHistory, getVaultPoolConfigurationAtBlock, getVaultPoolConfigurationHistory, getVaultPoolInfos, getVaultTransactionFeeQuote, getVaultTransactionReplacementFeeQuote, hashRobinhoodSpyUsdgPoolInfos, isExpectedHistoricalReadMiss, isIncorrectPositionListReadError, isStaleOraclePriceError, isStaleOraclePriceReadError, isSupportedChain, isTrustedVaultSharePriceStatus, packMarketState, panopticFactoryV4Abi as panopticFactoryAbi, panopticFactoryV3Abi, panopticFactoryV4Abi, panopticLiquidatorAbi, panopticPoolV2Abi as panopticPoolAbi, panopticPoolV2Abi, panopticQueryAbi, parseCustomError, ratePerSecWadToAprPct, recoverVaultCandidateTokenIdsByPool, requestDeposit, requestWithdrawal, requestWithdrawalMulticall, requireChainDeployment, resolveMainnetV3AuthorizationArtifacts, resolvePositionScanFromBlock, resolveRobinhoodSpyUsdgAuthorizationArtifacts, resolveRobinhoodSpyUsdgAuthorizationState, resolveVaultDisplayName, resolveVaultHistoricalCandidatesByPool, resolveVaultPoolInfosAtBlock, resolveVaultTokenIdsByPool, riskEngineAbi, semiFungiblePositionManagerV4Abi as semiFungiblePositionManagerAbi, semiFungiblePositionManagerV3Abi, semiFungiblePositionManagerV4Abi, setVaultApyStrategyOverride, simulateCancelDeposit, simulateExecuteWithdrawal, simulateExecuteWithdrawalMulticall, simulateRequestDeposit, simulateRequestWithdrawal, simulateRequestWithdrawalMulticall, statusForVaultSharePriceSnapshot, updatePositionSnapshot, useCancelDeposit, useClaimVaultShares, useErc20Balance, useExecuteWithdrawal, useRequestDeposit, useRequestWithdrawal, utilizationBpsToWad, utilizationPctToWad, validateVaultSignedTransactionFeeCaps, verifyVaultOpenTokenIdsAtBlock };
|
|
32927
33026
|
//# sourceMappingURL=index.js.map
|