package keeper import ( "fmt" "github.com/cosmos/cosmos-sdk/codec" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/tendermint/tendermint/libs/log" "github.com/kava-labs/kava/x/liquid/types" ) // Keeper struct for the liquid module. type Keeper struct { cdc codec.Codec accountKeeper types.AccountKeeper bankKeeper types.BankKeeper stakingKeeper types.StakingKeeper distributionKeeper types.DistributionKeeper derivativeDenom string } // NewKeeper returns a new keeper for the liquid module. func NewKeeper( cdc codec.Codec, ak types.AccountKeeper, bk types.BankKeeper, sk types.StakingKeeper, dk types.DistributionKeeper, derivativeDenom string, ) Keeper { return Keeper{ cdc: cdc, accountKeeper: ak, bankKeeper: bk, stakingKeeper: sk, distributionKeeper: dk, derivativeDenom: derivativeDenom, } } // NewDefaultKeeper returns a new keeper for the liquid module with default values. func NewDefaultKeeper( cdc codec.Codec, ak types.AccountKeeper, bk types.BankKeeper, sk types.StakingKeeper, dk types.DistributionKeeper, ) Keeper { return NewKeeper(cdc, ak, bk, sk, dk, types.DefaultDerivativeDenom) } // Logger returns a module-specific logger. func (k Keeper) Logger(ctx sdk.Context) log.Logger { return ctx.Logger().With("module", fmt.Sprintf("x/%s", types.ModuleName)) }