Trait pallet_crowdloan_rewards::pallet::Config
source · pub trait Config: Config {
Show 16 associated items
type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>;
type Initialized: Get<bool>;
type InitializationPayment: Get<Perbill>;
type MaxInitContributors: Get<u32>;
type MinimumReward: Get<BalanceOf<Self>>;
type RewardAddressRelayVoteThreshold: Get<Perbill>;
type NativeTokenId: Get<TokenIdOf<Self>>;
type Tokens: MultiTokenCurrency<Self::AccountId> + MultiTokenCurrencyExtended<Self::AccountId>;
type RelayChainAccountId: Parameter + Into<AccountId32> + From<AccountId32> + Ord;
type RewardAddressChangeOrigin: EnsureOrigin<Self::RuntimeOrigin>;
type SignatureNetworkIdentifier: Get<&'static [u8]>;
type RewardAddressAssociateOrigin: EnsureOrigin<Self::RuntimeOrigin>;
type VestingBlockNumber: AtLeast32BitUnsigned + Parameter + Default + Into<BalanceOf<Self>>;
type VestingBlockProvider: BlockNumberProvider<BlockNumber = Self::VestingBlockNumber>;
type VestingProvider: MultiTokenVestingLocks<Self::AccountId, Moment = Self::VestingBlockNumber, Currency = Self::Tokens>;
type WeightInfo: WeightInfo;
}
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. Configuration trait of this pallet.
Required Associated Types§
sourcetype RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>
type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>
The overarching event type
sourcetype Initialized: Get<bool>
type Initialized: Get<bool>
Checker for the reward vec, is it initalized already?
sourcetype InitializationPayment: Get<Perbill>
type InitializationPayment: Get<Perbill>
Percentage to be payed at initialization
type MaxInitContributors: Get<u32>
sourcetype MinimumReward: Get<BalanceOf<Self>>
type MinimumReward: Get<BalanceOf<Self>>
The minimum contribution to which rewards will be paid.
sourcetype RewardAddressRelayVoteThreshold: Get<Perbill>
type RewardAddressRelayVoteThreshold: Get<Perbill>
A fraction representing the percentage of proofs that need to be presented to change a reward address through the relay keys
sourcetype NativeTokenId: Get<TokenIdOf<Self>>
type NativeTokenId: Get<TokenIdOf<Self>>
MGA token Id
sourcetype Tokens: MultiTokenCurrency<Self::AccountId> + MultiTokenCurrencyExtended<Self::AccountId>
type Tokens: MultiTokenCurrency<Self::AccountId> + MultiTokenCurrencyExtended<Self::AccountId>
The currency in which the rewards will be paid (probably the parachain native currency)
sourcetype RelayChainAccountId: Parameter + Into<AccountId32> + From<AccountId32> + Ord
type RelayChainAccountId: Parameter + Into<AccountId32> + From<AccountId32> + Ord
The AccountId type contributors used on the relay chain.
type RewardAddressChangeOrigin: EnsureOrigin<Self::RuntimeOrigin>
sourcetype SignatureNetworkIdentifier: Get<&'static [u8]>
type SignatureNetworkIdentifier: Get<&'static [u8]>
Network Identifier to be appended into the signatures for reward address change/association Prevents replay attacks from one network to the other
type RewardAddressAssociateOrigin: EnsureOrigin<Self::RuntimeOrigin>
sourcetype VestingBlockNumber: AtLeast32BitUnsigned + Parameter + Default + Into<BalanceOf<Self>>
type VestingBlockNumber: AtLeast32BitUnsigned + Parameter + Default + Into<BalanceOf<Self>>
The type that will be used to track vesting progress
sourcetype VestingBlockProvider: BlockNumberProvider<BlockNumber = Self::VestingBlockNumber>
type VestingBlockProvider: BlockNumberProvider<BlockNumber = Self::VestingBlockNumber>
The notion of time that will be used for vesting. Probably either the relay chain or sovereignchain block number.
sourcetype VestingProvider: MultiTokenVestingLocks<Self::AccountId, Moment = Self::VestingBlockNumber, Currency = Self::Tokens>
type VestingProvider: MultiTokenVestingLocks<Self::AccountId, Moment = Self::VestingBlockNumber, Currency = Self::Tokens>
Vesting provider for paying out vested rewards