subscan
Runtime Modules / DappStaking
Spec Version:
Events
Name
Lookup
Attributes
MaintenanceMode2200["bool"]
NewEra2201["EraNumber"]
NewSubperiod2202["Subperiod","PeriodNumber"]
DAppRegistered2203["AccountId","SmartContract","DAppId"]
DAppRewardDestinationUpdated2204["SmartContract","Option<AccountId>"]
DAppOwnerChanged2205["SmartContract","AccountId"]
DAppUnregistered2206["SmartContract","EraNumber"]
Locked2207["AccountId","Balance"]
Unlocking2208["AccountId","Balance"]
ClaimedUnlocked2209["AccountId","Balance"]
Relock220a["AccountId","Balance"]
Stake220b["AccountId","SmartContract","Balance"]
Unstake220c["AccountId","SmartContract","Balance"]
Reward220d["AccountId","EraNumber","Balance"]
BonusReward220e["AccountId","SmartContract","PeriodNumber","Balance"]
DAppReward220f["AccountId","SmartContract","TierId","EraNumber","Balance"]
UnstakeFromUnregistered2210["AccountId","SmartContract","Balance"]
ExpiredEntriesRemoved2211["AccountId","u16"]
Force2212["ForcingType"]
Storage Functions
Name
Type
ActiveProtocolState{"origin":"PlainType","plain_type":"pallet_dapp_staking_v3:types:ProtocolState","PlainTypeValue":375}
NextDAppId{"origin":"PlainType","plain_type":"U16","PlainTypeValue":38}
IntegratedDApps{"origin":"Map","n_map_type":{"hashers":["Blake2_128Concat"],"key_vec":["astar_primitives:dapp_staking:SmartContract"],"value":"pallet_dapp_staking_v3:types:DAppInfo","keys_id":54,"value_id":377}}
CounterForIntegratedDApps{"origin":"PlainType","plain_type":"U32","PlainTypeValue":4}
Ledger{"origin":"Map","n_map_type":{"hashers":["Blake2_128Concat"],"key_vec":["AccountId"],"value":"pallet_dapp_staking_v3:types:AccountLedger","keys_id":0,"value_id":379}}
StakerInfo{"origin":"Map","n_map_type":{"hashers":["Blake2_128Concat","Blake2_128Concat"],"key_vec":["AccountId","astar_primitives:dapp_staking:SmartContract"],"value":"pallet_dapp_staking_v3:types:SingularStakingInfo","keys_id":385,"value_id":386}}
ContractStake{"origin":"Map","n_map_type":{"hashers":["Twox64Concat"],"key_vec":["U16"],"value":"pallet_dapp_staking_v3:types:ContractStakeAmount","keys_id":38,"value_id":387}}
CurrentEraInfo{"origin":"PlainType","plain_type":"pallet_dapp_staking_v3:types:EraInfo","PlainTypeValue":388}
EraRewards{"origin":"Map","n_map_type":{"hashers":["Twox64Concat"],"key_vec":["U32"],"value":"pallet_dapp_staking_v3:types:EraRewardSpan","keys_id":4,"value_id":389}}
PeriodEnd{"origin":"Map","n_map_type":{"hashers":["Twox64Concat"],"key_vec":["U32"],"value":"pallet_dapp_staking_v3:types:PeriodEndInfo","keys_id":4,"value_id":393}}
StaticTierParams{"origin":"PlainType","plain_type":"pallet_dapp_staking_v3:types:TierParameters","PlainTypeValue":394}
TierConfig{"origin":"PlainType","plain_type":"pallet_dapp_staking_v3:types:TiersConfiguration","PlainTypeValue":401}
DAppTiers{"origin":"Map","n_map_type":{"hashers":["Twox64Concat"],"key_vec":["U32"],"value":"pallet_dapp_staking_v3:types:DAppTierRewards","keys_id":4,"value_id":404}}
HistoryCleanupMarker{"origin":"PlainType","plain_type":"pallet_dapp_staking_v3:types:CleanupMarker","PlainTypeValue":411}
Safeguard{"origin":"PlainType","plain_type":"Bool","PlainTypeValue":52}
Constants
Name
Type
Value
EraRewardSpanLengthU3210000000
RewardRetentionInPeriodsU3204000000
MaxNumberOfContractsU32f4010000
MaxUnlockingChunksU3208000000
MinimumLockedAmountU128000050efe2d6e41a1b00000000000000
UnlockingPeriodU3209000000
MaxNumberOfStakedContractsU3210000000
MinimumStakeAmountU128000050efe2d6e41a1b00000000000000
NumberOfTiersU3204000000
Error Types
Name
Docs
DisabledPallet is disabled/in maintenance mode.
ContractAlreadyExistsSmart contract already exists within dApp staking protocol.
ExceededMaxNumberOfContractsMaximum number of smart contracts has been reached.
NewDAppIdUnavailableNot possible to assign a new dApp Id.This should never happen since current type can support up to 65536 - 1 unique dApps.
ContractNotFoundSpecified smart contract does not exist in dApp staking.
OriginNotOwnerCall origin is not dApp owner.
ZeroAmountPerforming locking or staking with 0 amount.
LockedAmountBelowThresholdTotal locked amount for staker is below minimum threshold.
AccountNotAvailableForDappStakingAccount is not allowed to participate in dApp staking due to some external reason (e.g. account is already a collator).
TooManyUnlockingChunksCannot add additional unlocking chunks due to capacity limit.
RemainingStakePreventsFullUnlockRemaining stake prevents entire balance of starting the unlocking process.
NoUnlockedChunksToClaimThere are no eligible unlocked chunks to claim. This can happen either if no eligible chunks exist, or if user has no chunks at all.
NoUnlockingChunksThere are no unlocking chunks available to relock.
UnavailableStakeFundsThe amount being staked is too large compared to what's available for staking.
UnclaimedRewardsThere are unclaimed rewards remaining from past eras or periods. They should be claimed before attempting any stake modification again.
InternalStakeErrorAn unexpected error occurred while trying to stake.
InsufficientStakeAmountTotal staked amount on contract is below the minimum required value.
PeriodEndsInNextEraStake operation is rejected since period ends in the next era.
UnstakeFromPastPeriodUnstaking is rejected since the period in which past stake was active has passed.
UnstakeAmountTooLargeUnstake amount is greater than the staked amount.
NoStakingInfoAccount has no staking information for the contract.
InternalUnstakeErrorAn unexpected error occurred while trying to unstake.
RewardExpiredRewards are no longer claimable since they are too old.
RewardPayoutFailedReward payout has failed due to an unexpected reason.
NoClaimableRewardsThere are no claimable rewards.
InternalClaimStakerErrorAn unexpected error occurred while trying to claim staker rewards.
NotEligibleForBonusRewardAccount is has no eligible stake amount for bonus reward.
InternalClaimBonusErrorAn unexpected error occurred while trying to claim bonus reward.
InvalidClaimEraClaim era is invalid - it must be in history, and rewards must exist for it.
NoDAppTierInfoNo dApp tier info exists for the specified era. This can be because era has expiredor because during the specified era there were no eligible rewards or protocol wasn't active.
InternalClaimDAppErrorAn unexpected error occurred while trying to claim dApp reward.
ContractStillActiveContract is still active, not unregistered.
TooManyStakedContractsThere are too many contract stake entries for the account. This can be cleaned up by either unstaking or cleaning expired entries.
NoExpiredEntriesThere are no expired entries to cleanup for the account.
ForceNotAllowedForce call is not allowed in production.