Errors
Author: Axicon Labs Limited
Contains all custom error messages used in Panoptic.
Errors
AccountInsolvent
PanopticPool: The account is not solvent enough to perform the desired action
error AccountInsolvent();
CastingError
Casting error
e.g. uint128(uint256(a)) fails
error CastingError();
CollateralTokenAlreadyInitialized
CollateralTracker: Collateral token has already been initialized
error CollateralTokenAlreadyInitialized();
DepositTooLarge
CollateralTracker: The amount of shares (or assets) deposited is larger than the maximum permitted
error DepositTooLarge();
EffectiveLiquidityAboveThreshold
PanopticPool: The effective liquidity (X32) is greater than min(MAX_SPREAD
, USER_PROVIDED_THRESHOLD
) during a long mint or short burn
Effective liquidity measures how much new liquidity is minted relative to how much is already in the pool
error EffectiveLiquidityAboveThreshold();
ExceedsMaximumRedemption
CollateralTracker: Attempted to withdraw/redeem more than available liquidity, owned shares, or open positions would allow for
error ExceedsMaximumRedemption();
InputListFail
PanopticPool: The provided list of option positions is incorrect or invalid
error InputListFail();
InvalidTick
Tick is not between MIN_TICK
and MAX_TICK
error InvalidTick();
InvalidNotionalValue
The result of a notional value conversion is too small (=0) or too large (>2^128-1)
error InvalidNotionalValue();
InvalidTokenIdParameter
The TokenId provided by the user is malformed or invalid
error InvalidTokenIdParameter(uint256 parameterType);
Parameters
Name | Type | Description |
---|---|---|
parameterType | uint256 | poolId=0, ratio=1, tokenType=2, risk_partner=3, strike=4, width=5, two identical strike/width/tokenType chunks=6 |
UnauthorizedUniswapCallback
An unlock callback was attempted from an address other than the canonical Uniswap V4 pool manager
error UnauthorizedUniswapCallback();
NoLegsExercisable
PanopticPool: None of the legs in a position are force-exercisable (they are all either short or ATM long)
error NoLegsExercisable();
NotALongLeg
PanopticPool: The leg is not long, so premium cannot be settled through settleLongPremium
error NotALongLeg();
NotEnoughLiquidity
PanopticPool: There is not enough available liquidity in the chunk for one of the long legs to be created (or for one of the short legs to be closed)
error NotEnoughLiquidity();
NotMarginCalled
PanopticPool: Position is still solvent and cannot be liquidated
error NotMarginCalled();
NotPanopticPool
CollateralTracker: The caller for a permissioned function is not the Panoptic Pool
error NotPanopticPool();
PoolAlreadyInitialized
Uniswap pool has already been initialized in the SFPM or created in the factory
error PoolAlreadyInitialized();
PoolNotInitialized
SemiFungiblePositionManager: Tick range cannot be expanded on an an uninitialized pool
error PoolNotInitialized();
PositionAlreadyMinted
PanopticPool: A position with the given token ID has already been minted by the caller and is still open
error PositionAlreadyMinted();
PositionCountNotZero
CollateralTracker: The user has open/active option positions, so they cannot transfer collateral shares
error PositionCountNotZero();
PositionTooLarge
SFPM: The maximum token deltas (excluding swaps) for a position exceed (2^127 - 5) at some valid price
error PositionTooLarge();
PriceBoundFail
The current tick in the pool (post-ITM-swap) has fallen outside a user-defined open interval slippage range
error PriceBoundFail();
StaleTWAP
An oracle price is too far away from another oracle price or the current tick
This is a safeguard against price manipulation during option mints, burns, and liquidations
error StaleTWAP();
TooManyPositionsOpen
PanopticPool: An account has reached the maximum number of open positions and cannnot mint another
error TooManyPositionsOpen();
TransferFailed
ERC20 or SFPM (ERC1155) token transfer did not complete successfully
error TransferFailed();
InvalidTickBound
The tick range given by the strike price and width is invalid
because the upper and lower ticks are not initializable multiples of tickSpacing
or one of the ticks exceeds the MIN_TICK
or MAX_TICK
bounds
error InvalidTickBound();
UnderOverFlow
An operation in a library has failed due to an underflow or overflow
error UnderOverFlow();
UniswapPoolNotInitialized
The Uniswap Pool has not been created, so it cannot be used in the SFPM or have a PanopticPool created for it by the factory
error UniswapPoolNotInitialized();
ZeroLiquidity
SFPM: Mints/burns of zero-liquidity chunks in Uniswap are not supported
error ZeroLiquidity();