mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-11-10 18:15:19 +00:00
1442deb3dc
* basic borrow types * borrow keeper scaffolding * borrow limits param * integrate pricefeed keeper * msg handling and querier * borrow user validation * update migration scripts for compile * borrows querier, fixes * add money market param * add spot market ID to params, refactor pricefeed * working bnb -> ukava borrows * refactor to getAssetPrice * conversion_factor param, refactor validateBorrow() * address misc revisions * remove validation code * add borrow test * update test params * single borrow with sdk.Coins per user * fix harvest test * removed legacy commented out code * address minor revisions
53 lines
1.5 KiB
Go
53 lines
1.5 KiB
Go
package keeper
|
|
|
|
import (
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
|
|
"github.com/kava-labs/kava/x/harvest/types"
|
|
)
|
|
|
|
// 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)
|
|
}
|
|
|
|
// GetLPSchedule gets the LP's schedule
|
|
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
|
|
}
|
|
|
|
// GetDelegatorSchedule gets the Delgator's schedule
|
|
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
|
|
}
|
|
|
|
// GetMoneyMarket returns the corresponding Money Market param for a specific denom
|
|
func (k Keeper) GetMoneyMarket(ctx sdk.Context, denom string) (types.MoneyMarket, bool) {
|
|
params := k.GetParams(ctx)
|
|
for _, mm := range params.MoneyMarkets {
|
|
if mm.Denom == denom {
|
|
return mm, true
|
|
}
|
|
}
|
|
return types.MoneyMarket{}, false
|
|
}
|