Enum solana_sdk::transaction::TransactionError[][src]

pub enum TransactionError {
    AccountInUse,
    AccountLoadedTwice,
    AccountNotFound,
    ProgramAccountNotFound,
    InsufficientFundsForFee,
    InvalidAccountForFee,
    DuplicateSignature,
    BlockhashNotFound,
    InstructionError(u8InstructionError),
    CallChainTooDeep,
    MissingSignatureForFee,
    InvalidAccountIndex,
    SignatureFailure,
    InvalidProgramForExecution,
    SanitizeFailure,
    ClusterMaintenance,
}

Reasons a transaction might be rejected.

Variants

AccountInUse

An account is already being processed in another transaction in a way that does not support parallelism

AccountLoadedTwice

A Pubkey appears twice in the transaction’s account_keys. Instructions can reference Pubkeys more than once but the message must contain a list with no duplicate keys

AccountNotFound

Attempt to debit an account but found no record of a prior credit.

ProgramAccountNotFound

Attempt to load a program that does not exist

InsufficientFundsForFee

The from Pubkey does not have sufficient balance to pay the fee to schedule the transaction

InvalidAccountForFee

This account may not be used to pay transaction fees

DuplicateSignature

The bank has seen this Signature before. This can occur under normal operation when a UDP packet is duplicated, as a user error from a client not updating its recent_blockhash, or as a double-spend attack.

BlockhashNotFound

The bank has not seen the given recent_blockhash or the transaction is too old and the recent_blockhash has been discarded.

InstructionError(u8InstructionError)

An error occurred while processing an instruction. The first element of the tuple indicates the instruction index in which the error occurred.

CallChainTooDeep

Loader call chain is too deep

MissingSignatureForFee

Transaction requires a fee but has no signature present

InvalidAccountIndex

Transaction contains an invalid account reference

SignatureFailure

Transaction did not pass signature verification

InvalidProgramForExecution

This program may not be used for executing instructions

SanitizeFailure

Transaction failed to sanitize accounts offsets correctly implies that account locks are not taken for this TX, and should not be unlocked.

ClusterMaintenance

Trait Implementations

impl Clone for TransactionError[src]

impl Debug for TransactionError[src]

impl<'de> Deserialize<'de> for TransactionError[src]

impl Display for TransactionError[src]

impl Eq for TransactionError[src]

impl Error for TransactionError[src]

impl From<SanitizeError> for TransactionError[src]

impl From<TransactionError> for SignerError[src]

impl From<TransactionError> for TransportError[src]

impl PartialEq<TransactionError> for TransactionError[src]

impl Serialize for TransactionError[src]

impl StructuralEq for TransactionError[src]

impl StructuralPartialEq for TransactionError[src]

Auto Trait Implementations

impl RefUnwindSafe for TransactionError

impl Send for TransactionError

impl Sync for TransactionError

impl Unpin for TransactionError

impl UnwindSafe for TransactionError

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> AsErrorSource for T where
    T: 'static + Error
[src]

impl<T> AsFail for T where
    T: Fail
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<E> Fail for E where
    E: 'static + Error + Send + Sync
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> MaybeDebug for T where
    T: Debug
[src]

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Typeable for T where
    T: Any

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]