pub enum Error<T> {
Show 34 variants InvalidSchedule, InvalidCallFlags, OutOfGas, OutputBufferTooSmall, TransferFailed, MaxCallDepthReached, ContractNotFound, CodeTooLarge, CodeNotFound, CodeInfoNotFound, OutOfBounds, DecodingFailed, ContractTrapped, ValueTooLarge, TerminatedWhileReentrant, InputForwarded, RandomSubjectTooLong, TooManyTopics, NoChainExtension, DuplicateContract, TerminatedInConstructor, ReentranceDenied, StorageDepositNotEnoughFunds, StorageDepositLimitExhausted, CodeInUse, ContractReverted, CodeRejected, Indeterministic, MigrationInProgress, NoMigrationPerformed, MaxDelegateDependenciesReached, DelegateDependencyNotFound, DelegateDependencyAlreadyExists, CannotAddSelfAsDelegateDependency, // some variants omitted
}
Expand description

The Error enum of this pallet.

Variants§

§

InvalidSchedule

Invalid schedule supplied, e.g. with zero weight of a basic operation.

§

InvalidCallFlags

Invalid combination of flags supplied to seal_call or seal_delegate_call.

§

OutOfGas

The executed contract exhausted its gas limit.

§

OutputBufferTooSmall

The output buffer supplied to a contract API call was too small.

§

TransferFailed

Performing the requested transfer failed. Probably because there isn’t enough free balance in the sender’s account.

§

MaxCallDepthReached

Performing a call was denied because the calling depth reached the limit of what is specified in the schedule.

§

ContractNotFound

No contract was found at the specified address.

§

CodeTooLarge

The code supplied to instantiate_with_code exceeds the limit specified in the current schedule.

§

CodeNotFound

No code could be found at the supplied code hash.

§

CodeInfoNotFound

No code info could be found at the supplied code hash.

§

OutOfBounds

A buffer outside of sandbox memory was passed to a contract API function.

§

DecodingFailed

Input passed to a contract API function failed to decode as expected type.

§

ContractTrapped

Contract trapped during execution.

§

ValueTooLarge

The size defined in T::MaxValueSize was exceeded.

§

TerminatedWhileReentrant

Termination of a contract is not allowed while the contract is already on the call stack. Can be triggered by seal_terminate.

§

InputForwarded

seal_call forwarded this contracts input. It therefore is no longer available.

§

RandomSubjectTooLong

The subject passed to seal_random exceeds the limit.

§

TooManyTopics

The amount of topics passed to seal_deposit_events exceeds the limit.

§

NoChainExtension

The chain does not provide a chain extension. Calling the chain extension results in this error. Note that this usually shouldn’t happen as deploying such contracts is rejected.

§

DuplicateContract

A contract with the same AccountId already exists.

§

TerminatedInConstructor

A contract self destructed in its constructor.

This can be triggered by a call to seal_terminate.

§

ReentranceDenied

A call tried to invoke a contract that is flagged as non-reentrant. The only other cause is that a call from a contract into the runtime tried to call back into pallet-contracts. This would make the whole pallet reentrant with regard to contract code execution which is not supported.

§

StorageDepositNotEnoughFunds

Origin doesn’t have enough balance to pay the required storage deposits.

§

StorageDepositLimitExhausted

More storage was created than allowed by the storage deposit limit.

§

CodeInUse

Code removal was denied because the code is still in use by at least one contract.

§

ContractReverted

The contract ran to completion but decided to revert its storage changes. Please note that this error is only returned from extrinsics. When called directly or via RPC an Ok will be returned. In this case the caller needs to inspect the flags to determine whether a reversion has taken place.

§

CodeRejected

The contract’s code was found to be invalid during validation.

The most likely cause of this is that an API was used which is not supported by the node. This happens if an older node is used with a new version of ink!. Try updating your node to the newest available version.

A more detailed error can be found on the node console if debug messages are enabled by supplying -lruntime::contracts=debug.

§

Indeterministic

An indetermistic code was used in a context where this is not permitted.

§

MigrationInProgress

A pending migration needs to complete before the extrinsic can be called.

§

NoMigrationPerformed

Migrate dispatch call was attempted but no migration was performed.

§

MaxDelegateDependenciesReached

The contract has reached its maximum number of delegate dependencies.

§

DelegateDependencyNotFound

The dependency was not found in the contract’s delegate dependencies.

§

DelegateDependencyAlreadyExists

The contract already depends on the given delegate dependency.

§

CannotAddSelfAsDelegateDependency

Can not add a delegate dependency to the code hash of the contract itself.

Trait Implementations§

source§

impl<T: Config> Debug for Error<T>

source§

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

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

impl<T> Decode for Error<T>

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>where I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<T> Encode for Error<T>

source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
§

fn encode(&self) -> Vec<u8, Global>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> Rwhere F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<T: Config> From<Error<T>> for &'static str

source§

fn from(err: Error<T>) -> &'static str

Converts to this type from the input type.
source§

impl<T: Config> From<Error<T>> for DispatchError

source§

fn from(err: Error<T>) -> Self

Converts to this type from the input type.
source§

impl<T> PalletError for Error<T>

source§

const MAX_ENCODED_SIZE: usize = 1usize

The maximum encoded size for the implementing type. Read more
source§

impl<T> TypeInfo for Error<T>where PhantomData<T>: TypeInfo + 'static, T: 'static,

§

type Identity = Error<T>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<T> EncodeLike<Error<T>> for Error<T>

Auto Trait Implementations§

§

impl<T> RefUnwindSafe for Error<T>where T: RefUnwindSafe,

§

impl<T> Send for Error<T>where T: Send,

§

impl<T> Sync for Error<T>where T: Sync,

§

impl<T> Unpin for Error<T>where T: Unpin,

§

impl<T> UnwindSafe for Error<T>where T: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CheckedConversion for T

source§

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
source§

fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> DecodeAll for Twhere T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for Twhere T: Decode,

§

fn decode_all_with_depth_limit( limit: u32, input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of bytes consumed. Read more
§

impl<T> Downcast for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for Twhere T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send + 'static>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Hashable for Twhere T: Codec,

source§

fn blake2_128(&self) -> [u8; 16]

source§

fn blake2_256(&self) -> [u8; 32]

source§

fn blake2_128_concat(&self) -> Vec<u8, Global>

source§

fn twox_128(&self) -> [u8; 16]

source§

fn twox_256(&self) -> [u8; 32]

source§

fn twox_64_concat(&self) -> Vec<u8, Global>

source§

fn identity(&self) -> Vec<u8, Global>

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 Twhere U: From<T>,

const: unstable · 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> IsType<T> for T

source§

fn from_ref(t: &T) -> &T

Cast reference.
source§

fn into_ref(&self) -> &T

Cast reference.
source§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
source§

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

Cast mutable reference.
source§

impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

source§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

source§

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

Get a mutable reference to the inner from the outer.

§

impl<T> KeyedVec for Twhere T: Codec,

§

fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8, Global>

Return an encoding of Self prepended by given slice.
§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> SaturatedConversion for T

source§

fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
source§

fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
§

impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,

§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
source§

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

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,

source§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
source§

impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,

source§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

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

§

fn vzip(self) -> V

source§

impl<T> WithPostDispatchInfo for Twhere T: Into<DispatchError>,

source§

fn with_weight( self, actual_weight: Weight ) -> DispatchErrorWithPostInfo<PostDispatchInfo>

Call this on your modules custom errors type in order to return a custom weight on error. Read more
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
§

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

§

impl<T> EncodeLike<&&T> for Twhere T: Encode,

§

impl<T> EncodeLike<&T> for Twhere T: Encode,

§

impl<T> EncodeLike<&mut T> for Twhere T: Encode,

§

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

§

impl<T> EncodeLike<Box<T, Global>> for Twhere T: Encode,

§

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

§

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

§

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

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for Twhere T: Debug,

source§

impl<T> MaybeRefUnwindSafe for Twhere T: RefUnwindSafe,

§

impl<T> StaticTypeInfo for Twhere T: TypeInfo + 'static,