2020-09-21 21:08:43 +00:00
|
|
|
package keeper
|
|
|
|
|
|
|
|
import (
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
|
|
|
2020-12-21 17:18:55 +00:00
|
|
|
"github.com/kava-labs/kava/x/hard/types"
|
2020-09-21 21:08:43 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
// GetParams returns the params from the store
|
|
|
|
func (k Keeper) GetParams(ctx sdk.Context) types.Params {
|
|
|
|
var p types.Params
|
|
|
|
k.paramSubspace.GetParamSet(ctx, &p)
|
|
|
|
return p
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetParams sets params on the store
|
|
|
|
func (k Keeper) SetParams(ctx sdk.Context, params types.Params) {
|
|
|
|
k.paramSubspace.SetParamSet(ctx, ¶ms)
|
|
|
|
}
|
|
|
|
|
2020-10-30 09:59:47 +00:00
|
|
|
// GetLPSchedule gets the LP's schedule
|
2020-09-21 21:08:43 +00:00
|
|
|
func (k Keeper) GetLPSchedule(ctx sdk.Context, denom string) (types.DistributionSchedule, bool) {
|
|
|
|
params := k.GetParams(ctx)
|
|
|
|
for _, lps := range params.LiquidityProviderSchedules {
|
|
|
|
if lps.DepositDenom == denom {
|
|
|
|
return lps, true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return types.DistributionSchedule{}, false
|
|
|
|
}
|
|
|
|
|
2020-10-30 09:59:47 +00:00
|
|
|
// GetDelegatorSchedule gets the Delgator's schedule
|
2020-09-21 21:08:43 +00:00
|
|
|
func (k Keeper) GetDelegatorSchedule(ctx sdk.Context, denom string) (types.DelegatorDistributionSchedule, bool) {
|
|
|
|
params := k.GetParams(ctx)
|
|
|
|
for _, dds := range params.DelegatorDistributionSchedules {
|
|
|
|
if dds.DistributionSchedule.DepositDenom == denom {
|
|
|
|
return dds, true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return types.DelegatorDistributionSchedule{}, false
|
|
|
|
}
|
2020-10-30 09:59:47 +00:00
|
|
|
|
2020-12-03 21:50:35 +00:00
|
|
|
// GetMoneyMarketParam returns the corresponding Money Market param for a specific denom
|
|
|
|
func (k Keeper) GetMoneyMarketParam(ctx sdk.Context, denom string) (types.MoneyMarket, bool) {
|
2020-10-30 09:59:47 +00:00
|
|
|
params := k.GetParams(ctx)
|
|
|
|
for _, mm := range params.MoneyMarkets {
|
|
|
|
if mm.Denom == denom {
|
|
|
|
return mm, true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return types.MoneyMarket{}, false
|
|
|
|
}
|