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§

source

type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>

The overarching event type

source

type Initialized: Get<bool>

Checker for the reward vec, is it initalized already?

source

type InitializationPayment: Get<Perbill>

Percentage to be payed at initialization

source

type MaxInitContributors: Get<u32>

source

type MinimumReward: Get<BalanceOf<Self>>

The minimum contribution to which rewards will be paid.

source

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

source

type NativeTokenId: Get<TokenIdOf<Self>>

MGA token Id

source

type Tokens: MultiTokenCurrency<Self::AccountId> + MultiTokenCurrencyExtended<Self::AccountId>

The currency in which the rewards will be paid (probably the parachain native currency)

source

type RelayChainAccountId: Parameter + Into<AccountId32> + From<AccountId32> + Ord

The AccountId type contributors used on the relay chain.

source

type RewardAddressChangeOrigin: EnsureOrigin<Self::RuntimeOrigin>

source

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

source

type RewardAddressAssociateOrigin: EnsureOrigin<Self::RuntimeOrigin>

source

type VestingBlockNumber: AtLeast32BitUnsigned + Parameter + Default + Into<BalanceOf<Self>>

The type that will be used to track vesting progress

source

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.

source

type VestingProvider: MultiTokenVestingLocks<Self::AccountId, Moment = Self::VestingBlockNumber, Currency = Self::Tokens>

Vesting provider for paying out vested rewards

source

type WeightInfo: WeightInfo

Implementors§