jito_restaking_sdk/
error.rs1use solana_program::{decode_error::DecodeError, program_error::ProgramError};
2use thiserror::Error;
3
4#[derive(Debug, Error)]
5pub enum RestakingError {
6 #[error("NcnOperatorAdminInvalid")]
7 NcnOperatorAdminInvalid = 1000,
8 #[error("NcnCooldownOperatorFailed")]
9 NcnCooldownOperatorFailed,
10 #[error("NcnSlasherAdminInvalid")]
11 NcnSlasherAdminInvalid,
12 #[error("NcnVaultAdminInvalid")]
13 NcnVaultAdminInvalid,
14 #[error("NcnAdminInvalid")]
15 NcnAdminInvalid,
16 #[error("NcnDelegateAdminInvalid")]
17 NcnDelegateAdminInvalid,
18 #[error("NcnVaultSlasherTicketFailedCooldown")]
19 NcnVaultSlasherTicketFailedCooldown,
20 #[error("NcnVaultTicketFailedCooldown")]
21 NcnVaultTicketFailedCooldown,
22 #[error("NcnWarmupOperatorFailed")]
23 NcnWarmupOperatorFailed,
24 #[error("NcnVaultSlasherTicketFailedWarmup")]
25 NcnVaultSlasherTicketFailedWarmup,
26 #[error("NcnVaultTicketFailedWarmup")]
27 NcnVaultTicketFailedWarmup,
28
29 #[error("OperatorNcnAdminInvalid")]
30 OperatorNcnAdminInvalid = 2000,
31 #[error("OperatorVaultAdminInvalid")]
32 OperatorVaultAdminInvalid,
33 #[error("OperatorAdminInvalid")]
34 OperatorAdminInvalid,
35 #[error("OperatorDelegateAdminInvalid")]
36 OperatorDelegateAdminInvalid,
37 #[error("OperatorCooldownNcnFailed")]
38 OperatorCooldownNcnFailed,
39 #[error("OperatorVaultTicketFailedCooldown")]
40 OperatorVaultTicketFailedCooldown,
41 #[error("OperatorVaultTicketFailedWarmup")]
42 OperatorVaultTicketFailedWarmup,
43 #[error("OperatorWarmupNcnFailed")]
44 OperatorWarmupNcnFailed,
45 #[error("OperatorFeeCapExceeded")]
46 OperatorFeeCapExceeded,
47 #[error("NcnOverflow")]
48 NcnOverflow,
49 #[error("OperatorOverflow")]
50 OperatorOverflow,
51 #[error("VaultOverflow")]
52 VaultOverflow,
53 #[error("SlasherOverflow")]
54 SlasherOverflow,
55 #[error("InvalidEpochLength")]
56 InvalidEpochLength,
57
58 #[error("ConfigAdminInvalid")]
59 ConfigAdminInvalid,
60
61 #[error("ArithmeticOverflow")]
62 ArithmeticOverflow = 3000,
63 #[error("ArithmeticUnderflow")]
64 ArithmeticUnderflow,
65 #[error("DivisionByZero")]
66 DivisionByZero,
67}
68
69impl<T> DecodeError<T> for RestakingError {
70 fn type_of() -> &'static str {
71 "jito::restaking"
72 }
73}
74
75impl From<RestakingError> for ProgramError {
76 fn from(e: RestakingError) -> Self {
77 Self::Custom(e as u32)
78 }
79}
80
81impl From<RestakingError> for u64 {
82 fn from(e: RestakingError) -> Self {
83 e as Self
84 }
85}