pub enum WhirlpoolError {
Show 58 variants
InvalidEnum = 6_000,
InvalidStartTick = 6_001,
TickArrayExistInPool = 6_002,
TickArrayIndexOutofBounds = 6_003,
InvalidTickSpacing = 6_004,
ClosePositionNotEmpty = 6_005,
DivideByZero = 6_006,
NumberCastError = 6_007,
NumberDownCastError = 6_008,
TickNotFound = 6_009,
InvalidTickIndex = 6_010,
SqrtPriceOutOfBounds = 6_011,
LiquidityZero = 6_012,
LiquidityTooHigh = 6_013,
LiquidityOverflow = 6_014,
LiquidityUnderflow = 6_015,
LiquidityNetError = 6_016,
TokenMaxExceeded = 6_017,
TokenMinSubceeded = 6_018,
MissingOrInvalidDelegate = 6_019,
InvalidPositionTokenAmount = 6_020,
InvalidTimestampConversion = 6_021,
InvalidTimestamp = 6_022,
InvalidTickArraySequence = 6_023,
InvalidTokenMintOrder = 6_024,
RewardNotInitialized = 6_025,
InvalidRewardIndex = 6_026,
RewardVaultAmountInsufficient = 6_027,
FeeRateMaxExceeded = 6_028,
ProtocolFeeRateMaxExceeded = 6_029,
MultiplicationShiftRightOverflow = 6_030,
MulDivOverflow = 6_031,
MulDivInvalidInput = 6_032,
MultiplicationOverflow = 6_033,
InvalidSqrtPriceLimitDirection = 6_034,
ZeroTradableAmount = 6_035,
AmountOutBelowMinimum = 6_036,
AmountInAboveMaximum = 6_037,
TickArraySequenceInvalidIndex = 6_038,
AmountCalcOverflow = 6_039,
AmountRemainingOverflow = 6_040,
InvalidIntermediaryMint = 6_041,
DuplicateTwoHopPool = 6_042,
InvalidBundleIndex = 6_043,
BundledPositionAlreadyOpened = 6_044,
BundledPositionAlreadyClosed = 6_045,
PositionBundleNotDeletable = 6_046,
UnsupportedTokenMint = 6_047,
RemainingAccountsInvalidSlice = 6_048,
RemainingAccountsInsufficient = 6_049,
NoExtraAccountsForTransferHook = 6_050,
IntermediateTokenAmountMismatch = 6_051,
TransferFeeCalculationError = 6_052,
RemainingAccountsDuplicatedAccountsType = 6_053,
FullRangeOnlyPool = 6_054,
TooManySupplementalTickArrays = 6_055,
DifferentWhirlpoolTickArrayAccount = 6_056,
PartialFillError = 6_057,
}
Variants§
InvalidEnum = 6_000
6000 - Enum value could not be converted
InvalidStartTick = 6_001
6001 - Invalid start tick index provided.
TickArrayExistInPool = 6_002
6002 - Tick-array already exists in this whirlpool
TickArrayIndexOutofBounds = 6_003
6003 - Attempt to search for a tick-array failed
InvalidTickSpacing = 6_004
6004 - Tick-spacing is not supported
ClosePositionNotEmpty = 6_005
6005 - Position is not empty It cannot be closed
DivideByZero = 6_006
6006 - Unable to divide by zero
NumberCastError = 6_007
6007 - Unable to cast number into BigInt
NumberDownCastError = 6_008
6008 - Unable to down cast number
TickNotFound = 6_009
6009 - Tick not found within tick array
InvalidTickIndex = 6_010
6010 - Provided tick index is either out of bounds or uninitializable
SqrtPriceOutOfBounds = 6_011
6011 - Provided sqrt price out of bounds
LiquidityZero = 6_012
6012 - Liquidity amount must be greater than zero
LiquidityTooHigh = 6_013
6013 - Liquidity amount must be less than i64::MAX
LiquidityOverflow = 6_014
6014 - Liquidity overflow
LiquidityUnderflow = 6_015
6015 - Liquidity underflow
LiquidityNetError = 6_016
6016 - Tick liquidity net underflowed or overflowed
TokenMaxExceeded = 6_017
6017 - Exceeded token max
TokenMinSubceeded = 6_018
6018 - Did not meet token min
MissingOrInvalidDelegate = 6_019
6019 - Position token account has a missing or invalid delegate
InvalidPositionTokenAmount = 6_020
6020 - Position token amount must be 1
InvalidTimestampConversion = 6_021
6021 - Timestamp should be convertible from i64 to u64
InvalidTimestamp = 6_022
6022 - Timestamp should be greater than the last updated timestamp
InvalidTickArraySequence = 6_023
6023 - Invalid tick array sequence provided for instruction.
InvalidTokenMintOrder = 6_024
6024 - Token Mint in wrong order
RewardNotInitialized = 6_025
6025 - Reward not initialized
InvalidRewardIndex = 6_026
6026 - Invalid reward index
RewardVaultAmountInsufficient = 6_027
6027 - Reward vault requires amount to support emissions for at least one day
FeeRateMaxExceeded = 6_028
6028 - Exceeded max fee rate
ProtocolFeeRateMaxExceeded = 6_029
6029 - Exceeded max protocol fee rate
MultiplicationShiftRightOverflow = 6_030
6030 - Multiplication with shift right overflow
MulDivOverflow = 6_031
6031 - Muldiv overflow
MulDivInvalidInput = 6_032
6032 - Invalid div_u256 input
MultiplicationOverflow = 6_033
6033 - Multiplication overflow
InvalidSqrtPriceLimitDirection = 6_034
6034 - Provided SqrtPriceLimit not in the same direction as the swap.
ZeroTradableAmount = 6_035
6035 - There are no tradable amount to swap.
AmountOutBelowMinimum = 6_036
6036 - Amount out below minimum threshold
AmountInAboveMaximum = 6_037
6037 - Amount in above maximum threshold
TickArraySequenceInvalidIndex = 6_038
6038 - Invalid index for tick array sequence
AmountCalcOverflow = 6_039
6039 - Amount calculated overflows
AmountRemainingOverflow = 6_040
6040 - Amount remaining overflows
InvalidIntermediaryMint = 6_041
6041 - Invalid intermediary mint
DuplicateTwoHopPool = 6_042
6042 - Duplicate two hop pool
InvalidBundleIndex = 6_043
6043 - Bundle index is out of bounds
BundledPositionAlreadyOpened = 6_044
6044 - Position has already been opened
BundledPositionAlreadyClosed = 6_045
6045 - Position has already been closed
PositionBundleNotDeletable = 6_046
6046 - Unable to delete PositionBundle with open positions
UnsupportedTokenMint = 6_047
6047 - Token mint has unsupported attributes
RemainingAccountsInvalidSlice = 6_048
6048 - Invalid remaining accounts
RemainingAccountsInsufficient = 6_049
6049 - Insufficient remaining accounts
NoExtraAccountsForTransferHook = 6_050
6050 - Unable to call transfer hook without extra accounts
IntermediateTokenAmountMismatch = 6_051
6051 - Output and input amount mismatch
TransferFeeCalculationError = 6_052
6052 - Transfer fee calculation failed
RemainingAccountsDuplicatedAccountsType = 6_053
6053 - Same accounts type is provided more than once
FullRangeOnlyPool = 6_054
6054 - This whirlpool only supports full-range positions
TooManySupplementalTickArrays = 6_055
6055 - Too many supplemental tick arrays provided
DifferentWhirlpoolTickArrayAccount = 6_056
6056 - TickArray account for different whirlpool provided
PartialFillError = 6_057
6057 - Trade resulted in partial fill
Trait Implementations§
§impl Clone for WhirlpoolError
impl Clone for WhirlpoolError
§fn clone(&self) -> WhirlpoolError
fn clone(&self) -> WhirlpoolError
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for WhirlpoolError
impl Debug for WhirlpoolError
§impl Display for WhirlpoolError
impl Display for WhirlpoolError
§impl Error for WhirlpoolError
impl Error for WhirlpoolError
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
§impl FromPrimitive for WhirlpoolError
impl FromPrimitive for WhirlpoolError
§fn from_i64(n: i64) -> Option<WhirlpoolError>
fn from_i64(n: i64) -> Option<WhirlpoolError>
i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.§fn from_u64(n: u64) -> Option<WhirlpoolError>
fn from_u64(n: u64) -> Option<WhirlpoolError>
u64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i8(n: i8) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i16(n: i16) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i32(n: i32) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i128(n: i128) -> Option<Self>
fn from_i128(n: i128) -> Option<Self>
i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moresource§fn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u16(n: u16) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u32(n: u32) -> Option<Self>
fn from_u32(n: u32) -> Option<Self>
u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u128(n: u128) -> Option<Self>
fn from_u128(n: u128) -> Option<Self>
u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more§impl PartialEq for WhirlpoolError
impl PartialEq for WhirlpoolError
§impl PrintProgramError for WhirlpoolError
impl PrintProgramError for WhirlpoolError
impl Eq for WhirlpoolError
impl StructuralPartialEq for WhirlpoolError
Auto Trait Implementations§
impl Freeze for WhirlpoolError
impl RefUnwindSafe for WhirlpoolError
impl Send for WhirlpoolError
impl Sync for WhirlpoolError
impl Unpin for WhirlpoolError
impl UnwindSafe for WhirlpoolError
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more