-
Notifications
You must be signed in to change notification settings - Fork 198
/
expected_keepers.go
61 lines (51 loc) · 2.33 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package types
import (
"cosmossdk.io/math"
storetypes "github.com/cosmos/cosmos-sdk/store/types"
sdk "github.com/cosmos/cosmos-sdk/types"
distributiontypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
v1 "github.com/lavanet/lava/x/downtime/v1"
epochstoragetypes "github.com/lavanet/lava/x/epochstorage/types"
spectypes "github.com/lavanet/lava/x/spec/types"
timerstoretypes "github.com/lavanet/lava/x/timerstore/types"
)
// AccountKeeper defines the expected account keeper used for simulations (noalias)
type AccountKeeper interface {
GetModuleAddress(name string) sdk.AccAddress
// Methods imported from account should be defined here
}
// BankKeeper defines the expected interface needed to retrieve account balances.
type BankKeeper interface {
BurnCoins(ctx sdk.Context, name string, amt sdk.Coins) error
GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin
SendCoinsFromModuleToModule(ctx sdk.Context, senderPool, recipientPool string, amt sdk.Coins) error
// Methods imported from bank should be defined here
}
type SpecKeeper interface {
GetAllChainIDs(ctx sdk.Context) (chainIDs []string)
GetSpec(ctx sdk.Context, index string) (val spectypes.Spec, found bool)
}
type TimerStoreKeeper interface {
NewTimerStoreEndBlock(storeKey storetypes.StoreKey, prefix string) *timerstoretypes.TimerStore
}
type EpochstorageKeeper interface {
GetStakeStorageCurrent(ctx sdk.Context, chainID string) (epochstoragetypes.StakeStorage, bool)
}
type DowntimeKeeper interface {
GetParams(ctx sdk.Context) (params v1.Params)
}
type StakingKeeper interface {
BondedRatio(ctx sdk.Context) math.LegacyDec
BondDenom(ctx sdk.Context) string
// Methods imported from bank should be defined here
}
type DualStakingKeeper interface {
RewardProvidersAndDelegators(ctx sdk.Context, providerAddr sdk.AccAddress, chainID string, totalReward math.Int, senderModule string, calcOnlyProvider bool, calcOnlyDelegators bool, calcOnlyContributer bool) (providerReward math.Int, totalRewards math.Int, err error)
// Methods imported from bank should be defined here
}
type DistributionKeeper interface {
GetParams(ctx sdk.Context) (params distributiontypes.Params)
GetFeePool(ctx sdk.Context) (feePool distributiontypes.FeePool)
SetFeePool(ctx sdk.Context, feePool distributiontypes.FeePool)
// Methods imported from bank should be defined here
}