pub trait Config: Config<Hash: Into<H256>> {
Show 39 associated items
type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>;
type DomainHash: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + SimpleBitOps + Ord + Default + Copy + CheckEqual + Hash + AsRef<[u8]> + AsMut<[u8]> + MaxEncodedLen + Into<H256> + From<H256>;
type Balance: Parameter + Member + MaybeSerializeDeserialize + AtLeast32BitUnsigned + FullCodec + Debug + MaybeDisplay + Default + Copy + MaxEncodedLen + From<u64>;
type DomainHeader: HeaderT<Hash = Self::DomainHash>;
type ConfirmationDepthK: Get<BlockNumberFor<Self>>;
type DomainRuntimeUpgradeDelay: Get<BlockNumberFor<Self>>;
type Currency: Inspect<Self::AccountId, Balance = Self::Balance> + Mutate<Self::AccountId> + InspectHold<Self::AccountId> + MutateHold<Self::AccountId>;
type Share: Parameter + Member + MaybeSerializeDeserialize + Debug + AtLeast32BitUnsigned + FullCodec + Copy + Default + TypeInfo + MaxEncodedLen + IsType<<Self as Config>::Balance>;
type HoldIdentifier: HoldIdentifier<Self>;
type BlockTreePruningDepth: Get<DomainBlockNumberFor<Self>>;
type ConsensusSlotProbability: Get<(u64, u64)>;
type MaxDomainBlockSize: Get<u32>;
type MaxDomainBlockWeight: Get<Weight>;
type MaxDomainNameLength: Get<u32>;
type DomainInstantiationDeposit: Get<<Self as Config>::Balance>;
type WeightInfo: WeightInfo;
type InitialDomainTxRange: Get<u64>;
type DomainTxRangeAdjustmentInterval: Get<u64>;
type MinOperatorStake: Get<<Self as Config>::Balance>;
type MinNominatorStake: Get<<Self as Config>::Balance>;
type StakeWithdrawalLockingPeriod: Get<DomainBlockNumberFor<Self>>;
type StakeEpochDuration: Get<DomainBlockNumberFor<Self>>;
type TreasuryAccount: Get<Self::AccountId>;
type MaxPendingStakingOperation: Get<u32>;
type Randomness: RandomnessT<Self::Hash, BlockNumberFor<Self>>;
type PalletId: Get<PalletId>;
type StorageFee: StorageFee<<Self as Config>::Balance>;
type BlockSlot: BlockSlot<Self>;
type DomainsTransfersTracker: DomainsTransfersTracker<<Self as Config>::Balance>;
type MaxInitialDomainAccounts: Get<u32>;
type MinInitialDomainAccountBalance: Get<<Self as Config>::Balance>;
type BundleLongevity: Get<u32>;
type DomainBundleSubmitted: DomainBundleSubmitted;
type OnDomainInstantiated: OnDomainInstantiated;
type MmrHash: Parameter + Member + Default + Clone;
type MmrProofVerifier: MmrProofVerifier<Self::MmrHash, BlockNumberFor<Self>, <<Self as Config>::Hashing as Hash>::Output>;
type FraudProofStorageKeyProvider: FraudProofStorageKeyProvider<BlockNumberFor<Self>>;
type OnChainRewards: OnChainRewards<<Self as Config>::Balance>;
type WithdrawalLimit: Get<u32>;
}
Expand description
Configuration trait of this pallet.
The main purpose of this trait is to act as an interface between this pallet and the runtime in which it is embedded in. A type, function, or constant in this trait is essentially left to be configured by the runtime that includes this pallet.
Consequently, a runtime that wants to include this pallet must implement this trait.
Required Associated Types§
type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>
sourcetype DomainHash: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + SimpleBitOps + Ord + Default + Copy + CheckEqual + Hash + AsRef<[u8]> + AsMut<[u8]> + MaxEncodedLen + Into<H256> + From<H256>
type DomainHash: Parameter + Member + MaybeSerializeDeserialize + Debug + MaybeDisplay + SimpleBitOps + Ord + Default + Copy + CheckEqual + Hash + AsRef<[u8]> + AsMut<[u8]> + MaxEncodedLen + Into<H256> + From<H256>
Domain block hash type.
type Balance: Parameter + Member + MaybeSerializeDeserialize + AtLeast32BitUnsigned + FullCodec + Debug + MaybeDisplay + Default + Copy + MaxEncodedLen + From<u64>
sourcetype DomainHeader: HeaderT<Hash = Self::DomainHash>
type DomainHeader: HeaderT<Hash = Self::DomainHash>
The domain header type.
sourcetype ConfirmationDepthK: Get<BlockNumberFor<Self>>
type ConfirmationDepthK: Get<BlockNumberFor<Self>>
Same with pallet_subspace::Config::ConfirmationDepthK
.
sourcetype DomainRuntimeUpgradeDelay: Get<BlockNumberFor<Self>>
type DomainRuntimeUpgradeDelay: Get<BlockNumberFor<Self>>
Delay before a domain runtime is upgraded.
sourcetype Currency: Inspect<Self::AccountId, Balance = Self::Balance> + Mutate<Self::AccountId> + InspectHold<Self::AccountId> + MutateHold<Self::AccountId>
type Currency: Inspect<Self::AccountId, Balance = Self::Balance> + Mutate<Self::AccountId> + InspectHold<Self::AccountId> + MutateHold<Self::AccountId>
Currency type used by the domains for staking and other currency related stuff.
Type representing the shares in the staking protocol.
sourcetype HoldIdentifier: HoldIdentifier<Self>
type HoldIdentifier: HoldIdentifier<Self>
A variation of the Identifier used for holding the funds used for staking and domains.
sourcetype BlockTreePruningDepth: Get<DomainBlockNumberFor<Self>>
type BlockTreePruningDepth: Get<DomainBlockNumberFor<Self>>
The block tree pruning depth.
sourcetype ConsensusSlotProbability: Get<(u64, u64)>
type ConsensusSlotProbability: Get<(u64, u64)>
Consensus chain slot probability.
sourcetype MaxDomainBlockSize: Get<u32>
type MaxDomainBlockSize: Get<u32>
The maximum block size limit for all domain.
sourcetype MaxDomainBlockWeight: Get<Weight>
type MaxDomainBlockWeight: Get<Weight>
The maximum block weight limit for all domain.
sourcetype MaxDomainNameLength: Get<u32>
type MaxDomainNameLength: Get<u32>
The maximum domain name length limit for all domain.
sourcetype DomainInstantiationDeposit: Get<<Self as Config>::Balance>
type DomainInstantiationDeposit: Get<<Self as Config>::Balance>
The amount of fund to be locked up for the domain instance creator.
sourcetype WeightInfo: WeightInfo
type WeightInfo: WeightInfo
Weight information for extrinsics in this pallet.
sourcetype InitialDomainTxRange: Get<u64>
type InitialDomainTxRange: Get<u64>
Initial domain tx range value.
sourcetype DomainTxRangeAdjustmentInterval: Get<u64>
type DomainTxRangeAdjustmentInterval: Get<u64>
Domain tx range is adjusted after every DomainTxRangeAdjustmentInterval blocks.
sourcetype MinOperatorStake: Get<<Self as Config>::Balance>
type MinOperatorStake: Get<<Self as Config>::Balance>
Minimum operator stake required to become operator of a domain.
sourcetype MinNominatorStake: Get<<Self as Config>::Balance>
type MinNominatorStake: Get<<Self as Config>::Balance>
Minimum nominator stake required to nominate and operator.
sourcetype StakeWithdrawalLockingPeriod: Get<DomainBlockNumberFor<Self>>
type StakeWithdrawalLockingPeriod: Get<DomainBlockNumberFor<Self>>
Minimum number of blocks after which any finalized withdrawals are released to nominators.
sourcetype StakeEpochDuration: Get<DomainBlockNumberFor<Self>>
type StakeEpochDuration: Get<DomainBlockNumberFor<Self>>
Domain epoch transition interval
sourcetype TreasuryAccount: Get<Self::AccountId>
type TreasuryAccount: Get<Self::AccountId>
Treasury account.
sourcetype MaxPendingStakingOperation: Get<u32>
type MaxPendingStakingOperation: Get<u32>
The maximum number of pending staking operation that can perform upon epoch transition.
sourcetype Randomness: RandomnessT<Self::Hash, BlockNumberFor<Self>>
type Randomness: RandomnessT<Self::Hash, BlockNumberFor<Self>>
Randomness source.
sourcetype StorageFee: StorageFee<<Self as Config>::Balance>
type StorageFee: StorageFee<<Self as Config>::Balance>
Storage fee interface used to deal with bundle storage fee
sourcetype DomainsTransfersTracker: DomainsTransfersTracker<<Self as Config>::Balance>
type DomainsTransfersTracker: DomainsTransfersTracker<<Self as Config>::Balance>
Transfers tracker.
sourcetype MaxInitialDomainAccounts: Get<u32>
type MaxInitialDomainAccounts: Get<u32>
Upper limit for total initial accounts domains
sourcetype MinInitialDomainAccountBalance: Get<<Self as Config>::Balance>
type MinInitialDomainAccountBalance: Get<<Self as Config>::Balance>
Minimum balance for each initial domain account
sourcetype BundleLongevity: Get<u32>
type BundleLongevity: Get<u32>
How many block a bundle should still consider as valid after produced
sourcetype DomainBundleSubmitted: DomainBundleSubmitted
type DomainBundleSubmitted: DomainBundleSubmitted
Post hook to notify accepted domain bundles in previous block.
sourcetype OnDomainInstantiated: OnDomainInstantiated
type OnDomainInstantiated: OnDomainInstantiated
A hook to call after a domain is instantiated
sourcetype MmrProofVerifier: MmrProofVerifier<Self::MmrHash, BlockNumberFor<Self>, <<Self as Config>::Hashing as Hash>::Output>
type MmrProofVerifier: MmrProofVerifier<Self::MmrHash, BlockNumberFor<Self>, <<Self as Config>::Hashing as Hash>::Output>
MMR proof verifier
sourcetype FraudProofStorageKeyProvider: FraudProofStorageKeyProvider<BlockNumberFor<Self>>
type FraudProofStorageKeyProvider: FraudProofStorageKeyProvider<BlockNumberFor<Self>>
Fraud proof storage key provider
sourcetype OnChainRewards: OnChainRewards<<Self as Config>::Balance>
type OnChainRewards: OnChainRewards<<Self as Config>::Balance>
Hook to handle chain rewards.
sourcetype WithdrawalLimit: Get<u32>
type WithdrawalLimit: Get<u32>
The max number of withdrawals per nominator that may exist at any time, once this limit is reached, the nominator need to unlock the withdrawal before requesting new withdrawal.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.