pub enum SatrushError {
Show 52 variants
Unauthorized = 6_000,
RoundInProgress = 6_001,
InvalidRoundId = 6_002,
InvalidRoundDuration = 6_003,
InvalidEntropy = 6_004,
RoundNotActive = 6_005,
InvalidDeploymentAmount = 6_006,
InvalidSelectionMask = 6_007,
MathOverflow = 6_008,
MathUnderflow = 6_009,
AlreadyRevealed = 6_010,
InvalidSlotHash = 6_011,
RoundNotRevealed = 6_012,
RoundNotFinished = 6_013,
RoundNotSettled = 6_014,
InvalidSwapProgram = 6_015,
AlreadySwapped = 6_016,
SwapOverspent = 6_017,
SlippageExceeded = 6_018,
InvalidShareAmount = 6_019,
InsufficientShares = 6_020,
StrikeAlreadyTriggered = 6_021,
EpochNotOpen = 6_022,
EpochWindowNotElapsed = 6_023,
EpochNotSettling = 6_024,
EpochNotSettled = 6_025,
EpochInvalidPage = 6_026,
EpochNotAWinner = 6_027,
EpochAlreadyClaimed = 6_028,
EpochMaxParticipants = 6_029,
InvalidTicketsCount = 6_030,
InsufficientHashrate = 6_031,
OneBtcNotOpen = 6_032,
OneBtcNotSettled = 6_033,
OneBtcNotTriggerable = 6_034,
OneBtcNoParticipants = 6_035,
OneBtcNotAWinner = 6_036,
OneBtcWinningTicketLocked = 6_037,
EpochPageAlreadySealed = 6_038,
EpochPageNotSealed = 6_039,
EpochSealMismatch = 6_040,
TreasuryEmpty = 6_041,
InvalidClaimAmount = 6_042,
InsufficientUnclaimedUsd = 6_043,
InsufficientAutomationBalance = 6_044,
InvalidAutomationAmount = 6_045,
InvalidAutomationStrategyMask = 6_046,
DeployAmountBelowMinimum = 6_047,
InvalidEpochIterationDuration = 6_048,
InvalidUnclaimedHashrateBps = 6_049,
InvalidStrikeTriggerModulus = 6_050,
InvalidSwapBps = 6_051,
}Variants§
6000 - Signer is not authorized to execute this instruction
RoundInProgress = 6_001
6001 - Ongoing round is not yet finished
InvalidRoundId = 6_002
6002 - Invalid round id supplied to create round
InvalidRoundDuration = 6_003
6003 - Round duration must be greater than zero
InvalidEntropy = 6_004
6004 - Entropy value is invalid
RoundNotActive = 6_005
6005 - Round is not accepting deploys
InvalidDeploymentAmount = 6_006
6006 - Deployment amount must be greater than zero
InvalidSelectionMask = 6_007
6007 - Selection mask must pick between 1 and 21 tiles within the 21-bit range
MathOverflow = 6_008
6008 - Arithmetic overflow
MathUnderflow = 6_009
6009 - Arithmetic underflow
AlreadyRevealed = 6_010
6010 - Round winning tile has already been revealed
InvalidSlotHash = 6_011
6011 - Slot hash entropy is unavailable or invalid
RoundNotRevealed = 6_012
6012 - Round winning tile has not been revealed yet
RoundNotFinished = 6_013
6013 - Round is not in the finished state
RoundNotSettled = 6_014
6014 - Round is not in the settled state
InvalidSwapProgram = 6_015
6015 - Swap program account does not match the configured swap program
AlreadySwapped = 6_016
6016 - Round stake has already been swapped into BTC
SwapOverspent = 6_017
6017 - Swap spent more USD than the budgeted amount
SlippageExceeded = 6_018
6018 - Swap output is below the minimum acceptable amount
6019 - Share amount must be greater than zero
6020 - Miner does not hold enough Sats Vault shares
StrikeAlreadyTriggered = 6_021
6021 - Strike jackpot was already triggered on the provided round
EpochNotOpen = 6_022
6022 - Epoch iteration is not accepting ticket purchases
EpochWindowNotElapsed = 6_023
6023 - Epoch iteration window has not elapsed yet
EpochNotSettling = 6_024
6024 - Epoch iteration is not in the settling state
EpochNotSettled = 6_025
6025 - Epoch iteration is not in the settled state
EpochInvalidPage = 6_026
6026 - Supplied page does not contain the current winning ticket
EpochNotAWinner = 6_027
6027 - Signer is not a winner of this epoch draw
EpochAlreadyClaimed = 6_028
6028 - Epoch reward has already been claimed
EpochMaxParticipants = 6_029
6029 - Epoch iteration has reached the maximum number of participants
InvalidTicketsCount = 6_030
6030 - Tickets count must be greater than zero
InsufficientHashrate = 6_031
6031 - Miner does not have enough hashrate
OneBtcNotOpen = 6_032
6032 - 1 BTC Vault iteration is not accepting ticket purchases
OneBtcNotSettled = 6_033
6033 - 1 BTC Vault iteration is not in the settled state
OneBtcNotTriggerable = 6_034
6034 - 1 BTC Vault has not accumulated enough BTC to trigger a draw
OneBtcNoParticipants = 6_035
6035 - 1 BTC Vault draw has no participants
OneBtcNotAWinner = 6_036
6036 - Ticket does not hold the winning ticket for this draw
OneBtcWinningTicketLocked = 6_037
6037 - The winning ticket cannot be closed until the prize is claimed
EpochPageAlreadySealed = 6_038
6038 - Epoch page has already been sealed
EpochPageNotSealed = 6_039
6039 - Epoch page is not sealed yet
EpochSealMismatch = 6_040
6040 - Epoch sealed page chain does not reconcile with the iteration’s ticket total
TreasuryEmpty = 6_041
6041 - Treasury has no accrued fees to withdraw
InvalidClaimAmount = 6_042
6042 - Claim amount must be greater than zero
InsufficientUnclaimedUsd = 6_043
6043 - Miner does not hold enough unclaimed USD
InsufficientAutomationBalance = 6_044
6044 - Automation balance cannot cover the per-round deploy amount
InvalidAutomationAmount = 6_045
6045 - Automation amount must be greater than zero
InvalidAutomationStrategyMask = 6_046
6046 - Selection mask does not match the automation strategy
DeployAmountBelowMinimum = 6_047
6047 - Deploy amount is below the 1 USD minimum
InvalidEpochIterationDuration = 6_048
6048 - Epoch iteration duration must be greater than zero
InvalidUnclaimedHashrateBps = 6_049
6049 - Unclaimed hashrate bps must not exceed 10_000
InvalidStrikeTriggerModulus = 6_050
6050 - Strike trigger modulus must be greater than zero
InvalidSwapBps = 6_051
6051 - Sats Vault round fee bps plus deploy fee bps must stay below 10_000
Trait Implementations§
Source§impl Clone for SatrushError
impl Clone for SatrushError
Source§fn clone(&self) -> SatrushError
fn clone(&self) -> SatrushError
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 SatrushError
impl Debug for SatrushError
Source§impl Display for SatrushError
impl Display for SatrushError
impl Eq for SatrushError
Source§impl Error for SatrushError
impl Error for SatrushError
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<SatrushError> for ProgramError
impl From<SatrushError> for ProgramError
Source§fn from(e: SatrushError) -> Self
fn from(e: SatrushError) -> Self
Source§impl FromPrimitive for SatrushError
impl FromPrimitive for SatrushError
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 SatrushError
impl PartialEq for SatrushError
impl StructuralPartialEq for SatrushError
Auto Trait Implementations§
impl Freeze for SatrushError
impl RefUnwindSafe for SatrushError
impl Send for SatrushError
impl Sync for SatrushError
impl Unpin for SatrushError
impl UnsafeUnpin for SatrushError
impl UnwindSafe for SatrushError
Blanket Implementations§
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more