satrush_client/generated/errors/
satrush.rs1use num_derive::FromPrimitive;
9use thiserror::Error;
10
11#[derive(Clone, Debug, Eq, Error, FromPrimitive, PartialEq)]
12pub enum SatrushError {
13 #[error("Signer is not authorized to execute this instruction")]
15 Unauthorized = 0x1770,
16 #[error("Ongoing round is not yet finished")]
18 RoundInProgress = 0x1771,
19 #[error("Invalid round id supplied to create round")]
21 InvalidRoundId = 0x1772,
22 #[error("Entropy value is invalid")]
24 InvalidEntropy = 0x1773,
25 #[error("Round is not accepting deploys")]
27 RoundNotActive = 0x1774,
28 #[error("Deployment amount must be greater than zero")]
30 InvalidDeploymentAmount = 0x1775,
31 #[error("Selection mask must pick between 1 and 21 tiles within the 21-bit range")]
33 InvalidSelectionMask = 0x1776,
34 #[error("Arithmetic overflow")]
36 MathOverflow = 0x1777,
37 #[error("Arithmetic underflow")]
39 MathUnderflow = 0x1778,
40 #[error("Round winning tile has already been revealed")]
42 AlreadyRevealed = 0x1779,
43 #[error("Slot hash entropy is unavailable or invalid")]
45 InvalidSlotHash = 0x177A,
46 #[error("Round winning tile has not been revealed yet")]
48 RoundNotRevealed = 0x177B,
49 #[error("Deployment has already been settled")]
51 AlreadySettled = 0x177C,
52 #[error("Round is not in the settled state")]
54 RoundNotSettled = 0x177D,
55 #[error("Deployment has not been settled yet")]
57 DeploymentNotSettled = 0x177E,
58 #[error("Round is not currently accepting deploys (window closed)")]
60 RoundWindowClosed = 0x177F,
61 #[error("Board already has a round; use advance_round to rotate")]
63 BoardAlreadyBootstrapped = 0x1780,
64 #[error("Swap program account does not match the configured swap program")]
66 InvalidSwapProgram = 0x1781,
67 #[error("Round stake has already been swapped into BTC")]
69 AlreadySwapped = 0x1782,
70 #[error("Swap spent more USD than the budgeted amount")]
72 SwapOverspent = 0x1783,
73 #[error("Swap output is below the minimum acceptable amount")]
75 SlippageExceeded = 0x1784,
76 #[error("Invalid jupiter route was provided")]
78 InvalidJupiterRoute = 0x1785,
79 #[error("Share amount must be greater than zero")]
81 InvalidShareAmount = 0x1786,
82 #[error("Miner does not hold enough Sats Vault shares")]
84 InsufficientShares = 0x1787,
85 #[error("Strike jackpot was already triggered on the provided round")]
87 StrikeAlreadyTriggered = 0x1788,
88 #[error("Strike pending balance is below the swap threshold")]
90 StrikeBelowThreshold = 0x1789,
91 #[error("Epoch iteration is not accepting ticket purchases")]
93 EpochNotOpen = 0x178A,
94 #[error("Epoch iteration window has not elapsed yet")]
96 EpochWindowNotElapsed = 0x178B,
97 #[error("Epoch pending balance is below the swap threshold")]
99 EpochBelowThreshold = 0x178C,
100 #[error("Epoch iteration is not in the settling state")]
102 EpochNotSettling = 0x178D,
103 #[error("Epoch iteration is not in the settled state")]
105 EpochNotSettled = 0x178E,
106 #[error("Supplied page does not contain the current winning ticket")]
108 EpochInvalidPage = 0x178F,
109 #[error("Signer is not a winner of this epoch draw")]
111 EpochNotAWinner = 0x1790,
112 #[error("Epoch reward has already been claimed")]
114 EpochAlreadyClaimed = 0x1791,
115 #[error("Epoch iteration has reached the maximum number of participants")]
117 EpochMaxParticipants = 0x1792,
118 #[error("Hashrate spent is below the minimum required for entry")]
120 EpochBelowMinHashrate = 0x1793,
121 #[error("Miner does not have enough hashrate")]
123 InsufficientHashrate = 0x1794,
124 #[error("1 BTC Vault iteration is not accepting ticket purchases")]
126 OneBtcNotOpen = 0x1795,
127 #[error("1 BTC Vault iteration is not in the settled state")]
129 OneBtcNotSettled = 0x1796,
130 #[error("1 BTC Vault pending balance is below the swap threshold")]
132 OneBtcBelowThreshold = 0x1797,
133 #[error("1 BTC Vault has not accumulated enough BTC to trigger a draw")]
135 OneBtcNotTriggerable = 0x1798,
136 #[error("1 BTC Vault draw has no participants")]
138 OneBtcNoParticipants = 0x1799,
139 #[error("Ticket does not hold the winning ticket for this draw")]
141 OneBtcNotAWinner = 0x179A,
142 #[error("Hashrate spent is below the minimum required for a ticket purchase")]
144 OneBtcBelowMinHashrate = 0x179B,
145 #[error("The winning ticket cannot be closed until the prize is claimed")]
147 OneBtcWinningTicketLocked = 0x179C,
148 #[error("Epoch page has already been sealed")]
150 EpochPageAlreadySealed = 0x179D,
151 #[error("Epoch page is not sealed yet")]
153 EpochPageNotSealed = 0x179E,
154 #[error("Epoch sealed page chain does not reconcile with the iteration's ticket total")]
156 EpochSealMismatch = 0x179F,
157 #[error("Treasury has no accrued fees to withdraw")]
159 TreasuryEmpty = 0x17A0,
160}
161
162impl From<SatrushError> for solana_program_error::ProgramError {
163 fn from(e: SatrushError) -> Self {
164 solana_program_error::ProgramError::Custom(e as u32)
165 }
166}
167