safe_associated_token_account/
error.rs

1//! Error types
2
3use {
4    num_derive::FromPrimitive,
5    solana_program::{decode_error::DecodeError, program_error::ProgramError},
6    thiserror::Error,
7};
8
9/// Errors that may be returned by the program.
10#[derive(Clone, Debug, Eq, Error, FromPrimitive, PartialEq)]
11pub enum AssociatedTokenAccountError {
12    // 0
13    /// Associated token account owner does not match address derivation
14    #[error("Associated token account owner does not match address derivation")]
15    InvalidOwner,
16}
17impl From<AssociatedTokenAccountError> for ProgramError {
18    fn from(e: AssociatedTokenAccountError) -> Self {
19        ProgramError::Custom(e as u32)
20    }
21}
22impl<T> DecodeError<T> for AssociatedTokenAccountError {
23    fn type_of() -> &'static str {
24        "AssociatedTokenAccountError"
25    }
26}