light_ctoken_types/
error.rs1use thiserror::Error;
2
3pub type Result<T> = std::result::Result<T, LightTokenSdkTypeError>;
4
5#[derive(Debug, Error)]
6pub enum LightTokenSdkTypeError {
7 #[error("CPI accounts index out of bounds: {0}")]
8 CpiAccountsIndexOutOfBounds(usize),
9 #[error("Sender token account does only exist in compressed mode")]
10 SenderTokenAccountDoesOnlyExistInCompressedMode,
11 #[error("Decompression recipient token account does only exist in decompressed mode")]
12 DecompressionRecipientTokenAccountDoesOnlyExistInDecompressedMode,
13 #[error("Sol pool PDA is undefined")]
14 SolPoolPdaUndefined,
15 #[error("Mint is undefined for batch compress")]
16 MintUndefinedForBatchCompress,
17 #[error("Token pool PDA is undefined for compressed")]
18 TokenPoolUndefinedForCompressed,
19 #[error("Token program is undefined for compressed")]
20 TokenProgramUndefinedForCompressed,
21}
22
23impl From<LightTokenSdkTypeError> for u32 {
24 fn from(error: LightTokenSdkTypeError) -> Self {
25 match error {
26 LightTokenSdkTypeError::CpiAccountsIndexOutOfBounds(_) => 18001,
27 LightTokenSdkTypeError::SenderTokenAccountDoesOnlyExistInCompressedMode => 18002,
28 LightTokenSdkTypeError::DecompressionRecipientTokenAccountDoesOnlyExistInDecompressedMode => 18003,
29 LightTokenSdkTypeError::SolPoolPdaUndefined => 18004,
30 LightTokenSdkTypeError::MintUndefinedForBatchCompress => 18005,
31 LightTokenSdkTypeError::TokenPoolUndefinedForCompressed => 18006,
32 LightTokenSdkTypeError::TokenProgramUndefinedForCompressed => 18007,
33 }
34 }
35}