pub enum InvalidTransaction {
Call,
Payment,
Future,
Stale,
BadProof,
AncientBirthBlock,
ExhaustsResources,
Custom(u8),
BadMandatory,
MandatoryDispatch,
}
Expand description
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.
Possible causes
For FRAME
-based runtimes this would be caused by `current block number
- Era::birth block number > BlockHashCount
. (e.g. in Polkadot
BlockHashCount` = 2400, so a transaction with birth block number 1337 would be valid up until block number 1337 + 2400, after which point the transaction would be considered to have an ancient birth block.)
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
sourceimpl InvalidTransaction
impl InvalidTransaction
sourcepub fn exhausted_resources(&self) -> bool
pub fn exhausted_resources(&self) -> bool
Returns if the reason for the invalidity was block resource exhaustion.
sourcepub fn was_mandatory(&self) -> bool
pub fn was_mandatory(&self) -> bool
Returns if the reason for the invalidity was a mandatory call failing.
Trait Implementations
sourceimpl Clone for InvalidTransaction
impl Clone for InvalidTransaction
sourcepub fn clone(&self) -> InvalidTransaction
pub fn clone(&self) -> InvalidTransaction
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for InvalidTransaction
impl Debug for InvalidTransaction
sourceimpl Decode for InvalidTransaction
impl Decode for InvalidTransaction
sourcepub fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<InvalidTransaction, Error> where
__CodecInputEdqy: Input,
pub fn decode<__CodecInputEdqy>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<InvalidTransaction, Error> where
__CodecInputEdqy: Input,
Attempt to deserialise the value from input.
sourcefn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
Attempt to skip the encoded value from input. Read more
sourcefn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
sourceimpl Encode for InvalidTransaction
impl Encode for InvalidTransaction
sourcepub fn encode_to<__CodecOutputEdqy>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
) where
__CodecOutputEdqy: Output + ?Sized,
pub fn encode_to<__CodecOutputEdqy>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
) where
__CodecOutputEdqy: Output + ?Sized,
Convert self to a slice and append it to the destination.
sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
sourcefn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Convert self to an owned vector.
sourcefn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
sourcefn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
sourceimpl From<InvalidTransaction> for &'static str
impl From<InvalidTransaction> for &'static str
sourcepub fn from(invalid: InvalidTransaction) -> &'static str
pub fn from(invalid: InvalidTransaction) -> &'static str
Performs the conversion.
sourceimpl From<InvalidTransaction> for TransactionValidityError
impl From<InvalidTransaction> for TransactionValidityError
sourcepub fn from(err: InvalidTransaction) -> TransactionValidityError
pub fn from(err: InvalidTransaction) -> TransactionValidityError
Performs the conversion.
sourceimpl Into<Result<ValidTransaction, TransactionValidityError>> for InvalidTransaction
impl Into<Result<ValidTransaction, TransactionValidityError>> for InvalidTransaction
sourcepub fn into(self) -> Result<ValidTransaction, TransactionValidityError>
pub fn into(self) -> Result<ValidTransaction, TransactionValidityError>
Performs the conversion.
sourceimpl PartialEq<InvalidTransaction> for InvalidTransaction
impl PartialEq<InvalidTransaction> for InvalidTransaction
sourcepub fn eq(&self, other: &InvalidTransaction) -> bool
pub fn eq(&self, other: &InvalidTransaction) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcepub fn ne(&self, other: &InvalidTransaction) -> bool
pub fn ne(&self, other: &InvalidTransaction) -> bool
This method tests for !=
.
sourceimpl Serialize for InvalidTransaction
impl Serialize for InvalidTransaction
sourcepub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for InvalidTransaction
impl EncodeLike<InvalidTransaction> for InvalidTransaction
impl Eq for InvalidTransaction
impl StructuralEq for InvalidTransaction
impl StructuralPartialEq for InvalidTransaction
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CheckedConversion for T
impl<T> CheckedConversion for T
sourcefn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
Convert from a value of T
into an equivalent instance of Option<Self>
. Read more
sourcefn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
Consume self to return Some
equivalent value of Option<T>
. Read more
sourceimpl<T> DecodeLimit for T where
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
sourceimpl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
sourcefn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
Convert from a value of T
into an equivalent instance of Self
. Read more
sourcefn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of T
. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
sourcepub fn unchecked_into(self) -> T
pub fn unchecked_into(self) -> T
The counterpart to unchecked_from
.
sourceimpl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
sourcepub fn unique_saturated_into(self) -> T
pub fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of T
.