[−][src]Enum solana_sdk::instruction::InstructionError
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 instruction where invalid
An instruction's data contents was 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 modified lamports
Read-only account modified data
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
CustomError(u32)
CustomError allows on-chain programs to implement program-specific error types and see them returned by the Solana runtime. A CustomError may be any type that is represented as or serialized to a u32 integer.
NOTE: u64 requires special serialization to avoid the loss of precision in JS clients and so is not used for now.
Methods
impl InstructionError
[src]
pub fn new_result_with_negative_lamports() -> Self
[src]
Trait Implementations
impl<T> From<T> for InstructionError where
T: ToPrimitive,
[src]
T: ToPrimitive,
impl Clone for InstructionError
[src]
fn clone(&self) -> InstructionError
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Eq for InstructionError
[src]
impl PartialEq<InstructionError> for InstructionError
[src]
fn eq(&self, other: &InstructionError) -> bool
[src]
fn ne(&self, other: &InstructionError) -> bool
[src]
impl Debug for InstructionError
[src]
impl StructuralPartialEq for InstructionError
[src]
impl StructuralEq for InstructionError
[src]
impl Serialize for InstructionError
[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl<'de> Deserialize<'de> for InstructionError
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
Auto Trait Implementations
impl Send for InstructionError
impl Sync for InstructionError
impl Unpin for InstructionError
impl UnwindSafe for InstructionError
impl RefUnwindSafe for InstructionError
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
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.
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.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
impl<T> Same<T> for T
type Output = T
Should always be Self