[][src]Enum sp_runtime::transaction_validity::InvalidTransaction

pub enum InvalidTransaction {
    Call,
    Payment,
    Future,
    Stale,
    BadProof,
    AncientBirthBlock,
    ExhaustsResources,
    Custom(u8),
    BadMandatory,
    MandatoryDispatch,
}

An invalid transaction validity.

Variants

Call

The call of the transaction is not expected.

Payment

General error to do with the inability to pay some fees (e.g. account balance too low).

Future

General error to do with the transaction not yet being valid (e.g. nonce too high).

Stale

General error to do with the transaction being outdated (e.g. nonce too low).

BadProof

General error to do with the transaction's proofs (e.g. signature).

Possible causes

When using a signed extension that provides additional data for signing, it is required that the signing and the verifying side use the same additional data. Additional data will only be used to generate the signature, but will not be part of the transaction itself. As the verifying side does not know which additional data was used while signing it will only be able to assume a bad signature and cannot express a more meaningful error.

AncientBirthBlock

The transaction birth block is ancient.

ExhaustsResources

The transaction would exhaust the resources of current block.

The transaction might be valid, but there are not enough resources left in the current block.

Custom(u8)

Any other custom invalid validity that is not covered by this enum.

BadMandatory

An extrinsic with a Mandatory dispatch resulted in Error. This is indicative of either a malicious validator or a buggy provide_inherent. In any case, it can result in dangerously overweight blocks and therefore if found, invalidates the block.

MandatoryDispatch

A transaction with a mandatory dispatch. This is invalid; only inherent extrinsics are allowed to have mandatory dispatches.

Implementations

impl InvalidTransaction[src]

pub fn exhausted_resources(&self) -> bool[src]

Returns if the reason for the invalidity was block resource exhaustion.

pub fn was_mandatory(&self) -> bool[src]

Returns if the reason for the invalidity was a mandatory call failing.

Trait Implementations

impl Clone for InvalidTransaction[src]

impl Copy for InvalidTransaction[src]

impl Debug for InvalidTransaction[src]

impl Decode for InvalidTransaction[src]

impl Encode for InvalidTransaction[src]

impl EncodeLike<InvalidTransaction> for InvalidTransaction[src]

impl Eq for InvalidTransaction[src]

impl From<InvalidTransaction> for &'static str[src]

impl From<InvalidTransaction> for TransactionValidityError[src]

impl Into<Result<ValidTransaction, TransactionValidityError>> for InvalidTransaction[src]

impl PartialEq<InvalidTransaction> for InvalidTransaction[src]

impl Serialize for InvalidTransaction[src]

impl StructuralEq for InvalidTransaction[src]

impl StructuralPartialEq for InvalidTransaction[src]

Auto Trait Implementations

impl RefUnwindSafe for InvalidTransaction

impl Send for InvalidTransaction

impl Sync for InvalidTransaction

impl Unpin for InvalidTransaction

impl UnwindSafe for InvalidTransaction

Blanket Implementations

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

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

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

impl<T> CheckedConversion for T[src]

impl<S> Codec for S where
    S: Encode + Decode, 

impl<T, X> Decode for X where
    T: Decode + Into<X>,
    X: WrapperTypeDecode<Wrapped = T>, 

impl<T> DecodeAll for T where
    T: Decode, 

impl<T> DecodeLimit for T where
    T: Decode, 

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

impl<T, X> Encode for X where
    T: Encode + ?Sized,
    X: WrapperTypeEncode<Target = T>, 

impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode, 

impl<'_, T> EncodeLike<&'_ T> for T where
    T: Encode, 

impl<'_, T> EncodeLike<&'_ mut T> for T where
    T: Encode, 

impl<T> EncodeLike<Arc<T>> for T where
    T: Encode, 

impl<T> EncodeLike<Box<T>> for T where
    T: Encode, 

impl<'a, T> EncodeLike<Cow<'a, T>> for T where
    T: Encode + ToOwned

impl<T> EncodeLike<Rc<T>> for T where
    T: Encode, 

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

impl<S> FullCodec for S where
    S: Decode + FullEncode, 

impl<S> FullEncode for S where
    S: Encode + EncodeLike<S>, 

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

impl<T, Outer> IsWrappedBy<Outer> for T where
    Outer: AsRef<T> + AsMut<T> + From<T>,
    T: From<Outer>, 
[src]

fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> KeyedVec for T where
    T: Codec, 

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe
[src]

impl<T> MaybeSerialize for T where
    T: Serialize
[src]

impl<T> Member for T where
    T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SaturatedConversion for T[src]

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

type Owned = T

The resulting type after obtaining ownership.

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<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<T, S> UniqueSaturatedInto<T> for S where
    S: TryInto<T>,
    T: Bounded
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,