Skip to main content

Errors

Git Source

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

NameTypeDescription
parameterTypeuint256poolId=0, ratio=1, tokenType=2, risk_partner=3, strike=4, width=5, two identical strike/width/tokenType chunks=6

InvalidUniswapCallback

A mint or swap callback was attempted from an address that did not match the canonical Uniswap V3 pool with the claimed features

error InvalidUniswapCallback();

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();

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();