-
Notifications
You must be signed in to change notification settings - Fork 51
/
expected_keepers.go
40 lines (33 loc) · 1.62 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
28
29
30
31
32
33
34
35
36
37
38
39
40
package types
import (
"github.com/tendermint/tendermint/crypto"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/x/auth/exported"
)
// AccountKeeper defines the expected account keeper (noalias)
type AccountKeeper interface {
IterateAccounts(ctx sdk.Context, process func(exported.Account) (stop bool))
GetAccount(sdk.Context, sdk.AccAddress) exported.Account
SetAccount(sdk.Context, exported.Account)
NewAccount(sdk.Context, exported.Account) exported.Account
NewAccountWithAddress(sdk.Context, sdk.AccAddress) exported.Account
}
// BankKeeper defines the expected bank keeper (noalias)
type BankKeeper interface {
SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error
DelegateCoins(ctx sdk.Context, fromAdd, toAddr sdk.AccAddress, amt sdk.Coins) error
UndelegateCoins(ctx sdk.Context, fromAddr, toAddr sdk.AccAddress, amt sdk.Coins) error
SubtractCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, error)
AddCoins(ctx sdk.Context, addr sdk.AccAddress, amt sdk.Coins) (sdk.Coins, error)
}
// DistributionKeeper defines the expected distribution keeper (noalias)
type DistributionKeeper interface {
FundCommunityPool(ctx sdk.Context, amount sdk.Coins, sender sdk.AccAddress) error
}
// CertKeeper defines the expected cert keeper (noalias)
type CertKeeper interface {
IsCertified(ctx sdk.Context, contentType string, content string, certType string) bool
IsContentCertified(ctx sdk.Context, content string) bool
IsCertifier(ctx sdk.Context, addr sdk.AccAddress) bool
SetValidator(ctx sdk.Context, key crypto.PubKey, certifier sdk.AccAddress)
}