Enum solana_sdk::instruction::InstructionError [−][src]
Reasons the runtime might have rejected an instruction.
Variants
Deprecated! Use CustomError instead! The program instruction returned an error
The arguments provided to a program were invalid
An instruction’s data contents were invalid
An account’s data contents was invalid
An account’s data was too small
An account’s balance was too small to complete the instruction
The account did not have the expected program id
A signature was required but not found
An initialize instruction was sent to an account that has already been initialized.
An attempt to operate on an account that hasn’t been initialized.
Program’s instruction lamport balance does not equal the balance after the instruction
Program modified an account’s program id
Program spent the lamports of an account that doesn’t belong to it
Program modified the data of an account that doesn’t belong to it
Read-only account’s lamports modified
Read-only account’s data was modified
An account was referenced more than once in a single instruction
Executable bit on account changed, but shouldn’t have
Rent_epoch account changed, but shouldn’t have
The instruction expected additional account keys
A non-system program changed the size of the account data
The instruction expected an executable account
Failed to borrow a reference to account data, already borrowed
Account data has an outstanding reference after a program’s execution
The same account was multiply passed to an on-chain program’s entrypoint, but the program modified them differently. A program can only modify one instance of the account because the runtime cannot determine which changes to pick or how to merge them if both are modified
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.
The return value from the program was invalid. Valid errors are either a defined builtin error value or a user-defined error in the lower 32 bits.
Executable account’s data was modified
Executable account’s lamports modified
Executable accounts must be rent exempt
Unsupported program id
Cross-program invocation call depth too deep
An account required by the instruction is missing
Cross-program invocation reentrancy not allowed for this instruction
Length of the seed is too long for address generation
Provided seeds do not result in a valid address
Failed to reallocate account data of this length
Computational budget exceeded
Cross-program invocation with unauthorized signer or writable account
BorshIoError(String)
Trait Implementations
impl Clone for InstructionError
[src]
pub fn clone(&self) -> InstructionError
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for InstructionError
[src]
impl<'de> Deserialize<'de> for InstructionError
[src]
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<InstructionError, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
[src]
__deserializer: __D
) -> Result<InstructionError, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
impl Display for InstructionError
[src]
impl Eq for InstructionError
[src]
impl Error for InstructionError
[src]
pub fn source(&self) -> Option<&(dyn Error + 'static)>
1.30.0[src]
pub fn backtrace(&self) -> Option<&Backtrace>
[src]
pub fn description(&self) -> &str
1.0.0[src]
pub fn cause(&self) -> Option<&dyn Error>
1.0.0[src]
impl<T> From<T> for InstructionError where
T: ToPrimitive,
[src]
T: ToPrimitive,
pub fn from(error: T) -> InstructionError
[src]
impl PartialEq<InstructionError> for InstructionError
[src]
pub fn eq(&self, other: &InstructionError) -> bool
[src]
pub fn ne(&self, other: &InstructionError) -> bool
[src]
impl Serialize for InstructionError
[src]
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
[src]
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
impl StructuralEq for InstructionError
[src]
impl StructuralPartialEq for InstructionError
[src]
impl TryFrom<InstructionError> for ProgramError
[src]
type Error = InstructionError
The type returned in the event of a conversion error.
pub fn try_from(
error: InstructionError
) -> Result<ProgramError, <ProgramError as TryFrom<InstructionError>>::Error>
[src]
error: InstructionError
) -> Result<ProgramError, <ProgramError as TryFrom<InstructionError>>::Error>
Auto Trait Implementations
impl RefUnwindSafe for InstructionError
impl Send for InstructionError
impl Sync for InstructionError
impl Unpin for InstructionError
impl UnwindSafe for InstructionError
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> AsErrorSource for T where
T: 'static + Error,
[src]
T: 'static + Error,
pub fn as_error_source(&self) -> &(dyn Error + 'static)
[src]
impl<T> AsFail for T where
T: Fail,
[src]
T: Fail,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<E> Fail for E where
E: 'static + Error + Send + Sync,
[src]
E: 'static + Error + Send + Sync,
pub fn name(&self) -> Option<&str>
[src]
pub fn cause(&self) -> Option<&(dyn Fail + 'static)>
[src]
pub fn backtrace(&self) -> Option<&Backtrace>
[src]
pub fn context<D>(self, context: D) -> Context<D> where
D: Display + Send + Sync + 'static,
[src]
D: Display + Send + Sync + 'static,
pub fn compat(self) -> Compat<Self>
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> MaybeDebug for T where
T: Debug,
[src]
T: Debug,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Typeable for T where
T: Any,
T: Any,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,