diff --git a/types/validator_set.go b/types/validator_set.go index ab12e1c8b..4338ec6ad 100644 --- a/types/validator_set.go +++ b/types/validator_set.go @@ -16,7 +16,6 @@ func init() { type Validator = abci.Validator type ValidatorSetKeeper interface { - Hash(Context) []byte GetValidators(Context) []*Validator Size(Context) int IsValidator(Context, Address) bool diff --git a/x/stake/keeper.go b/x/stake/keeper.go index df0de8ec8..a7f94f9d4 100644 --- a/x/stake/keeper.go +++ b/x/stake/keeper.go @@ -498,10 +498,6 @@ func (k Keeper) setPool(ctx sdk.Context, p Pool) { // Implements sdk.ValidatorSetKeeper -func (k Keeper) Hash() []byte { - return nil -} - func (k Keeper) Size(ctx sdk.Context) int { return len(k.GetValidators(ctx)) } @@ -536,6 +532,14 @@ func (k Keeper) GetByIndex(ctx sdk.Context, index int) *sdk.Validator { return &val } -func (k Keeper) TotalPower() sdk.Rat { - return sdk.ZeroRat +func (k Keeper) TotalPower(ctx sdk.Context) sdk.Rat { + valset := k.GetValidators(ctx) + + res := sdk.ZeroRat + + for _, v := range valset { + res = res.Add(v.Power) + } + + return res }