/
expected_keepers.go
27 lines (21 loc) · 1.04 KB
/
expected_keepers.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package data
import (
sdk "github.com/cosmos/cosmos-sdk/types"
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
)
//go:generate mockgen -source=expected_keepers.go -package mocks -destination mocks/expected_keepers.go
// AccountKeeper defines the expected interface needed to create and retrieve accounts.
type AccountKeeper interface {
// NewAccount returns a new account with the next account number. Does not save the new account to the store.
NewAccount(sdk.Context, authtypes.AccountI) authtypes.AccountI
// GetAccount retrieves an account from the store.
GetAccount(sdk.Context, sdk.AccAddress) authtypes.AccountI
// SetAccount sets an account in the store.
SetAccount(sdk.Context, authtypes.AccountI)
}
// BankKeeper defines the expected interface needed to send coins and retrieve account balances.
type BankKeeper interface {
SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error
SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins
GetSupply(ctx sdk.Context, denom string) sdk.Coin
}