pub enum TunaError {
Show 63 variants
TypeCastOverflow = 12_500,
MathOverflow = 12_501,
MathUnderflow = 12_502,
VaultNotInitialized = 12_559,
WithdrawRequestExceedsUserBalance = 12_560,
ZeroPriceRange = 12_561,
AmountSlippageExceeded = 12_600,
BadDebt = 12_601,
InvalidRemainingAccountsLength = 12_602,
InvalidInstructionArguments = 12_603,
InvalidMarketMaker = 12_604,
InvalidAccountDiscriminator = 12_605,
InvalidAccountOwner = 12_606,
InvalidPool = 12_607,
InvalidVault = 12_608,
InsufficientLiquidity = 12_609,
InterestRateIsOutOfRange = 12_610,
LeverageIsOutOfRange = 12_611,
LeftoversExceeded = 12_612,
LiquidationFeeIsOutOfRange = 12_613,
LiquidationThresholdIsOutOfRange = 12_614,
MarketDisabled = 12_615,
MarketDebtLimitExceeded = 12_616,
NoExtraAccountsForTransferHook = 12_617,
OracleStalePrice = 12_618,
OraclePriceDeviationThresholdExceeded = 12_619,
OraclePriceDeviationThresholdOutOfRange = 12_620,
PositionIsHealthy = 12_622,
PositionIsLiquidated = 12_623,
PositionIsUnhealthy = 12_624,
PositionNotEmpty = 12_625,
PositionIsEmpty = 12_626,
PositionIsAutoRebalanceable = 12_627,
PositionSizeLimitExceeded = 12_628,
ProtocolFeeIsOutOfRange = 12_640,
RebalanceConditionsNotMet = 12_641,
RemainingAccountsDuplicatedAccountsType = 12_642,
RemainingAccountsInvalidSlice = 12_643,
RemainingAccountsInvalidSliceLength = 12_644,
RemainingAccountsInsufficient = 12_645,
RequiredRemainingAccountNotProvided = 12_646,
SolverFailedToFindRoot = 12_647,
SupplyLimitExceeded = 12_648,
Suspended = 12_649,
SwapSlippageExceeded = 12_650,
SwapSlippageIsOutOfRange = 12_651,
SwapToPositionRatioEstimationFailed = 12_652,
SwapQuoteNotEqualToActualSwapAmount = 12_653,
TransferFeeCalculationError = 12_654,
UnableToLoadAccountData = 12_655,
UnableToDeserializeAccountData = 12_656,
UnexpectedValue = 12_657,
UnsupportedTokenMint = 12_658,
ZeroYield = 12_662,
ZeroAmount = 12_663,
IncorrectPositionDirection = 12_670,
RecipientAccountIsNotSet = 12_671,
MAPriceDeviationThresholdExceeded = 12_672,
InvalidJupiterRoute = 12_673,
InsufficientSwapOutputAmount = 12_674,
IncorrectSwapInputAmount = 12_675,
IncorrectSwapOutputAmount = 12_676,
AccountNotInitialized = 12_677,
}Variants§
TypeCastOverflow = 12_500
12500 - Type cast overflow
MathOverflow = 12_501
12501 - Math overflow
MathUnderflow = 12_502
12502 - Math underflow
VaultNotInitialized = 12_559
12559 - Lending vault is not initialized
WithdrawRequestExceedsUserBalance = 12_560
12560 - Withdraw request the exceeds user balance
ZeroPriceRange = 12_561
12561 - Zero price range: the lower price is equal to upper price)
AmountSlippageExceeded = 12_600
12600 - Amount slippage exceeded
BadDebt = 12_601
12601 - Bad debt is not allowed for the executed instruction
InvalidRemainingAccountsLength = 12_602
12602 - Invalid number of remaining accounts
InvalidInstructionArguments = 12_603
12603 - Invalid instruction arguments
InvalidMarketMaker = 12_604
12604 - Invalid market maker
InvalidAccountDiscriminator = 12_605
12605 - Invalid account discriminator
InvalidAccountOwner = 12_606
12606 - Invalid account owner
InvalidPool = 12_607
12607 - Invalid Fusion or Orca pool
InvalidVault = 12_608
12608 - Vault address is invalid
InsufficientLiquidity = 12_609
12609 - Insufficient liquidity
InterestRateIsOutOfRange = 12_610
12610 - Interest rate is out of range
LeverageIsOutOfRange = 12_611
12611 - Leverage is out or range
LeftoversExceeded = 12_612
12612 - Leftovers percentage exceeded the maximum allowed value
LiquidationFeeIsOutOfRange = 12_613
12613 - Liquidation fee is out of range
LiquidationThresholdIsOutOfRange = 12_614
12614 - Liquidation threshold is out of range
MarketDisabled = 12_615
12615 - Market is disabled
MarketDebtLimitExceeded = 12_616
12616 - Exceed the maximum allowed debt for the market
NoExtraAccountsForTransferHook = 12_617
12617 - Unable to call transfer hook without extra accounts
OracleStalePrice = 12_618
12618 - Oracle price is stale
OraclePriceDeviationThresholdExceeded = 12_619
12619 - Oracle price deviation threshold exceeded
OraclePriceDeviationThresholdOutOfRange = 12_620
12620 - Oracle price deviation threshold out of range
PositionIsHealthy = 12_622
12622 - Position is healthy
PositionIsLiquidated = 12_623
12623 - Position is already liquidated
PositionIsUnhealthy = 12_624
12624 - Position is unhealthy
PositionNotEmpty = 12_625
12625 - Position is not empty
PositionIsEmpty = 12_626
12626 - Position is empty
PositionIsAutoRebalanceable = 12_627
12627 - Unable to claim yield for auto re-balanceable positions
PositionSizeLimitExceeded = 12_628
12628 - Position size exceeds the maximum allowed value
ProtocolFeeIsOutOfRange = 12_640
12640 - Protocol fee is out of range
RebalanceConditionsNotMet = 12_641
12641 - Rebalance conditions are not met
RemainingAccountsDuplicatedAccountsType = 12_642
12642 - Same accounts type is provided more than once
RemainingAccountsInvalidSlice = 12_643
12643 - Invalid remaining accounts
RemainingAccountsInvalidSliceLength = 12_644
12644 - Invalid remaining accounts slice length
RemainingAccountsInsufficient = 12_645
12645 - Insufficient remaining accounts
RequiredRemainingAccountNotProvided = 12_646
12646 - Required remaining account is not provided
SolverFailedToFindRoot = 12_647
12647 - Swap equation solver failed to t find the root
SupplyLimitExceeded = 12_648
12648 - Lending vault supply limit exceeded
Suspended = 12_649
12649 - Instruction is suspended
SwapSlippageExceeded = 12_650
12650 - Maximum allowed swap slippage is exceeded
SwapSlippageIsOutOfRange = 12_651
12651 - Provided swap slippage value is out of range
SwapToPositionRatioEstimationFailed = 12_652
12652 - Swap to position ratio estimation failed
SwapQuoteNotEqualToActualSwapAmount = 12_653
12653 - Swap quote amount is not equal to the actual swap amount
TransferFeeCalculationError = 12_654
12654 - Transfer fee calculation failed
UnableToLoadAccountData = 12_655
12655 - Unable to load the account data
UnableToDeserializeAccountData = 12_656
12656 - Unable to deserialize the account data
UnexpectedValue = 12_657
12657 - Unexpected value
UnsupportedTokenMint = 12_658
12658 - Token mint has unsupported attributes
ZeroYield = 12_662
12662 - Collected yield is zero
ZeroAmount = 12_663
12663 - Position amount is zero
IncorrectPositionDirection = 12_670
12670 - Incorrect position direction
RecipientAccountIsNotSet = 12_671
12671 - Optional recipient account is not set
MAPriceDeviationThresholdExceeded = 12_672
12672 - Moving Average price deviation threshold exceeded
InvalidJupiterRoute = 12_673
12673 - Invalid jupiter route data
InsufficientSwapOutputAmount = 12_674
12674 - Insufficient swap output amount
IncorrectSwapInputAmount = 12_675
12675 - Incorrect swap input amount
IncorrectSwapOutputAmount = 12_676
12676 - Incorrect swap output amount
AccountNotInitialized = 12_677
12677 - Account is not initialized
Trait Implementations§
Source§impl Error for TunaError
impl Error for TunaError
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
Source§impl From<TunaError> for ProgramError
impl From<TunaError> for ProgramError
Source§impl FromPrimitive for TunaError
impl FromPrimitive for TunaError
Source§fn from_i64(n: i64) -> Option<Self>
fn from_i64(n: i64) -> Option<Self>
i64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned.Source§fn from_u64(n: u64) -> Option<Self>
fn from_u64(n: u64) -> Option<Self>
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 moreimpl Eq for TunaError
impl StructuralPartialEq for TunaError
Auto Trait Implementations§
impl Freeze for TunaError
impl RefUnwindSafe for TunaError
impl Send for TunaError
impl Sync for TunaError
impl Unpin for TunaError
impl UnwindSafe for TunaError
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 moreSource§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
Source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
Source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.