Enum TunaError

Source
pub enum TunaError {
Show 63 variants AmountSlippageExceeded = 6_000, BadDebt = 6_001, InvalidRemainingAccountsLength = 6_002, InvalidAccountOwner = 6_003, InvalidInstructionArguments = 6_004, InvalidMarketMaker = 6_005, InvalidSqrtPriceLimitDirection = 6_006, InvalidTickArraySequence = 6_007, InsufficientLiquidity = 6_008, InterestRateIsOutOfRange = 6_009, LeverageIsOutOfRange = 6_010, LeftoversExceeded = 6_011, LimitOrderExecutionFeeIsOutOfRange = 6_012, LiquidationFeeIsOutOfRange = 6_013, LiquidationThresholdIsOutOfRange = 6_014, LiquidityZero = 6_015, MarketDisabled = 6_016, MarketDebtLimitExceeded = 6_017, MathOverflow = 6_018, MathUnderflow = 6_019, NoExtraAccountsForTransferHook = 6_020, OracleStalePrice = 6_021, OraclePriceDeviationThresholdExceeded = 6_022, OraclePriceDeviationThresholdOutOfRange = 6_023, PartialFillError = 6_024, PositionIsHealthy = 6_025, PositionIsLiquidated = 6_026, PositionIsUnhealthy = 6_027, PositionNotEmpty = 6_028, ProtocolFeeIsOutOfRange = 6_029, RebalanceConditionsNotMet = 6_030, RemainingAccountsDuplicatedAccountsType = 6_031, RemainingAccountsInvalidSlice = 6_032, RemainingAccountsInvalidSliceLength = 6_033, RemainingAccountsInsufficient = 6_034, RequiredRemainingAccountNotProvided = 6_035, SolverFailedToFindRoot = 6_036, SqrtPriceOutOfBounds = 6_037, SupplyLimitExceeded = 6_038, Suspended = 6_039, SwapSlippageExceeded = 6_040, SwapSlippageIsOutOfRange = 6_041, SwapToPositionRatioEstimationFailed = 6_042, SwapQuoteNotEqualToActualSwapAmount = 6_043, TickIndexOfBounds = 6_044, TransferFeeCalculationError = 6_045, TypeCastOverflow = 6_046, UnableToLoadAccountData = 6_047, UnableToDeserializeAccountData = 6_048, UnexpectedValue = 6_049, UnsupportedTokenMint = 6_050, VaultNotInitialized = 6_051, WithdrawRequestExceedsUserBalance = 6_052, ZeroPriceRange = 6_053, ZeroTradableAmount = 6_054, ZeroYield = 6_055, RaydiumInvalidFirstTickArrayAccount = 6_056, RaydiumInvalidTickArray = 6_057, RaydiumInvaildTickIndex = 6_058, RaydiumMaxTokenOverflow = 6_059, RaydiumNotEnoughTickArrayAccount = 6_060, RaydiumSqrtPriceLimitOverflow = 6_061, RaydiumZeroAmountSpecified = 6_062,
}

Variants§

§

AmountSlippageExceeded = 6_000

6000 - Amount slippage exceeded

§

BadDebt = 6_001

6001 - Bad debt is not allowed for the executed instruction

§

InvalidRemainingAccountsLength = 6_002

6002 - Invalid number of remaining accounts

§

InvalidAccountOwner = 6_003

6003 - Invalid account owner

§

InvalidInstructionArguments = 6_004

6004 - Invalid instruction arguments

§

InvalidMarketMaker = 6_005

6005 - Invalid market maker

§

InvalidSqrtPriceLimitDirection = 6_006

6006 - Provided SqrtPriceLimit not in the same direction as the swap.

§

InvalidTickArraySequence = 6_007

6007 - Invalid tick array sequence provided for instruction

§

InsufficientLiquidity = 6_008

6008 - Insufficient liquidity

§

InterestRateIsOutOfRange = 6_009

6009 - Interest rate is out of range

§

LeverageIsOutOfRange = 6_010

6010 - Leverage is out or range

§

LeftoversExceeded = 6_011

6011 - Leftovers percentage exceeded the maximum allowed value

§

LimitOrderExecutionFeeIsOutOfRange = 6_012

6012 - Limit order execution fee is out of range

§

LiquidationFeeIsOutOfRange = 6_013

6013 - Liquidation fee is out of range

§

LiquidationThresholdIsOutOfRange = 6_014

6014 - Liquidation threshold is out of range

§

LiquidityZero = 6_015

6015 - Liquidity amount must be greater than zero.

§

MarketDisabled = 6_016

6016 - Market is disabled

§

MarketDebtLimitExceeded = 6_017

6017 - Exceed the maximum allowed debt for the market

§

MathOverflow = 6_018

6018 - Math overflow

§

MathUnderflow = 6_019

6019 - Math underflow

§

NoExtraAccountsForTransferHook = 6_020

6020 - Unable to call transfer hook without extra accounts

§

OracleStalePrice = 6_021

6021 - Oracle price is stale

§

OraclePriceDeviationThresholdExceeded = 6_022

6022 - OraclePriceDeviationThresholdExceeded

§

OraclePriceDeviationThresholdOutOfRange = 6_023

6023 - OraclePriceDeviationThresholdOutOfRange

§

PartialFillError = 6_024

6024 - Trade resulted in partial fill

§

PositionIsHealthy = 6_025

6025 - Position is healthy

§

PositionIsLiquidated = 6_026

6026 - Position is already liquidated

§

PositionIsUnhealthy = 6_027

6027 - Position is unhealthy

§

PositionNotEmpty = 6_028

6028 - Position is not empty

§

ProtocolFeeIsOutOfRange = 6_029

6029 - Protocol fee is out of range

§

RebalanceConditionsNotMet = 6_030

6030 - Rebalance conditions are not met

§

RemainingAccountsDuplicatedAccountsType = 6_031

6031 - Same accounts type is provided more than once

§

RemainingAccountsInvalidSlice = 6_032

6032 - Invalid remaining accounts

§

RemainingAccountsInvalidSliceLength = 6_033

6033 - Invalid remaining accounts slice length

§

RemainingAccountsInsufficient = 6_034

6034 - Insufficient remaining accounts

§

RequiredRemainingAccountNotProvided = 6_035

6035 - Required remaining account is not provided

§

SolverFailedToFindRoot = 6_036

6036 - Swap equation solver failed to t find the root

§

SqrtPriceOutOfBounds = 6_037

6037 - Provided sqrt price out of bounds

§

SupplyLimitExceeded = 6_038

6038 - Lending vault supply limit exceeded

§

Suspended = 6_039

6039 - Instruction is suspended

§

SwapSlippageExceeded = 6_040

6040 - Maximum allowed swap slippage is exceeded

§

SwapSlippageIsOutOfRange = 6_041

6041 - Provided swap slippage value is out of range

§

SwapToPositionRatioEstimationFailed = 6_042

6042 - Swap to position ratio estimation failed

§

SwapQuoteNotEqualToActualSwapAmount = 6_043

6043 - Swap quote amount is not equal to the actual swap amount

§

TickIndexOfBounds = 6_044

6044 - Tick index is out of bounds

§

TransferFeeCalculationError = 6_045

6045 - Transfer fee calculation failed

§

TypeCastOverflow = 6_046

6046 - Type cast overflow

§

UnableToLoadAccountData = 6_047

6047 - Unable to load the account data

§

UnableToDeserializeAccountData = 6_048

6048 - Unable to deserialize the account data

§

UnexpectedValue = 6_049

6049 - Unexpected value

§

UnsupportedTokenMint = 6_050

6050 - Token mint has unsupported attributes

§

VaultNotInitialized = 6_051

6051 - Lending vault is not initialized

§

WithdrawRequestExceedsUserBalance = 6_052

6052 - Withdraw request the exceeds user balance

§

ZeroPriceRange = 6_053

6053 - Zero price range: the lower price is equal to upper price)

§

ZeroTradableAmount = 6_054

6054 - There are no tradable amount to swap.

§

ZeroYield = 6_055

6055 - Collected yield is zero

§

RaydiumInvalidFirstTickArrayAccount = 6_056

6056 - RaydiumInvalidFirstTickArrayAccount

§

RaydiumInvalidTickArray = 6_057

6057 - RaydiumInvalidTickArray

§

RaydiumInvaildTickIndex = 6_058

6058 - RaydiumInvaildTickIndex

§

RaydiumMaxTokenOverflow = 6_059

6059 - RaydiumMaxTokenOverflow

§

RaydiumNotEnoughTickArrayAccount = 6_060

6060 - RaydiumNotEnoughTickArrayAccount

§

RaydiumSqrtPriceLimitOverflow = 6_061

6061 - RaydiumSqrtPriceLimitOverflow

§

RaydiumZeroAmountSpecified = 6_062

6062 - RaydiumZeroAmountSpecified

Trait Implementations§

Source§

impl Clone for TunaError

Source§

fn clone(&self) -> TunaError

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TunaError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T> DecodeError<T> for TunaError

Source§

fn type_of() -> &'static str

👎Deprecated since 2.3.0: Use num_traits::FromPrimitive instead
Source§

fn decode_custom_error_to_enum(custom: u32) -> Option<E>
where E: FromPrimitive,

👎Deprecated since 2.3.0: Use num_traits::FromPrimitive instead
Source§

impl Display for TunaError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for TunaError

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl FromPrimitive for TunaError

Source§

fn from_i64(n: i64) -> Option<Self>

Converts an 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>

Converts an 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>

Converts an 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>

Converts an 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>

Converts an 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>

Converts an 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>

Converts an i128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Source§

fn from_usize(n: usize) -> Option<Self>

Converts a 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>

Converts an 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>

Converts an 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>

Converts an 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>

Converts an u128 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Source§

fn from_f32(n: f32) -> Option<Self>

Converts a f32 to return an optional value of this type. If the value cannot be represented by this type, then None is returned.
Source§

fn from_f64(n: f64) -> Option<Self>

Converts a f64 to return an optional value of this type. If the value cannot be represented by this type, then None is returned. Read more
Source§

impl PartialEq for TunaError

Source§

fn eq(&self, other: &TunaError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PrintProgramError for TunaError

Source§

fn print<E>(&self)

👎Deprecated since 2.2.2: Use ToStr instead with solana_msg::msg! or any other logging
Source§

impl Eq for TunaError

Source§

impl StructuralPartialEq for TunaError

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

Source§

impl<T> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<Src, Dst> LosslessTryInto<Dst> for Src
where Dst: LosslessTryFrom<Src>,

Source§

fn lossless_try_into(self) -> Option<Dst>

Performs the conversion.
Source§

impl<Src, Dst> LossyInto<Dst> for Src
where Dst: LossyFrom<Src>,

Source§

fn lossy_into(self) -> Dst

Performs the conversion.
Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> ErasedDestructor for T
where T: 'static,