From 1313b635f44329d8f34e88f0e87e07c417ff67db Mon Sep 17 00:00:00 2001 From: Roman Date: Fri, 12 Aug 2022 19:18:29 -0700 Subject: [PATCH] refactor: clean up keeper interfaces (#2394) * refactor: clean up keeper interfaces * rename community pool keeper * changelog * restore TxFeesKeeper and type check --- CHANGELOG.md | 1 + app/keepers/keepers.go | 1 - x/gamm/keeper/keeper.go | 14 +++---- x/gamm/keeper/pool_service.go | 2 +- x/gamm/types/expected_keepers.go | 26 ++----------- x/incentives/keeper/gauge.go | 2 +- x/incentives/keeper/keeper.go | 6 +-- x/incentives/types/expected_keepers.go | 8 +--- x/lockup/keeper/keeper.go | 6 +-- x/lockup/keeper/lock.go | 2 +- x/lockup/types/expected_keepers.go | 6 +-- x/mint/keeper/keeper.go | 42 ++++++++++----------- x/mint/types/expected_keepers.go | 4 +- x/pool-incentives/types/expected_keepers.go | 5 --- x/superfluid/keeper/epoch.go | 2 +- x/superfluid/keeper/keeper.go | 6 +-- x/superfluid/types/expected_keepers.go | 11 +----- x/tokenfactory/types/expected_keepers.go | 4 -- x/txfees/keeper/keeper.go | 5 +-- x/txfees/types/expected_keepers.go | 10 ----- 20 files changed, 54 insertions(+), 109 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6674a6b80b..e42ddd4a2c7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -72,6 +72,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * [#1667](https://github.com/osmosis-labs/osmosis/pull/1673) Move wasm-bindings code out of app package into its own root level package. * [#2013](https://github.com/osmosis-labs/osmosis/pull/2013) Make `SetParams`, `SetPool`, `SetTotalLiquidity`, and `SetDenomLiquidity` GAMM APIs private * [#1857](https://github.com/osmosis-labs/osmosis/pull/1857) x/mint rename GetLastHalvenEpochNum to GetLastReductionEpochNum +* [#2394](https://github.com/osmosis-labs/osmosis/pull/2394) Remove unused interface methods from expected keepers of each module * [#2390](https://github.com/osmosis-labs/osmosis/pull/2390) x/mint remove unused mintCoins parameter from AfterDistributeMintedCoin ### Features diff --git a/app/keepers/keepers.go b/app/keepers/keepers.go index e3360942dbb..010803a58bb 100644 --- a/app/keepers/keepers.go +++ b/app/keepers/keepers.go @@ -264,7 +264,6 @@ func (appKeepers *AppKeepers) InitNormalKeepers( appCodec, appKeepers.AccountKeeper, appKeepers.BankKeeper, - appKeepers.EpochsKeeper, appKeepers.keys[txfeestypes.StoreKey], appKeepers.GAMMKeeper, appKeepers.GAMMKeeper, diff --git a/x/gamm/keeper/keeper.go b/x/gamm/keeper/keeper.go index 039d670cf1a..fed26f801b8 100644 --- a/x/gamm/keeper/keeper.go +++ b/x/gamm/keeper/keeper.go @@ -29,12 +29,12 @@ type Keeper struct { hooks types.GammHooks // keepers - accountKeeper types.AccountKeeper - bankKeeper types.BankKeeper - distrKeeper types.DistrKeeper + accountKeeper types.AccountKeeper + bankKeeper types.BankKeeper + communityPoolKeeper types.CommunityPoolKeeper } -func NewKeeper(cdc codec.BinaryCodec, storeKey sdk.StoreKey, paramSpace paramtypes.Subspace, accountKeeper types.AccountKeeper, bankKeeper types.BankKeeper, distrKeeper types.DistrKeeper) Keeper { +func NewKeeper(cdc codec.BinaryCodec, storeKey sdk.StoreKey, paramSpace paramtypes.Subspace, accountKeeper types.AccountKeeper, bankKeeper types.BankKeeper, communityPoolKeeper types.CommunityPoolKeeper) Keeper { // Ensure that the module account are set. moduleAddr, perms := accountKeeper.GetModuleAddressAndPermissions(types.ModuleName) if moduleAddr == nil { @@ -54,9 +54,9 @@ func NewKeeper(cdc codec.BinaryCodec, storeKey sdk.StoreKey, paramSpace paramtyp cdc: cdc, paramSpace: paramSpace, // keepers - accountKeeper: accountKeeper, - bankKeeper: bankKeeper, - distrKeeper: distrKeeper, + accountKeeper: accountKeeper, + bankKeeper: bankKeeper, + communityPoolKeeper: communityPoolKeeper, } } diff --git a/x/gamm/keeper/pool_service.go b/x/gamm/keeper/pool_service.go index 2d61a5d7f01..303ab28d831 100644 --- a/x/gamm/keeper/pool_service.go +++ b/x/gamm/keeper/pool_service.go @@ -101,7 +101,7 @@ func (k Keeper) CreatePool(ctx sdk.Context, msg types.CreatePoolMsg) (uint64, er // send pool creation fee to community pool params := k.GetParams(ctx) - if err := k.distrKeeper.FundCommunityPool(ctx, params.PoolCreationFee, sender); err != nil { + if err := k.communityPoolKeeper.FundCommunityPool(ctx, params.PoolCreationFee, sender); err != nil { return 0, err } diff --git a/x/gamm/types/expected_keepers.go b/x/gamm/types/expected_keepers.go index e69a5da4c9f..14cfd72fdf5 100644 --- a/x/gamm/types/expected_keepers.go +++ b/x/gamm/types/expected_keepers.go @@ -10,30 +10,18 @@ import ( // creating a x/gamm keeper. type AccountKeeper interface { NewAccount(sdk.Context, authtypes.AccountI) authtypes.AccountI - NewAccountWithAddress(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI - GetAllAccounts(ctx sdk.Context) []authtypes.AccountI SetAccount(ctx sdk.Context, acc authtypes.AccountI) - IterateAccounts(ctx sdk.Context, process func(authtypes.AccountI) bool) - - ValidatePermissions(macc authtypes.ModuleAccountI) error - - GetModuleAddress(moduleName string) sdk.AccAddress GetModuleAddressAndPermissions(moduleName string) (addr sdk.AccAddress, permissions []string) - GetModuleAccountAndPermissions(ctx sdk.Context, moduleName string) (authtypes.ModuleAccountI, []string) - GetModuleAccount(ctx sdk.Context, moduleName string) authtypes.ModuleAccountI - SetModuleAccount(ctx sdk.Context, macc authtypes.ModuleAccountI) - - UnmarshalAccount(bz []byte) (authtypes.AccountI, error) } // BankKeeper defines the banking contract that must be fulfilled when // creating a x/gamm keeper. type BankKeeper interface { SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error - SendCoinsFromModuleToModule(ctx sdk.Context, senderPool, recipientPool string, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error @@ -47,17 +35,9 @@ type BankKeeper interface { // TODO: Look into golang syntax to make this "Everything in stakingtypes.bankkeeper + extra funcs" // I think it has to do with listing another interface as the first line here? GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin - // SetBalances(ctx sdk.Context, addr sdk.AccAddress, balances sdk.Coins) error - LockedCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - GetSupply(ctx sdk.Context, denom string) sdk.Coin - UndelegateCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error - DelegateCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error - IterateAllBalances(ctx sdk.Context, callback func(addr sdk.AccAddress, coin sdk.Coin) (stop bool)) } -// DistrKeeper defines the contract needed to be fulfilled for distribution keeper. -type DistrKeeper interface { +// CommunityPoolKeeper defines the contract needed to be fulfilled for distribution keeper. +type CommunityPoolKeeper interface { FundCommunityPool(ctx sdk.Context, amount sdk.Coins, sender sdk.AccAddress) error } diff --git a/x/incentives/keeper/gauge.go b/x/incentives/keeper/gauge.go index 99ef9369e61..2b111d3ec0d 100644 --- a/x/incentives/keeper/gauge.go +++ b/x/incentives/keeper/gauge.go @@ -298,7 +298,7 @@ func (k Keeper) chargeFeeIfSufficientFeeDenomBalance(ctx sdk.Context, address sd return sdkerrors.Wrapf(sdkerrors.ErrInsufficientFunds, "account's balance of %s (%s) is less than the total cost of the message (%s)", feeDenom, accountBalance, totalCost) } - if err := k.dk.FundCommunityPool(ctx, sdk.NewCoins(sdk.NewCoin(feeDenom, fee)), address); err != nil { + if err := k.ck.FundCommunityPool(ctx, sdk.NewCoins(sdk.NewCoin(feeDenom, fee)), address); err != nil { return err } return nil diff --git a/x/incentives/keeper/keeper.go b/x/incentives/keeper/keeper.go index 9e68660f28d..0b96d8c21d9 100644 --- a/x/incentives/keeper/keeper.go +++ b/x/incentives/keeper/keeper.go @@ -22,12 +22,12 @@ type Keeper struct { bk types.BankKeeper lk types.LockupKeeper ek types.EpochKeeper - dk types.DistrKeeper + ck types.CommunityPoolKeeper tk types.TxFeesKeeper } // NewKeeper returns a new instance of the incentive module keeper struct. -func NewKeeper(cdc codec.Codec, storeKey sdk.StoreKey, paramSpace paramtypes.Subspace, bk types.BankKeeper, lk types.LockupKeeper, ek types.EpochKeeper, dk types.DistrKeeper, txfk types.TxFeesKeeper) *Keeper { +func NewKeeper(cdc codec.Codec, storeKey sdk.StoreKey, paramSpace paramtypes.Subspace, bk types.BankKeeper, lk types.LockupKeeper, ek types.EpochKeeper, ck types.CommunityPoolKeeper, txfk types.TxFeesKeeper) *Keeper { if !paramSpace.HasKeyTable() { paramSpace = paramSpace.WithKeyTable(types.ParamKeyTable()) } @@ -39,7 +39,7 @@ func NewKeeper(cdc codec.Codec, storeKey sdk.StoreKey, paramSpace paramtypes.Sub bk: bk, lk: lk, ek: ek, - dk: dk, + ck: ck, tk: txfk, } } diff --git a/x/incentives/types/expected_keepers.go b/x/incentives/types/expected_keepers.go index 69651a712e9..444c665def4 100644 --- a/x/incentives/types/expected_keepers.go +++ b/x/incentives/types/expected_keepers.go @@ -11,12 +11,10 @@ import ( // BankKeeper defines the expected interface needed to retrieve account balances. type BankKeeper interface { - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin HasSupply(ctx sdk.Context, denom string) bool - SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error SendCoinsFromModuleToManyAccounts( ctx sdk.Context, senderModule string, recipientAddrs []sdk.AccAddress, amts []sdk.Coins, ) error @@ -25,8 +23,6 @@ type BankKeeper interface { // LockupKeeper defines the expected interface needed to retrieve locks. type LockupKeeper interface { - GetSyntheticLockup(ctx sdk.Context, lockID uint64, suffix string) (*lockuptypes.SyntheticLock, error) - GetLocksPastTimeDenom(ctx sdk.Context, denom string, timestamp time.Time) []lockuptypes.PeriodLock GetLocksLongerThanDurationDenom(ctx sdk.Context, denom string, duration time.Duration) []lockuptypes.PeriodLock GetPeriodLocksAccumulation(ctx sdk.Context, query lockuptypes.QueryCondition) sdk.Int GetAccountPeriodLocks(ctx sdk.Context, addr sdk.AccAddress) []lockuptypes.PeriodLock @@ -38,8 +34,8 @@ type EpochKeeper interface { GetEpochInfo(ctx sdk.Context, identifier string) epochstypes.EpochInfo } -// DistrKeeper defines the contract needed to be fulfilled for distribution keeper. -type DistrKeeper interface { +// CommunityPoolKeeper defines the contract needed to be fulfilled for distribution keeper. +type CommunityPoolKeeper interface { FundCommunityPool(ctx sdk.Context, amount sdk.Coins, sender sdk.AccAddress) error } diff --git a/x/lockup/keeper/keeper.go b/x/lockup/keeper/keeper.go index 75b4e80fbd5..1c71e894f34 100644 --- a/x/lockup/keeper/keeper.go +++ b/x/lockup/keeper/keeper.go @@ -19,16 +19,16 @@ type Keeper struct { ak types.AccountKeeper bk types.BankKeeper - dk types.DistrKeeper + ck types.CommunityPoolKeeper } // NewKeeper returns an instance of Keeper. -func NewKeeper(cdc codec.Codec, storeKey sdk.StoreKey, ak types.AccountKeeper, bk types.BankKeeper, dk types.DistrKeeper) *Keeper { +func NewKeeper(cdc codec.Codec, storeKey sdk.StoreKey, ak types.AccountKeeper, bk types.BankKeeper, ck types.CommunityPoolKeeper) *Keeper { return &Keeper{ storeKey: storeKey, ak: ak, bk: bk, - dk: dk, + ck: ck, } } diff --git a/x/lockup/keeper/lock.go b/x/lockup/keeper/lock.go index d8567b50340..949f9d3bc3f 100644 --- a/x/lockup/keeper/lock.go +++ b/x/lockup/keeper/lock.go @@ -569,7 +569,7 @@ func (k Keeper) SlashTokensFromLockByID(ctx sdk.Context, lockID uint64, coins sd } modAddr := k.ak.GetModuleAddress(types.ModuleName) - err = k.dk.FundCommunityPool(ctx, coins, modAddr) + err = k.ck.FundCommunityPool(ctx, coins, modAddr) if err != nil { return nil, err } diff --git a/x/lockup/types/expected_keepers.go b/x/lockup/types/expected_keepers.go index 4a2e7532a43..1603530ed22 100644 --- a/x/lockup/types/expected_keepers.go +++ b/x/lockup/types/expected_keepers.go @@ -14,15 +14,11 @@ type AccountKeeper interface { // BankKeeper defines the expected interface needed to retrieve account balances. type BankKeeper interface { GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin - LockedCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins - SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error - BurnCoins(ctx sdk.Context, name string, amt sdk.Coins) error } -type DistrKeeper interface { +type CommunityPoolKeeper interface { FundCommunityPool(ctx sdk.Context, amount sdk.Coins, sender sdk.AccAddress) error } diff --git a/x/mint/keeper/keeper.go b/x/mint/keeper/keeper.go index c4d3b11b26f..c0fd18750d8 100644 --- a/x/mint/keeper/keeper.go +++ b/x/mint/keeper/keeper.go @@ -17,15 +17,15 @@ import ( // Keeper of the mint store. type Keeper struct { - cdc codec.BinaryCodec - storeKey sdk.StoreKey - paramSpace paramtypes.Subspace - accountKeeper types.AccountKeeper - bankKeeper types.BankKeeper - distrKeeper types.DistrKeeper - epochKeeper types.EpochKeeper - hooks types.MintHooks - feeCollectorName string + cdc codec.BinaryCodec + storeKey sdk.StoreKey + paramSpace paramtypes.Subspace + accountKeeper types.AccountKeeper + bankKeeper types.BankKeeper + communityPoolKeeper types.CommunityPoolKeeper + epochKeeper types.EpochKeeper + hooks types.MintHooks + feeCollectorName string } type invalidRatioError struct { @@ -50,7 +50,7 @@ const emptyWeightedAddressReceiver = "" // NewKeeper creates a new mint Keeper instance. func NewKeeper( cdc codec.BinaryCodec, key sdk.StoreKey, paramSpace paramtypes.Subspace, - ak types.AccountKeeper, bk types.BankKeeper, dk types.DistrKeeper, epochKeeper types.EpochKeeper, + ak types.AccountKeeper, bk types.BankKeeper, ck types.CommunityPoolKeeper, epochKeeper types.EpochKeeper, feeCollectorName string, ) Keeper { // ensure mint module account is set @@ -64,14 +64,14 @@ func NewKeeper( } return Keeper{ - cdc: cdc, - storeKey: key, - paramSpace: paramSpace, - accountKeeper: ak, - bankKeeper: bk, - distrKeeper: dk, - epochKeeper: epochKeeper, - feeCollectorName: feeCollectorName, + cdc: cdc, + storeKey: key, + paramSpace: paramSpace, + accountKeeper: ak, + bankKeeper: bk, + communityPoolKeeper: ck, + epochKeeper: epochKeeper, + feeCollectorName: feeCollectorName, } } @@ -223,7 +223,7 @@ func (k Keeper) DistributeMintedCoin(ctx sdk.Context, mintedCoin sdk.Coin) error // subtract from original provision to ensure no coins left over after the allocations communityPoolAmount := mintedCoin.Amount.Sub(stakingIncentivesAmount).Sub(poolIncentivesAmount).Sub(devRewardAmount) - err = k.distrKeeper.FundCommunityPool(ctx, sdk.NewCoins(sdk.NewCoin(params.MintDenom, communityPoolAmount)), k.accountKeeper.GetModuleAddress(types.ModuleName)) + err = k.communityPoolKeeper.FundCommunityPool(ctx, sdk.NewCoins(sdk.NewCoin(params.MintDenom, communityPoolAmount)), k.accountKeeper.GetModuleAddress(types.ModuleName)) if err != nil { return err } @@ -287,7 +287,7 @@ func (k Keeper) distributeDeveloperRewards(ctx sdk.Context, totalMintedCoin sdk. // If no developer rewards receivers provided, fund the community pool from // the developer vesting module account. if len(developerRewardsReceivers) == 0 { - err = k.distrKeeper.FundCommunityPool(ctx, devRewardCoins, developerRewardsModuleAccountAddress) + err = k.communityPoolKeeper.FundCommunityPool(ctx, devRewardCoins, developerRewardsModuleAccountAddress) if err != nil { return sdk.Int{}, err } @@ -301,7 +301,7 @@ func (k Keeper) distributeDeveloperRewards(ctx sdk.Context, totalMintedCoin sdk. devRewardPortionCoins := sdk.NewCoins(devPortionCoin) // fund community pool when rewards address is empty. if w.Address == emptyWeightedAddressReceiver { - err := k.distrKeeper.FundCommunityPool(ctx, devRewardPortionCoins, + err := k.communityPoolKeeper.FundCommunityPool(ctx, devRewardPortionCoins, k.accountKeeper.GetModuleAddress(types.DeveloperVestingModuleAcctName)) if err != nil { return sdk.Int{}, err diff --git a/x/mint/types/expected_keepers.go b/x/mint/types/expected_keepers.go index a0c499af1fe..7ec5990447a 100644 --- a/x/mint/types/expected_keepers.go +++ b/x/mint/types/expected_keepers.go @@ -27,8 +27,8 @@ type BankKeeper interface { AddSupplyOffset(ctx sdk.Context, denom string, offsetAmount sdk.Int) } -// DistrKeeper defines the contract needed to be fulfilled for distribution keeper. -type DistrKeeper interface { +// CommunityPoolKeeper defines the contract needed to be fulfilled for distribution keeper. +type CommunityPoolKeeper interface { FundCommunityPool(ctx sdk.Context, amount sdk.Coins, sender sdk.AccAddress) error } diff --git a/x/pool-incentives/types/expected_keepers.go b/x/pool-incentives/types/expected_keepers.go index 84f2924fa8c..d3f69502767 100644 --- a/x/pool-incentives/types/expected_keepers.go +++ b/x/pool-incentives/types/expected_keepers.go @@ -14,8 +14,6 @@ import ( // AccountKeeper interface contains functions for getting accounts and the module address type AccountKeeper interface { - GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI - GetModuleAddress(name string) sdk.AccAddress GetModuleAccount(ctx sdk.Context, name string) authtypes.ModuleAccountI } @@ -23,8 +21,6 @@ type AccountKeeper interface { // BankKeeper sends tokens across modules and is able to get account balances. type BankKeeper interface { GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin - - SendCoinsFromModuleToModule(ctx sdk.Context, senderModule string, recipientModule string, amt sdk.Coins) error } // GAMMKeeper gets the pool interface from poolID. @@ -43,7 +39,6 @@ type IncentivesKeeper interface { // DistrKeeper handles pool-fees functionality - setting / getting fees and funding the community pool. type DistrKeeper interface { - GetFeePool(ctx sdk.Context) (feePool distrtypes.FeePool) SetFeePool(ctx sdk.Context, feePool distrtypes.FeePool) FundCommunityPool(ctx sdk.Context, amount sdk.Coins, sender sdk.AccAddress) error } diff --git a/x/superfluid/keeper/epoch.go b/x/superfluid/keeper/epoch.go index 99a6680ce15..a2d7c046d40 100644 --- a/x/superfluid/keeper/epoch.go +++ b/x/superfluid/keeper/epoch.go @@ -62,7 +62,7 @@ func (k Keeper) MoveSuperfluidDelegationRewardToGauges(ctx sdk.Context) { // To avoid unexpected issues on WithdrawDelegationRewards and AddToGaugeRewards // we use cacheCtx and apply the changes later _ = osmoutils.ApplyFuncIfNoError(ctx, func(cacheCtx sdk.Context) error { - _, err := k.dk.WithdrawDelegationRewards(cacheCtx, addr, valAddr) + _, err := k.ck.WithdrawDelegationRewards(cacheCtx, addr, valAddr) if errors.Is(err, distributiontypes.ErrEmptyDelegationDistInfo) { ctx.Logger().Debug("no swaps occurred in this pool between last epoch and this epoch") return nil diff --git a/x/superfluid/keeper/keeper.go b/x/superfluid/keeper/keeper.go index 306b049514b..1da03c4f155 100644 --- a/x/superfluid/keeper/keeper.go +++ b/x/superfluid/keeper/keeper.go @@ -23,7 +23,7 @@ type Keeper struct { ak authkeeper.AccountKeeper bk types.BankKeeper sk types.StakingKeeper - dk types.DistrKeeper + ck types.CommunityPoolKeeper ek types.EpochKeeper lk types.LockupKeeper gk types.GammKeeper @@ -35,7 +35,7 @@ type Keeper struct { var _ govtypes.StakingKeeper = (*Keeper)(nil) // NewKeeper returns an instance of Keeper. -func NewKeeper(cdc codec.Codec, storeKey sdk.StoreKey, paramSpace paramtypes.Subspace, ak authkeeper.AccountKeeper, bk types.BankKeeper, sk types.StakingKeeper, dk types.DistrKeeper, ek types.EpochKeeper, lk types.LockupKeeper, gk types.GammKeeper, ik types.IncentivesKeeper, lms types.LockupMsgServer) *Keeper { +func NewKeeper(cdc codec.Codec, storeKey sdk.StoreKey, paramSpace paramtypes.Subspace, ak authkeeper.AccountKeeper, bk types.BankKeeper, sk types.StakingKeeper, dk types.CommunityPoolKeeper, ek types.EpochKeeper, lk types.LockupKeeper, gk types.GammKeeper, ik types.IncentivesKeeper, lms types.LockupMsgServer) *Keeper { // set KeyTable if it has not already been set if !paramSpace.HasKeyTable() { paramSpace = paramSpace.WithKeyTable(types.ParamKeyTable()) @@ -48,7 +48,7 @@ func NewKeeper(cdc codec.Codec, storeKey sdk.StoreKey, paramSpace paramtypes.Sub ak: ak, bk: bk, sk: sk, - dk: dk, + ck: dk, ek: ek, lk: lk, gk: gk, diff --git a/x/superfluid/types/expected_keepers.go b/x/superfluid/types/expected_keepers.go index 05cb0eb6f2e..e16e4a955e4 100644 --- a/x/superfluid/types/expected_keepers.go +++ b/x/superfluid/types/expected_keepers.go @@ -15,7 +15,6 @@ import ( // LockupKeeper defines the expected interface needed to retrieve locks. type LockupKeeper interface { - GetLocksPastTimeDenom(ctx sdk.Context, denom string, timestamp time.Time) []lockuptypes.PeriodLock GetLocksLongerThanDurationDenom(ctx sdk.Context, denom string, duration time.Duration) []lockuptypes.PeriodLock GetAccountLockedLongerDurationDenom(ctx sdk.Context, addr sdk.AccAddress, denom string, duration time.Duration) []lockuptypes.PeriodLock GetAccountLockedLongerDurationDenomNotUnlockingOnly(ctx sdk.Context, addr sdk.AccAddress, denom string, duration time.Duration) []lockuptypes.PeriodLock @@ -45,7 +44,6 @@ type LockupMsgServer interface { // GammKeeper defines the expected interface needed for superfluid module. type GammKeeper interface { - CalculateSpotPrice(ctx sdk.Context, poolId uint64, tokenInDenom, tokenOutDenom string) (sdk.Dec, error) GetPoolAndPoke(ctx sdk.Context, poolId uint64) (gammtypes.PoolI, error) GetPoolsAndPoke(ctx sdk.Context) (res []gammtypes.PoolI, err error) ExitPool(ctx sdk.Context, sender sdk.AccAddress, poolId uint64, shareInAmount sdk.Int, tokenOutMins sdk.Coins) (exitCoins sdk.Coins, err error) @@ -55,9 +53,7 @@ type BankKeeper interface { GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error BurnCoins(ctx sdk.Context, moduleName string, amounts sdk.Coins) error - GetSupplyOffset(ctx sdk.Context, denom string) sdk.Int AddSupplyOffset(ctx sdk.Context, denom string, offsetAmount sdk.Int) - GetSupplyWithOffset(ctx sdk.Context, denom string) sdk.Coin SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error } @@ -69,11 +65,8 @@ type StakingKeeper interface { GetValidator(ctx sdk.Context, addr sdk.ValAddress) (validator stakingtypes.Validator, found bool) ValidateUnbondAmount(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress, amt sdk.Int) (shares sdk.Dec, err error) Delegate(ctx sdk.Context, delAddr sdk.AccAddress, bondAmt sdk.Int, tokenSrc stakingtypes.BondStatus, validator stakingtypes.Validator, subtractAccount bool) (newShares sdk.Dec, err error) - Unbond(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress, shares sdk.Dec) (amount sdk.Int, err error) - Undelegate(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress, sharesAmount sdk.Dec) (time.Time, error) InstantUndelegate(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress, sharesAmount sdk.Dec) (sdk.Coins, error) GetDelegation(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) (delegation stakingtypes.Delegation, found bool) - GetUnbondingDelegation(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) (ubd stakingtypes.UnbondingDelegation, found bool) UnbondingTime(ctx sdk.Context) time.Duration GetParams(ctx sdk.Context) stakingtypes.Params @@ -82,8 +75,8 @@ type StakingKeeper interface { IterateDelegations(ctx sdk.Context, delegator sdk.AccAddress, fn func(int64, stakingtypes.DelegationI) bool) } -// DistrKeeper expected distribution keeper. -type DistrKeeper interface { +// CommunityPoolKeeper expected distribution keeper. +type CommunityPoolKeeper interface { WithdrawDelegationRewards(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) (sdk.Coins, error) } diff --git a/x/tokenfactory/types/expected_keepers.go b/x/tokenfactory/types/expected_keepers.go index c76cabded5b..e1f8561b98e 100644 --- a/x/tokenfactory/types/expected_keepers.go +++ b/x/tokenfactory/types/expected_keepers.go @@ -15,8 +15,6 @@ type BankKeeper interface { SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error - DelegateCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error - UndelegateCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error @@ -24,9 +22,7 @@ type BankKeeper interface { } type AccountKeeper interface { - GetModuleAddress(name string) sdk.AccAddress SetModuleAccount(ctx sdk.Context, macc authtypes.ModuleAccountI) - GetAccount(sdk.Context, sdk.AccAddress) authtypes.AccountI } // CommunityPoolKeeper defines the contract needed to be fulfilled for community pool interactions. diff --git a/x/txfees/keeper/keeper.go b/x/txfees/keeper/keeper.go index a07de32559e..3cfba9d2ac9 100644 --- a/x/txfees/keeper/keeper.go +++ b/x/txfees/keeper/keeper.go @@ -17,18 +17,18 @@ type Keeper struct { accountKeeper types.AccountKeeper bankKeeper types.BankKeeper - epochKeeper types.EpochKeeper gammKeeper types.GammKeeper spotPriceCalculator types.SpotPriceCalculator feeCollectorName string nonNativeFeeCollectorName string } +var _ types.TxFeesKeeper = (*Keeper)(nil) + func NewKeeper( cdc codec.Codec, accountKeeper types.AccountKeeper, bankKeeper types.BankKeeper, - epochKeeper types.EpochKeeper, storeKey sdk.StoreKey, gammKeeper types.GammKeeper, spotPriceCalculator types.SpotPriceCalculator, @@ -38,7 +38,6 @@ func NewKeeper( return Keeper{ accountKeeper: accountKeeper, bankKeeper: bankKeeper, - epochKeeper: epochKeeper, storeKey: storeKey, gammKeeper: gammKeeper, spotPriceCalculator: spotPriceCalculator, diff --git a/x/txfees/types/expected_keepers.go b/x/txfees/types/expected_keepers.go index 9b41f2fcd99..b4f050e75cb 100644 --- a/x/txfees/types/expected_keepers.go +++ b/x/txfees/types/expected_keepers.go @@ -3,8 +3,6 @@ package types import ( sdk "github.com/cosmos/cosmos-sdk/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - - epochstypes "github.com/osmosis-labs/osmosis/v11/x/epochs/types" ) // SpotPriceCalculator defines the contract that must be fulfilled by a spot price calculator @@ -28,9 +26,7 @@ type GammKeeper interface { // AccountKeeper defines the contract needed for AccountKeeper related APIs. // Interface provides support to use non-sdk AccountKeeper for AnteHandler's decorators. type AccountKeeper interface { - GetParams(ctx sdk.Context) (params authtypes.Params) GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI - SetAccount(ctx sdk.Context, acc authtypes.AccountI) GetModuleAddress(moduleName string) sdk.AccAddress } @@ -42,7 +38,6 @@ type FeegrantKeeper interface { // BankKeeper defines the contract needed for supply related APIs (noalias) type BankKeeper interface { SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error - GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error } @@ -53,8 +48,3 @@ type TxFeesKeeper interface { GetBaseDenom(ctx sdk.Context) (denom string, err error) GetFeeToken(ctx sdk.Context, denom string) (FeeToken, error) } - -// EpochKeeper defines the contract needed to be fulfilled for epochs keeper -type EpochKeeper interface { - GetEpochInfo(ctx sdk.Context, identifier string) epochstypes.EpochInfo -}