add ValidatorSetKeeper, move Validator from stake to types

This commit is contained in:
mossid 2018-04-17 22:45:07 +02:00 committed by rigelrozanski
parent b3b8790793
commit 6d742d6829
3 changed files with 16 additions and 16 deletions

View File

@ -171,7 +171,7 @@ func (k Keeper) setCandidate(ctx sdk.Context, candidate Candidate) {
setAcc = true
}
if setAcc {
bz, err = k.cdc.MarshalBinary(validator.abciValidator(k.cdc))
bz, err = k.cdc.MarshalBinary(validator.ABCIValidator(k.cdc))
if err != nil {
panic(err)
}
@ -200,7 +200,7 @@ func (k Keeper) removeCandidate(ctx sdk.Context, address sdk.Address) {
if store.Get(GetRecentValidatorKey(address)) == nil {
return
}
bz, err := k.cdc.MarshalBinary(candidate.validator().abciValidatorZero(k.cdc))
bz, err := k.cdc.MarshalBinary(candidate.validator().ABCIValidatorZero(k.cdc))
if err != nil {
panic(err)
}
@ -216,7 +216,7 @@ func (k Keeper) removeCandidate(ctx sdk.Context, address sdk.Address) {
// records are updated in store with the RecentValidatorsKey. This store is
// used to determine if a candidate is a validator without needing to iterate
// over the subspace as we do in GetValidators
func (k Keeper) GetValidators(ctx sdk.Context) (validators []Validator) {
func (k Keeper) GetValidators(ctx sdk.Context) (validators []sdk.Validator) {
store := ctx.KVStore(k.storeKey)
// clear the recent validators store, add to the ToKickOut Temp store
@ -233,7 +233,7 @@ func (k Keeper) GetValidators(ctx sdk.Context) (validators []Validator) {
// add the actual validator power sorted store
maxValidators := k.GetParams(ctx).MaxValidators
iterator = store.ReverseIterator(subspace(ValidatorsKey)) // largest to smallest
validators = make([]Validator, maxValidators)
validators = make([]sdk.Validator, maxValidators)
i := 0
for ; ; i++ {
if !iterator.Valid() || i > int(maxValidators-1) {
@ -241,7 +241,7 @@ func (k Keeper) GetValidators(ctx sdk.Context) (validators []Validator) {
break
}
bz := iterator.Value()
var validator Validator
var validator sdk.Validator
err := k.cdc.UnmarshalBinary(bz, &validator)
if err != nil {
panic(err)
@ -265,12 +265,12 @@ func (k Keeper) GetValidators(ctx sdk.Context) (validators []Validator) {
// get the zero abci validator from the ToKickOut iterator value
bz := iterator.Value()
var validator Validator
var validator sdk.Validator
err := k.cdc.UnmarshalBinary(bz, &validator)
if err != nil {
panic(err)
}
bz, err = k.cdc.MarshalBinary(validator.abciValidatorZero(k.cdc))
bz, err = k.cdc.MarshalBinary(validator.ABCIValidatorZero(k.cdc))
if err != nil {
panic(err)
}
@ -296,7 +296,7 @@ func (k Keeper) isNewValidator(ctx sdk.Context, store sdk.KVStore, address sdk.A
break
}
bz := iterator.Value()
var val Validator
var val sdk.Validator
err := k.cdc.UnmarshalBinary(bz, &val)
if err != nil {
panic(err)

View File

@ -474,7 +474,7 @@ func TestGetAccUpdateValidators(t *testing.T) {
assert.True(t, candidates[0].Assets.Equal(sdk.NewRat(600)))
acc = keeper.getAccUpdateValidators(ctx)
require.Equal(t, 1, len(acc))
assert.Equal(t, candidates[0].validator().abciValidator(keeper.cdc), acc[0])
assert.Equal(t, candidates[0].validator().ABCIValidator(keeper.cdc), acc[0])
// test multiple value change
// candidate set: {c1, c3} -> {c1', c3'}
@ -492,8 +492,8 @@ func TestGetAccUpdateValidators(t *testing.T) {
require.Equal(t, 2, len(acc))
candidates = keeper.GetCandidates(ctx, 5)
require.Equal(t, 2, len(candidates))
require.Equal(t, candidates[0].validator().abciValidator(keeper.cdc), acc[0])
require.Equal(t, candidates[1].validator().abciValidator(keeper.cdc), acc[1])
require.Equal(t, candidates[0].validator().ABCIValidator(keeper.cdc), acc[0])
require.Equal(t, candidates[1].validator().ABCIValidator(keeper.cdc), acc[1])
// test validtor added at the beginning
// candidate set: {c1, c3} -> {c0, c1, c3}
@ -507,7 +507,7 @@ func TestGetAccUpdateValidators(t *testing.T) {
require.Equal(t, 1, len(acc))
candidates = keeper.GetCandidates(ctx, 5)
require.Equal(t, 3, len(candidates))
assert.Equal(t, candidates[0].validator().abciValidator(keeper.cdc), acc[0])
assert.Equal(t, candidates[0].validator().ABCIValidator(keeper.cdc), acc[0])
// test validator added at the middle
// candidate set: {c0, c1, c3} -> {c0, c1, c2, c3]
@ -521,7 +521,7 @@ func TestGetAccUpdateValidators(t *testing.T) {
require.Equal(t, 1, len(acc))
candidates = keeper.GetCandidates(ctx, 5)
require.Equal(t, 4, len(candidates))
assert.Equal(t, candidates[2].validator().abciValidator(keeper.cdc), acc[0])
assert.Equal(t, candidates[2].validator().ABCIValidator(keeper.cdc), acc[0])
// test candidate added at the end but not inserted in the valset
// candidate set: {c0, c1, c2, c3} -> {c0, c1, c2, c3, c4}
@ -580,7 +580,7 @@ func TestGetAccUpdateValidators(t *testing.T) {
assert.Equal(t, candidatesIn[0].PubKey.Bytes(), acc[0].PubKey)
assert.Equal(t, int64(0), acc[0].Power)
assert.Equal(t, vals[0].abciValidator(keeper.cdc), acc[1])
assert.Equal(t, vals[0].ABCIValidator(keeper.cdc), acc[1])
// test from something to nothing
// candidate set: {c0, c1, c2, c3, c4} -> {}

View File

@ -134,8 +134,8 @@ func (c Candidate) delegatorShareExRate() sdk.Rat {
// Validator returns a copy of the Candidate as a Validator.
// Should only be called when the Candidate qualifies as a validator.
func (c Candidate) validator() Validator {
return Validator{
func (c Candidate) validator() sdk.Validator {
return sdk.Validator{
Address: c.Address,
PubKey: c.PubKey,
Power: c.Assets,