github.com/lino-network/lino@v0.6.11/x/validator/keeper.go (about) 1 package validator 2 3 //go:generate mockery -name ValidatorKeeper 4 5 import ( 6 codec "github.com/cosmos/cosmos-sdk/codec" 7 sdk "github.com/cosmos/cosmos-sdk/types" 8 abci "github.com/tendermint/tendermint/abci/types" 9 "github.com/tendermint/tendermint/crypto" 10 11 linotypes "github.com/lino-network/lino/types" 12 votemn "github.com/lino-network/lino/x/validator/manager" 13 "github.com/lino-network/lino/x/validator/model" 14 ) 15 16 type ValidatorKeeper interface { 17 InitGenesis(ctx sdk.Context) 18 OnBeginBlock(ctx sdk.Context, req abci.RequestBeginBlock) 19 RegisterValidator(ctx sdk.Context, username linotypes.AccountKey, valPubKey crypto.PubKey, link string) sdk.Error 20 RevokeValidator(ctx sdk.Context, username linotypes.AccountKey) sdk.Error 21 VoteValidator(ctx sdk.Context, username linotypes.AccountKey, votedValidators []linotypes.AccountKey) sdk.Error 22 DistributeInflationToValidator(ctx sdk.Context) sdk.Error 23 PunishCommittingValidator(ctx sdk.Context, username linotypes.AccountKey, 24 penalty linotypes.Coin, punishType linotypes.PunishType) sdk.Error 25 Hooks() votemn.Hooks 26 UpdateValidator(ctx sdk.Context, username linotypes.AccountKey, link string) sdk.Error 27 28 // getters 29 GetInitValidators(ctx sdk.Context) ([]abci.ValidatorUpdate, sdk.Error) 30 GetValidatorUpdates(ctx sdk.Context) ([]abci.ValidatorUpdate, sdk.Error) 31 GetValidator(ctx sdk.Context, username linotypes.AccountKey) (*model.Validator, sdk.Error) 32 GetValidatorList(ctx sdk.Context) *model.ValidatorList 33 GetElectionVoteList(ctx sdk.Context, accKey linotypes.AccountKey) *model.ElectionVoteList 34 GetCommittingValidators(ctx sdk.Context) []linotypes.AccountKey 35 GetCommittingValidatorVoteStatus(ctx sdk.Context) []model.ReceivedVotesStatus 36 37 // import export 38 ExportToFile(ctx sdk.Context, cdc *codec.Codec, filepath string) error 39 ImportFromFile(ctx sdk.Context, cdc *codec.Codec, filepath string) error 40 } 41 42 var _ ValidatorKeeper = votemn.ValidatorManager{}