spl_token_upgrade/
error.rs1use {
4 num_derive::FromPrimitive,
5 solana_program::{decode_error::DecodeError, program_error::ProgramError},
6 thiserror::Error,
7};
8
9#[derive(Clone, Debug, Eq, Error, FromPrimitive, PartialEq)]
11pub enum TokenUpgradeError {
12 #[error("Account does not match address derivation")]
15 InvalidOwner,
16 #[error("Decimals of original and new token mint do not match")]
18 DecimalsMismatch,
19}
20impl From<TokenUpgradeError> for ProgramError {
21 fn from(e: TokenUpgradeError) -> Self {
22 ProgramError::Custom(e as u32)
23 }
24}
25impl<T> DecodeError<T> for TokenUpgradeError {
26 fn type_of() -> &'static str {
27 "TokenUpgradeError"
28 }
29}