@panoptic-eng/sdk 1.0.74 → 1.0.76

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.
@@ -1,5 +1,5 @@
1
1
  import { StateViewAbi } from "./StateView-q4yMpBY6.js";
2
- import { PanopticError, decodeAllLegs, decodeTokenId, getBlockMeta, getPool, getPoolMetadata, stateViewAbi, submitWrite, uniswapV3PoolAbi } from "./rates-B9HaWnEM.js";
2
+ import { PanopticError, decodeAllLegs, decodeTokenId, getBlockMeta, getPool, getPoolMetadata, stateViewAbi, submitWrite, uniswapV3PoolAbi } from "./tokenFlow-6Ec9Hz48.js";
3
3
  import { getLegLiquidityRange, tickToSqrtPriceX96 } from "./greeks-CEv-Uex1.js";
4
4
  import { BaseError, ContractFunctionRevertedError, ExecutionRevertedError, encodeAbiParameters, encodeFunctionData, encodePacked, erc20Abi, isAddressEqual, maxUint256, toHex, zeroAddress } from "viem";
5
5
  import Decimal from "decimal.js";
@@ -1,5 +1,5 @@
1
1
  import { ORACLE_EPOCH_SECONDS, SCHEMA_VERSION, STORAGE_PREFIX, calculatePositionGreeks, tickToSqrtPriceX96 } from "./greeks-CEv-Uex1.js";
2
- import { BaseError, decodeAbiParameters, decodeErrorResult, decodeEventLog, decodeFunctionData, encodeFunctionData, getAddress, keccak256, parseAbi, toFunctionSelector, zeroAddress } from "viem";
2
+ import { BaseError, decodeAbiParameters, decodeErrorResult, decodeEventLog, decodeFunctionData, decodeFunctionResult, encodeFunctionData, getAddress, keccak256, parseAbi, toFunctionSelector, zeroAddress } from "viem";
3
3
 
4
4
  //#region src/generated.ts
5
5
  const collateralTrackerV2Abi = [
@@ -12694,4 +12694,288 @@ function formatPerSecondRateWadAsAprPct(ratePerSecondWad, precision) {
12694
12694
  }
12695
12695
 
12696
12696
  //#endregion
12697
- export { AccountInsolventError, AlreadyInitializedError, BatchValidationError, BelowMinimumRedemptionError, CastingError, ChunkHasZeroLiquidityError, ChunkLimitError, CrossPoolError, DEFAULT_MAX_SPREAD, DEFAULT_MINT_BUFFER, DEFAULT_VEGOID, DepositTooLargeError, DuplicateTokenIdError, EffectiveLiquidityAboveThresholdError, ExceedsMaximumRedemptionError, InputListFailError, InsufficientCreditLiquidityError, InvalidBuilderCodeError, InvalidHistoryRangeError, InvalidTickBoundError, InvalidTickError, InvalidTickLimitsError, InvalidTokenIdParameterError, InvalidUniswapCallbackError, LEG_BITS, LEG_LIMITS, LEG_MASKS, LengthMismatchError, LiquidityTooHighError, LoanSlotExhaustedError, MINT_BUFFER, MINT_BUFFER_DENOMINATOR, MaxRetriesExceededError, MissingPositionIdsError, MulticallNoDataError, MulticallResultFailedError, MulticallResultMissingError, NetLiquidityZeroError, NetworkMismatchError, NoLegsExercisableError, NoLoanPositionsError, NotALongLegError, NotBuilderError, NotEnoughLiquidityInChunkError, NotEnoughTokensError, NotGuardianError, NotMarginCalledError, NotPanopticPoolError, OracleRateLimitedError, PanopticError, PanopticHelperNotDeployedError, PanopticValidationError, PoolNotInitializedError, PositionCountNotZeroError, PositionNotOwnedError, PositionSnapshotNotFoundError, PositionTooLargeError, PriceBoundFailError, PriceImpactTooLargeError, ProviderLagError, ReentrancyError, RpcError, RpcResponseError, STANDARD_TICK_WIDTHS, SafeModeError, StaleDataError, StaleOracleError, StorageDataNotFoundError, SwapTokenMismatchError, SyncTimeoutError, TOKEN_ID_BITS, TokenIdHasZeroLegsError, TooManyLegsOpenError, TransferFailedError, UnauthorizedUniswapCallbackError, UnderOverFlowError, UnhealthyPoolError, UnsafePremiumSettlementError, WrongPoolIdError, WrongUniswapPoolError, ZeroAddressError, ZeroCollateralRequirementError, addLegToTokenId, annualizePerSecondRateWad, applyMintBuffer, applyMintBufferPerToken, availableToBorrow, clearTrackedPositions, collateralTrackerV2Abi, countLegs, createFileStorage, createMemoryStorage, createTxResult, decodeAllDispatchCalldata, decodeAllLegs, decodeDispatchCalldata, decodeLeftRightSigned, decodeLeftRightUnsigned, decodeLeg, decodeOraclePack, decodeOracleRiskParameters, decodeOracleTiming, decodePoolId, decodePositionBalance$1 as decodePositionBalance, decodeSnapshotTransaction, decodeTickSpacing, decodeTokenId, decodeVegoid, diagnoseOracleSafeMode, encodeLeg, encodePoolId, encodeV4PoolId, fetchPoolId, formatPerSecondRateWadAsAprPct, formatPerSecondRateWadAsApyPct, formatRateWad, formatTokenAmount, formatTokenAmountSigned, formatTokenDelta, formatTokenFlow, formatWad, formatWadPercent, formatWadSigned, getAccountPremia, getAssetIndex, getBlockMeta, getClosedPositionsKey, getForfeitablePremium, getOpenPositionIds, getOracleRiskParameters, getOracleState, getPendingPositionsKey, getPool, getPoolCurrentTick, getPoolMetaKey, getPoolMetadata, getPoolPrefix, getPosition, getPositionGreeks, getPositionMetaKey, getPositions, getPositionsKey, getPositionsWithPremia, getRiskParameters, getSchemaVersionKey, getSimpleLoanTokenIndex, getSyncCheckpointKey, getTrackedChunksKey, getTrackedPositionIds, getUtilization, hasLoanOrCredit, hasLongLeg, isCredit, isCreditLeg, isLoan, isLoanLeg, isPanopticErrorType, isPositionTracked, isShortOnly, isSpread, jsonSerializer, mintableAfterBuffer, oracleEpochAt, panopticErrorsAbi, panopticFactoryV3Abi, panopticFactoryV4Abi, panopticGuardianAbi, panopticLiquidatorAbi, panopticPoolV2Abi, panopticQueryAbi as panopticQueryAbi$1, parsePanopticError, parseTokenAmount, parseWad, recoverSnapshot, recoverSnapshotFromTx, riskEngineAbi, riskEngineMulticall, selectDispatchForAccount, semiFungiblePositionManagerV3Abi, semiFungiblePositionManagerV4Abi, stateViewAbi, submitWrite, uniswapV3PoolAbi, validateBuilderCode, validatePoolId };
12697
+ //#region src/panoptic/v2/simulations/tokenFlow.ts
12698
+ /**
12699
+ * PanopticPool getAssetsOf ABI.
12700
+ * Returns collateral assets (shares converted to underlying) for an account.
12701
+ */
12702
+ const getAssetsOfAbi = [{
12703
+ type: "function",
12704
+ name: "getAssetsOf",
12705
+ inputs: [{
12706
+ name: "account",
12707
+ type: "address"
12708
+ }],
12709
+ outputs: [{
12710
+ name: "assets0",
12711
+ type: "uint256"
12712
+ }, {
12713
+ name: "assets1",
12714
+ type: "uint256"
12715
+ }],
12716
+ stateMutability: "view"
12717
+ }];
12718
+ /**
12719
+ * PanopticPool multicall ABI (inherited from Uniswap).
12720
+ * Uses delegatecall, preserving msg.sender throughout the chain.
12721
+ */
12722
+ const multicallAbi = [{
12723
+ type: "function",
12724
+ name: "multicall",
12725
+ inputs: [{
12726
+ name: "data",
12727
+ type: "bytes[]"
12728
+ }],
12729
+ outputs: [{
12730
+ name: "results",
12731
+ type: "bytes[]"
12732
+ }],
12733
+ stateMutability: "nonpayable"
12734
+ }, ...panopticErrorsAbi];
12735
+ const collateralTrackersByClient = new WeakMap();
12736
+ const readCollateralTrackers = (client, poolAddress) => {
12737
+ const collateralTrackersByPool = collateralTrackersByClient.get(client) ?? new Map();
12738
+ collateralTrackersByClient.set(client, collateralTrackersByPool);
12739
+ const cached = collateralTrackersByPool.get(poolAddress);
12740
+ if (cached) return cached;
12741
+ const trackers = client.multicall({
12742
+ contracts: [{
12743
+ address: poolAddress,
12744
+ abi: panopticPoolV2Abi,
12745
+ functionName: "collateralToken0"
12746
+ }, {
12747
+ address: poolAddress,
12748
+ abi: panopticPoolV2Abi,
12749
+ functionName: "collateralToken1"
12750
+ }],
12751
+ allowFailure: false
12752
+ });
12753
+ collateralTrackersByPool.set(poolAddress, trackers);
12754
+ trackers.catch(() => collateralTrackersByPool.delete(poolAddress));
12755
+ return trackers;
12756
+ };
12757
+ const readInterestOwed = async (client, poolAddress, user, blockNumber) => {
12758
+ try {
12759
+ const [tracker0, tracker1] = await readCollateralTrackers(client, poolAddress);
12760
+ const read = {
12761
+ abi: collateralTrackerV2Abi,
12762
+ functionName: "owedInterest",
12763
+ args: [user]
12764
+ };
12765
+ const [interestOwed0, interestOwed1] = await client.multicall({
12766
+ contracts: [{
12767
+ ...read,
12768
+ address: tracker0
12769
+ }, {
12770
+ ...read,
12771
+ address: tracker1
12772
+ }],
12773
+ allowFailure: false,
12774
+ blockNumber
12775
+ });
12776
+ return {
12777
+ interestOwed0,
12778
+ interestOwed1
12779
+ };
12780
+ } catch {
12781
+ return void 0;
12782
+ }
12783
+ };
12784
+ /**
12785
+ * Simulate a contract call and measure token flow using PanopticPool.multicall.
12786
+ *
12787
+ * This function uses PanopticPool's inherited multicall (delegatecall-based) to chain:
12788
+ * 1. getAssetsOf(user) - read collateral assets before
12789
+ * 2. getCurrentTick() - read pool tick before
12790
+ * 3. Execute the target call (e.g., dispatch)
12791
+ * 4. getCurrentTick() - read pool tick after
12792
+ * 5. getAssetsOf(user) - read collateral assets after
12793
+ *
12794
+ * ## Why PanopticPool.multicall instead of Multicall3?
12795
+ * - Measures **collateral assets** (shares → underlying), not raw wallet balances
12796
+ * - Uses **delegatecall**, preserving msg.sender throughout the chain
12797
+ * - Single contract interaction with PanopticPool
12798
+ * - Correctly reflects what happens during position operations
12799
+ *
12800
+ * ## Same-Block Guarantee
12801
+ * All operations execute within a single eth_call, ensuring atomic consistency.
12802
+ *
12803
+ * @param params - Simulation parameters
12804
+ * @returns Token flow result
12805
+ *
12806
+ * @example
12807
+ * ```typescript
12808
+ * const callData = encodeFunctionData({
12809
+ * abi: panopticPoolV2Abi,
12810
+ * functionName: 'dispatch',
12811
+ * args: [positionIdList, finalPositionIdList, positionSizes, tickAndSpreadLimits, false, 0n],
12812
+ * })
12813
+ *
12814
+ * const result = await simulateWithTokenFlow({
12815
+ * client,
12816
+ * poolAddress,
12817
+ * user: userAddress,
12818
+ * callData,
12819
+ * })
12820
+ *
12821
+ * if (result.success) {
12822
+ * console.log('Token 0 change:', result.tokenFlow.delta0)
12823
+ * console.log('Token 1 change:', result.tokenFlow.delta1)
12824
+ * }
12825
+ * ```
12826
+ */
12827
+ async function simulateWithTokenFlow(params) {
12828
+ const { client, poolAddress, user, callData, blockNumber, postCallData, preCallData } = params;
12829
+ const getAssetsOfCallData = encodeFunctionData({
12830
+ abi: getAssetsOfAbi,
12831
+ functionName: "getAssetsOf",
12832
+ args: [user]
12833
+ });
12834
+ const getCurrentTickCallData = encodeFunctionData({
12835
+ abi: panopticPoolV2Abi,
12836
+ functionName: "getCurrentTick"
12837
+ });
12838
+ const preLen = preCallData?.length ?? 0;
12839
+ const multicallData = [
12840
+ getAssetsOfCallData,
12841
+ getCurrentTickCallData,
12842
+ ...preCallData ?? [],
12843
+ callData,
12844
+ getCurrentTickCallData,
12845
+ getAssetsOfCallData,
12846
+ ...postCallData ?? []
12847
+ ];
12848
+ try {
12849
+ const [{ result }, interestOwed] = await Promise.all([client.simulateContract({
12850
+ address: poolAddress,
12851
+ abi: multicallAbi,
12852
+ functionName: "multicall",
12853
+ args: [multicallData],
12854
+ account: user,
12855
+ blockNumber
12856
+ }), readInterestOwed(client, poolAddress, user, blockNumber)]);
12857
+ const decodeAssets = (data) => {
12858
+ const decoded = decodeFunctionResult({
12859
+ abi: getAssetsOfAbi,
12860
+ functionName: "getAssetsOf",
12861
+ data
12862
+ });
12863
+ return {
12864
+ assets0: decoded[0],
12865
+ assets1: decoded[1]
12866
+ };
12867
+ };
12868
+ const decodeTick = (data) => {
12869
+ return BigInt(decodeFunctionResult({
12870
+ abi: panopticPoolV2Abi,
12871
+ functionName: "getCurrentTick",
12872
+ data
12873
+ }));
12874
+ };
12875
+ const assetsBefore = decodeAssets(result[0]);
12876
+ const tickBefore = decodeTick(result[1]);
12877
+ const tickAfter = decodeTick(result[3 + preLen]);
12878
+ const assetsAfter = decodeAssets(result[4 + preLen]);
12879
+ const preCallResults = preLen > 0 ? result.slice(2, 2 + preLen) : void 0;
12880
+ const postCallResults = postCallData && postCallData.length > 0 ? result.slice(5 + preLen) : void 0;
12881
+ const delta0 = assetsAfter.assets0 - assetsBefore.assets0;
12882
+ const delta1 = assetsAfter.assets1 - assetsBefore.assets1;
12883
+ let gasEstimate = 0n;
12884
+ try {
12885
+ if (params.estimateGas !== false) gasEstimate = await client.estimateGas({
12886
+ account: user,
12887
+ to: poolAddress,
12888
+ data: callData,
12889
+ blockNumber
12890
+ });
12891
+ } catch {}
12892
+ return {
12893
+ success: true,
12894
+ tokenFlow: {
12895
+ delta0,
12896
+ delta1,
12897
+ balanceBefore0: assetsBefore.assets0,
12898
+ balanceBefore1: assetsBefore.assets1,
12899
+ balanceAfter0: assetsAfter.assets0,
12900
+ balanceAfter1: assetsAfter.assets1,
12901
+ tickBefore,
12902
+ tickAfter,
12903
+ ...interestOwed
12904
+ },
12905
+ gasEstimate,
12906
+ postCallResults,
12907
+ preCallResults
12908
+ };
12909
+ } catch (error) {
12910
+ return {
12911
+ success: false,
12912
+ error: error instanceof Error ? error.message : "Simulation failed",
12913
+ rawError: error instanceof Error ? error : void 0,
12914
+ gasEstimate: 0n
12915
+ };
12916
+ }
12917
+ }
12918
+ /**
12919
+ * Get pool token addresses for reference.
12920
+ *
12921
+ * @param params - Parameters
12922
+ * @returns Pool token addresses
12923
+ */
12924
+ async function getPoolTokensForSimulation(params) {
12925
+ const { client, poolAddress, blockNumber } = params;
12926
+ const poolAbi = [{
12927
+ type: "function",
12928
+ name: "collateralToken0",
12929
+ inputs: [],
12930
+ outputs: [{ type: "address" }],
12931
+ stateMutability: "view"
12932
+ }, {
12933
+ type: "function",
12934
+ name: "collateralToken1",
12935
+ inputs: [],
12936
+ outputs: [{ type: "address" }],
12937
+ stateMutability: "view"
12938
+ }];
12939
+ const collateralAbi = [{
12940
+ type: "function",
12941
+ name: "asset",
12942
+ inputs: [],
12943
+ outputs: [{ type: "address" }],
12944
+ stateMutability: "view"
12945
+ }];
12946
+ const [ct0, ct1] = await client.multicall({
12947
+ contracts: [{
12948
+ address: poolAddress,
12949
+ abi: poolAbi,
12950
+ functionName: "collateralToken0"
12951
+ }, {
12952
+ address: poolAddress,
12953
+ abi: poolAbi,
12954
+ functionName: "collateralToken1"
12955
+ }],
12956
+ blockNumber,
12957
+ allowFailure: false
12958
+ });
12959
+ const [token0, token1] = await client.multicall({
12960
+ contracts: [{
12961
+ address: ct0,
12962
+ abi: collateralAbi,
12963
+ functionName: "asset"
12964
+ }, {
12965
+ address: ct1,
12966
+ abi: collateralAbi,
12967
+ functionName: "asset"
12968
+ }],
12969
+ blockNumber,
12970
+ allowFailure: false
12971
+ });
12972
+ return {
12973
+ token0,
12974
+ token1,
12975
+ collateralTracker0: ct0,
12976
+ collateralTracker1: ct1
12977
+ };
12978
+ }
12979
+
12980
+ //#endregion
12981
+ export { AccountInsolventError, AlreadyInitializedError, BatchValidationError, BelowMinimumRedemptionError, CastingError, ChunkHasZeroLiquidityError, ChunkLimitError, CrossPoolError, DEFAULT_MAX_SPREAD, DEFAULT_MINT_BUFFER, DEFAULT_VEGOID, DepositTooLargeError, DuplicateTokenIdError, EffectiveLiquidityAboveThresholdError, ExceedsMaximumRedemptionError, InputListFailError, InsufficientCreditLiquidityError, InvalidBuilderCodeError, InvalidHistoryRangeError, InvalidTickBoundError, InvalidTickError, InvalidTickLimitsError, InvalidTokenIdParameterError, InvalidUniswapCallbackError, LEG_BITS, LEG_LIMITS, LEG_MASKS, LengthMismatchError, LiquidityTooHighError, LoanSlotExhaustedError, MINT_BUFFER, MINT_BUFFER_DENOMINATOR, MaxRetriesExceededError, MissingPositionIdsError, MulticallNoDataError, MulticallResultFailedError, MulticallResultMissingError, NetLiquidityZeroError, NetworkMismatchError, NoLegsExercisableError, NoLoanPositionsError, NotALongLegError, NotBuilderError, NotEnoughLiquidityInChunkError, NotEnoughTokensError, NotGuardianError, NotMarginCalledError, NotPanopticPoolError, OracleRateLimitedError, PanopticError, PanopticHelperNotDeployedError, PanopticValidationError, PoolNotInitializedError, PositionCountNotZeroError, PositionNotOwnedError, PositionSnapshotNotFoundError, PositionTooLargeError, PriceBoundFailError, PriceImpactTooLargeError, ProviderLagError, ReentrancyError, RpcError, RpcResponseError, STANDARD_TICK_WIDTHS, SafeModeError, StaleDataError, StaleOracleError, StorageDataNotFoundError, SwapTokenMismatchError, SyncTimeoutError, TOKEN_ID_BITS, TokenIdHasZeroLegsError, TooManyLegsOpenError, TransferFailedError, UnauthorizedUniswapCallbackError, UnderOverFlowError, UnhealthyPoolError, UnsafePremiumSettlementError, WrongPoolIdError, WrongUniswapPoolError, ZeroAddressError, ZeroCollateralRequirementError, addLegToTokenId, annualizePerSecondRateWad, applyMintBuffer, applyMintBufferPerToken, availableToBorrow, clearTrackedPositions, collateralTrackerV2Abi, countLegs, createFileStorage, createMemoryStorage, createTxResult, decodeAllDispatchCalldata, decodeAllLegs, decodeDispatchCalldata, decodeLeftRightSigned, decodeLeftRightUnsigned, decodeLeg, decodeOraclePack, decodeOracleRiskParameters, decodeOracleTiming, decodePoolId, decodePositionBalance$1 as decodePositionBalance, decodeSnapshotTransaction, decodeTickSpacing, decodeTokenId, decodeVegoid, diagnoseOracleSafeMode, encodeLeg, encodePoolId, encodeV4PoolId, fetchPoolId, formatPerSecondRateWadAsAprPct, formatPerSecondRateWadAsApyPct, formatRateWad, formatTokenAmount, formatTokenAmountSigned, formatTokenDelta, formatTokenFlow, formatWad, formatWadPercent, formatWadSigned, getAccountPremia, getAssetIndex, getBlockMeta, getClosedPositionsKey, getForfeitablePremium, getOpenPositionIds, getOracleRiskParameters, getOracleState, getPendingPositionsKey, getPool, getPoolCurrentTick, getPoolMetaKey, getPoolMetadata, getPoolPrefix, getPoolTokensForSimulation, getPosition, getPositionGreeks, getPositionMetaKey, getPositions, getPositionsKey, getPositionsWithPremia, getRiskParameters, getSchemaVersionKey, getSimpleLoanTokenIndex, getSyncCheckpointKey, getTrackedChunksKey, getTrackedPositionIds, getUtilization, hasLoanOrCredit, hasLongLeg, isCredit, isCreditLeg, isLoan, isLoanLeg, isPanopticErrorType, isPositionTracked, isShortOnly, isSpread, jsonSerializer, mintableAfterBuffer, oracleEpochAt, panopticFactoryV3Abi, panopticFactoryV4Abi, panopticGuardianAbi, panopticLiquidatorAbi, panopticPoolV2Abi, panopticQueryAbi, parsePanopticError, parseTokenAmount, parseWad, recoverSnapshot, recoverSnapshotFromTx, riskEngineAbi, riskEngineMulticall, selectDispatchForAccount, semiFungiblePositionManagerV3Abi, semiFungiblePositionManagerV4Abi, simulateWithTokenFlow, stateViewAbi, submitWrite, uniswapV3PoolAbi, validateBuilderCode, validatePoolId };
@@ -33,8 +33,8 @@ var VaultTransactionGasCostLimitError = class extends Error {
33
33
  gasLimit;
34
34
  maximumAffordableFeePerGas;
35
35
  minimumRequiredFeePerGas;
36
- constructor({ gasLimit, maximumAffordableFeePerGas, minimumRequiredFeePerGas }) {
37
- super(`Vault transaction cannot fit the ${MAX_VAULT_TRANSACTION_GAS_COST.toString()} wei gas-cost limit: gasLimit=${gasLimit.toString()}, maximumAffordableFeePerGas=${maximumAffordableFeePerGas.toString()}, minimumRequiredFeePerGas=${minimumRequiredFeePerGas.toString()}`);
36
+ constructor({ gasLimit, maximumAffordableFeePerGas, minimumRequiredFeePerGas, maximumGasCost = MAX_VAULT_TRANSACTION_GAS_COST }) {
37
+ super(`Vault transaction cannot fit the ${maximumGasCost.toString()} wei gas-cost limit: gasLimit=${gasLimit.toString()}, maximumAffordableFeePerGas=${maximumAffordableFeePerGas.toString()}, minimumRequiredFeePerGas=${minimumRequiredFeePerGas.toString()}`);
38
38
  this.name = "VaultTransactionGasCostLimitError";
39
39
  this.gasLimit = gasLimit;
40
40
  this.maximumAffordableFeePerGas = maximumAffordableFeePerGas;
@@ -55,6 +55,11 @@ var VaultTransactionReplacementLimitError = class extends Error {
55
55
  this.maximumAffordableFeePerGas = maximumAffordableFeePerGas;
56
56
  }
57
57
  };
58
+ function resolveMaximumGasCost(feePolicy) {
59
+ const maximum = feePolicy?.maxTransactionGasCost ?? MAX_VAULT_TRANSACTION_GAS_COST;
60
+ if (maximum <= 0n) throw new Error("Vault transaction gas budget must be positive");
61
+ return maximum;
62
+ }
58
63
  function ceilMultiplyFraction(value, numerator, denominator) {
59
64
  return (value * numerator + denominator - 1n) / denominator;
60
65
  }
@@ -129,30 +134,32 @@ function resolveRpcPriorityFeeQuote({ baseFeePerGas, rawPriorityFeePerGas, minim
129
134
  source: "rpc_priority_fee"
130
135
  };
131
136
  }
132
- function getVaultTransactionReplacementFeeQuote({ originalQuote, historicalQuote, gasLimit, finalReplacement = false, staleBoundsReplacement = false }) {
137
+ function getVaultTransactionReplacementFeeQuote({ originalQuote, historicalQuote, gasLimit, finalReplacement = false, staleBoundsReplacement = false, feePolicy }) {
133
138
  if (gasLimit <= 0n) throw new Error(`Vault transaction gas limit must be positive, received ${gasLimit.toString()}`);
134
- const bumpedPriorityFee = staleBoundsReplacement ? ceilMultiplyFraction(originalQuote.maxPriorityFeePerGas, REPLACEMENT_FEE_BUMP_NUMERATOR, REPLACEMENT_FEE_BUMP_DENOMINATOR) : ceilMultiplyFraction(originalQuote.maxPriorityFeePerGas, DELTA_HEDGE_PRIORITY_FEE_BUMP_NUMERATOR, DELTA_HEDGE_PRIORITY_FEE_BUMP_DENOMINATOR);
139
+ const bumpedPriorityFee = staleBoundsReplacement || feePolicy?.marketPriorityFees ? ceilMultiplyFraction(originalQuote.maxPriorityFeePerGas, REPLACEMENT_FEE_BUMP_NUMERATOR, REPLACEMENT_FEE_BUMP_DENOMINATOR) : ceilMultiplyFraction(originalQuote.maxPriorityFeePerGas, DELTA_HEDGE_PRIORITY_FEE_BUMP_NUMERATOR, DELTA_HEDGE_PRIORITY_FEE_BUMP_DENOMINATOR);
135
140
  const bumpedMaxFee = ceilMultiplyFraction(originalQuote.maxFeePerGas, REPLACEMENT_FEE_BUMP_NUMERATOR, REPLACEMENT_FEE_BUMP_DENOMINATOR);
136
141
  const escalatingPriorityFee = historicalQuote.maxPriorityFeePerGas > bumpedPriorityFee ? historicalQuote.maxPriorityFeePerGas : bumpedPriorityFee;
137
- const priorityFeeLimit = staleBoundsReplacement ? MAX_STALE_DELTA_HEDGE_PRIORITY_FEE_PER_GAS : finalReplacement ? MAX_VAULT_PRIORITY_FEE_PER_GAS : MAX_DELTA_HEDGE_PRIORITY_FEE_PER_GAS;
138
- const desiredMaxPriorityFeePerGas = finalReplacement ? MAX_VAULT_PRIORITY_FEE_PER_GAS : staleBoundsReplacement ? bumpedPriorityFee : escalatingPriorityFee;
142
+ const maximumGasCost = resolveMaximumGasCost(feePolicy);
143
+ const priorityFeeLimit = feePolicy?.marketPriorityFees ? maximumGasCost / gasLimit : staleBoundsReplacement ? MAX_STALE_DELTA_HEDGE_PRIORITY_FEE_PER_GAS : finalReplacement ? MAX_VAULT_PRIORITY_FEE_PER_GAS : MAX_DELTA_HEDGE_PRIORITY_FEE_PER_GAS;
144
+ const desiredMaxPriorityFeePerGas = feePolicy?.marketPriorityFees ? escalatingPriorityFee : finalReplacement ? MAX_VAULT_PRIORITY_FEE_PER_GAS : staleBoundsReplacement ? bumpedPriorityFee : escalatingPriorityFee;
139
145
  const requiredReplacementPriorityFee = ceilMultiplyFraction(originalQuote.maxPriorityFeePerGas, REPLACEMENT_FEE_BUMP_NUMERATOR, REPLACEMENT_FEE_BUMP_DENOMINATOR);
140
146
  const requiredMaxPriorityFeePerGas = desiredMaxPriorityFeePerGas < priorityFeeLimit ? desiredMaxPriorityFeePerGas : priorityFeeLimit;
141
147
  if (requiredMaxPriorityFeePerGas < requiredReplacementPriorityFee) throw new VaultTransactionReplacementLimitError({
142
- code: "PriorityFeeCapExceeded",
148
+ code: feePolicy?.marketPriorityFees ? "GasCostCapExceeded" : "PriorityFeeCapExceeded",
143
149
  gasLimit,
144
150
  requiredMaxFeePerGas: originalQuote.maxFeePerGas,
145
151
  requiredMaxPriorityFeePerGas: requiredReplacementPriorityFee,
146
- maximumAffordableFeePerGas: MAX_VAULT_TRANSACTION_GAS_COST / gasLimit
152
+ maximumAffordableFeePerGas: maximumGasCost / gasLimit
147
153
  });
148
- const bufferedBaseFee = historicalQuote.minimumMaxFeePerGas - (historicalQuote.minimumPriorityFeePerGas ?? MIN_VAULT_PRIORITY_FEE_PER_GAS);
154
+ const bufferedBaseFee = feePolicy?.marketPriorityFees ? historicalQuote.maxFeePerGas - historicalQuote.maxPriorityFeePerGas : historicalQuote.minimumMaxFeePerGas - (historicalQuote.minimumPriorityFeePerGas ?? MIN_VAULT_PRIORITY_FEE_PER_GAS);
149
155
  const currentMarketMaxFee = bufferedBaseFee + requiredMaxPriorityFeePerGas;
150
156
  const desiredMaxFeePerGas = currentMarketMaxFee > bumpedMaxFee ? currentMarketMaxFee : bumpedMaxFee;
151
- const maximumAffordableFeePerGas = MAX_VAULT_TRANSACTION_GAS_COST / gasLimit;
152
- if (bumpedMaxFee > maximumAffordableFeePerGas || requiredMaxPriorityFeePerGas > maximumAffordableFeePerGas) throw new VaultTransactionReplacementLimitError({
157
+ const maximumAffordableFeePerGas = maximumGasCost / gasLimit;
158
+ const minimumMarketFeePerGas = (historicalQuote.currentBaseFeePerGas ?? bufferedBaseFee) + requiredMaxPriorityFeePerGas;
159
+ if (bumpedMaxFee > maximumAffordableFeePerGas || requiredMaxPriorityFeePerGas > maximumAffordableFeePerGas || feePolicy?.marketPriorityFees && minimumMarketFeePerGas > maximumAffordableFeePerGas) throw new VaultTransactionReplacementLimitError({
153
160
  code: "GasCostCapExceeded",
154
161
  gasLimit,
155
- requiredMaxFeePerGas: bumpedMaxFee,
162
+ requiredMaxFeePerGas: feePolicy?.marketPriorityFees && minimumMarketFeePerGas > bumpedMaxFee ? minimumMarketFeePerGas : bumpedMaxFee,
156
163
  requiredMaxPriorityFeePerGas,
157
164
  maximumAffordableFeePerGas
158
165
  });
@@ -175,13 +182,15 @@ function resolveFallbackQuote({ maxFeePerGas: estimatedMaxFeePerGas, maxPriority
175
182
  source: "viem_fallback"
176
183
  };
177
184
  }
178
- function applyVaultTransactionGasCostLimit(quote, gasLimit) {
185
+ function applyVaultTransactionGasCostLimit(quote, gasLimit, feePolicy) {
179
186
  if (gasLimit <= 0n) throw new Error(`Vault transaction gas limit must be positive, received ${gasLimit.toString()}`);
180
- const maximumAffordableFeePerGas = MAX_VAULT_TRANSACTION_GAS_COST / gasLimit;
187
+ const maximumGasCost = resolveMaximumGasCost(feePolicy);
188
+ const maximumAffordableFeePerGas = maximumGasCost / gasLimit;
181
189
  if (maximumAffordableFeePerGas < quote.minimumMaxFeePerGas) throw new VaultTransactionGasCostLimitError({
182
190
  gasLimit,
183
191
  maximumAffordableFeePerGas,
184
- minimumRequiredFeePerGas: quote.minimumMaxFeePerGas
192
+ minimumRequiredFeePerGas: quote.minimumMaxFeePerGas,
193
+ maximumGasCost
185
194
  });
186
195
  if (quote.maxFeePerGas <= maximumAffordableFeePerGas) return quote;
187
196
  const bufferedBaseFee = quote.minimumMaxFeePerGas - (quote.minimumPriorityFeePerGas ?? MIN_VAULT_PRIORITY_FEE_PER_GAS);
@@ -196,8 +205,9 @@ function bufferVaultTransactionGasEstimate(gasEstimate) {
196
205
  if (gasEstimate <= 0n) throw new Error(`Vault transaction gas estimate must be positive, received ${gasEstimate.toString()}`);
197
206
  return ceilMultiplyFraction(gasEstimate, GAS_ESTIMATE_BUFFER_NUMERATOR, GAS_ESTIMATE_BUFFER_DENOMINATOR);
198
207
  }
199
- function validateVaultSignedTransactionFeeCaps(feeCaps, quote) {
208
+ function validateVaultSignedTransactionFeeCaps(feeCaps, quote, feePolicy) {
200
209
  const { chainId, gasLimit, maxFeePerGas, maxPriorityFeePerGas } = feeCaps;
210
+ const maximumGasCost = resolveMaximumGasCost(feePolicy);
201
211
  const minimumPriorityFeePerGas = quote?.minimumPriorityFeePerGas ?? getChainPriorityFeeFloor(chainId) ?? MIN_VAULT_PRIORITY_FEE_PER_GAS;
202
212
  if (maxFeePerGas === null || maxPriorityFeePerGas === null) return {
203
213
  valid: false,
@@ -214,15 +224,15 @@ function validateVaultSignedTransactionFeeCaps(feeCaps, quote) {
214
224
  code: "PriorityFeeTooLow",
215
225
  reason: `Signed transaction maxPriorityFeePerGas (${maxPriorityFeePerGas.toString()} wei) must be at least ${minimumPriorityFeePerGas.toString()} wei.`
216
226
  };
217
- if (maxPriorityFeePerGas > MAX_VAULT_PRIORITY_FEE_PER_GAS) return {
227
+ if (!feePolicy?.marketPriorityFees && maxPriorityFeePerGas > MAX_VAULT_PRIORITY_FEE_PER_GAS) return {
218
228
  valid: false,
219
229
  code: "PriorityFeeTooHigh",
220
230
  reason: `Signed transaction maxPriorityFeePerGas (${maxPriorityFeePerGas.toString()} wei) must not exceed ${MAX_VAULT_PRIORITY_FEE_PER_GAS.toString()} wei (3 gwei).`
221
231
  };
222
- if (gasLimit !== void 0 && gasLimit !== null && gasLimit * maxFeePerGas > MAX_VAULT_TRANSACTION_GAS_COST) return {
232
+ if (gasLimit !== void 0 && gasLimit !== null && gasLimit * maxFeePerGas > maximumGasCost) return {
223
233
  valid: false,
224
234
  code: "GasCostTooHigh",
225
- reason: `Signed transaction maximum gas cost (${(gasLimit * maxFeePerGas).toString()} wei) must not exceed ${MAX_VAULT_TRANSACTION_GAS_COST.toString()} wei (0.015 ETH).`
235
+ reason: `Signed transaction maximum gas cost (${(gasLimit * maxFeePerGas).toString()} wei) must not exceed ${maximumGasCost.toString()} wei.`
226
236
  };
227
237
  if (quote !== void 0) {
228
238
  const feeRequirementDescription = quote.currentBaseFeePerGas === void 0 ? "buffered next-block base fee" : "current base fee";
@@ -322,4 +332,4 @@ async function getVaultDeltaHedgeInitialFeeQuote(client) {
322
332
  }
323
333
 
324
334
  //#endregion
325
- export { 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, VaultTransactionFeeEstimationError, VaultTransactionGasCostLimitError, VaultTransactionReplacementLimitError, applyVaultTransactionGasCostLimit, bufferVaultTransactionGasEstimate, getVaultDeltaHedgeHistoricalFeeQuote, getVaultDeltaHedgeInitialFeeQuote, getVaultTransactionFeeQuote, getVaultTransactionReplacementFeeQuote, validateVaultSignedTransactionFeeCaps };
335
+ export { 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, REPLACEMENT_FEE_BUMP_DENOMINATOR, REPLACEMENT_FEE_BUMP_NUMERATOR, VaultTransactionFeeEstimationError, VaultTransactionGasCostLimitError, VaultTransactionReplacementLimitError, applyVaultTransactionGasCostLimit, bufferVaultTransactionGasEstimate, getVaultDeltaHedgeHistoricalFeeQuote, getVaultDeltaHedgeInitialFeeQuote, getVaultTransactionFeeQuote, getVaultTransactionReplacementFeeQuote, validateVaultSignedTransactionFeeCaps };
@@ -839,6 +839,13 @@ interface TokenFlow {
839
839
  tickBefore: bigint | null;
840
840
  /** Pool tick after the operation */
841
841
  tickAfter: bigint | null;
842
+ /**
843
+ * Token 0 borrow interest owed before the call, included in delta0 when the call settles it.
844
+ * Unset when unknown, which does not mean zero: delta0 may still include interest.
845
+ */
846
+ interestOwed0?: bigint;
847
+ /** Token 1 equivalent of interestOwed0, with the same unset semantics. */
848
+ interestOwed1?: bigint;
842
849
  }
843
850
  /**
844
851
  * Simulation result discriminated union.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["LpFeeCandle","LpFeeRange","estimateLpFees","candles","ranges","feePips","z","changeSchema","ZodEnum","ZodString","ZodTransform","ZodPipe","ZodNullable","core","$strip","ZodObject","collectSchema","LpPositionHistoryEvent","infer","getLpPositionHistory","url","positionId","signal","AbortSignal","Promise","summarizeLpPositionHistory","Address","PublicClient","getLpPositionHistory","LpPositionHistoryEvent","calculateV3LpAccounting","events","inventory","claimable","prices","endBlock","token0Decimals","token1Decimals","getV3LpHistoryAccounting","client","history","nfpmAddress","poolAddress","tickLower","tickUpper","ReturnType","Awaited","Promise","LpFeeRange","getLpDepositAmounts","getLpDepositBreakdown","LpPositionFundingParams","getUnhedgedLpRanges","tokenId","positionSize","tickSpacing","Pick","getLpPositionFunding","getLpFundingDeposit","funding","availableInQuote","minimumInQuote","quoteTokenIndex","valuationSqrtPriceX96","quotePercent","ReturnType","getLpPositionSizeForTokenAmount","Omit","getMaxLpPositionSize","Decimal","LpFeeRange","annualizeLpFeeReturn","getLpFeeReturnSeries","points","ranges","startTick","T","LpAmounts","LpGreeks","LpGreeksInput","getAmountsForLiquidity","getLpGreeks","Decimal","preparePositionGamma","tokenId","positionSize","quoteIsToken0","quoteDecimals","prepareLiquidityGamma","chunks","PositionVolatilityObservation","Value","VolatilityComparisonReason","calculatePositionVolatilityMetrics","observations","netPremium","baseFees","valuePositionAccrual","snapshots","BlockMeta","Address","PoolMetadata","BlockMeta","PoolHealthStatus","CollateralTracker","RiskEngine","PoolKey","Pool","Utilization","Address","Hash","PanopticEventType","BaseEvent","OptionMintedEvent","OptionBurntEvent","AccountLiquidatedEvent","ForcedExercisedEvent","PremiumSettledEvent","DepositEvent","WithdrawEvent","BorrowRateUpdatedEvent","LiquidityChunkUpdatedEvent","ProtocolLossRealizedEvent","ModifyLiquidityEvent","SwapEvent","DonateEvent","PanopticEvent","LegUpdate","EventSubscription","SyncEvent","Address","Hash","PanopticEvent","TxResult","TxReceipt","Promise","TxResultWithReceipt","TxBroadcaster","TxOverrides","NonceManager","DispatchCall","PanopticError","Error","PanopticError","BlockMeta","Position","PositionGreeks","TokenFlow","SimulationResult","T","OpenPositionSimulation","ClosePositionSimulation","ForceExerciseSimulation","SettlePremiumFromSimulation","LiquidateSimulation","SettleSimulation","DepositSimulation","WithdrawSimulation","DispatchSimulation","PublicClient","BlockMeta","PoolVersionConfig","StreamiaLeg","UniswapFeeSnapshot","UniswapFeeHistoryResult","GetUniswapFeeHistoryParams","getUniswapFeeHistory","Promise","UniswapBlockData","Map","fetchUniswapFeeData","computeUniswapFeesForBlock","feeGrowthInsideX128","PositionVolatilityObservation","UniswapFeeSnapshot","calculateLpPositionVolatility","liquidity","tickLower","tickUpper","quoteIsToken0","quoteDecimals","snapshots","priceObservations","___panoptic_v2_greeks_positionVolatility0","VolatilityComparisonReason","Decimal","quoteTokenPrices","Map","normalCdf","RangeProbabilityInput","pInRangeAt","ExpectedTimeInRangeInput","expectedTimeInRange","RangeStatsInput","RangeStats","rangeStats","LP_RANGE_HORIZONS_DAYS","LP_RANGE_HORIZONS_YEARS","Address","UniswapV3Addresses","UNISWAP_V3_ADDRESSES","Record","getUniswapV3Addresses","Partial","Address","PublicClient","getUniswapV3PoolBalances","client","pools","Map","Promise","Address","Hex","V3_SWAP_EXACT_IN","V3_SWAP_EXACT_OUT","MSG_SENDER","BuildV3SwapCalldataArgs","encodeV3Path","buildV3SwapExecuteArgs","buildV3SwapExecuteCalldata","BuildV3ExactOutSwapCalldataArgs","buildV3ExactOutSwapExecuteArgs","buildV3ExactOutSwapExecuteCalldata","Address","PublicClient","UniswapV3Addresses","QuoteV3ExactInParams","Partial","V3ExactInQuote","quoteV3ExactIn","Promise","QuoteV3ExactOutParams","V3ExactOutQuote","quoteV3ExactOut","Address","UniswapV4Addresses","PERMIT2_ADDRESS","UNISWAP_V4_ADDRESSES","Record","getUniswapV4Addresses","Partial","Address","PublicClient","WalletClient","PoolKey","TxOverrides","UniswapV4Addresses","SwapExactInViaRouterParams","Partial","QuoteSwapExactInViaRouterParams","SwapExactInQuote","SwapExactOutViaRouterParams","QuoteSwapExactOutViaRouterParams","SwapExactOutQuote","CheckRouterApprovalParams","RouterApprovalStatus","ApproveErc20ForPermit2Params","ApproveRouterViaPermit2Params","Address","PublicClient","SimulationResult","SwapExactInQuote","SwapExactOutQuote","UniswapV3Addresses","QuoteSwapExactInViaV3RouterParams","Partial","quoteSwapExactInViaV3Router","Promise","QuoteSwapExactOutViaV3RouterParams","quoteSwapExactOutViaV3Router","Address","PublicClient","ResolvedV3SwapRoute","ResolveV3SwapRouteParams","resolveV3SwapRoute","Promise","Address","PublicClient","WalletClient","TxOverrides","TxResult","UniswapV4Addresses","UniswapV3Addresses","SwapExactInViaV3RouterParams","Partial","swapExactInViaV3Router","Promise","SwapExactOutViaV3RouterParams","swapExactOutViaV3Router","Address","Hex","PoolKey","V4_SWAP","SWAP_EXACT_IN_SINGLE","SETTLE_ALL","TAKE_ALL","TAKE","SWAP_EXACT_OUT_SINGLE","SWEEP","BuildV4SwapCalldataArgs","buildV4SwapExecuteArgs","buildV4SwapExecuteCalldata","BuildV4ExactOutSwapCalldataArgs","buildV4ExactOutSwapExecuteArgs","buildV4ExactOutSwapExecuteCalldata","Address","PanopticError","UnsupportedChainError","Error","InvalidSwapTokenError","AmountExceedsUint128Error","MissingSweepRecipientError","QuoterUnavailableError","TxReceipt","TxResult","ApproveErc20ForPermit2Params","ApproveRouterViaPermit2Params","CheckRouterApprovalParams","RouterApprovalStatus","checkRouterApproval","Promise","approveErc20ForPermit2","approveErc20ForPermit2AndWait","approveRouterViaPermit2","approveRouterViaPermit2AndWait","SimulationResult","QuoteSwapExactInViaRouterParams","QuoteSwapExactOutViaRouterParams","SwapExactInQuote","SwapExactOutQuote","quoteSwapExactInViaRouter","Promise","quoteSwapExactOutViaRouter","PublicClient","PoolKey","UniswapV4Addresses","QuoteV4ExactInByPoolKeyParams","Partial","V4ExactInQuote","quoteV4ExactInByPoolKey","Promise","Address","PublicClient","PoolKey","ResolvedSwapRoute","ResolveSwapRouteParams","resolveSwapRoute","Promise","TxReceipt","TxResult","SwapExactInViaRouterParams","SwapExactOutViaRouterParams","swapExactInViaRouter","Promise","swapExactInViaRouterAndWait","swapExactOutViaRouter","swapExactOutViaRouterAndWait"],"sources":["../../src/uniswap/estimateLpFees.d.ts","../../src/uniswap/lpHistory.d.ts","../../src/uniswap/lpAccounting.d.ts","../../src/uniswap/lpDeposit.d.ts","../../src/uniswap/lpFeeReturn.d.ts","../../src/uniswap/lpGreeks.d.ts","../../src/panoptic/v2/greeks/positionVolatility.d.ts","../../src/panoptic/v2/types/meta.d.ts","../../src/panoptic/v2/types/pool.d.ts","../../src/panoptic/v2/types/events.d.ts","../../src/panoptic/v2/types/tx.d.ts","../../src/panoptic/v2/errors/base.d.ts","../../src/panoptic/v2/types/simulation.d.ts","../../src/panoptic/v2/reads/uniswapFeeHistory.d.ts","../../src/uniswap/lpVolatility.d.ts","../../src/uniswap/quoteTokenPrices.d.ts","../../src/uniswap/rangeProbability.d.ts","../../src/uniswap/v3/addresses.d.ts","../../src/uniswap/v3/poolBalances.d.ts","../../src/uniswap/v3/router/encodeSwap.d.ts","../../src/uniswap/v3/router/quote.d.ts","../../src/uniswap/v4/addresses.d.ts","../../src/uniswap/v4/router/types.d.ts","../../src/uniswap/v3/router/quoteViaRouter.d.ts","../../src/uniswap/v3/router/resolveRoute.d.ts","../../src/uniswap/v3/router/swap.d.ts","../../src/uniswap/v4/router/encodeSwap.d.ts","../../src/uniswap/v4/router/errors.d.ts","../../src/uniswap/v4/router/permit2.d.ts","../../src/uniswap/v4/router/quote.d.ts","../../src/uniswap/v4/router/quoteByPoolKey.d.ts","../../src/uniswap/v4/router/resolvePoolKey.d.ts","../../src/uniswap/v4/router/swap.d.ts"],"sourcesContent":null,"mappings":"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AAA,EAAAA,KAAAA,CAAAA,E0BqCgB2S,K1BrChB3S;;;;;;;;;iB2BGDsT,mBAAAA,SAA4BF,4BAA4BoC,QAAQnC;A5BWxF;;;AAAkDpP,iB4BP1BuP,sBAAAA,C5BO0BvP,MAAAA,E4BPKiP,4B5BOLjP,CAAAA,E4BPoCuR,O5BOpCvR,C4BP4CmR,Q5BO5CnR,CAAAA;;;;AAEnB,iB4BLPwP,6BAAAA,C5BKO,MAAA,E4BL+BP,4B5BK/B,CAAA,E4BL8DsC,O5BK9D,C4BLsEL,S5BKtE,CAAA;;;;AC7BjBrV,iB2B4BU4T,uBAAAA,C3BdP,MAAA,E2BcuCP,6B3BdvC,CAAA,E2BcuEqC,O3BdvE,C2Bc+EJ,Q3Bd/E,CAAA;;;;AATqBvV,iB2B2Bd8T,8BAAAA,C3B3BgB1T,MAAAA,E2B2BuBkT,6B3B3BvBlT,CAAAA,E2B2BuDuV,O3B3BvDvV,C2B2B+DkV,S3B3B/DlV,CAAAA;;;;ADKxC;;;;;;;iB6BCwBgU,yBAAAA,SAAkCJ,kCAAkC2B,QAAQ5B,iBAAiBG;;;;;;A7BgBrH;;AAAyCrU,iB6BRjByU,0BAAAA,C7BQiBzU,MAAAA,E6BRkBoU,gC7BQlBpU,CAAAA,E6BRqD8V,O7BQrD9V,C6BR6DkU,gB7BQ7DlU,C6BR8EsU,iB7BQ9EtU,CAAAA,CAAAA;;;;U8BpBxB6U,6BAAAA;UACLM;;WAECC;;;;;cAKGN,QAAQF;;A9BYA7U,U8BVPgV,cAAAA,C9BUqB;EAAA,SAAA,EAAA,MAAA;EAAA,gBAAG/U,EAAAA,MAAAA;EAAO,WAAEuE,EAAAA,MAAAA;;;;AAEnB;;;iB8BFPyQ,uBAAAA,SAAgCH,gCAAgCiB,QAAQf;;;;A9BjBhG;;;U+BHiBM,iBAAAA;;WAEJD;;;;YAICF;;;;E/BcUnV,cAAAA,EAAAA,MAAc;;;;;AAChBF,U+BNLyV,sBAAAA,C/BMKzV;EAAW,MACZsE,E+BNTgR,Y/BMShR;EAAU,WAAA,E+BLd+Q,O/BKc;;W+BHlBA;;A9B3BW;;;;;;AAOQ/U,iB8B4BRoV,gBAAAA,C9B5BUjV,MAAAA,E8B4BegV,sB9B5BfhV,CAAAA,E8B4BwCwV,O9B5BxCxV,C8B4BgD+U,iB9B5BhD/U,CAAAA;;;;;;;;;;;;ADqBlC;;;;;;;AAE+B;;;iBgCFPuV,oBAAAA,SAA6BF,6BAA6BG,QAAQJ;A/B5BlE;;;AAMCvV,iB+B0BD4V,2BAAAA,C/B1BGzV,MAAAA,E+B0BiCqV,0B/B1BjCrV,CAAAA,E+B0B8DwV,O/B1B9DxV,C+B0BsEmV,S/B1BtEnV,CAAAA;;;;;;;;;;;;AAKbH,iB+BiCU6V,qBAAAA,C/BjCRxV,MAAAA,E+BiCsCoV,2B/BjCtCpV,CAAAA,E+BiCoEsV,O/BjCpEtV,C+BiC4EkV,Q/BjC5ElV,CAAAA;;;;AAEOL,iB+BmCC8V,4BAAAA,C/BnCC3V,MAAAA,E+BmCoCsV,2B/BnCpCtV,CAAAA,E+BmCkEwV,O/BnClExV,C+BmC0EmV,S/BnC1EnV,CAAAA"}
1
+ {"version":3,"file":"index.d.ts","names":["LpFeeCandle","LpFeeRange","estimateLpFees","candles","ranges","feePips","z","changeSchema","ZodEnum","ZodString","ZodTransform","ZodPipe","ZodNullable","core","$strip","ZodObject","collectSchema","LpPositionHistoryEvent","infer","getLpPositionHistory","url","positionId","signal","AbortSignal","Promise","summarizeLpPositionHistory","Address","PublicClient","getLpPositionHistory","LpPositionHistoryEvent","calculateV3LpAccounting","events","inventory","claimable","prices","endBlock","token0Decimals","token1Decimals","getV3LpHistoryAccounting","client","history","nfpmAddress","poolAddress","tickLower","tickUpper","ReturnType","Awaited","Promise","LpFeeRange","getLpDepositAmounts","getLpDepositBreakdown","LpPositionFundingParams","getUnhedgedLpRanges","tokenId","positionSize","tickSpacing","Pick","getLpPositionFunding","getLpFundingDeposit","funding","availableInQuote","minimumInQuote","quoteTokenIndex","valuationSqrtPriceX96","quotePercent","ReturnType","getLpPositionSizeForTokenAmount","Omit","getMaxLpPositionSize","Decimal","LpFeeRange","annualizeLpFeeReturn","getLpFeeReturnSeries","points","ranges","startTick","T","LpAmounts","LpGreeks","LpGreeksInput","getAmountsForLiquidity","getLpGreeks","Decimal","preparePositionGamma","tokenId","positionSize","quoteIsToken0","quoteDecimals","prepareLiquidityGamma","chunks","PositionVolatilityObservation","Value","VolatilityComparisonReason","calculatePositionVolatilityMetrics","observations","netPremium","baseFees","valuePositionAccrual","snapshots","BlockMeta","Address","PoolMetadata","BlockMeta","PoolHealthStatus","CollateralTracker","RiskEngine","PoolKey","Pool","Utilization","Address","Hash","PanopticEventType","BaseEvent","OptionMintedEvent","OptionBurntEvent","AccountLiquidatedEvent","ForcedExercisedEvent","PremiumSettledEvent","DepositEvent","WithdrawEvent","BorrowRateUpdatedEvent","LiquidityChunkUpdatedEvent","ProtocolLossRealizedEvent","ModifyLiquidityEvent","SwapEvent","DonateEvent","PanopticEvent","LegUpdate","EventSubscription","SyncEvent","Address","Hash","PanopticEvent","TxResult","TxReceipt","Promise","TxResultWithReceipt","TxBroadcaster","TxOverrides","NonceManager","DispatchCall","PanopticError","Error","PanopticError","BlockMeta","Position","PositionGreeks","TokenFlow","SimulationResult","T","OpenPositionSimulation","ClosePositionSimulation","ForceExerciseSimulation","SettlePremiumFromSimulation","LiquidateSimulation","SettleSimulation","DepositSimulation","WithdrawSimulation","DispatchSimulation","PublicClient","BlockMeta","PoolVersionConfig","StreamiaLeg","UniswapFeeSnapshot","UniswapFeeHistoryResult","GetUniswapFeeHistoryParams","getUniswapFeeHistory","Promise","UniswapBlockData","Map","fetchUniswapFeeData","computeUniswapFeesForBlock","feeGrowthInsideX128","PositionVolatilityObservation","UniswapFeeSnapshot","calculateLpPositionVolatility","liquidity","tickLower","tickUpper","quoteIsToken0","quoteDecimals","snapshots","priceObservations","___panoptic_v2_greeks_positionVolatility0","VolatilityComparisonReason","Decimal","quoteTokenPrices","Map","normalCdf","RangeProbabilityInput","pInRangeAt","ExpectedTimeInRangeInput","expectedTimeInRange","RangeStatsInput","RangeStats","rangeStats","LP_RANGE_HORIZONS_DAYS","LP_RANGE_HORIZONS_YEARS","Address","UniswapV3Addresses","UNISWAP_V3_ADDRESSES","Record","getUniswapV3Addresses","Partial","Address","PublicClient","getUniswapV3PoolBalances","client","pools","Map","Promise","Address","Hex","V3_SWAP_EXACT_IN","V3_SWAP_EXACT_OUT","MSG_SENDER","BuildV3SwapCalldataArgs","encodeV3Path","buildV3SwapExecuteArgs","buildV3SwapExecuteCalldata","BuildV3ExactOutSwapCalldataArgs","buildV3ExactOutSwapExecuteArgs","buildV3ExactOutSwapExecuteCalldata","Address","PublicClient","UniswapV3Addresses","QuoteV3ExactInParams","Partial","V3ExactInQuote","quoteV3ExactIn","Promise","QuoteV3ExactOutParams","V3ExactOutQuote","quoteV3ExactOut","Address","UniswapV4Addresses","PERMIT2_ADDRESS","UNISWAP_V4_ADDRESSES","Record","getUniswapV4Addresses","Partial","Address","PublicClient","WalletClient","PoolKey","TxOverrides","UniswapV4Addresses","SwapExactInViaRouterParams","Partial","QuoteSwapExactInViaRouterParams","SwapExactInQuote","SwapExactOutViaRouterParams","QuoteSwapExactOutViaRouterParams","SwapExactOutQuote","CheckRouterApprovalParams","RouterApprovalStatus","ApproveErc20ForPermit2Params","ApproveRouterViaPermit2Params","Address","PublicClient","SimulationResult","SwapExactInQuote","SwapExactOutQuote","UniswapV3Addresses","QuoteSwapExactInViaV3RouterParams","Partial","quoteSwapExactInViaV3Router","Promise","QuoteSwapExactOutViaV3RouterParams","quoteSwapExactOutViaV3Router","Address","PublicClient","ResolvedV3SwapRoute","ResolveV3SwapRouteParams","resolveV3SwapRoute","Promise","Address","PublicClient","WalletClient","TxOverrides","TxResult","UniswapV4Addresses","UniswapV3Addresses","SwapExactInViaV3RouterParams","Partial","swapExactInViaV3Router","Promise","SwapExactOutViaV3RouterParams","swapExactOutViaV3Router","Address","Hex","PoolKey","V4_SWAP","SWAP_EXACT_IN_SINGLE","SETTLE_ALL","TAKE_ALL","TAKE","SWAP_EXACT_OUT_SINGLE","SWEEP","BuildV4SwapCalldataArgs","buildV4SwapExecuteArgs","buildV4SwapExecuteCalldata","BuildV4ExactOutSwapCalldataArgs","buildV4ExactOutSwapExecuteArgs","buildV4ExactOutSwapExecuteCalldata","Address","PanopticError","UnsupportedChainError","Error","InvalidSwapTokenError","AmountExceedsUint128Error","MissingSweepRecipientError","QuoterUnavailableError","TxReceipt","TxResult","ApproveErc20ForPermit2Params","ApproveRouterViaPermit2Params","CheckRouterApprovalParams","RouterApprovalStatus","checkRouterApproval","Promise","approveErc20ForPermit2","approveErc20ForPermit2AndWait","approveRouterViaPermit2","approveRouterViaPermit2AndWait","SimulationResult","QuoteSwapExactInViaRouterParams","QuoteSwapExactOutViaRouterParams","SwapExactInQuote","SwapExactOutQuote","quoteSwapExactInViaRouter","Promise","quoteSwapExactOutViaRouter","PublicClient","PoolKey","UniswapV4Addresses","QuoteV4ExactInByPoolKeyParams","Partial","V4ExactInQuote","quoteV4ExactInByPoolKey","Promise","Address","PublicClient","PoolKey","ResolvedSwapRoute","ResolveSwapRouteParams","resolveSwapRoute","Promise","TxReceipt","TxResult","SwapExactInViaRouterParams","SwapExactOutViaRouterParams","swapExactInViaRouter","Promise","swapExactInViaRouterAndWait","swapExactOutViaRouter","swapExactOutViaRouterAndWait"],"sources":["../../src/uniswap/estimateLpFees.d.ts","../../src/uniswap/lpHistory.d.ts","../../src/uniswap/lpAccounting.d.ts","../../src/uniswap/lpDeposit.d.ts","../../src/uniswap/lpFeeReturn.d.ts","../../src/uniswap/lpGreeks.d.ts","../../src/panoptic/v2/greeks/positionVolatility.d.ts","../../src/panoptic/v2/types/meta.d.ts","../../src/panoptic/v2/types/pool.d.ts","../../src/panoptic/v2/types/events.d.ts","../../src/panoptic/v2/types/tx.d.ts","../../src/panoptic/v2/errors/base.d.ts","../../src/panoptic/v2/types/simulation.d.ts","../../src/panoptic/v2/reads/uniswapFeeHistory.d.ts","../../src/uniswap/lpVolatility.d.ts","../../src/uniswap/quoteTokenPrices.d.ts","../../src/uniswap/rangeProbability.d.ts","../../src/uniswap/v3/addresses.d.ts","../../src/uniswap/v3/poolBalances.d.ts","../../src/uniswap/v3/router/encodeSwap.d.ts","../../src/uniswap/v3/router/quote.d.ts","../../src/uniswap/v4/addresses.d.ts","../../src/uniswap/v4/router/types.d.ts","../../src/uniswap/v3/router/quoteViaRouter.d.ts","../../src/uniswap/v3/router/resolveRoute.d.ts","../../src/uniswap/v3/router/swap.d.ts","../../src/uniswap/v4/router/encodeSwap.d.ts","../../src/uniswap/v4/router/errors.d.ts","../../src/uniswap/v4/router/permit2.d.ts","../../src/uniswap/v4/router/quote.d.ts","../../src/uniswap/v4/router/quoteByPoolKey.d.ts","../../src/uniswap/v4/router/resolvePoolKey.d.ts","../../src/uniswap/v4/router/swap.d.ts"],"sourcesContent":null,"mappings":"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"}