-
Notifications
You must be signed in to change notification settings - Fork 113
/
expected_keepers.go
40 lines (33 loc) · 1.28 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 (
sdk "github.com/cosmos/cosmos-sdk/types"
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
"github.com/tendermint/tendermint/libs/log"
"github.com/axelarnetwork/axelar-core/utils"
reward "github.com/axelarnetwork/axelar-core/x/reward/exported"
"github.com/axelarnetwork/axelar-core/x/vote/exported"
)
//go:generate moq -pkg mock -out ./mock/expected_keepers.go . Voter Snapshotter StakingKeeper Rewarder
// Voter provides vote keeper functionality
type Voter interface {
Logger(ctx sdk.Context) log.Logger
GetVoteRouter() VoteRouter
GetPoll(ctx sdk.Context, id exported.PollID) (exported.Poll, bool)
GetPollQueue(ctx sdk.Context) utils.KVQueue
DeletePoll(ctx sdk.Context, pollID exported.PollID)
GetParams(ctx sdk.Context) (params Params)
}
// Snapshotter provides snapshot functionality
type Snapshotter interface {
GetOperator(ctx sdk.Context, proxy sdk.AccAddress) sdk.ValAddress
}
// StakingKeeper provides functionality of the staking module
type StakingKeeper interface {
Validator(ctx sdk.Context, addr sdk.ValAddress) stakingtypes.ValidatorI
PowerReduction(sdk.Context) sdk.Int
GetLastTotalPower(sdk.Context) sdk.Int
}
// Rewarder provides reward functionality
type Rewarder interface {
GetPool(ctx sdk.Context, name string) reward.RewardPool
}