pendulum
subscan
Pendulum
Runtime Modules / ParachainStaking
Spec Version:
Events
Name
Lookup
Attributes
NewRound2300["BlockNumberFor","SessionIndex"]
EnteredTopCandidates2301["AccountId"]
LeftTopCandidates2302["AccountId"]
JoinedCollatorCandidates2303["AccountId","BalanceOf"]
CollatorStakedMore2304["AccountId","BalanceOf","BalanceOf"]
CollatorStakedLess2305["AccountId","BalanceOf","BalanceOf"]
CollatorScheduledExit2306["SessionIndex","AccountId","SessionIndex"]
CollatorCanceledExit2307["AccountId"]
CandidateLeft2308["AccountId","BalanceOf"]
CollatorRemoved2309["AccountId","BalanceOf"]
MaxCandidateStakeChanged230a["BalanceOf"]
DelegatorStakedMore230b["AccountId","AccountId","BalanceOf","BalanceOf"]
DelegatorStakedLess230c["AccountId","AccountId","BalanceOf","BalanceOf"]
DelegatorLeft230d["AccountId","BalanceOf"]
Delegation230e["AccountId","BalanceOf","AccountId","BalanceOf"]
DelegationReplaced230f["AccountId","BalanceOf","AccountId","BalanceOf","AccountId","BalanceOf"]
DelegatorLeftCollator2310["AccountId","AccountId","BalanceOf","BalanceOf"]
Rewarded2311["AccountId","BalanceOf"]
RoundInflationSet2312["Perquintill","Perquintill","Perquintill","Perquintill"]
MaxSelectedCandidatesSet2313["u32","u32"]
BlocksPerRoundSet2314["SessionIndex","BlockNumberFor","BlockNumberFor","BlockNumberFor"]
Storage Functions
Name
Type
MaxSelectedCandidates{"origin":"PlainType","plain_type":"U32","PlainTypeValue":4}
Round{"origin":"PlainType","plain_type":"parachain_staking:types:RoundInfo","PlainTypeValue":502}
LastDelegation{"origin":"Map","n_map_type":{"hashers":["Twox64Concat"],"key_vec":["AccountId"],"value":"parachain_staking:types:DelegationCounter","keys_id":0,"value_id":503}}
DelegatorState{"origin":"Map","n_map_type":{"hashers":["Twox64Concat"],"key_vec":["AccountId"],"value":"parachain_staking:types:Stake@504","keys_id":0,"value_id":504}}
CandidatePool{"origin":"Map","n_map_type":{"hashers":["Twox64Concat"],"key_vec":["AccountId"],"value":"parachain_staking:types:Candidate","keys_id":0,"value_id":505}}
CounterForCandidatePool{"origin":"PlainType","plain_type":"U32","PlainTypeValue":4}
TotalCollatorStake{"origin":"PlainType","plain_type":"parachain_staking:types:TotalStake","PlainTypeValue":511}
TopCandidates{"origin":"PlainType","plain_type":"Vec<parachain_staking:types:Stake@507>","PlainTypeValue":512}
InflationConfig{"origin":"PlainType","plain_type":"parachain_staking:inflation:InflationInfo","PlainTypeValue":514}
Unstaking{"origin":"Map","n_map_type":{"hashers":["Twox64Concat"],"key_vec":["AccountId"],"value":"Vec<Tuple:U32U128>","keys_id":0,"value_id":517}}
MaxCollatorCandidateStake{"origin":"PlainType","plain_type":"U128","PlainTypeValue":6}
LastRewardReduction{"origin":"PlainType","plain_type":"U32","PlainTypeValue":4}
RewardCount{"origin":"Map","n_map_type":{"hashers":["Twox64Concat"],"key_vec":["AccountId"],"value":"U32","keys_id":0,"value_id":4}}
Rewards{"origin":"Map","n_map_type":{"hashers":["Twox64Concat"],"key_vec":["AccountId"],"value":"U128","keys_id":0,"value_id":6}}
ForceNewRound{"origin":"PlainType","plain_type":"Bool","PlainTypeValue":30}
Constants
Name
Type
Value
MinBlocksPerRoundU322c010000
DefaultBlocksPerRoundU3258020000
StakeDurationU32e0c40000
ExitQueueDelayU3202000000
MinCollatorsU3208000000
MinRequiredCollatorsU3204000000
MaxDelegationsPerRoundU3201000000
MaxDelegatorsPerCollatorU3228000000
MaxTopCandidatesU3228000000
MinCollatorStakeU1280080e03779c311000000000000000000
MinCollatorCandidateStakeU1280080e03779c311000000000000000000
MinDelegatorStakeU12800a0724e180900000000000000000000
CollatorRewardRateDecayU640042028c4357050d
MaxUnstakeRequestsU320a000000
NetworkRewardStartU32ffffffff
NetworkRewardRateU640000000000000000
TreasuryAccountAccountId6d6f646c70792f74727372790000000000000000000000000000000000000000
Error Types
Name
Docs
DelegatorNotFoundThe account is not part of the delegators set.
CandidateNotFoundThe account is not part of the collator candidates set.
DelegatorExistsThe account is already part of the delegators set.
CandidateExistsThe account is already part of the collator candidates set.
ValStakeZeroThe account tried to stake more or less with amount zero.
ValStakeBelowMinThe account has not staked enough funds to be added to the collatorcandidates set.
ValStakeAboveMaxThe account has already staked the maximum amount of funds possible.
DelegationBelowMinThe account has not staked enough funds to delegate a collatorcandidate.
AlreadyLeavingThe collator candidate has already trigger the process to leave theset of collator candidates.
NotLeavingThe collator candidate wanted to execute the exit but has notrequested to leave before by calling `init_leave_candidates`.
CannotLeaveYetThe collator tried to leave before waiting at least for`ExitQueueDelay` many rounds.
CannotJoinBeforeUnlockingThe account has a full list of unstaking requests and needs tounlock at least one of these before being able to join (again).NOTE: Can only happen if the account was a candidate ordelegator before and either got kicked or exited voluntarily.
AlreadyDelegatingThe account is already delegating the collator candidate.
NotYetDelegatingThe account has not delegated any collator candidate yet, hence itis not in the set of delegators.
DelegationsPerRoundExceededThe delegator has exceeded the number of delegations per round whichis equal to MaxDelegatorsPerCollator.This protects against attacks in which a delegator can re-delegatefrom a collator who has already authored a block, to another onewhich has not in this round.
TooManyDelegatorsThe collator candidate has already reached the maximum number ofdelegators.This error is generated in case a new delegation request does notstake enough funds to replace some other existing delegation.
TooFewCollatorCandidatesThe set of collator candidates would fall below the required minimumif the collator left.
CannotStakeIfLeavingThe collator candidate is in the process of leaving the set ofcandidates and cannot perform any other actions in the meantime.
CannotDelegateIfLeavingThe collator candidate is in the process of leaving the set ofcandidates and thus cannot be delegated to.
MaxCollatorsPerDelegatorExceededThe delegator has already delegated the maximum number of candidatesallowed.
AlreadyDelegatedCollatorThe delegator has already previously delegated the collatorcandidate.
DelegationNotFoundThe given delegation does not exist in the set of delegations.
UnderflowThe collator delegate or the delegator is trying to un-stake morefunds that are currently staked.
CannotSetAboveMaxThe number of selected candidates per staking round isabove the maximum value allowed.
CannotSetBelowMinThe number of selected candidates per staking round isbelow the minimum value allowed.
InvalidScheduleAn invalid inflation configuration is trying to be set.
NoMoreUnstakingThe staking reward being unlocked does not exist.Max unlocking requests reached.
TooEarlyThe reward rate cannot be adjusted yet as an entire year has notpassed.
StakeNotFoundProvided staked value is zero. Should never be thrown.
UnstakingIsEmptyCannot unlock when Unstaked is empty.
RewardsNotFoundCannot claim rewards if empty.
TreasuryBalanceInsufficientTreasury balance is insufficient for the operation.
TreasuryTransferFailedFailed to transfer from treasury.