2020-04-01 18:49:21 +00:00
|
|
|
package types
|
|
|
|
|
|
|
|
import (
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
2021-04-17 10:00:07 +00:00
|
|
|
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
|
2021-06-07 11:00:14 +00:00
|
|
|
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
|
2020-04-01 18:49:21 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
// AccountKeeper defines the expected account keeper interface
|
|
|
|
type AccountKeeper interface {
|
2021-04-17 10:00:07 +00:00
|
|
|
NewAccountWithAddress(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI
|
|
|
|
GetAllAccounts(ctx sdk.Context) (accounts []authtypes.AccountI)
|
|
|
|
IterateAccounts(ctx sdk.Context, cb func(account authtypes.AccountI) bool)
|
2021-05-25 12:56:36 +00:00
|
|
|
GetSequence(sdk.Context, sdk.AccAddress) (uint64, error)
|
2021-04-17 10:00:07 +00:00
|
|
|
GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI
|
|
|
|
SetAccount(ctx sdk.Context, account authtypes.AccountI)
|
|
|
|
RemoveAccount(ctx sdk.Context, account authtypes.AccountI)
|
|
|
|
}
|
|
|
|
|
|
|
|
// BankKeeper defines the expected interface needed to retrieve account balances.
|
|
|
|
type BankKeeper interface {
|
|
|
|
GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin
|
2021-05-31 14:54:59 +00:00
|
|
|
SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error
|
2021-05-25 12:56:36 +00:00
|
|
|
AddCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) error
|
|
|
|
SubtractCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) error
|
2021-04-17 10:00:07 +00:00
|
|
|
SetBalance(ctx sdk.Context, addr sdk.AccAddress, balance sdk.Coin) error
|
2020-04-01 18:49:21 +00:00
|
|
|
}
|
2021-06-07 11:00:14 +00:00
|
|
|
|
|
|
|
// StakingKeeper returns the historical headers kept in store.
|
|
|
|
type StakingKeeper interface {
|
|
|
|
GetHistoricalInfo(ctx sdk.Context, height int64) (stakingtypes.HistoricalInfo, bool)
|
2021-06-22 10:14:40 +00:00
|
|
|
GetValidatorByConsAddr(ctx sdk.Context, consAddr sdk.ConsAddress) (validator stakingtypes.Validator, found bool)
|
2021-06-07 11:00:14 +00:00
|
|
|
}
|