pub enum Error<T> {
Show 38 variants
PoolNotFound,
PoolMemberNotFound,
RewardPoolNotFound,
SubPoolsNotFound,
AccountBelongsToOtherPool,
FullyUnbonding,
MaxUnbondingLimit,
CannotWithdrawAny,
MinimumBondNotMet,
OverflowRisk,
NotDestroying,
NotNominator,
NotKickerOrDestroying,
NotOpen,
MaxPools,
MaxPoolMembers,
CanNotChangeState,
DoesNotHavePermission,
MetadataExceedsMaxLen,
Defensive(DefensiveError),
PartialUnbondNotAllowedPermissionlessly,
MaxCommissionRestricted,
CommissionExceedsMaximum,
CommissionExceedsGlobalMaximum,
CommissionChangeThrottled,
CommissionChangeRateNotAllowed,
NoPendingCommission,
NoCommissionCurrentSet,
PoolIdInUse,
InvalidPoolId,
BondExtraRestricted,
NothingToAdjust,
NothingToSlash,
SlashTooLow,
AlreadyMigrated,
NotMigrated,
NotSupported,
Restricted,
// some variants omitted
}Expand description
The Error enum of this pallet.
Variants§
PoolNotFound
A (bonded) pool id does not exist.
PoolMemberNotFound
An account is not a member.
RewardPoolNotFound
A reward pool does not exist. In all cases this is a system logic error.
SubPoolsNotFound
A sub pool does not exist.
AccountBelongsToOtherPool
An account is already delegating in another pool. An account may only belong to one pool at a time.
FullyUnbonding
The member is fully unbonded (and thus cannot access the bonded and reward pool anymore to, for example, collect rewards).
MaxUnbondingLimit
The member cannot unbond further chunks due to reaching the limit.
CannotWithdrawAny
None of the funds can be withdrawn yet because the bonding duration has not passed.
MinimumBondNotMet
The amount does not meet the minimum bond to either join or create a pool.
The depositor can never unbond to a value less than Pallet::depositor_min_bond. The
caller does not have nominating permissions for the pool. Members can never unbond to a
value below MinJoinBond.
OverflowRisk
The transaction could not be executed due to overflow risk for the pool.
NotDestroying
A pool must be in PoolState::Destroying in order for the depositor to unbond or for
other members to be permissionlessly unbonded.
NotNominator
The caller does not have nominating permissions for the pool.
NotKickerOrDestroying
Either a) the caller cannot make a valid kick or b) the pool is not destroying.
NotOpen
The pool is not open to join
MaxPools
The system is maxed out on pools.
MaxPoolMembers
Too many members in the pool or system.
CanNotChangeState
The pools state cannot be changed.
DoesNotHavePermission
The caller does not have adequate permissions.
MetadataExceedsMaxLen
Metadata exceeds Config::MaxMetadataLen
Defensive(DefensiveError)
Some error occurred that should never happen. This should be reported to the maintainers.
PartialUnbondNotAllowedPermissionlessly
Partial unbonding now allowed permissionlessly.
MaxCommissionRestricted
The pool’s max commission cannot be set higher than the existing value.
CommissionExceedsMaximum
The supplied commission exceeds the max allowed commission.
CommissionExceedsGlobalMaximum
The supplied commission exceeds global maximum commission.
CommissionChangeThrottled
Not enough blocks have surpassed since the last commission update.
CommissionChangeRateNotAllowed
The submitted changes to commission change rate are not allowed.
NoPendingCommission
There is no pending commission to claim.
NoCommissionCurrentSet
No commission current has been set.
PoolIdInUse
Pool id currently in use.
InvalidPoolId
Pool id provided is not correct/usable.
BondExtraRestricted
Bonding extra is restricted to the exact pending reward amount.
NothingToAdjust
No imbalance in the ED deposit for the pool.
NothingToSlash
No slash pending that can be applied to the member.
SlashTooLow
The slash amount is too low to be applied.
AlreadyMigrated
The pool or member delegation has already migrated to delegate stake.
NotMigrated
The pool or member delegation has not migrated yet to delegate stake.
NotSupported
This call is not allowed in the current state of the pallet.
Restricted
Account is restricted from participation in pools. This may happen if the account is staking in another way already.
Trait Implementations§
Source§impl<T> Decode for Error<T>
impl<T> Decode for Error<T>
Source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>
Source§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
Source§impl<T> Encode for Error<T>
impl<T> Encode for Error<T>
Source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
Source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
Source§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Source§impl<T> From<DefensiveError> for Error<T>
impl<T> From<DefensiveError> for Error<T>
Source§fn from(e: DefensiveError) -> Error<T>
fn from(e: DefensiveError) -> Error<T>
Source§impl<T> PalletError for Error<T>
impl<T> PalletError for Error<T>
Source§const MAX_ENCODED_SIZE: usize = 2usize
const MAX_ENCODED_SIZE: usize = 2usize
impl<T> DecodeWithMemTracking for Error<T>
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
Source§impl<T> DecodeWithMemLimit for Twhere
T: DecodeWithMemTracking,
impl<T> DecodeWithMemLimit for Twhere
T: DecodeWithMemTracking,
Source§impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
Source§fn defensive_truncate_into(self) -> U
fn defensive_truncate_into(self) -> U
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T. Read moreSource§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
Source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.