Skip to main content

satrush_client/generated/errors/
satrush.rs

1//! This code was AUTOGENERATED using the codama library.
2//! Please DO NOT EDIT THIS FILE, instead use visitors
3//! to add features, then rerun codama to update it.
4//!
5//! <https://github.com/codama-idl/codama>
6//!
7
8use num_derive::FromPrimitive;
9use thiserror::Error;
10
11#[derive(Clone, Debug, Eq, Error, FromPrimitive, PartialEq)]
12pub enum SatrushError {
13    /// 6000 - Signer is not authorized to execute this instruction
14    #[error("Signer is not authorized to execute this instruction")]
15    Unauthorized = 0x1770,
16    /// 6001 - Ongoing round is not yet finished
17    #[error("Ongoing round is not yet finished")]
18    RoundInProgress = 0x1771,
19    /// 6002 - Invalid round id supplied to create round
20    #[error("Invalid round id supplied to create round")]
21    InvalidRoundId = 0x1772,
22    /// 6003 - Round duration must be greater than zero
23    #[error("Round duration must be greater than zero")]
24    InvalidRoundDuration = 0x1773,
25    /// 6004 - Entropy value is invalid
26    #[error("Entropy value is invalid")]
27    InvalidEntropy = 0x1774,
28    /// 6005 - Round is not accepting deploys
29    #[error("Round is not accepting deploys")]
30    RoundNotActive = 0x1775,
31    /// 6006 - Deployment amount must be greater than zero
32    #[error("Deployment amount must be greater than zero")]
33    InvalidDeploymentAmount = 0x1776,
34    /// 6007 - Selection mask must pick between 1 and 21 tiles within the 21-bit range
35    #[error("Selection mask must pick between 1 and 21 tiles within the 21-bit range")]
36    InvalidSelectionMask = 0x1777,
37    /// 6008 - Arithmetic overflow
38    #[error("Arithmetic overflow")]
39    MathOverflow = 0x1778,
40    /// 6009 - Arithmetic underflow
41    #[error("Arithmetic underflow")]
42    MathUnderflow = 0x1779,
43    /// 6010 - Round winning tile has already been revealed
44    #[error("Round winning tile has already been revealed")]
45    AlreadyRevealed = 0x177A,
46    /// 6011 - Slot hash entropy is unavailable or invalid
47    #[error("Slot hash entropy is unavailable or invalid")]
48    InvalidSlotHash = 0x177B,
49    /// 6012 - Round winning tile has not been revealed yet
50    #[error("Round winning tile has not been revealed yet")]
51    RoundNotRevealed = 0x177C,
52    /// 6013 - Deployment has already been settled
53    #[error("Deployment has already been settled")]
54    AlreadySettled = 0x177D,
55    /// 6014 - Round is not in the settled state
56    #[error("Round is not in the settled state")]
57    RoundNotSettled = 0x177E,
58    /// 6015 - Deployment has not been settled yet
59    #[error("Deployment has not been settled yet")]
60    DeploymentNotSettled = 0x177F,
61    /// 6016 - Round is not currently accepting deploys (window closed)
62    #[error("Round is not currently accepting deploys (window closed)")]
63    RoundWindowClosed = 0x1780,
64    /// 6017 - Board already has a round; use advance_round to rotate
65    #[error("Board already has a round; use advance_round to rotate")]
66    BoardAlreadyBootstrapped = 0x1781,
67    /// 6018 - Swap program account does not match the configured swap program
68    #[error("Swap program account does not match the configured swap program")]
69    InvalidSwapProgram = 0x1782,
70    /// 6019 - Round stake has already been swapped into BTC
71    #[error("Round stake has already been swapped into BTC")]
72    AlreadySwapped = 0x1783,
73    /// 6020 - Swap spent more USD than the budgeted amount
74    #[error("Swap spent more USD than the budgeted amount")]
75    SwapOverspent = 0x1784,
76    /// 6021 - Swap output is below the minimum acceptable amount
77    #[error("Swap output is below the minimum acceptable amount")]
78    SlippageExceeded = 0x1785,
79    /// 6022 - Invalid jupiter route was provided
80    #[error("Invalid jupiter route was provided")]
81    InvalidJupiterRoute = 0x1786,
82    /// 6023 - Share amount must be greater than zero
83    #[error("Share amount must be greater than zero")]
84    InvalidShareAmount = 0x1787,
85    /// 6024 - Miner does not hold enough Sats Vault shares
86    #[error("Miner does not hold enough Sats Vault shares")]
87    InsufficientShares = 0x1788,
88    /// 6025 - Strike jackpot was already triggered on the provided round
89    #[error("Strike jackpot was already triggered on the provided round")]
90    StrikeAlreadyTriggered = 0x1789,
91    /// 6026 - Strike pending balance is below the swap threshold
92    #[error("Strike pending balance is below the swap threshold")]
93    StrikeBelowThreshold = 0x178A,
94    /// 6027 - Epoch iteration is not accepting ticket purchases
95    #[error("Epoch iteration is not accepting ticket purchases")]
96    EpochNotOpen = 0x178B,
97    /// 6028 - Epoch iteration window has not elapsed yet
98    #[error("Epoch iteration window has not elapsed yet")]
99    EpochWindowNotElapsed = 0x178C,
100    /// 6029 - Epoch pending balance is below the swap threshold
101    #[error("Epoch pending balance is below the swap threshold")]
102    EpochBelowThreshold = 0x178D,
103    /// 6030 - Epoch iteration is not in the settling state
104    #[error("Epoch iteration is not in the settling state")]
105    EpochNotSettling = 0x178E,
106    /// 6031 - Epoch iteration is not in the settled state
107    #[error("Epoch iteration is not in the settled state")]
108    EpochNotSettled = 0x178F,
109    /// 6032 - Supplied page does not contain the current winning ticket
110    #[error("Supplied page does not contain the current winning ticket")]
111    EpochInvalidPage = 0x1790,
112    /// 6033 - Signer is not a winner of this epoch draw
113    #[error("Signer is not a winner of this epoch draw")]
114    EpochNotAWinner = 0x1791,
115    /// 6034 - Epoch reward has already been claimed
116    #[error("Epoch reward has already been claimed")]
117    EpochAlreadyClaimed = 0x1792,
118    /// 6035 - Epoch iteration has reached the maximum number of participants
119    #[error("Epoch iteration has reached the maximum number of participants")]
120    EpochMaxParticipants = 0x1793,
121    /// 6036 - Hashrate spent is below the minimum required for entry
122    #[error("Hashrate spent is below the minimum required for entry")]
123    EpochBelowMinHashrate = 0x1794,
124    /// 6037 - Miner does not have enough hashrate
125    #[error("Miner does not have enough hashrate")]
126    InsufficientHashrate = 0x1795,
127    /// 6038 - 1 BTC Vault iteration is not accepting ticket purchases
128    #[error("1 BTC Vault iteration is not accepting ticket purchases")]
129    OneBtcNotOpen = 0x1796,
130    /// 6039 - 1 BTC Vault iteration is not in the settled state
131    #[error("1 BTC Vault iteration is not in the settled state")]
132    OneBtcNotSettled = 0x1797,
133    /// 6040 - 1 BTC Vault pending balance is below the swap threshold
134    #[error("1 BTC Vault pending balance is below the swap threshold")]
135    OneBtcBelowThreshold = 0x1798,
136    /// 6041 - 1 BTC Vault has not accumulated enough BTC to trigger a draw
137    #[error("1 BTC Vault has not accumulated enough BTC to trigger a draw")]
138    OneBtcNotTriggerable = 0x1799,
139    /// 6042 - 1 BTC Vault draw has no participants
140    #[error("1 BTC Vault draw has no participants")]
141    OneBtcNoParticipants = 0x179A,
142    /// 6043 - Ticket does not hold the winning ticket for this draw
143    #[error("Ticket does not hold the winning ticket for this draw")]
144    OneBtcNotAWinner = 0x179B,
145    /// 6044 - Hashrate spent is below the minimum required for a ticket purchase
146    #[error("Hashrate spent is below the minimum required for a ticket purchase")]
147    OneBtcBelowMinHashrate = 0x179C,
148    /// 6045 - The winning ticket cannot be closed until the prize is claimed
149    #[error("The winning ticket cannot be closed until the prize is claimed")]
150    OneBtcWinningTicketLocked = 0x179D,
151    /// 6046 - Epoch page has already been sealed
152    #[error("Epoch page has already been sealed")]
153    EpochPageAlreadySealed = 0x179E,
154    /// 6047 - Epoch page is not sealed yet
155    #[error("Epoch page is not sealed yet")]
156    EpochPageNotSealed = 0x179F,
157    /// 6048 - Epoch sealed page chain does not reconcile with the iteration's ticket total
158    #[error("Epoch sealed page chain does not reconcile with the iteration's ticket total")]
159    EpochSealMismatch = 0x17A0,
160    /// 6049 - Treasury has no accrued fees to withdraw
161    #[error("Treasury has no accrued fees to withdraw")]
162    TreasuryEmpty = 0x17A1,
163    /// 6050 - Claim amount must be greater than zero
164    #[error("Claim amount must be greater than zero")]
165    InvalidClaimAmount = 0x17A2,
166    /// 6051 - Miner does not hold enough unclaimed USD
167    #[error("Miner does not hold enough unclaimed USD")]
168    InsufficientUnclaimedUsd = 0x17A3,
169}
170
171impl From<SatrushError> for solana_program_error::ProgramError {
172    fn from(e: SatrushError) -> Self {
173        solana_program_error::ProgramError::Custom(e as u32)
174    }
175}
176