Trait pallet_xyk_liquidity_mining::pallet::Config
source · pub trait Config: Config + TypeInfo {
type Event: From<Event<Self>> + IsType<<Self as Config>::Event>;
type MultiCurrency: MultiCurrency<Self::AccountId, CurrencyId = AssetId, Balance = Balance>;
type AMM: AMM<Self::AccountId, AssetId, AssetPair, Balance> + AMMPosition<AssetId, Balance, Error = DispatchError>;
type CreateOrigin: EnsureOrigin<Self::Origin>;
type PalletId: Get<PalletId>;
type NftCollectionId: Get<CollectionId>;
type NFTHandler: Mutate<Self::AccountId> + Inspect<Self::AccountId, CollectionId = CollectionId, ItemId = DepositId> + CreateTypedCollection<Self::AccountId, CollectionId, CollectionType, BoundedVec<u8, UniquesStringLimit>> + ReserveCollectionId<CollectionId>;
type LiquidityMiningHandler: LiquidityMiningMutate<Self::AccountId, AssetId, BlockNumberFor<Self>, Error = DispatchError, AmmPoolId = Self::AccountId, Balance = Balance, LoyaltyCurve = LoyaltyCurve, Period = <Self as Config>::BlockNumber>;
type NonDustableWhitelistHandler: DustRemovalAccountWhitelist<Self::AccountId, Error = DispatchError>;
type WeightInfo: WeightInfo;
}
Expand description
Configuration trait of this pallet.
Implement this type for a runtime in order to customize this pallet.
Required Associated Types§
type Event: From<Event<Self>> + IsType<<Self as Config>::Event>
sourcetype MultiCurrency: MultiCurrency<Self::AccountId, CurrencyId = AssetId, Balance = Balance>
type MultiCurrency: MultiCurrency<Self::AccountId, CurrencyId = AssetId, Balance = Balance>
Currency for transfers.
sourcetype AMM: AMM<Self::AccountId, AssetId, AssetPair, Balance> + AMMPosition<AssetId, Balance, Error = DispatchError>
type AMM: AMM<Self::AccountId, AssetId, AssetPair, Balance> + AMMPosition<AssetId, Balance, Error = DispatchError>
AMM helper functions.
sourcetype CreateOrigin: EnsureOrigin<Self::Origin>
type CreateOrigin: EnsureOrigin<Self::Origin>
The origin account that can create new liquidity mining program.
sourcetype NftCollectionId: Get<CollectionId>
type NftCollectionId: Get<CollectionId>
NFT collection id for liq. mining deposit nfts. Has to be within the range of reserved NFT class IDs.
sourcetype NFTHandler: Mutate<Self::AccountId> + Inspect<Self::AccountId, CollectionId = CollectionId, ItemId = DepositId> + CreateTypedCollection<Self::AccountId, CollectionId, CollectionType, BoundedVec<u8, UniquesStringLimit>> + ReserveCollectionId<CollectionId>
type NFTHandler: Mutate<Self::AccountId> + Inspect<Self::AccountId, CollectionId = CollectionId, ItemId = DepositId> + CreateTypedCollection<Self::AccountId, CollectionId, CollectionType, BoundedVec<u8, UniquesStringLimit>> + ReserveCollectionId<CollectionId>
Non fungible handling
sourcetype LiquidityMiningHandler: LiquidityMiningMutate<Self::AccountId, AssetId, BlockNumberFor<Self>, Error = DispatchError, AmmPoolId = Self::AccountId, Balance = Balance, LoyaltyCurve = LoyaltyCurve, Period = <Self as Config>::BlockNumber>
type LiquidityMiningHandler: LiquidityMiningMutate<Self::AccountId, AssetId, BlockNumberFor<Self>, Error = DispatchError, AmmPoolId = Self::AccountId, Balance = Balance, LoyaltyCurve = LoyaltyCurve, Period = <Self as Config>::BlockNumber>
Liquidity mining handler for managing liquidity mining functionalities
sourcetype NonDustableWhitelistHandler: DustRemovalAccountWhitelist<Self::AccountId, Error = DispatchError>
type NonDustableWhitelistHandler: DustRemovalAccountWhitelist<Self::AccountId, Error = DispatchError>
Account whitelist manager to exclude pool accounts from dusting mechanism.
sourcetype WeightInfo: WeightInfo
type WeightInfo: WeightInfo
Weight information for extrinsic in this module.