-
Notifications
You must be signed in to change notification settings - Fork 18
/
expected_keepers.go
39 lines (32 loc) · 1.49 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
package types
import (
poolTypes "github.com/KYVENetwork/chain/x/pool/types"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/x/upgrade/types"
)
// AccountKeeper defines the expected account keeper used for simulations (noalias)
type AccountKeeper interface {
GetModuleAddress(moduleName string) sdk.AccAddress
}
type DistrKeeper interface {
FundCommunityPool(ctx sdk.Context, amount sdk.Coins, sender sdk.AccAddress) error
}
// BankKeeper defines the expected interface needed to retrieve account balances.
type BankKeeper interface {
SendCoins(ctx sdk.Context, fromAddr sdk.AccAddress, toAddr sdk.AccAddress, amt sdk.Coins) error
SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error
SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error
SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error
}
type PoolKeeper interface {
AssertPoolExists(ctx sdk.Context, poolId uint64) error
GetPoolWithError(ctx sdk.Context, poolId uint64) (poolTypes.Pool, error)
}
type UpgradeKeeper interface {
ScheduleUpgrade(ctx sdk.Context, plan types.Plan) error
}
type DelegationKeeper interface {
GetDelegationAmount(ctx sdk.Context, staker string) uint64
GetDelegationAmountOfDelegator(ctx sdk.Context, stakerAddress string, delegatorAddress string) uint64
GetStakersByDelegator(ctx sdk.Context, delegator string) []string
}