pub trait Config: Config {
Show 38 associated items type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>; type AdminOrigin: EnsureOriginWithArg<Self::RuntimeOrigin, Self::PoolId>; type Balance: Member + Parameter + AtLeast32BitUnsigned + Default + Copy + MaxEncodedLen + FixedPointOperand + From<u64> + From<u128> + TypeInfo + TryInto<u64>; type TrancheWeight: Parameter + Copy + Convert<Self::TrancheWeight, Self::Balance> + From<u128>; type BalanceRatio: Member + Parameter + Default + Copy + TypeInfo + FixedPointNumber<Inner = Self::Balance> + MaxEncodedLen; type Rate: Member + Parameter + Default + Copy + TypeInfo + FixedPointNumber<Inner = Self::Balance> + MaxEncodedLen; type PalletId: Get<PalletId>; type PalletIndex: Get<u8>; type PoolId: Member + Parameter + Default + Copy + HasCompact + MaxEncodedLen + Debug; type TrancheId: Member + Parameter + Default + Copy + MaxEncodedLen + TypeInfo + From<[u8; 16]>; type EpochId: Member + Parameter + Default + Copy + AtLeast32BitUnsigned + HasCompact + MaxEncodedLen + TypeInfo + Into<u32>; type CurrencyId: Parameter + Copy + MaxEncodedLen; type RuntimeChange: Parameter + Member + MaxEncodedLen + TypeInfo + Into<PoolChangeProposal>; type PoolCurrency: Contains<Self::CurrencyId>; type UpdateGuard: PoolUpdateGuard<PoolDetails = PoolDetailsOf<Self>, ScheduledUpdateDetails = ScheduledUpdateDetails<<Self as Config>::Rate, <Self as Config>::StringLimit, <Self as Config>::MaxTranches>, Moment = Seconds>; type AssetRegistry: OrmlMutate<AssetId = Self::CurrencyId, Balance = Self::Balance, CustomMetadata = CustomMetadata, StringLimit = Self::StringLimit>; type Currency: ReservableCurrency<Self::AccountId, Balance = Self::Balance>; type Tokens: Mutate<Self::AccountId> + Inspect<Self::AccountId, AssetId = Self::CurrencyId, Balance = Self::Balance>; type Permission: Permissions<Self::AccountId, Scope = PermissionScope<Self::PoolId, Self::CurrencyId>, Role = Role<Self::TrancheId>, Error = DispatchError>; type AssetsUnderManagementNAV: PoolNAV<Self::PoolId, Self::Balance>; type PoolFeesNAV: PoolNAV<Self::PoolId, Self::Balance>; type TrancheCurrency: Into<Self::CurrencyId> + Clone + Copy + TrancheCurrencyT<Self::PoolId, Self::TrancheId> + Parameter + MaxEncodedLen + TypeInfo; type Investments: OrderManager<Error = DispatchError, InvestmentId = Self::TrancheCurrency, Orders = TotalOrder<Self::Balance>, Fulfillment = FulfillmentWithPrice<Self::BalanceRatio>>; type Time: TimeAsSecs; type PoolFees: PoolFeesMutate<FeeInfo = PoolFeeInfo<<Self as Config>::AccountId, Self::Balance, Self::Rate>, PoolId = Self::PoolId> + PoolFeesInspect<PoolId = Self::PoolId>; type OnEpochTransition: EpochTransitionHook<Balance = Self::Balance, PoolId = Self::PoolId, Time = Seconds, Error = DispatchError>; type ChallengeTime: Get<BlockNumberFor<Self>>; type DefaultMinEpochTime: Get<Seconds>; type DefaultMaxNAVAge: Get<Seconds>; type MinEpochTimeLowerBound: Get<Seconds>; type MinEpochTimeUpperBound: Get<Seconds>; type MaxNAVAgeUpperBound: Get<Seconds>; type MinUpdateDelay: Get<Seconds>; type StringLimit: Get<u32> + Copy + Member + TypeInfo; type MaxTranches: Get<u32> + Member + PartialOrd + TypeInfo; type PoolDeposit: Get<Self::Balance>; type PoolCreateOrigin: EnsureOrigin<Self::RuntimeOrigin>; 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.

Required Associated Types§

source

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

source

type AdminOrigin: EnsureOriginWithArg<Self::RuntimeOrigin, Self::PoolId>

source

type Balance: Member + Parameter + AtLeast32BitUnsigned + Default + Copy + MaxEncodedLen + FixedPointOperand + From<u64> + From<u128> + TypeInfo + TryInto<u64>

source

type TrancheWeight: Parameter + Copy + Convert<Self::TrancheWeight, Self::Balance> + From<u128>

source

type BalanceRatio: Member + Parameter + Default + Copy + TypeInfo + FixedPointNumber<Inner = Self::Balance> + MaxEncodedLen

A fixed-point number that represent a price with decimals

source

type Rate: Member + Parameter + Default + Copy + TypeInfo + FixedPointNumber<Inner = Self::Balance> + MaxEncodedLen

A fixed-point number which represents a Self::Balance in terms of this fixed-point representation.

source

type PalletId: Get<PalletId>

source

type PalletIndex: Get<u8>

The immutable index of this pallet when instantiated within the context of a runtime where it is used.

source

type PoolId: Member + Parameter + Default + Copy + HasCompact + MaxEncodedLen + Debug

source

type TrancheId: Member + Parameter + Default + Copy + MaxEncodedLen + TypeInfo + From<[u8; 16]>

source

type EpochId: Member + Parameter + Default + Copy + AtLeast32BitUnsigned + HasCompact + MaxEncodedLen + TypeInfo + Into<u32>

source

type CurrencyId: Parameter + Copy + MaxEncodedLen

source

type RuntimeChange: Parameter + Member + MaxEncodedLen + TypeInfo + Into<PoolChangeProposal>

source

type PoolCurrency: Contains<Self::CurrencyId>

source

type UpdateGuard: PoolUpdateGuard<PoolDetails = PoolDetailsOf<Self>, ScheduledUpdateDetails = ScheduledUpdateDetails<<Self as Config>::Rate, <Self as Config>::StringLimit, <Self as Config>::MaxTranches>, Moment = Seconds>

source

type AssetRegistry: OrmlMutate<AssetId = Self::CurrencyId, Balance = Self::Balance, CustomMetadata = CustomMetadata, StringLimit = Self::StringLimit>

source

type Currency: ReservableCurrency<Self::AccountId, Balance = Self::Balance>

source

type Tokens: Mutate<Self::AccountId> + Inspect<Self::AccountId, AssetId = Self::CurrencyId, Balance = Self::Balance>

source

type Permission: Permissions<Self::AccountId, Scope = PermissionScope<Self::PoolId, Self::CurrencyId>, Role = Role<Self::TrancheId>, Error = DispatchError>

source

type AssetsUnderManagementNAV: PoolNAV<Self::PoolId, Self::Balance>

The provider for the positive NAV

source

type PoolFeesNAV: PoolNAV<Self::PoolId, Self::Balance>

The provider for the negative NAV

source

type TrancheCurrency: Into<Self::CurrencyId> + Clone + Copy + TrancheCurrencyT<Self::PoolId, Self::TrancheId> + Parameter + MaxEncodedLen + TypeInfo

source

type Investments: OrderManager<Error = DispatchError, InvestmentId = Self::TrancheCurrency, Orders = TotalOrder<Self::Balance>, Fulfillment = FulfillmentWithPrice<Self::BalanceRatio>>

source

type Time: TimeAsSecs

source

type PoolFees: PoolFeesMutate<FeeInfo = PoolFeeInfo<<Self as Config>::AccountId, Self::Balance, Self::Rate>, PoolId = Self::PoolId> + PoolFeesInspect<PoolId = Self::PoolId>

Add pool fees

source

type OnEpochTransition: EpochTransitionHook<Balance = Self::Balance, PoolId = Self::PoolId, Time = Seconds, Error = DispatchError>

Epoch transition hook required for Pool Fees

source

type ChallengeTime: Get<BlockNumberFor<Self>>

Challenge time

source

type DefaultMinEpochTime: Get<Seconds>

Pool parameter defaults

source

type DefaultMaxNAVAge: Get<Seconds>

source

type MinEpochTimeLowerBound: Get<Seconds>

Pool parameter bounds

source

type MinEpochTimeUpperBound: Get<Seconds>

source

type MaxNAVAgeUpperBound: Get<Seconds>

source

type MinUpdateDelay: Get<Seconds>

Pool update settings

source

type StringLimit: Get<u32> + Copy + Member + TypeInfo

source

type MaxTranches: Get<u32> + Member + PartialOrd + TypeInfo

Max number of Tranches

source

type PoolDeposit: Get<Self::Balance>

The amount that must be reserved to create a pool

source

type PoolCreateOrigin: EnsureOrigin<Self::RuntimeOrigin>

The origin permitted to create pools

source

type WeightInfo: WeightInfo

Weight Information

Object Safety§

This trait is not object safe.

Implementors§