pub enum PerpetualsError {
Show 67 variants
MathOverflow = 6_000,
UnsupportedOracle = 6_001,
InvalidOracleAccount = 6_002,
StaleOraclePrice = 6_003,
InvalidOraclePrice = 6_004,
InvalidEnvironment = 6_005,
InvalidCollateralAccount = 6_006,
InvalidCollateralAmount = 6_007,
CollateralSlippage = 6_008,
InvalidPositionState = 6_009,
InvalidPerpetualsConfig = 6_010,
InvalidPoolConfig = 6_011,
InvalidInstruction = 6_012,
InvalidCustodyConfig = 6_013,
InvalidCustodyBalance = 6_014,
InvalidArgument = 6_015,
InvalidPositionRequest = 6_016,
InvalidPositionRequestInputAta = 6_017,
InvalidMint = 6_018,
InsufficientTokenAmount = 6_019,
InsufficientAmountReturned = 6_020,
MaxPriceSlippage = 6_021,
MaxLeverage = 6_022,
CustodyAmountLimit = 6_023,
PoolAmountLimit = 6_024,
PersonalPoolAmountLimit = 6_025,
UnsupportedToken = 6_026,
InstructionNotAllowed = 6_027,
JupiterProgramMismatch = 6_028,
ProgramMismatch = 6_029,
AddressMismatch = 6_030,
KeeperATAMissing = 6_031,
SwapAmountMismatch = 6_032,
CPINotAllowed = 6_033,
InvalidKeeper = 6_034,
ExceedExecutionPeriod = 6_035,
InvalidRequestType = 6_036,
InvalidTriggerPrice = 6_037,
TriggerPriceSlippage = 6_038,
MissingTriggerPrice = 6_039,
MissingPriceSlippage = 6_040,
InvalidPriceCalcMode = 6_041,
RequestUpdatedTooRecent = 6_042,
ExceedTokenWeightage = 6_043,
OraclePublishTimeTooEarly = 6_044,
PullOraclePublishTimeTooEarly = 6_045,
StalePullOraclePrice = 6_046,
InvalidPullOraclePrice = 6_047,
PullOracleNotVerified = 6_048,
PriceDiffTooLarge = 6_049,
InvalidDovesOraclePrice = 6_050,
InvalidRequestTime = 6_051,
PositionUpdatedTooRecent = 6_052,
LedgerTokenAccountDoesNotMatch = 6_053,
InvalidTokenLedger = 6_054,
OraclePriceDifferenceTooLarge = 6_055,
InvalidOracleSigner = 6_056,
InvalidOracleTimestamp = 6_057,
InvalidMaxGlobalLongSize = 6_058,
InvalidMaxGlobalShortSize = 6_059,
BorrowsDisabled = 6_060,
BorrowLimitsExceeded = 6_061,
WithdrawExceedsMarginLimits = 6_062,
CannotLiquidate = 6_063,
CannotDelegateStake = 6_064,
ExceededMaxTotalStakedAmount = 6_065,
LpTokenPriceChangeLimitExceeded = 6_066,
}Variants§
MathOverflow = 6_000
6000 - Overflow in arithmetic operation
UnsupportedOracle = 6_001
6001 - Unsupported price oracle
InvalidOracleAccount = 6_002
6002 - Invalid oracle account
StaleOraclePrice = 6_003
6003 - Stale oracle price
InvalidOraclePrice = 6_004
6004 - Invalid oracle price
InvalidEnvironment = 6_005
6005 - Instruction is not allowed in production
InvalidCollateralAccount = 6_006
6006 - Invalid collateral account
InvalidCollateralAmount = 6_007
6007 - Invalid collateral amount
CollateralSlippage = 6_008
6008 - Collateral slippage
InvalidPositionState = 6_009
6009 - Invalid position state
InvalidPerpetualsConfig = 6_010
6010 - Invalid perpetuals config
InvalidPoolConfig = 6_011
6011 - Invalid pool config
InvalidInstruction = 6_012
6012 - Invalid instruction
InvalidCustodyConfig = 6_013
6013 - Invalid custody config
InvalidCustodyBalance = 6_014
6014 - Invalid custody balance
InvalidArgument = 6_015
6015 - Invalid argument
InvalidPositionRequest = 6_016
6016 - Invalid position request
InvalidPositionRequestInputAta = 6_017
6017 - Invalid position request input ata
InvalidMint = 6_018
6018 - Invalid mint
InsufficientTokenAmount = 6_019
6019 - Insufficient token amount
InsufficientAmountReturned = 6_020
6020 - Insufficient token amount returned
MaxPriceSlippage = 6_021
6021 - Price slippage limit exceeded
MaxLeverage = 6_022
6022 - Position leverage limit exceeded
CustodyAmountLimit = 6_023
6023 - Custody amount limit exceeded
PoolAmountLimit = 6_024
6024 - Pool amount limit exceeded
PersonalPoolAmountLimit = 6_025
6025 - Personal pool amount limit exceeded
UnsupportedToken = 6_026
6026 - Token is not supported
InstructionNotAllowed = 6_027
6027 - Instruction is not allowed at this time
JupiterProgramMismatch = 6_028
6028 - Jupiter Program ID mismatch
ProgramMismatch = 6_029
6029 - Program ID mismatch
AddressMismatch = 6_030
6030 - Address mismatch
KeeperATAMissing = 6_031
6031 - Missing keeper ATA
SwapAmountMismatch = 6_032
6032 - Swap amount mismatch
CPINotAllowed = 6_033
6033 - CPI not allowed
InvalidKeeper = 6_034
6034 - Invalid Keeper
ExceedExecutionPeriod = 6_035
6035 - Exceed execution period
InvalidRequestType = 6_036
6036 - Invalid Request Type
InvalidTriggerPrice = 6_037
6037 - Invalid Trigger Price
TriggerPriceSlippage = 6_038
6038 - Trigger Price Slippage
MissingTriggerPrice = 6_039
6039 - Missing Trigger Price
MissingPriceSlippage = 6_040
6040 - Missing Price Slippage
InvalidPriceCalcMode = 6_041
6041 - Invalid Price Calc Mode
RequestUpdatedTooRecent = 6_042
6042 - Request Updated Too Recent
ExceedTokenWeightage = 6_043
6043 - Exceed Token Weightage
OraclePublishTimeTooEarly = 6_044
6044 - Oracle Publish Time Too Early
PullOraclePublishTimeTooEarly = 6_045
6045 - Pull Oracle Publish Time Too Early
StalePullOraclePrice = 6_046
6046 - Stale Pull Oracle Price
InvalidPullOraclePrice = 6_047
6047 - Invalid Pull Oracle Price
PullOracleNotVerified = 6_048
6048 - Pull Oracle Not Verified
PriceDiffTooLarge = 6_049
6049 - Price Diff Between Pull and Push Oracle is Too Large
InvalidDovesOraclePrice = 6_050
6050 - Invalid Doves Oracle Price
InvalidRequestTime = 6_051
6051 - Invalid Request Time
PositionUpdatedTooRecent = 6_052
6052 - Position Updated Too Recent
LedgerTokenAccountDoesNotMatch = 6_053
6053 - Ledger token account does not match
InvalidTokenLedger = 6_054
6054 - Invalid token ledger
OraclePriceDifferenceTooLarge = 6_055
6055 - Oracle Price Difference Too Large
InvalidOracleSigner = 6_056
6056 - Invalid Oracle Signer
InvalidOracleTimestamp = 6_057
6057 - Invalid Oracle Timestamp
InvalidMaxGlobalLongSize = 6_058
6058 - New Max Global Long Size Too Low
InvalidMaxGlobalShortSize = 6_059
6059 - New Max Global Short Size Too Low
BorrowsDisabled = 6_060
6060 - Borrows disabled for this custody
BorrowLimitsExceeded = 6_061
6061 - Borrows limit exceeded for this custody
WithdrawExceedsMarginLimits = 6_062
6062 - Withdraw exceeds margin of the custody
CannotLiquidate = 6_063
6063 - Cannot liquidate
CannotDelegateStake = 6_064
6064 - Cannot delegate stake to deactivated account
ExceededMaxTotalStakedAmount = 6_065
6065 - Max total staked amount exceeded
LpTokenPriceChangeLimitExceeded = 6_066
6066 - LP token price change exceeds limit
Trait Implementations§
Source§impl Clone for PerpetualsError
impl Clone for PerpetualsError
Source§fn clone(&self) -> PerpetualsError
fn clone(&self) -> PerpetualsError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PerpetualsError
impl Debug for PerpetualsError
Source§impl Display for PerpetualsError
impl Display for PerpetualsError
impl Eq for PerpetualsError
Source§impl Error for PerpetualsError
impl Error for PerpetualsError
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
use the Display impl or to_string()
Source§impl From<PerpetualsError> for ProgramError
impl From<PerpetualsError> for ProgramError
Source§fn from(e: PerpetualsError) -> Self
fn from(e: PerpetualsError) -> Self
Source§impl FromPrimitive for PerpetualsError
impl FromPrimitive for PerpetualsError
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 moreSource§impl PartialEq for PerpetualsError
impl PartialEq for PerpetualsError
Source§fn eq(&self, other: &PerpetualsError) -> bool
fn eq(&self, other: &PerpetualsError) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PerpetualsError
Auto Trait Implementations§
impl Freeze for PerpetualsError
impl RefUnwindSafe for PerpetualsError
impl Send for PerpetualsError
impl Sync for PerpetualsError
impl Unpin for PerpetualsError
impl UnsafeUnpin for PerpetualsError
impl UnwindSafe for PerpetualsError
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> 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§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<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> 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.