Enum InvalidTransactionV1

Source
#[non_exhaustive]
pub enum InvalidTransactionV1 {
Show 45 variants InvalidChainName { expected: String, got: String, }, ExcessiveSize(ExcessiveSizeErrorV1), ExcessiveTimeToLive { max_ttl: TimeDiff, got: TimeDiff, }, TimestampInFuture { validation_timestamp: Timestamp, timestamp_leeway: TimeDiff, got: Timestamp, }, InvalidBodyHash, InvalidTransactionHash, EmptyApprovals, InvalidApproval { index: usize, error: Error, }, ExcessiveArgsLength { max_length: usize, got: usize, }, ExcessiveApprovals { max_associated_keys: u32, got: u32, }, ExceedsBlockGasLimit { block_gas_limit: u64, got: Box<U512>, }, MissingArg { arg_name: String, }, UnexpectedArgType { arg_name: String, expected: Vec<String>, got: String, }, InvalidArg { arg_name: String, error: Error, }, InsufficientTransferAmount { minimum: u64, attempted: U512, }, InsufficientBurnAmount { minimum: u64, attempted: U512, }, EntryPointCannotBeCall, EntryPointCannotBeCustom { entry_point: TransactionEntryPoint, }, EntryPointMustBeCustom { entry_point: TransactionEntryPoint, }, EntryPointMustBeCall { entry_point: TransactionEntryPoint, }, EmptyModuleBytes, GasPriceConversion { amount: u64, gas_price: u8, }, UnableToCalculateGasLimit, UnableToCalculateGasCost, InvalidPricingMode { price_mode: PricingMode, }, InvalidTransactionLane(u8), NoLaneMatch, GasPriceToleranceTooLow { min_gas_price_tolerance: u8, provided_gas_price_tolerance: u8, }, CouldNotDeserializeField { error: FieldDeserializationError, }, CannotCalculateFieldsHash, UnexpectedTransactionFieldEntries, ExpectedNamedArguments, ExpectedBytesArguments, InvalidTransactionRuntime { expected: ContractRuntimeTag, }, MissingSeed, PricingModeNotSupported, InvalidPaymentAmount, UnexpectedEntryPoint { entry_point: TransactionEntryPoint, lane_id: u8, }, CouldNotSerializeTransaction, InsufficientAmount { attempted: U512, }, InvalidMinimumDelegationAmount { floor: u64, attempted: u64, }, InvalidMaximumDelegationAmount { ceiling: u64, attempted: u64, }, InvalidReservedSlots { ceiling: u32, attempted: u64, }, InvalidDelegationAmount { ceiling: u64, attempted: U512, }, UnsupportedInvocationTarget { id: Option<TransactionInvocationTarget>, },
}
Expand description

Returned when a TransactionV1 fails validation.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

InvalidChainName

Invalid chain name.

Fields

§expected: String

The expected chain name.

§got: String

The transaction’s chain name.

§

ExcessiveSize(ExcessiveSizeErrorV1)

Transaction is too large.

§

ExcessiveTimeToLive

Excessive time-to-live.

Fields

§max_ttl: TimeDiff

The time-to-live limit.

§got: TimeDiff

The transaction’s time-to-live.

§

TimestampInFuture

Transaction’s timestamp is in the future.

Fields

§validation_timestamp: Timestamp

The node’s timestamp when validating the transaction.

§timestamp_leeway: TimeDiff

Any configured leeway added to validation_timestamp.

§got: Timestamp

The transaction’s timestamp.

§

InvalidBodyHash

The provided body hash does not match the actual hash of the body.

§

InvalidTransactionHash

The provided transaction hash does not match the actual hash of the transaction.

§

EmptyApprovals

The transaction has no approvals.

§

InvalidApproval

Invalid approval.

Fields

§index: usize

The index of the approval at fault.

§error: Error

The approval verification error.

§

ExcessiveArgsLength

Excessive length of transaction’s runtime args.

Fields

§max_length: usize

The byte size limit of runtime arguments.

§got: usize

The length of the transaction’s runtime arguments.

§

ExcessiveApprovals

The amount of approvals on the transaction exceeds the configured limit.

Fields

§max_associated_keys: u32

The chainspec limit for max_associated_keys.

§got: u32

Number of approvals on the transaction.

§

ExceedsBlockGasLimit

The payment amount associated with the transaction exceeds the block gas limit.

Fields

§block_gas_limit: u64

Configured block gas limit.

§got: Box<U512>

The transaction’s calculated gas limit.

§

MissingArg

Missing a required runtime arg.

Fields

§arg_name: String

The name of the missing arg.

§

UnexpectedArgType

Given runtime arg is not one of the expected types.

Fields

§arg_name: String

The name of the invalid arg.

§expected: Vec<String>

The choice of valid types for the given runtime arg.

§got: String

The provided type of the given runtime arg.

§

InvalidArg

Failed to deserialize the given runtime arg.

Fields

§arg_name: String

The name of the invalid arg.

§error: Error

The deserialization error.

§

InsufficientTransferAmount

Insufficient transfer amount.

Fields

§minimum: u64

The minimum transfer amount.

§attempted: U512

The attempted transfer amount.

§

InsufficientBurnAmount

Insufficient burn amount.

Fields

§minimum: u64

The minimum burn amount.

§attempted: U512

The attempted burn amount.

§

EntryPointCannotBeCall

The entry point for this transaction target cannot be call.

§

EntryPointCannotBeCustom

The entry point for this transaction target cannot be TransactionEntryPoint::Custom.

Fields

§entry_point: TransactionEntryPoint

The invalid entry point.

§

EntryPointMustBeCustom

The entry point for this transaction target must be TransactionEntryPoint::Custom.

Fields

§entry_point: TransactionEntryPoint

The invalid entry point.

§

EntryPointMustBeCall

The entry point for this transaction target must be TransactionEntryPoint::Call.

Fields

§entry_point: TransactionEntryPoint

The invalid entry point.

§

EmptyModuleBytes

The transaction has empty module bytes.

§

GasPriceConversion

Attempt to factor the amount over the gas_price failed.

Fields

§amount: u64

The base amount.

§gas_price: u8

The attempted gas price.

§

UnableToCalculateGasLimit

Unable to calculate gas limit.

§

UnableToCalculateGasCost

Unable to calculate gas cost.

§

InvalidPricingMode

Invalid combination of pricing handling and pricing mode.

Fields

§price_mode: PricingMode

The pricing mode as specified by the transaction.

§

InvalidTransactionLane(u8)

The transaction provided is not supported.

§

NoLaneMatch

Could not match v1 with transaction lane

§

GasPriceToleranceTooLow

Gas price tolerance too low.

Fields

§min_gas_price_tolerance: u8

The minimum gas price tolerance.

§provided_gas_price_tolerance: u8

The provided gas price tolerance.

§

CouldNotDeserializeField

Error when trying to deserialize one of the transactionV1 payload fields.

Fields

§error: FieldDeserializationError

Underlying reason why the deserialization failed

§

CannotCalculateFieldsHash

Unable to calculate hash for payloads transaction.

§

UnexpectedTransactionFieldEntries

The transactions field map had entries that were unexpected

§

ExpectedNamedArguments

The transaction requires named arguments.

§

ExpectedBytesArguments

The transaction required bytes arguments.

§

InvalidTransactionRuntime

The transaction runtime is invalid.

Fields

§expected: ContractRuntimeTag

The expected runtime as specified by the chainspec.

§

MissingSeed

The transaction is missing a seed field.

§

PricingModeNotSupported

§

InvalidPaymentAmount

§

UnexpectedEntryPoint

Unexpected entry point detected.

Fields

§lane_id: u8
§

CouldNotSerializeTransaction

Could not serialize transaction

§

InsufficientAmount

Insufficient value for amount argument.

Fields

§attempted: U512

The attempted amount.

§

InvalidMinimumDelegationAmount

Invalid minimum delegation amount.

Fields

§floor: u64

The lowest allowed amount.

§attempted: u64

The attempted amount.

§

InvalidMaximumDelegationAmount

Invalid maximum delegation amount.

Fields

§ceiling: u64

The highest allowed amount.

§attempted: u64

The attempted amount.

§

InvalidReservedSlots

Invalid reserved slots.

Fields

§ceiling: u32

The highest allowed amount.

§attempted: u64

The attempted amount.

§

InvalidDelegationAmount

Invalid delegation amount.

Fields

§ceiling: u64

The highest allowed amount.

§attempted: U512

The attempted amount.

§

UnsupportedInvocationTarget

The transaction invocation target is unsupported under V2 runtime.

This error is returned when the transaction invocation target is not supported by the current runtime version.

Implementations§

Source§

impl InvalidTransaction

Source

pub fn unexpected_arg_type( arg_name: String, expected: Vec<CLType>, got: CLType, ) -> Self

Trait Implementations§

Source§

impl Clone for InvalidTransaction

Source§

fn clone(&self) -> InvalidTransaction

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl DataSize for InvalidTransaction

Source§

const IS_DYNAMIC: bool = true

If true, the type has a heap size that can vary at runtime, depending on the actual value.
Source§

const STATIC_HEAP_SIZE: usize = 0usize

The amount of space a value of the type always occupies. If IS_DYNAMIC is false, this is the total amount of heap memory occupied by the value. Otherwise this is a lower bound.
Source§

fn estimate_heap_size(&self) -> usize

Estimates the size of heap memory taken up by this value. Read more
Source§

impl Debug for InvalidTransaction

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for InvalidTransaction

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for InvalidTransaction

Available on crate feature std only.
Source§

fn source(&self) -> Option<&(dyn StdError + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<ExcessiveSizeErrorV1> for InvalidTransaction

Source§

fn from(error: ExcessiveSizeErrorV1) -> Self

Converts to this type from the input type.
Source§

impl From<InvalidTransaction> for InvalidTransaction

Source§

fn from(value: InvalidTransactionV1) -> Self

Converts to this type from the input type.
Source§

impl From<PricingModeError> for InvalidTransactionV1

Source§

fn from(err: PricingModeError) -> Self

Converts to this type from the input type.
Source§

impl IntoEnumIterator for InvalidTransaction

Source§

type Iterator = InvalidTransactionIter

Source§

fn iter() -> InvalidTransactionIter

Source§

impl PartialEq for InvalidTransaction

Source§

fn eq(&self, other: &InvalidTransaction) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for InvalidTransaction

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for InvalidTransaction

Source§

impl StructuralPartialEq for InvalidTransaction

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

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

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

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

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

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

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more