Enum Error

Source
pub enum Error<T> {
Show 40 variants AuthorNotFound, InadequateCollateral, InadequateFunds, AlreadyEnrolled, AuthorIsActive, AuthorInProbation, AuthorResigned, AuthorHasPenalties, AuthorActivated, CannotGenerateCommitDigest, AuthorHasRewards, FundDoesNotExist, AuthorDigestNotFound, FundedToAnotherDigest, AuthorNotInIndex, AuthorNotInPool, BelowMinimumFund, AboveMaximumExposure, CannotFundOnCollateral, RewardNotFound, PenaltyNotFound, AuthorTotalHoldExhausted, ContainsNoRewards, ContainsNoPenalties, FinalizedObligations, AuthorNeedsMoreCollateral, ZeroPenaltyFound, AuthorIsUnsafe, RedundantResignation, InadequateCandidatesToElect, NoElectsFound, AuthorNotElected, MinElectedNotReached, RiskWithinThreshold, AuthorMismatch, InvalidPoolManager, MinCollateralZero, MinGreaterThanMax, NonZeroConfigRequired, FundingOffLimits, // some variants omitted
}
Expand description

The Error enum of this pallet.

Variants§

§

AuthorNotFound

The specified author is not found in the system.

§

InadequateCollateral

Lesser than minimum collateral provided for author role enrollment.

§

InadequateFunds

Lesser than minimum requirement funds provided for enroll/funding operation.

§

AlreadyEnrolled

Redundant enrollment for an already existing author.

§

AuthorIsActive

Author is actively participating in their assigned/enrolled duties.

Either internally or externally by other pallets.

§

AuthorInProbation

The specified author is undergoing probation period.

§

AuthorResigned

Author has resigned and must undergo a new enrollment to rejoin.

§

AuthorHasPenalties

Author has pending penalties that must finalize before the operation can proceed.

§

AuthorActivated

Once an author is active after probation, cannot undergo probation again.

§

CannotGenerateCommitDigest

Digest cannot be generated for author for external funding (commitment).

§

AuthorHasRewards

Author has pending rewards that must finalize before the operation can proceed.

§

FundDoesNotExist

The requested external backing/fund does not exist.

§

AuthorDigestNotFound

The author’s funding digest/hash is not found in the system.

§

FundedToAnotherDigest

The backer funded another author’s digest, not the specified author.

May correspond to an index or pool digest.

§

AuthorNotInIndex

Author’s funding digest is not available in the index entries.

§

AuthorNotInPool

Author’s funding digest is not available in the pool’s slots.

§

BelowMinimumFund

Minimum fund not attained, either locally (author-defined) or globally.

§

AboveMaximumExposure

Funds exceed maximum exposable amount, either locally (author-defined) or globally.

§

CannotFundOnCollateral

Author is attempting to fund on top of collateral, which is not allowed.

§

RewardNotFound

The requested reward for author is not found in pending rewards.

§

PenaltyNotFound

The requested penalty for author is not found in pending penalties.

§

AuthorTotalHoldExhausted

The total hold of an author, including all funds and collateral, overflowed.

If the commitment asset is non-issuance based, update the scalar type to maximum precision. If issuance-based, an internal audit into the asset is expected.

§

ContainsNoRewards

The requested timestamp doesn’t contain any pending rewards.

§

ContainsNoPenalties

The requested timestamp doesn’t contain any pending penalties.

§

FinalizedObligations

The requested timestamp has finalized all obligations, such as pending rewards or penalties.

§

AuthorNeedsMoreCollateral

Author is under-collateralized due to increased system requirements to continue operations.

§

ZeroPenaltyFound

The given penalty factor is zero and cannot be applied for penalization of authors.

§

AuthorIsUnsafe

The author is deemed risky (unsafe); operation cannot proceed.

Not a permanent condition: can be resolved with positive activities.

§

RedundantResignation

Already resigned author attempting resignation again.

§

InadequateCandidatesToElect

The provided candidate set was too small to begin an election.

This occurs when the number of candidates passed to the election process is less than the configured minimum.

§

NoElectsFound

No elected authors were found in storage or the election produced zero winners.

This may occur in two cases:

  • When attempting to reveal or access election results but no election data has been recorded for the current or recent round.
  • When an election process completed but resulted in zero elected candidates, indicating either a lack of eligible participants or a model configuration issue.
§

AuthorNotElected

The given author is not elected in the recent election.

§

MinElectedNotReached

The number of elected authors did not reach the configured minimum.

Triggered during the election storage phase when the computed results contain fewer authors than required.

§

RiskWithinThreshold

The author’s accumulated risk has not crossed the revocation limit.

This error is returned when an operation requires the author to have exceeded the allowed risk window, but the author’s risk_until is still less than or equal to:

current_block + ProbationPeriod.

In this state, the author remains valid and cannot yet be revoked.

§

AuthorMismatch

The provided author does not match the expected author for the operation.

This error is returned when an operation references an author that is inconsistent with the stored author context or resolved digest.

§

InvalidPoolManager

The caller is not the current manager of the specified funding pool.

§

MinCollateralZero

The minimum collateral value cannot be zero.

This error is returned when attempting to set the minimum required collateral to 0. The minimum collateral must be greater than zero.

§

MinGreaterThanMax

A minimum configuration value exceeds its corresponding maximum value.

This error is returned when a parameter that represents a lower bound (e.g., MinElected, MinFund) is set greater than its associated upper bound (e.g., MaxElected, MaxExposure).

Ensures logical consistency between related configuration limits.

§

NonZeroConfigRequired

A configuration parameter that must be strictly greater than zero was provided as zero.

This error is returned when attempting to set a non-zero-required global parameter (such as MinCollateral, MinFund, MinElected, or MaxElected) to 0.

Prevents invalid economic or election configuration.

§

FundingOffLimits

Initiating a fund (backing) has exceeded allowed funding limits either globally or locally by the receiving model (author/index/pool) or low-level balances.

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 size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
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 encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

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

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,

Source§

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> DecodeWithMemTracking for Error<T>

Source§

impl<T> EncodeLike for Error<T>

Auto Trait Implementations§

§

impl<T> Freeze for Error<T>

§

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

impl<T> CheckedConversion for 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
§

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 T
where 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 T
where 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> DecodeWithMemLimit for T
where T: DecodeWithMemTracking,

§

fn decode_with_mem_limit<I>(input: &mut I, mem_limit: usize) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum memory limit and advance input by the number of bytes consumed. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<T> Instrument for T

§

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

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

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
§

impl<T, U> IntoKey<U> for T
where U: FromKey<T>,

§

fn into_key(self) -> U

Source§

impl<T, U, Tag> IntoTag<U, Tag> for T
where U: FromTag<T, Tag>, Tag: DiscriminantTag,

Source§

fn into_tag(self) -> U

§

impl<Src, Dest> IntoTuple<Dest> for Src
where Dest: FromTuple<Src>,

§

fn into_tuple(self) -> Dest

§

impl<T> IsType<T> for T

§

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

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

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

Cast mutable reference.
§

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

Cast mutable reference.
§

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

§

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

Get a reference to the inner from the outer.

§

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

Get a mutable reference to the inner from the outer.

§

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

§

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

Return an encoding of Self prepended by given slice.
Source§

impl<T, Time> Logging<Time> for T
where Time: Time,

Source§

const FALLBACK_TARGET: &'static str = "routine"

Default logging target if none is provided.

Most routines, especially offchain workers or background tasks, use this target for simplicity.

It allows a consistent place to look for routine logs without requiring every call to specify a target.

Note: This target is only a conveninence and may be somewhat vague. To ensure errors can still be traced accurately, the logged messages should include additional metadata (e.g., module name, error index, or contextual info) so that the source of the error can be identified even if the target is generic.

Source§

type Logger = DispatchError

The type taken and returned for logging.

We simply return the same [DispatchError] that was logged, so logging does not change control flow or error propagation.

DispatchError is used because in Substrate it encompasses all runtime errors - including module errors, token errors, arithmetic issues, and transactional boundaries - making it the universal substrate-side error representation.

Source§

type Level = LogLevel

The log level type.

We use the LogLevel enum to standardize severity levels (Info, Warn, Error, Debug) across all routine logs.

Source§

fn log( level: <T as Logging<Time>>::Level, err: &<T as Logging<Time>>::Logger, timestamp: Time, target: Option<&str>, fmt: Option<fn(Time, &<T as Logging<Time>>::Level, &str, &str) -> String>, ) -> <T as Logging<Time>>::Logger

Core logging function that all helpers delegate to. Read more
Source§

fn info( err: &Self::Logger, timestamp: Timestamp, target: Option<&str>, fmt: Option<fn(Timestamp, &Self::Level, &str, &str) -> String>, ) -> Self::Logger
where Self: Sized,

Logs an info-level message. Read more
Source§

fn warn( err: &Self::Logger, timestamp: Timestamp, target: Option<&str>, fmt: Option<fn(Timestamp, &Self::Level, &str, &str) -> String>, ) -> Self::Logger
where Self: Sized,

Logs a warning-level message. Read more
Source§

fn error( err: &Self::Logger, timestamp: Timestamp, target: Option<&str>, fmt: Option<fn(Timestamp, &Self::Level, &str, &str) -> String>, ) -> Self::Logger
where Self: Sized,

Logs an error-level message. Read more
Source§

fn debug( err: &Self::Logger, timestamp: Timestamp, target: Option<&str>, fmt: Option<fn(Timestamp, &Self::Level, &str, &str) -> String>, ) -> Self::Logger
where Self: Sized,

Logs a debug-level message. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> SaturatedConversion for 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
§

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

Consume self to return an equivalent value of T. 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.
§

impl<T, U> TryIntoKey<U> for T
where U: TryFromKey<T>,

§

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

§

fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>

§

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

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

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

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

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

§

fn vzip(self) -> V

§

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

§

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
§

impl<T> WithSubscriber for T

§

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
§

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 S
where S: Decode + Encode,

Source§

impl<Provider, Discriminant, T> DelegateVirtualDynBound<Provider, Discriminant> for T
where Provider: VirtualDynBound<Discriminant>, Discriminant: DiscriminantTag,

Source§

impl<Provider, Discriminant, T> DelegateVirtualStaticBound<Provider, Discriminant> for T
where Provider: VirtualStaticBound<Discriminant>, Discriminant: DiscriminantTag,

§

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<T> EncodeLike<Rc<T>> for T
where T: Encode,

§

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

§

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

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

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

Source§

impl<T> MetaAware for T
where T: TypeInfo + Debug,

Source§

impl<T> Probe for T
where T: Encode + Debug + ?Sized,

Source§

impl<T> RuntimeEnum for T
where T: FullCodec + TypeInfo + Debug,

Source§

impl<T> RuntimeError for T
where T: RuntimeEnum + 'static + Into<DispatchError>,

§

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