Enum spl_token_2022::error::TokenError
source · pub enum TokenError {
Show 61 variants
NotRentExempt,
InsufficientFunds,
InvalidMint,
MintMismatch,
OwnerMismatch,
FixedSupply,
AlreadyInUse,
InvalidNumberOfProvidedSigners,
InvalidNumberOfRequiredSigners,
UninitializedState,
NativeNotSupported,
NonNativeHasBalance,
InvalidInstruction,
InvalidState,
Overflow,
AuthorityTypeNotSupported,
MintCannotFreeze,
AccountFrozen,
MintDecimalsMismatch,
NonNativeNotSupported,
ExtensionTypeMismatch,
ExtensionBaseMismatch,
ExtensionAlreadyInitialized,
ConfidentialTransferAccountHasBalance,
ConfidentialTransferAccountNotApproved,
ConfidentialTransferDepositsAndTransfersDisabled,
ConfidentialTransferElGamalPubkeyMismatch,
ConfidentialTransferBalanceMismatch,
MintHasSupply,
NoAuthorityExists,
TransferFeeExceedsMaximum,
MintRequiredForTransfer,
FeeMismatch,
FeeParametersMismatch,
ImmutableOwner,
AccountHasWithheldTransferFees,
NoMemo,
NonTransferable,
NonTransferableNeedsImmutableOwnership,
MaximumPendingBalanceCreditCounterExceeded,
MaximumDepositAmountExceeded,
CpiGuardSettingsLocked,
CpiGuardTransferBlocked,
CpiGuardBurnBlocked,
CpiGuardCloseAccountBlocked,
CpiGuardApproveBlocked,
CpiGuardSetAuthorityBlocked,
CpiGuardOwnerChangeBlocked,
ExtensionNotFound,
NonConfidentialTransfersDisabled,
ConfidentialTransferFeeAccountHasWithheldFee,
InvalidExtensionCombination,
InvalidLengthForAlloc,
AccountDecryption,
ProofGeneration,
InvalidProofInstructionOffset,
HarvestToMintDisabled,
SplitProofContextStateAccountsNotSupported,
NotEnoughProofContextStateAccounts,
MalformedCiphertext,
CiphertextArithmeticFailed,
}
Expand description
Errors that may be returned by the Token program.
Variants§
NotRentExempt
Lamport balance below rent-exempt threshold.
InsufficientFunds
Insufficient funds for the operation requested.
InvalidMint
Invalid Mint.
MintMismatch
Account not associated with this Mint.
OwnerMismatch
Owner does not match.
FixedSupply
This token’s supply is fixed and new tokens cannot be minted.
AlreadyInUse
The account cannot be initialized because it is already being used.
InvalidNumberOfProvidedSigners
Invalid number of provided signers.
InvalidNumberOfRequiredSigners
Invalid number of required signers.
UninitializedState
State is uninitialized.
NativeNotSupported
Instruction does not support native tokens
NonNativeHasBalance
Non-native account can only be closed if its balance is zero
InvalidInstruction
Invalid instruction
InvalidState
State is invalid for requested operation.
Overflow
Operation overflowed
AuthorityTypeNotSupported
Account does not support specified authority type.
MintCannotFreeze
This token mint cannot freeze accounts.
AccountFrozen
Account is frozen; all account operations will fail
MintDecimalsMismatch
Mint decimals mismatch between the client and mint
NonNativeNotSupported
Instruction does not support non-native tokens
ExtensionTypeMismatch
Extension type does not match already existing extensions
ExtensionBaseMismatch
Extension does not match the base type provided
ExtensionAlreadyInitialized
Extension already initialized on this account
ConfidentialTransferAccountHasBalance
An account can only be closed if its confidential balance is zero
ConfidentialTransferAccountNotApproved
Account not approved for confidential transfers
ConfidentialTransferDepositsAndTransfersDisabled
Account not accepting deposits or transfers
ConfidentialTransferElGamalPubkeyMismatch
ElGamal public key mismatch
ConfidentialTransferBalanceMismatch
Balance mismatch
MintHasSupply
Mint has non-zero supply. Burn all tokens before closing the mint.
NoAuthorityExists
No authority exists to perform the desired operation
TransferFeeExceedsMaximum
Transfer fee exceeds maximum of 10,000 basis points
MintRequiredForTransfer
Mint required for this account to transfer tokens, use
transfer_checked
or transfer_checked_with_fee
FeeMismatch
Calculated fee does not match expected fee
FeeParametersMismatch
Fee parameters associated with confidential transfer zero-knowledge proofs do not match fee parameters in mint
ImmutableOwner
The owner authority cannot be changed
AccountHasWithheldTransferFees
An account can only be closed if its withheld fee balance is zero, harvest fees to the mint and try again
NoMemo
No memo in previous instruction; required for recipient to receive a transfer
NonTransferable
Transfer is disabled for this mint
NonTransferableNeedsImmutableOwnership
Non-transferable tokens can’t be minted to an account without immutable ownership
MaximumPendingBalanceCreditCounterExceeded
The total number of Deposit
and Transfer
instructions to an account
cannot exceed the associated
maximum_pending_balance_credit_counter
MaximumDepositAmountExceeded
The deposit amount for the confidential extension exceeds the maximum limit
CpiGuardSettingsLocked
CPI Guard cannot be enabled or disabled in CPI
CpiGuardTransferBlocked
CPI Guard is enabled, and a program attempted to transfer user funds without using a delegate
CpiGuardBurnBlocked
CPI Guard is enabled, and a program attempted to burn user funds without using a delegate
CpiGuardCloseAccountBlocked
CPI Guard is enabled, and a program attempted to close an account without returning lamports to owner
CpiGuardApproveBlocked
CPI Guard is enabled, and a program attempted to approve a delegate
CpiGuardSetAuthorityBlocked
CPI Guard is enabled, and a program attempted to add or replace an authority
CpiGuardOwnerChangeBlocked
Account ownership cannot be changed while CPI Guard is enabled
ExtensionNotFound
Extension not found in account data
NonConfidentialTransfersDisabled
Account does not accept non-confidential transfers
ConfidentialTransferFeeAccountHasWithheldFee
An account can only be closed if the confidential withheld fee is zero
InvalidExtensionCombination
A mint or an account is initialized to an invalid combination of extensions
InvalidLengthForAlloc
Extension allocation with overwrite must use the same length
AccountDecryption
Failed to decrypt a confidential transfer account
ProofGeneration
Failed to generate a zero-knowledge proof needed for a token instruction
InvalidProofInstructionOffset
An invalid proof instruction offset was provided
HarvestToMintDisabled
Harvest of withheld tokens to mint is disabled
SplitProofContextStateAccountsNotSupported
Split proof context state accounts not supported for instruction
NotEnoughProofContextStateAccounts
Not enough proof context state accounts provided
MalformedCiphertext
Ciphertext is malformed
CiphertextArithmeticFailed
Ciphertext arithmetic failed
Trait Implementations§
source§impl Clone for TokenError
impl Clone for TokenError
source§fn clone(&self) -> TokenError
fn clone(&self) -> TokenError
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for TokenError
impl Debug for TokenError
source§impl<T> DecodeError<T> for TokenError
impl<T> DecodeError<T> for TokenError
source§impl Display for TokenError
impl Display for TokenError
source§impl Error for TokenError
impl Error for TokenError
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
source§impl From<TokenError> for ProgramError
impl From<TokenError> for ProgramError
source§fn from(e: TokenError) -> Self
fn from(e: TokenError) -> Self
source§impl FromPrimitive for TokenError
impl FromPrimitive for TokenError
source§fn from_i64(n: i64) -> Option<Self>
fn from_i64(n: i64) -> Option<Self>
i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u64(n: u64) -> Option<Self>
fn from_u64(n: u64) -> Option<Self>
u64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i8(n: i8) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i16(n: i16) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i32(n: i32) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i128(n: i128) -> Option<Self>
fn from_i128(n: i128) -> Option<Self>
i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moresource§fn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u16(n: u16) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u32(n: u32) -> Option<Self>
fn from_u32(n: u32) -> Option<Self>
u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u128(n: u128) -> Option<Self>
fn from_u128(n: u128) -> Option<Self>
u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moresource§impl PartialEq for TokenError
impl PartialEq for TokenError
source§fn eq(&self, other: &TokenError) -> bool
fn eq(&self, other: &TokenError) -> bool
self
and other
values to be equal, and is used
by ==
.