pub enum ProgramError {
Show 26 variants
Custom(u32),
InvalidArgument,
InvalidInstructionData,
InvalidAccountData,
AccountDataTooSmall,
InsufficientFunds,
IncorrectProgramId,
MissingRequiredSignature,
AccountAlreadyInitialized,
UninitializedAccount,
NotEnoughAccountKeys,
AccountBorrowFailed,
MaxSeedLengthExceeded,
InvalidSeeds,
BorshIoError,
AccountNotRentExempt,
UnsupportedSysvar,
IllegalOwner,
MaxAccountsDataAllocationsExceeded,
InvalidRealloc,
MaxInstructionTraceLengthExceeded,
BuiltinProgramsMustConsumeComputeUnits,
InvalidAccountOwner,
ArithmeticOverflow,
Immutable,
IncorrectAuthority,
}Expand description
Reasons the program may fail.
Variants§
Custom(u32)
Allows on-chain programs to implement program-specific error types and see them returned
by the Solana runtime. A program-specific error may be any type that is represented as
or serialized to a u32 integer.
Custom program error: {0:#x}
InvalidArgument
The arguments provided to a program instruction were invalid
InvalidInstructionData
An instruction’s data contents was invalid
InvalidAccountData
An account’s data contents was invalid
AccountDataTooSmall
An account’s data was too small
InsufficientFunds
An account’s balance was too small to complete the instruction
IncorrectProgramId
The account did not have the expected program id
MissingRequiredSignature
A signature was required but not found
AccountAlreadyInitialized
An initialize instruction was sent to an account that has already been initialized
UninitializedAccount
An attempt to operate on an account that hasn’t been initialized
NotEnoughAccountKeys
The instruction expected additional account keys
AccountBorrowFailed
Failed to borrow a reference to account data, already borrowed
MaxSeedLengthExceeded
Length of the seed is too long for address generation
InvalidSeeds
Provided seeds do not result in a valid address
BorshIoError
IO Error
AccountNotRentExempt
An account does not have enough lamports to be rent-exempt
UnsupportedSysvar
Unsupported sysvar
IllegalOwner
Provided owner is not allowed
MaxAccountsDataAllocationsExceeded
Accounts data allocations exceeded the maximum allowed per transaction
InvalidRealloc
Account data reallocation was invalid
MaxInstructionTraceLengthExceeded
Instruction trace length exceeded the maximum allowed per transaction
BuiltinProgramsMustConsumeComputeUnits
Builtin programs must consume compute units
InvalidAccountOwner
Invalid account owner
ArithmeticOverflow
Program arithmetic overflowed
Immutable
Account is immutable
IncorrectAuthority
Incorrect authority provided
Trait Implementations§
Source§impl Clone for ProgramError
impl Clone for ProgramError
Source§fn clone(&self) -> ProgramError
fn clone(&self) -> ProgramError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more