spherenet_program_whitelist_interface/
error.rs1use pinocchio::program_error::{ProgramError, ToStr};
4
5#[derive(thiserror::Error, Clone, Debug, Eq, PartialEq)]
7pub enum ProgramWhitelistError {
8 #[error("No pending authority")]
11 NoPendingAuthority = 60456,
12}
13
14impl From<ProgramWhitelistError> for ProgramError {
15 fn from(e: ProgramWhitelistError) -> Self {
16 ProgramError::Custom(e as u32)
17 }
18}
19
20impl ToStr for ProgramWhitelistError {
21 fn to_str<E>(&self) -> &'static str
22 where
23 E: 'static + ToStr + TryFrom<u32>,
24 {
25 match self {
26 ProgramWhitelistError::NoPendingAuthority => "Error: No pending authority",
27 }
28 }
29}
30
31impl TryFrom<u32> for ProgramWhitelistError {
32 type Error = ProgramError;
33 fn try_from(value: u32) -> Result<Self, Self::Error> {
34 match value {
35 0 => Ok(ProgramWhitelistError::NoPendingAuthority),
36
37 _ => Err(ProgramError::InvalidArgument),
38 }
39 }
40}