[−][src]Enum solana_sdk::transaction::TransactionError
Reasons a transaction might be rejected.
Variants
An account is already being processed in another transaction in a way that does not support parallelism
A Pubkey
appears twice in the transaction's account_keys
. Instructions can reference
Pubkey
s more than once but the message must contain a list with no duplicate keys
Attempt to debit an account but found no record of a prior credit.
Attempt to load a program that does not exist
The from Pubkey
does not have sufficient balance to pay the fee to schedule the transaction
This account may not be used to pay transaction fees
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.
The bank has not seen the given recent_blockhash
or the transaction is too old and
the recent_blockhash
has been discarded.
InstructionError(u8, InstructionError)
An error occurred while processing an instruction. The first element of the tuple indicates the instruction index in which the error occurred.
Loader call chain is too deep
Transaction requires a fee but has no signature present
Transaction contains an invalid account reference
Transaction did not pass signature verification
This program may not be used for executing instructions
Transaction failed to sanitize accounts offsets correctly implies that account locks are not taken for this TX, and should not be unlocked.
Trait Implementations
impl AbiEnumVisitor for TransactionError
[src]
pub fn visit_for_abi(&self, digester: &mut AbiDigester) -> DigestResult
[src]
impl AbiExample for TransactionError
[src]
impl Clone for TransactionError
[src]
pub fn clone(&self) -> TransactionError
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for TransactionError
[src]
impl<'de> Deserialize<'de> for TransactionError
[src]
pub fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl Display for TransactionError
[src]
impl Eq for TransactionError
[src]
impl Error for TransactionError
[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 From<SanitizeError> for TransactionError
[src]
pub fn from(_: SanitizeError) -> Self
[src]
impl From<TransactionError> for SignerError
[src]
pub fn from(source: TransactionError) -> Self
[src]
impl From<TransactionError> for TransportError
[src]
pub fn from(source: TransactionError) -> Self
[src]
impl PartialEq<TransactionError> for TransactionError
[src]
pub fn eq(&self, other: &TransactionError) -> bool
[src]
pub fn ne(&self, other: &TransactionError) -> bool
[src]
impl Serialize for TransactionError
[src]
pub fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl StructuralEq for TransactionError
[src]
impl StructuralPartialEq for TransactionError
[src]
Auto Trait Implementations
impl RefUnwindSafe for TransactionError
[src]
impl Send for TransactionError
[src]
impl Sync for TransactionError
[src]
impl Unpin for TransactionError
[src]
impl UnwindSafe for TransactionError
[src]
Blanket Implementations
impl<T> AbiEnumVisitor for T where
T: AbiExample + Serialize + ?Sized,
[src]
T: AbiExample + Serialize + ?Sized,
pub default fn visit_for_abi(
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
[src]
&self,
digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
impl<T> AbiEnumVisitor for T where
T: Serialize + ?Sized,
[src]
T: Serialize + ?Sized,
pub default fn visit_for_abi(
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
[src]
&self,
_digester: &mut AbiDigester
) -> Result<AbiDigester, DigestError>
impl<T> AbiExample for T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
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<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
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<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,