@panoptic-eng/sdk 1.0.30 → 1.0.32

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.
Files changed (33) hide show
  1. package/dist/cow/index.js +3 -3
  2. package/dist/{cow-CSt61vNU.js → cow-CLFJQ-OP.js} +2 -2
  3. package/dist/{cow-CSt61vNU.js.map → cow-CLFJQ-OP.js.map} +1 -1
  4. package/dist/{index-B3JZRUNo.d.ts → index-DToj2-Vc.d.ts} +235 -13
  5. package/dist/index-DToj2-Vc.d.ts.map +1 -0
  6. package/dist/index.js +2 -2
  7. package/dist/{irm-IcePQm1r.js → irm-iAI9hTYQ.js} +3 -3
  8. package/dist/{irm-IcePQm1r.js.map → irm-iAI9hTYQ.js.map} +1 -1
  9. package/dist/{oracle-BnpPVG8V.d.ts → oracle-DaNTHk7B.d.ts} +14 -1
  10. package/dist/{oracle-BnpPVG8V.d.ts.map → oracle-DaNTHk7B.d.ts.map} +1 -1
  11. package/dist/panoptic/v2/index.d.ts +3 -3
  12. package/dist/panoptic/v2/index.js +5 -5
  13. package/dist/panoptic/v2/react-public.d.ts +18 -4
  14. package/dist/panoptic/v2/react-public.d.ts.map +1 -1
  15. package/dist/panoptic/v2/react-public.js +41 -7
  16. package/dist/panoptic/v2/react-public.js.map +1 -1
  17. package/dist/{position-UL1gOvqZ.js → position-ClU7GrTa.js} +44 -12
  18. package/dist/position-ClU7GrTa.js.map +1 -0
  19. package/dist/{router-Del9H6e0.js → router-DKFR_vnu.js} +2 -2
  20. package/dist/{router-Del9H6e0.js.map → router-DKFR_vnu.js.map} +1 -1
  21. package/dist/{types-VeWdNN0j.d.ts → types-Cy6v8iPf.d.ts} +2 -2
  22. package/dist/{types-VeWdNN0j.d.ts.map → types-Cy6v8iPf.d.ts.map} +1 -1
  23. package/dist/uniswap/index.d.ts +2 -2
  24. package/dist/uniswap/index.js +3 -3
  25. package/dist/{v2-BSV35bpu.js → v2-DHJxPCAp.js} +465 -167
  26. package/dist/v2-DHJxPCAp.js.map +1 -0
  27. package/dist/{writes-RyS0kHpB.js → writes-DQLGdkJ5.js} +50 -26
  28. package/dist/writes-DQLGdkJ5.js.map +1 -0
  29. package/package.json +1 -1
  30. package/dist/index-B3JZRUNo.d.ts.map +0 -1
  31. package/dist/position-UL1gOvqZ.js.map +0 -1
  32. package/dist/v2-BSV35bpu.js.map +0 -1
  33. package/dist/writes-RyS0kHpB.js.map +0 -1
@@ -9371,29 +9371,61 @@ async function getUtilization(params) {
9371
9371
  collateralToken1 = addressResults[1];
9372
9372
  }
9373
9373
  const [poolDataResults, _meta] = await Promise.all([client.multicall({
9374
- contracts: [{
9375
- address: collateralToken0,
9376
- abi: collateralTrackerV2Abi,
9377
- functionName: "getPoolData"
9378
- }, {
9379
- address: collateralToken1,
9380
- abi: collateralTrackerV2Abi,
9381
- functionName: "getPoolData"
9382
- }],
9374
+ contracts: [
9375
+ {
9376
+ address: collateralToken0,
9377
+ abi: collateralTrackerV2Abi,
9378
+ functionName: "getPoolData"
9379
+ },
9380
+ {
9381
+ address: collateralToken1,
9382
+ abi: collateralTrackerV2Abi,
9383
+ functionName: "getPoolData"
9384
+ },
9385
+ {
9386
+ address: collateralToken0,
9387
+ abi: collateralTrackerV2Abi,
9388
+ functionName: "totalSupply"
9389
+ },
9390
+ {
9391
+ address: collateralToken1,
9392
+ abi: collateralTrackerV2Abi,
9393
+ functionName: "totalSupply"
9394
+ }
9395
+ ],
9383
9396
  blockNumber: targetBlockNumber,
9384
9397
  allowFailure: false
9385
9398
  }), params._meta ?? getBlockMeta({
9386
9399
  client,
9387
9400
  blockNumber: targetBlockNumber
9388
9401
  })]);
9389
- const [poolData0, poolData1] = poolDataResults;
9402
+ const [poolData0, poolData1, totalSupply0, totalSupply1] = poolDataResults;
9390
9403
  return {
9391
9404
  utilization0: poolData0[3],
9392
9405
  utilization1: poolData1[3],
9406
+ availableToBorrow0: availableToBorrow(poolData0, totalSupply0),
9407
+ availableToBorrow1: availableToBorrow(poolData1, totalSupply1),
9393
9408
  _meta
9394
9409
  };
9395
9410
  }
9396
9411
  /**
9412
+ * Assets available to borrow from a collateral tracker.
9413
+ *
9414
+ * Mirrors `CollateralTracker._maxWithdrawWithPositions`: deposited assets less
9415
+ * one wei, less the assets backing credited shares.
9416
+ *
9417
+ * @param poolData - `getPoolData()` tuple: [depositedAssets, insideAMM, creditedShares, utilization]
9418
+ * @param totalSupply - Collateral tracker share supply, for the share→asset conversion
9419
+ */
9420
+ function availableToBorrow(poolData, totalSupply) {
9421
+ const [depositedAssets, insideAMM, creditedShares] = poolData;
9422
+ const available = depositedAssets > 0n ? depositedAssets - 1n : 0n;
9423
+ if (creditedShares === 0n || totalSupply === 0n) return available;
9424
+ const totalAssets = depositedAssets + insideAMM;
9425
+ const creditedAssets = creditedShares * totalAssets / totalSupply;
9426
+ return available > creditedAssets ? available - creditedAssets : 0n;
9427
+ }
9428
+ /**
9397
9429
  * Get current oracle state from the pool.
9398
9430
  *
9399
9431
  * ## Same-Block Guarantee
@@ -10067,5 +10099,5 @@ async function getPositionGreeks(params) {
10067
10099
  }
10068
10100
 
10069
10101
  //#endregion
10070
- export { AccountInsolventError as AccountInsolventError$1, AlreadyInitializedError as AlreadyInitializedError$1, BatchValidationError as BatchValidationError$1, BelowMinimumRedemptionError as BelowMinimumRedemptionError$1, CastingError as CastingError$1, ChunkHasZeroLiquidityError as ChunkHasZeroLiquidityError$1, ChunkLimitError as ChunkLimitError$1, CrossPoolError as CrossPoolError$1, DEFAULT_MAX_SPREAD as DEFAULT_MAX_SPREAD$1, DEFAULT_VEGOID as DEFAULT_VEGOID$1, DepositTooLargeError as DepositTooLargeError$1, DuplicateTokenIdError as DuplicateTokenIdError$1, EffectiveLiquidityAboveThresholdError as EffectiveLiquidityAboveThresholdError$1, ExceedsMaximumRedemptionError as ExceedsMaximumRedemptionError$1, InputListFailError as InputListFailError$1, InsufficientCreditLiquidityError as InsufficientCreditLiquidityError$1, InvalidBuilderCodeError as InvalidBuilderCodeError$1, InvalidHistoryRangeError as InvalidHistoryRangeError$1, InvalidTickBoundError as InvalidTickBoundError$1, InvalidTickError as InvalidTickError$1, InvalidTickLimitsError, InvalidTokenIdParameterError as InvalidTokenIdParameterError$1, InvalidUniswapCallbackError as InvalidUniswapCallbackError$1, LEG_BITS as LEG_BITS$1, LEG_LIMITS as LEG_LIMITS$1, LEG_MASKS as LEG_MASKS$1, LengthMismatchError as LengthMismatchError$1, LiquidityTooHighError as LiquidityTooHighError$1, LoanSlotExhaustedError as LoanSlotExhaustedError$1, MaxRetriesExceededError as MaxRetriesExceededError$1, MissingPositionIdsError as MissingPositionIdsError$1, MulticallNoDataError, MulticallResultFailedError, MulticallResultMissingError, NetLiquidityZeroError as NetLiquidityZeroError$1, NetworkMismatchError as NetworkMismatchError$1, NoLegsExercisableError as NoLegsExercisableError$1, NoLoanPositionsError, NotALongLegError as NotALongLegError$1, NotBuilderError as NotBuilderError$1, NotEnoughLiquidityInChunkError as NotEnoughLiquidityInChunkError$1, NotEnoughTokensError as NotEnoughTokensError$1, NotGuardianError as NotGuardianError$1, NotMarginCalledError as NotMarginCalledError$1, NotPanopticPoolError as NotPanopticPoolError$1, OracleRateLimitedError as OracleRateLimitedError$1, PanopticError, PanopticHelperNotDeployedError as PanopticHelperNotDeployedError$1, PanopticValidationError as PanopticValidationError$1, PoolNotInitializedError as PoolNotInitializedError$1, PositionCountNotZeroError as PositionCountNotZeroError$1, PositionNotOwnedError as PositionNotOwnedError$1, PositionSnapshotNotFoundError as PositionSnapshotNotFoundError$1, PositionTooLargeError as PositionTooLargeError$1, PriceBoundFailError as PriceBoundFailError$1, PriceImpactTooLargeError as PriceImpactTooLargeError$1, ProviderLagError as ProviderLagError$1, ReentrancyError as ReentrancyError$1, RpcError as RpcError$1, RpcResponseError as RpcResponseError$1, STANDARD_TICK_WIDTHS as STANDARD_TICK_WIDTHS$1, STRIKE_CONVERSION_FACTOR, SafeModeError as SafeModeError$1, StaleDataError as StaleDataError$1, StaleOracleError as StaleOracleError$1, StorageDataNotFoundError, SwapTokenMismatchError as SwapTokenMismatchError$1, SyncTimeoutError as SyncTimeoutError$1, TOKEN_ID_BITS as TOKEN_ID_BITS$1, TokenIdHasZeroLegsError as TokenIdHasZeroLegsError$1, TooManyLegsOpenError as TooManyLegsOpenError$1, TransferFailedError as TransferFailedError$1, UnauthorizedUniswapCallbackError as UnauthorizedUniswapCallbackError$1, UnderOverFlowError as UnderOverFlowError$1, UnhealthyPoolError as UnhealthyPoolError$1, WrongPoolIdError as WrongPoolIdError$1, WrongUniswapPoolError as WrongUniswapPoolError$1, ZeroAddressError as ZeroAddressError$1, ZeroCollateralRequirementError as ZeroCollateralRequirementError$1, collateralTrackerV2Abi, createTxResult, decodeLeftRightSigned as decodeLeftRightSigned$1, decodeLeftRightUnsigned as decodeLeftRightUnsigned$1, decodePosition, decodePositionBalance$1 as decodePositionBalance, decodeTickSpacing as decodeTickSpacing$1, fetchPoolId, getBlockMeta as getBlockMeta$1, getOracleState, getPool, getPoolMetadata, getPosition as getPosition$1, getPositionGreeks as getPositionGreeks$1, getPositions as getPositions$1, getRiskParameters, getUtilization, isPanopticErrorType as isPanopticErrorType$1, panopticErrorsAbi, panopticFactoryV3Abi, panopticFactoryV4Abi, panopticGuardianAbi, panopticPoolV2Abi, panopticQueryAbi, parsePanopticError as parsePanopticError$1, riskEngineAbi, semiFungiblePositionManagerV3Abi, semiFungiblePositionManagerV4Abi, stateViewAbi, submitWrite, uniswapV3PoolAbi, validateBuilderCode };
10071
- //# sourceMappingURL=position-UL1gOvqZ.js.map
10102
+ export { AccountInsolventError as AccountInsolventError$1, AlreadyInitializedError as AlreadyInitializedError$1, BatchValidationError as BatchValidationError$1, BelowMinimumRedemptionError as BelowMinimumRedemptionError$1, CastingError as CastingError$1, ChunkHasZeroLiquidityError as ChunkHasZeroLiquidityError$1, ChunkLimitError as ChunkLimitError$1, CrossPoolError as CrossPoolError$1, DEFAULT_MAX_SPREAD as DEFAULT_MAX_SPREAD$1, DEFAULT_VEGOID as DEFAULT_VEGOID$1, DepositTooLargeError as DepositTooLargeError$1, DuplicateTokenIdError as DuplicateTokenIdError$1, EffectiveLiquidityAboveThresholdError as EffectiveLiquidityAboveThresholdError$1, ExceedsMaximumRedemptionError as ExceedsMaximumRedemptionError$1, InputListFailError as InputListFailError$1, InsufficientCreditLiquidityError as InsufficientCreditLiquidityError$1, InvalidBuilderCodeError as InvalidBuilderCodeError$1, InvalidHistoryRangeError as InvalidHistoryRangeError$1, InvalidTickBoundError as InvalidTickBoundError$1, InvalidTickError as InvalidTickError$1, InvalidTickLimitsError, InvalidTokenIdParameterError as InvalidTokenIdParameterError$1, InvalidUniswapCallbackError as InvalidUniswapCallbackError$1, LEG_BITS as LEG_BITS$1, LEG_LIMITS as LEG_LIMITS$1, LEG_MASKS as LEG_MASKS$1, LengthMismatchError as LengthMismatchError$1, LiquidityTooHighError as LiquidityTooHighError$1, LoanSlotExhaustedError as LoanSlotExhaustedError$1, MaxRetriesExceededError as MaxRetriesExceededError$1, MissingPositionIdsError as MissingPositionIdsError$1, MulticallNoDataError, MulticallResultFailedError, MulticallResultMissingError, NetLiquidityZeroError as NetLiquidityZeroError$1, NetworkMismatchError as NetworkMismatchError$1, NoLegsExercisableError as NoLegsExercisableError$1, NoLoanPositionsError, NotALongLegError as NotALongLegError$1, NotBuilderError as NotBuilderError$1, NotEnoughLiquidityInChunkError as NotEnoughLiquidityInChunkError$1, NotEnoughTokensError as NotEnoughTokensError$1, NotGuardianError as NotGuardianError$1, NotMarginCalledError as NotMarginCalledError$1, NotPanopticPoolError as NotPanopticPoolError$1, OracleRateLimitedError as OracleRateLimitedError$1, PanopticError, PanopticHelperNotDeployedError as PanopticHelperNotDeployedError$1, PanopticValidationError as PanopticValidationError$1, PoolNotInitializedError as PoolNotInitializedError$1, PositionCountNotZeroError as PositionCountNotZeroError$1, PositionNotOwnedError as PositionNotOwnedError$1, PositionSnapshotNotFoundError as PositionSnapshotNotFoundError$1, PositionTooLargeError as PositionTooLargeError$1, PriceBoundFailError as PriceBoundFailError$1, PriceImpactTooLargeError as PriceImpactTooLargeError$1, ProviderLagError as ProviderLagError$1, ReentrancyError as ReentrancyError$1, RpcError as RpcError$1, RpcResponseError as RpcResponseError$1, STANDARD_TICK_WIDTHS as STANDARD_TICK_WIDTHS$1, STRIKE_CONVERSION_FACTOR, SafeModeError as SafeModeError$1, StaleDataError as StaleDataError$1, StaleOracleError as StaleOracleError$1, StorageDataNotFoundError, SwapTokenMismatchError as SwapTokenMismatchError$1, SyncTimeoutError as SyncTimeoutError$1, TOKEN_ID_BITS as TOKEN_ID_BITS$1, TokenIdHasZeroLegsError as TokenIdHasZeroLegsError$1, TooManyLegsOpenError as TooManyLegsOpenError$1, TransferFailedError as TransferFailedError$1, UnauthorizedUniswapCallbackError as UnauthorizedUniswapCallbackError$1, UnderOverFlowError as UnderOverFlowError$1, UnhealthyPoolError as UnhealthyPoolError$1, WrongPoolIdError as WrongPoolIdError$1, WrongUniswapPoolError as WrongUniswapPoolError$1, ZeroAddressError as ZeroAddressError$1, ZeroCollateralRequirementError as ZeroCollateralRequirementError$1, collateralTrackerV2Abi, createTxResult, decodeLeftRightSigned as decodeLeftRightSigned$1, decodeLeftRightUnsigned as decodeLeftRightUnsigned$1, decodePosition, decodePositionBalance$1 as decodePositionBalance, decodeTickSpacing as decodeTickSpacing$1, fetchPoolId, getBlockMeta as getBlockMeta$1, getOracleState, getPool, getPoolMetadata, getPosition as getPosition$1, getPositionGreeks as getPositionGreeks$1, getPositions as getPositions$1, getRiskParameters, getUtilization, isPanopticErrorType as isPanopticErrorType$1, panopticErrorsAbi, panopticFactoryV3Abi, panopticFactoryV4Abi, panopticGuardianAbi, panopticPoolV2Abi, panopticQueryAbi as panopticQueryAbi$1, parsePanopticError as parsePanopticError$1, riskEngineAbi, semiFungiblePositionManagerV3Abi, semiFungiblePositionManagerV4Abi, stateViewAbi, submitWrite, uniswapV3PoolAbi, validateBuilderCode };
10103
+ //# sourceMappingURL=position-ClU7GrTa.js.map