-
Notifications
You must be signed in to change notification settings - Fork 113
/
expected_keepers.go
129 lines (114 loc) · 6.73 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package types
import (
"crypto/ecdsa"
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"
nexus "github.com/axelarnetwork/axelar-core/x/nexus/exported"
reward "github.com/axelarnetwork/axelar-core/x/reward/exported"
snapshot "github.com/axelarnetwork/axelar-core/x/snapshot/exported"
"github.com/axelarnetwork/axelar-core/x/tss/exported"
tofnd2 "github.com/axelarnetwork/axelar-core/x/tss/tofnd"
vote "github.com/axelarnetwork/axelar-core/x/vote/exported"
)
//go:generate moq -pkg mock -out ./mock/expected_keepers.go . TofndClient TofndKeyGenClient TofndSignClient Voter StakingKeeper TSSKeeper Snapshotter Nexus Rewarder
// Snapshotter provides snapshot functionality
type Snapshotter = snapshot.Snapshotter
// Nexus provides access to the nexus functionality
type Nexus interface {
GetChain(ctx sdk.Context, chain nexus.ChainName) (nexus.Chain, bool)
GetChains(ctx sdk.Context) []nexus.Chain
}
// Voter provides voting functionality
type Voter interface {
// Deprecated: InitializePollWithSnapshot will be removed soon
InitializePollWithSnapshot(ctx sdk.Context, key vote.PollKey, snapshotSeqNo int64, pollProperties ...vote.PollProperty) error
GetPoll(ctx sdk.Context, pollKey vote.PollKey) vote.Poll
}
// InitPoller is a minimal interface to start a poll
type InitPoller = interface {
// Deprecated: InitializePollWithSnapshot will be removed soon
InitializePollWithSnapshot(ctx sdk.Context, key vote.PollKey, snapshotSeqNo int64, pollProperties ...vote.PollProperty) error
}
// TofndClient wraps around TofndKeyGenClient and TofndSignClient
type TofndClient interface {
tofnd2.GG20Client
}
// TofndKeyGenClient provides keygen functionality
type TofndKeyGenClient interface {
tofnd2.GG20_KeygenClient
}
// TofndSignClient provides signing functionality
type TofndSignClient interface {
tofnd2.GG20_SignClient
}
// StakingKeeper adopts the methods from "github.com/cosmos/cosmos-sdk/x/staking/exported" that are
// actually used by this module
type StakingKeeper interface {
GetLastTotalPower(ctx sdk.Context) (power sdk.Int)
Validator(ctx sdk.Context, addr sdk.ValAddress) stakingtypes.ValidatorI
IterateBondedValidatorsByPower(ctx sdk.Context, fn func(index int64, validator stakingtypes.ValidatorI) (stop bool))
}
// TSSKeeper provides keygen and signing functionality
type TSSKeeper interface {
Logger(ctx sdk.Context) log.Logger
SetParams(ctx sdk.Context, p Params)
GetParams(ctx sdk.Context) (params Params)
GetRouter() Router
SetPrivateRecoveryInfo(ctx sdk.Context, sender sdk.ValAddress, keyID exported.KeyID, recoveryInfo []byte)
HasPrivateRecoveryInfo(ctx sdk.Context, sender sdk.ValAddress, keyID exported.KeyID) bool
GetPrivateRecoveryInfo(ctx sdk.Context, sender sdk.ValAddress, keyID exported.KeyID) []byte
SetGroupRecoveryInfo(ctx sdk.Context, keyID exported.KeyID, recoveryInfo []byte)
GetGroupRecoveryInfo(ctx sdk.Context, keyID exported.KeyID) []byte
DeleteKeyRecoveryInfo(ctx sdk.Context, keyID exported.KeyID)
GetKeyRequirement(ctx sdk.Context, keyRole exported.KeyRole, keyType exported.KeyType) (exported.KeyRequirement, bool)
GetSuspendedUntil(ctx sdk.Context, validator sdk.ValAddress) int64
GetSig(ctx sdk.Context, sigID string) (exported.Signature, exported.SigStatus)
SetSig(ctx sdk.Context, signature exported.Signature)
DoesValidatorParticipateInSign(ctx sdk.Context, sigID string, validator sdk.ValAddress) bool
PenalizeCriminal(ctx sdk.Context, criminal sdk.ValAddress, crimeType tofnd2.MessageOut_CriminalList_Criminal_CrimeType)
StartSign(ctx sdk.Context, info exported.SignInfo, snapshotter Snapshotter, voter InitPoller) error
StartKeygen(ctx sdk.Context, voter Voter, keyInfo KeyInfo, snapshot snapshot.Snapshot) error
SetAvailableOperator(ctx sdk.Context, validator sdk.ValAddress, keyIDs ...exported.KeyID)
GetAvailableOperators(ctx sdk.Context, keyIDs ...exported.KeyID) []sdk.ValAddress
GetKey(ctx sdk.Context, keyID exported.KeyID) (exported.Key, bool)
SetKey(ctx sdk.Context, key exported.Key)
GetCurrentKeyID(ctx sdk.Context, chain nexus.Chain, keyRole exported.KeyRole) (exported.KeyID, bool)
GetCurrentKey(ctx sdk.Context, chain nexus.Chain, keyRole exported.KeyRole) (exported.Key, bool)
GetNextKeyID(ctx sdk.Context, chain nexus.Chain, keyRole exported.KeyRole) (exported.KeyID, bool)
GetNextKey(ctx sdk.Context, chain nexus.Chain, keyRole exported.KeyRole) (exported.Key, bool)
AssignNextKey(ctx sdk.Context, chain nexus.Chain, keyRole exported.KeyRole, keyID exported.KeyID) error
RotateKey(ctx sdk.Context, chain nexus.Chain, keyRole exported.KeyRole) error
GetSnapshotCounterForKeyID(ctx sdk.Context, keyID exported.KeyID) (int64, bool)
HasKeygenStarted(ctx sdk.Context, keyID exported.KeyID) bool
DeleteKeygenStart(ctx sdk.Context, keyID exported.KeyID)
DeleteInfoForSig(ctx sdk.Context, sigID string)
DeleteSnapshotCounterForKeyID(ctx sdk.Context, keyID exported.KeyID)
SetSigStatus(ctx sdk.Context, sigID string, status exported.SigStatus)
GetSignParticipants(ctx sdk.Context, sigID string) []string
GetSignParticipantsAsJSON(ctx sdk.Context, sigID string) []byte
GetSignParticipantsSharesAsJSON(ctx sdk.Context, sigID string) []byte
SetInfoForSig(ctx sdk.Context, sigID string, info exported.SignInfo)
GetInfoForSig(ctx sdk.Context, sigID string) (exported.SignInfo, bool)
AssertMatchesRequirements(ctx sdk.Context, snapshotter snapshot.Snapshotter, chain nexus.Chain, keyID exported.KeyID, keyRole exported.KeyRole) error
GetExternalKeyIDs(ctx sdk.Context, chain nexus.Chain) ([]exported.KeyID, bool)
SetExternalKeyIDs(ctx sdk.Context, chain nexus.Chain, keyIDs []exported.KeyID)
GetExternalMultisigThreshold(ctx sdk.Context) utils.Threshold
GetHeartbeatPeriodInBlocks(ctx sdk.Context) int64
GetOldActiveKeys(ctx sdk.Context, chain nexus.Chain, keyRole exported.KeyRole) ([]exported.Key, error)
GetMaxSimultaneousSignShares(ctx sdk.Context) int64
SubmitPubKeys(ctx sdk.Context, keyID exported.KeyID, validator sdk.ValAddress, pubKeys ...[]byte) bool
GetMultisigKeygenInfo(ctx sdk.Context, keyID exported.KeyID) (MultisigKeygenInfo, bool)
IsMultisigKeygenCompleted(ctx sdk.Context, keyID exported.KeyID) bool
GetKeyType(ctx sdk.Context, keyID exported.KeyID) exported.KeyType
DeleteMultisigKeygen(ctx sdk.Context, keyID exported.KeyID)
GetMultisigPubKeysByValidator(ctx sdk.Context, keyID exported.KeyID, val sdk.ValAddress) ([]ecdsa.PublicKey, bool)
SubmitSignatures(ctx sdk.Context, sigID string, validator sdk.ValAddress, sigs ...[]byte) bool
GetMultisigSignInfo(ctx sdk.Context, sigID string) (MultisigSignInfo, bool)
DeleteMultisigSign(ctx sdk.Context, signID string)
}
// Rewarder provides reward functionality
type Rewarder interface {
GetPool(ctx sdk.Context, name string) reward.RewardPool
}