mpl_distro/generated/errors/
mpl_distro.rs1use num_derive::FromPrimitive;
9use thiserror::Error;
10
11#[derive(Clone, Debug, Eq, Error, FromPrimitive, PartialEq)]
12pub enum MplDistroError {
13 #[error("Invalid System Program")]
15 InvalidSystemProgram,
16 #[error("Error deserializing account")]
18 DeserializationError,
19 #[error("Error serializing account")]
21 SerializationError,
22 #[error("Invalid Distribution PDA Derivation")]
24 InvalidDistributionPdaDerivation,
25 #[error("Invalid Spl Token Program")]
27 InvalidSplTokenProgram,
28 #[error("Invalid Fee Wallet")]
30 InvalidFeeWallet,
31 #[error("Invalid Token Program")]
33 InvalidTokenProgram,
34 #[error("Invalid Associated Token Program")]
36 InvalidAssociatedTokenProgram,
37 #[error("Invalid Distribution Account Owner")]
39 InvalidDistributionAccountOwner,
40 #[error("The distribution has already started")]
42 DistributionStarted,
43 #[error("Invalid Mint")]
45 InvalidMint,
46 #[error("Invalid Distribution Authority")]
48 InvalidDistributionAuthority,
49 #[error("Invalid Payer Token Account")]
51 InvalidPayerTokenAccount,
52 #[error("Invalid Distribution Token Account")]
54 InvalidDistributionTokenAccount,
55 #[error("The distribution has not started yet")]
57 DistributionNotStarted,
58 #[error("The distribution has ended")]
60 DistributionEnded,
61 #[error("Invalid Recipient Token Account")]
63 InvalidRecipientTokenAccount,
64 #[error("Invalid Claim Proof")]
66 InvalidClaimProof,
67 #[error("The tokens have already been claimed by this recipient")]
69 AlreadyClaimed,
70 #[error("Invalid Claim Receipt PDA Derivation")]
72 InvalidClaimReceiptPdaDerivation,
73 #[error("End time must be after start time")]
75 InvalidDistributionTimeRange,
76 #[error("Name must be 32 bytes or less")]
78 NameTooLong,
79 #[error("Invalid Depositor Token Account")]
81 InvalidDepositorTokenAccount,
82 #[error("Mint must be owned by the SPL Token Program")]
84 InvalidMintOwner,
85 #[error("Cannot withdraw funds while distribution is active")]
87 CannotWithdrawDuringActiveDistribution,
88 #[error("Arithmetic operation overflowed")]
90 ArithmeticOverflow,
91 #[error("Insufficient funds in distribution to fulfill claim amount")]
93 InsufficientFunds,
94 #[error("Tree height exceeds maximum supported height")]
96 InvalidTreeHeight,
97 #[error("Invalid Payer")]
99 InvalidPayer,
100 #[error("Insufficient funds in Distribution to subsidize receipts")]
102 InsufficientFundsToSubsidizeReceipts,
103 #[error("Invalid NFT Mint")]
105 InvalidNftMint,
106 #[error("Invalid NFT Amount")]
108 InvalidNftAmount,
109 #[error("Invalid NFT Owner")]
111 InvalidNftOwner,
112 #[error("Recipient must sign")]
114 RecipientMustSign,
115 #[error("Distribution authority must sign")]
117 DistributionAuthorityMustSign,
118 #[error("Invalid Distribution Type")]
120 InvalidDistributionType,
121 #[error("Invalid NFT Token Account Owner")]
123 InvalidNftTokenAccountOwner,
124 #[error("Insufficient funds in distribution to withdraw requested SOL amount")]
126 InsufficientFundsToWithdrawSol,
127 #[error("Distribution does not subsidize receipts")]
129 DistributionDoesNotSubsidizeReceipts,
130 #[error("Cannot withdraw while distribution is active")]
132 CannotWithdrawWhileActive,
133 #[error("Invalid distributor for this distribution")]
135 InvalidDistributor,
136}
137
138impl solana_program::program_error::PrintProgramError for MplDistroError {
139 fn print<E>(&self) {
140 solana_program::msg!(&self.to_string());
141 }
142}