stake refactor, tests compiling
This commit is contained in:
parent
518e2490d5
commit
a0c73372be
|
@ -405,7 +405,7 @@ func TestStakeMsgs(t *testing.T) {
|
||||||
ctxDeliver := gapp.BaseApp.NewContext(false, abci.Header{})
|
ctxDeliver := gapp.BaseApp.NewContext(false, abci.Header{})
|
||||||
res1 = gapp.accountMapper.GetAccount(ctxDeliver, addr1)
|
res1 = gapp.accountMapper.GetAccount(ctxDeliver, addr1)
|
||||||
require.Equal(t, genCoins.Minus(sdk.Coins{bondCoin}), res1.GetCoins())
|
require.Equal(t, genCoins.Minus(sdk.Coins{bondCoin}), res1.GetCoins())
|
||||||
candidate, found := gapp.stakeKeeper.GetCandidate(ctxDeliver, addr1)
|
candidate, found := gapp.stakeKeeper.GetValidator(ctxDeliver, addr1)
|
||||||
require.True(t, found)
|
require.True(t, found)
|
||||||
require.Equal(t, candidate.Address, addr1)
|
require.Equal(t, candidate.Address, addr1)
|
||||||
|
|
||||||
|
@ -417,7 +417,7 @@ func TestStakeMsgs(t *testing.T) {
|
||||||
)
|
)
|
||||||
SignDeliver(t, gapp, editCandidacyMsg, []int64{1}, true, priv1)
|
SignDeliver(t, gapp, editCandidacyMsg, []int64{1}, true, priv1)
|
||||||
|
|
||||||
candidate, found = gapp.stakeKeeper.GetCandidate(ctxDeliver, addr1)
|
candidate, found = gapp.stakeKeeper.GetValidator(ctxDeliver, addr1)
|
||||||
require.True(t, found)
|
require.True(t, found)
|
||||||
require.Equal(t, candidate.Description, description)
|
require.Equal(t, candidate.Description, description)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
package stake
|
||||||
|
|
||||||
|
//// test if is a gotValidator from the last update
|
||||||
|
//func TestGetTotalPrecommitVotingPower(t *testing.T) {
|
||||||
|
//ctx, _, keeper := createTestInput(t, false, 0)
|
||||||
|
|
||||||
|
//amts := []int64{10000, 1000, 100, 10, 1}
|
||||||
|
//var candidatesIn [5]Candidate
|
||||||
|
//for i, amt := range amts {
|
||||||
|
//candidatesIn[i] = NewCandidate(addrVals[i], pks[i], Description{})
|
||||||
|
//candidatesIn[i].BondedShares = sdk.NewRat(amt)
|
||||||
|
//candidatesIn[i].DelegatorShares = sdk.NewRat(amt)
|
||||||
|
//keeper.setCandidate(ctx, candidatesIn[i])
|
||||||
|
//}
|
||||||
|
|
||||||
|
//// test that an empty gotValidator set doesn't have any gotValidators
|
||||||
|
//gotValidators := keeper.GetValidators(ctx)
|
||||||
|
//assert.Equal(t, 5, len(gotValidators))
|
||||||
|
|
||||||
|
//totPow := keeper.GetTotalPrecommitVotingPower(ctx)
|
||||||
|
//exp := sdk.NewRat(11111)
|
||||||
|
//assert.True(t, exp.Equal(totPow), "exp %v, got %v", exp, totPow)
|
||||||
|
|
||||||
|
//// set absent gotValidators to be the 1st and 3rd record sorted by pubKey address
|
||||||
|
//ctx = ctx.WithAbsentValidators([]int32{1, 3})
|
||||||
|
//totPow = keeper.GetTotalPrecommitVotingPower(ctx)
|
||||||
|
|
||||||
|
//// XXX verify that this order should infact exclude these two records
|
||||||
|
//exp = sdk.NewRat(11100)
|
||||||
|
//assert.True(t, exp.Equal(totPow), "exp %v, got %v", exp, totPow)
|
||||||
|
//}
|
|
@ -43,7 +43,7 @@ func TestDuplicatesMsgDeclareCandidacy(t *testing.T) {
|
||||||
assert.True(t, got.IsOK(), "%v", got)
|
assert.True(t, got.IsOK(), "%v", got)
|
||||||
validator, found := keeper.GetValidator(ctx, validatorAddr)
|
validator, found := keeper.GetValidator(ctx, validatorAddr)
|
||||||
require.True(t, found)
|
require.True(t, found)
|
||||||
assert.Equal(t, Unbonded, validator.Status)
|
assert.Equal(t, sdk.Unbonded, validator.Status)
|
||||||
assert.Equal(t, validatorAddr, validator.Address)
|
assert.Equal(t, validatorAddr, validator.Address)
|
||||||
assert.Equal(t, pk, validator.PubKey)
|
assert.Equal(t, pk, validator.PubKey)
|
||||||
assert.Equal(t, sdk.NewRat(10), validator.BondedShares)
|
assert.Equal(t, sdk.NewRat(10), validator.BondedShares)
|
||||||
|
@ -296,7 +296,7 @@ func TestVoidCandidacy(t *testing.T) {
|
||||||
require.True(t, got.IsOK(), "expected no error on runMsgDeclareCandidacy")
|
require.True(t, got.IsOK(), "expected no error on runMsgDeclareCandidacy")
|
||||||
validator, found := keeper.GetValidator(ctx, validatorAddr)
|
validator, found := keeper.GetValidator(ctx, validatorAddr)
|
||||||
require.True(t, found)
|
require.True(t, found)
|
||||||
require.Equal(t, Revoked, validator.Status)
|
require.Equal(t, sdk.Revoked, validator.Status)
|
||||||
|
|
||||||
// test that this address cannot yet be bonded too because is revoked
|
// test that this address cannot yet be bonded too because is revoked
|
||||||
got = handleMsgDelegate(ctx, msgDelegate, keeper)
|
got = handleMsgDelegate(ctx, msgDelegate, keeper)
|
||||||
|
|
|
@ -108,7 +108,7 @@ func (k Keeper) setValidator(ctx sdk.Context, validator Validator) {
|
||||||
// add to the validators and return to update list if is already a validator and power is increasing
|
// add to the validators and return to update list if is already a validator and power is increasing
|
||||||
if powerIncreasing && oldValidator.Status == sdk.Bonded {
|
if powerIncreasing && oldValidator.Status == sdk.Bonded {
|
||||||
bzABCI := k.cdc.MustMarshalBinary(validator.abciValidator(k.cdc))
|
bzABCI := k.cdc.MustMarshalBinary(validator.abciValidator(k.cdc))
|
||||||
store.Set(GetValidatorsTendermintUpdatesKey(address), bzABCI)
|
store.Set(GetTendermintUpdatesKey(address), bzABCI)
|
||||||
|
|
||||||
// also update the recent validator store
|
// also update the recent validator store
|
||||||
store.Set(GetValidatorsBondedKey(validator.PubKey), bzVal)
|
store.Set(GetValidatorsBondedKey(validator.PubKey), bzVal)
|
||||||
|
@ -139,7 +139,7 @@ func (k Keeper) removeValidator(ctx sdk.Context, address sdk.Address) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
bz := k.cdc.MustMarshalBinary(validator.abciValidatorZero(k.cdc))
|
bz := k.cdc.MustMarshalBinary(validator.abciValidatorZero(k.cdc))
|
||||||
store.Set(GetValidatorsTendermintUpdatesKey(address), bz)
|
store.Set(GetTendermintUpdatesKey(address), bz)
|
||||||
store.Delete(GetValidatorsBondedKey(validator.PubKey))
|
store.Delete(GetValidatorsBondedKey(validator.PubKey))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,7 +239,7 @@ func (k Keeper) updateValidators(ctx sdk.Context, store sdk.KVStore, updatedVali
|
||||||
// MOST IMPORTANTLY, add to the accumulated changes if this is the modified validator
|
// MOST IMPORTANTLY, add to the accumulated changes if this is the modified validator
|
||||||
if bytes.Equal(updatedValidatorAddr, validator.Address) {
|
if bytes.Equal(updatedValidatorAddr, validator.Address) {
|
||||||
bz = k.cdc.MustMarshalBinary(validator.abciValidator(k.cdc))
|
bz = k.cdc.MustMarshalBinary(validator.abciValidator(k.cdc))
|
||||||
store.Set(GetValidatorsTendermintUpdatesKey(updatedValidatorAddr), bz)
|
store.Set(GetTendermintUpdatesKey(updatedValidatorAddr), bz)
|
||||||
}
|
}
|
||||||
|
|
||||||
iterator.Next()
|
iterator.Next()
|
||||||
|
@ -252,7 +252,7 @@ func (k Keeper) updateValidators(ctx sdk.Context, store sdk.KVStore, updatedVali
|
||||||
var validator Validator
|
var validator Validator
|
||||||
k.cdc.MustUnmarshalBinary(value, &validator)
|
k.cdc.MustUnmarshalBinary(value, &validator)
|
||||||
bz := k.cdc.MustMarshalBinary(validator.abciValidatorZero(k.cdc))
|
bz := k.cdc.MustMarshalBinary(validator.abciValidatorZero(k.cdc))
|
||||||
store.Set(GetValidatorsTendermintUpdatesKey(addr), bz)
|
store.Set(GetTendermintUpdatesKey(addr), bz)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -260,10 +260,10 @@ func (k Keeper) updateValidators(ctx sdk.Context, store sdk.KVStore, updatedVali
|
||||||
// Accumulated updates to the active/bonded validator set for tendermint
|
// Accumulated updates to the active/bonded validator set for tendermint
|
||||||
|
|
||||||
// get the most recently updated validators
|
// get the most recently updated validators
|
||||||
func (k Keeper) getValidatorsTendermintUpdates(ctx sdk.Context) (updates []abci.Validator) {
|
func (k Keeper) getTendermintUpdates(ctx sdk.Context) (updates []abci.Validator) {
|
||||||
store := ctx.KVStore(k.storeKey)
|
store := ctx.KVStore(k.storeKey)
|
||||||
|
|
||||||
iterator := store.SubspaceIterator(ValidatorsTendermintUpdatesKey) //smallest to largest
|
iterator := store.SubspaceIterator(TendermintUpdatesKey) //smallest to largest
|
||||||
for ; iterator.Valid(); iterator.Next() {
|
for ; iterator.Valid(); iterator.Next() {
|
||||||
valBytes := iterator.Value()
|
valBytes := iterator.Value()
|
||||||
var val abci.Validator
|
var val abci.Validator
|
||||||
|
@ -275,11 +275,11 @@ func (k Keeper) getValidatorsTendermintUpdates(ctx sdk.Context) (updates []abci.
|
||||||
}
|
}
|
||||||
|
|
||||||
// remove all validator update entries after applied to Tendermint
|
// remove all validator update entries after applied to Tendermint
|
||||||
func (k Keeper) clearValidatorsTendermintUpdates(ctx sdk.Context) {
|
func (k Keeper) clearTendermintUpdates(ctx sdk.Context) {
|
||||||
store := ctx.KVStore(k.storeKey)
|
store := ctx.KVStore(k.storeKey)
|
||||||
|
|
||||||
// delete subspace
|
// delete subspace
|
||||||
iterator := store.SubspaceIterator(ValidatorsTendermintUpdatesKey)
|
iterator := store.SubspaceIterator(TendermintUpdatesKey)
|
||||||
for ; iterator.Valid(); iterator.Next() {
|
for ; iterator.Valid(); iterator.Next() {
|
||||||
store.Delete(iterator.Key())
|
store.Delete(iterator.Key())
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ var (
|
||||||
PoolKey = []byte{0x01} // key for global parameters relating to staking
|
PoolKey = []byte{0x01} // key for global parameters relating to staking
|
||||||
ValidatorsKey = []byte{0x02} // prefix for each key to a validator
|
ValidatorsKey = []byte{0x02} // prefix for each key to a validator
|
||||||
ValidatorsByPowerKey = []byte{0x03} // prefix for each key to a validator
|
ValidatorsByPowerKey = []byte{0x03} // prefix for each key to a validator
|
||||||
ValidatorsTendermintUpdatesKey = []byte{0x04} // prefix for each key to a validator which is being updated
|
TendermintUpdatesKey = []byte{0x04} // prefix for each key to a validator which is being updated
|
||||||
ValidatorsBondedKey = []byte{0x05} // prefix for each key to bonded/actively validating validators
|
ValidatorsBondedKey = []byte{0x05} // prefix for each key to bonded/actively validating validators
|
||||||
DelegationKey = []byte{0x06} // prefix for each key to a delegator's bond
|
DelegationKey = []byte{0x06} // prefix for each key to a delegator's bond
|
||||||
IntraTxCounterKey = []byte{0x07} // key for block-local tx index
|
IntraTxCounterKey = []byte{0x07} // key for block-local tx index
|
||||||
|
@ -47,8 +47,8 @@ func GetValidatorsBondedByPowerKey(validator Validator) []byte {
|
||||||
}
|
}
|
||||||
|
|
||||||
// get the key for the accumulated update validators
|
// get the key for the accumulated update validators
|
||||||
func GetValidatorsTendermintUpdatesKey(addr sdk.Address) []byte {
|
func GetTendermintUpdatesKey(addr sdk.Address) []byte {
|
||||||
return append(ValidatorsTendermintUpdatesKey, addr.Bytes()...)
|
return append(TendermintUpdatesKey, addr.Bytes()...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// get the key for the current validator group, ordered like tendermint
|
// get the key for the current validator group, ordered like tendermint
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -60,16 +60,16 @@ func TestBondedToUnbondedPool(t *testing.T) {
|
||||||
assert.Equal(t, poolA.bondedShareExRate(), sdk.OneRat())
|
assert.Equal(t, poolA.bondedShareExRate(), sdk.OneRat())
|
||||||
assert.Equal(t, poolA.unbondedShareExRate(), sdk.OneRat())
|
assert.Equal(t, poolA.unbondedShareExRate(), sdk.OneRat())
|
||||||
candA := Validator{
|
candA := Validator{
|
||||||
Status: Bonded,
|
Status: sdk.Bonded,
|
||||||
Address: addrs[0],
|
Address: addrs[0],
|
||||||
PubKey: pks[0],
|
PubKey: pks[0],
|
||||||
BondedShares: sdk.OneRat(),
|
BondedShares: sdk.OneRat(),
|
||||||
DelegatorShares: sdk.OneRat(),
|
DelegatorShares: sdk.OneRat(),
|
||||||
}
|
}
|
||||||
poolB, candB := poolA.bondedToUnbondedPool(candA)
|
poolB, candB := poolA.bondedToUnbondedPool(candA)
|
||||||
|
|
||||||
// status unbonded
|
// status unbonded
|
||||||
assert.Equal(t, candB.Status, Unbonded)
|
assert.Equal(t, candB.Status, sdk.Unbonded)
|
||||||
// same exchange rate, assets unchanged
|
// same exchange rate, assets unchanged
|
||||||
assert.Equal(t, candB.BondedShares, candA.BondedShares)
|
assert.Equal(t, candB.BondedShares, candA.BondedShares)
|
||||||
// bonded pool decreased
|
// bonded pool decreased
|
||||||
|
@ -87,17 +87,17 @@ func TestUnbonbedtoBondedPool(t *testing.T) {
|
||||||
assert.Equal(t, poolA.bondedShareExRate(), sdk.OneRat())
|
assert.Equal(t, poolA.bondedShareExRate(), sdk.OneRat())
|
||||||
assert.Equal(t, poolA.unbondedShareExRate(), sdk.OneRat())
|
assert.Equal(t, poolA.unbondedShareExRate(), sdk.OneRat())
|
||||||
candA := Validator{
|
candA := Validator{
|
||||||
Status: Bonded,
|
Status: sdk.Bonded,
|
||||||
Address: addrs[0],
|
Address: addrs[0],
|
||||||
PubKey: pks[0],
|
PubKey: pks[0],
|
||||||
BondedShares: sdk.OneRat(),
|
BondedShares: sdk.OneRat(),
|
||||||
DelegatorShares: sdk.OneRat(),
|
DelegatorShares: sdk.OneRat(),
|
||||||
}
|
}
|
||||||
candA.Status = Unbonded
|
candA.Status = sdk.Unbonded
|
||||||
poolB, candB := poolA.unbondedToBondedPool(candA)
|
poolB, candB := poolA.unbondedToBondedPool(candA)
|
||||||
|
|
||||||
// status bonded
|
// status bonded
|
||||||
assert.Equal(t, candB.Status, Bonded)
|
assert.Equal(t, candB.Status, sdk.Bonded)
|
||||||
// same exchange rate, assets unchanged
|
// same exchange rate, assets unchanged
|
||||||
assert.Equal(t, candB.BondedShares, candA.BondedShares)
|
assert.Equal(t, candB.BondedShares, candA.BondedShares)
|
||||||
// bonded pool increased
|
// bonded pool increased
|
||||||
|
@ -177,10 +177,10 @@ func TestValidatorAddTokens(t *testing.T) {
|
||||||
|
|
||||||
poolA := keeper.GetPool(ctx)
|
poolA := keeper.GetPool(ctx)
|
||||||
candA := Validator{
|
candA := Validator{
|
||||||
Status: Bonded,
|
Status: sdk.Bonded,
|
||||||
Address: addrs[0],
|
Address: addrs[0],
|
||||||
PubKey: pks[0],
|
PubKey: pks[0],
|
||||||
BondedShares: sdk.NewRat(9),
|
BondedShares: sdk.NewRat(9),
|
||||||
DelegatorShares: sdk.NewRat(9),
|
DelegatorShares: sdk.NewRat(9),
|
||||||
}
|
}
|
||||||
poolA.BondedPool = candA.BondedShares.Evaluate()
|
poolA.BondedPool = candA.BondedShares.Evaluate()
|
||||||
|
@ -203,10 +203,10 @@ func TestValidatorRemoveShares(t *testing.T) {
|
||||||
|
|
||||||
poolA := keeper.GetPool(ctx)
|
poolA := keeper.GetPool(ctx)
|
||||||
candA := Validator{
|
candA := Validator{
|
||||||
Status: Bonded,
|
Status: sdk.Bonded,
|
||||||
Address: addrs[0],
|
Address: addrs[0],
|
||||||
PubKey: pks[0],
|
PubKey: pks[0],
|
||||||
BondedShares: sdk.NewRat(9),
|
BondedShares: sdk.NewRat(9),
|
||||||
DelegatorShares: sdk.NewRat(9),
|
DelegatorShares: sdk.NewRat(9),
|
||||||
}
|
}
|
||||||
poolA.BondedPool = candA.BondedShares.Evaluate()
|
poolA.BondedPool = candA.BondedShares.Evaluate()
|
||||||
|
@ -227,10 +227,10 @@ func TestValidatorRemoveShares(t *testing.T) {
|
||||||
assets := sdk.NewRat(5102)
|
assets := sdk.NewRat(5102)
|
||||||
liabilities := sdk.NewRat(115)
|
liabilities := sdk.NewRat(115)
|
||||||
cand := Validator{
|
cand := Validator{
|
||||||
Status: Bonded,
|
Status: sdk.Bonded,
|
||||||
Address: addrs[0],
|
Address: addrs[0],
|
||||||
PubKey: pks[0],
|
PubKey: pks[0],
|
||||||
BondedShares: assets,
|
BondedShares: assets,
|
||||||
DelegatorShares: liabilities,
|
DelegatorShares: liabilities,
|
||||||
}
|
}
|
||||||
pool := Pool{
|
pool := Pool{
|
||||||
|
@ -258,19 +258,19 @@ func TestValidatorRemoveShares(t *testing.T) {
|
||||||
|
|
||||||
// generate a random validator
|
// generate a random validator
|
||||||
func randomValidator(r *rand.Rand) Validator {
|
func randomValidator(r *rand.Rand) Validator {
|
||||||
var status ValidatorStatus
|
var status sdk.ValidatorStatus
|
||||||
if r.Float64() < float64(0.5) {
|
if r.Float64() < float64(0.5) {
|
||||||
status = Bonded
|
status = sdk.Bonded
|
||||||
} else {
|
} else {
|
||||||
status = Unbonded
|
status = sdk.Unbonded
|
||||||
}
|
}
|
||||||
assets := sdk.NewRat(int64(r.Int31n(10000)))
|
assets := sdk.NewRat(int64(r.Int31n(10000)))
|
||||||
liabilities := sdk.NewRat(int64(r.Int31n(10000)))
|
liabilities := sdk.NewRat(int64(r.Int31n(10000)))
|
||||||
return Validator{
|
return Validator{
|
||||||
Status: status,
|
Status: status,
|
||||||
Address: addrs[0],
|
Address: addrs[0],
|
||||||
PubKey: pks[0],
|
PubKey: pks[0],
|
||||||
BondedShares: assets,
|
BondedShares: assets,
|
||||||
DelegatorShares: liabilities,
|
DelegatorShares: liabilities,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -290,10 +290,10 @@ func randomSetup(r *rand.Rand, numValidators int) (Pool, Validators) {
|
||||||
validators := make([]Validator, numValidators)
|
validators := make([]Validator, numValidators)
|
||||||
for i := 0; i < numValidators; i++ {
|
for i := 0; i < numValidators; i++ {
|
||||||
validator := randomValidator(r)
|
validator := randomValidator(r)
|
||||||
if validator.Status == Bonded {
|
if validator.Status == sdk.Bonded {
|
||||||
pool.BondedShares = pool.BondedShares.Add(validator.BondedShares)
|
pool.BondedShares = pool.BondedShares.Add(validator.BondedShares)
|
||||||
pool.BondedPool += validator.BondedShares.Evaluate()
|
pool.BondedPool += validator.BondedShares.Evaluate()
|
||||||
} else if validator.Status == Unbonded {
|
} else if validator.Status == sdk.Unbonded {
|
||||||
pool.UnbondedShares = pool.UnbondedShares.Add(validator.BondedShares)
|
pool.UnbondedShares = pool.UnbondedShares.Add(validator.BondedShares)
|
||||||
pool.UnbondedPool += validator.BondedShares.Evaluate()
|
pool.UnbondedPool += validator.BondedShares.Evaluate()
|
||||||
}
|
}
|
||||||
|
@ -310,13 +310,13 @@ type Operation func(r *rand.Rand, p Pool, c Validator) (Pool, Validator, int64,
|
||||||
// operation: bond or unbond a validator depending on current status
|
// operation: bond or unbond a validator depending on current status
|
||||||
func OpBondOrUnbond(r *rand.Rand, p Pool, cand Validator) (Pool, Validator, int64, string) {
|
func OpBondOrUnbond(r *rand.Rand, p Pool, cand Validator) (Pool, Validator, int64, string) {
|
||||||
var msg string
|
var msg string
|
||||||
if cand.Status == Bonded {
|
if cand.Status == sdk.Bonded {
|
||||||
msg = fmt.Sprintf("Unbonded previously bonded validator %s (assets: %v, liabilities: %v, delegatorShareExRate: %v)",
|
msg = fmt.Sprintf("sdk.Unbonded previously bonded validator %s (assets: %v, liabilities: %v, delegatorShareExRate: %v)",
|
||||||
cand.Address, cand.BondedShares, cand.DelegatorShares, cand.delegatorShareExRate())
|
cand.Address, cand.BondedShares, cand.DelegatorShares, cand.delegatorShareExRate())
|
||||||
p, cand = p.bondedToUnbondedPool(cand)
|
p, cand = p.bondedToUnbondedPool(cand)
|
||||||
|
|
||||||
} else if cand.Status == Unbonded {
|
} else if cand.Status == sdk.Unbonded {
|
||||||
msg = fmt.Sprintf("Bonded previously unbonded validator %s (assets: %v, liabilities: %v, delegatorShareExRate: %v)",
|
msg = fmt.Sprintf("sdk.Bonded previously unbonded validator %s (assets: %v, liabilities: %v, delegatorShareExRate: %v)",
|
||||||
cand.Address, cand.BondedShares, cand.DelegatorShares, cand.delegatorShareExRate())
|
cand.Address, cand.BondedShares, cand.DelegatorShares, cand.delegatorShareExRate())
|
||||||
p, cand = p.unbondedToBondedPool(cand)
|
p, cand = p.unbondedToBondedPool(cand)
|
||||||
}
|
}
|
||||||
|
@ -436,10 +436,10 @@ func TestPossibleOverflow(t *testing.T) {
|
||||||
assets := sdk.NewRat(2159)
|
assets := sdk.NewRat(2159)
|
||||||
liabilities := sdk.NewRat(391432570689183511).Quo(sdk.NewRat(40113011844664))
|
liabilities := sdk.NewRat(391432570689183511).Quo(sdk.NewRat(40113011844664))
|
||||||
cand := Validator{
|
cand := Validator{
|
||||||
Status: Bonded,
|
Status: sdk.Bonded,
|
||||||
Address: addrs[0],
|
Address: addrs[0],
|
||||||
PubKey: pks[0],
|
PubKey: pks[0],
|
||||||
BondedShares: assets,
|
BondedShares: assets,
|
||||||
DelegatorShares: liabilities,
|
DelegatorShares: liabilities,
|
||||||
}
|
}
|
||||||
pool := Pool{
|
pool := Pool{
|
||||||
|
|
|
@ -30,8 +30,8 @@ func (k Keeper) Tick(ctx sdk.Context) (change []abci.Validator) {
|
||||||
k.setIntraTxCounter(ctx, 0)
|
k.setIntraTxCounter(ctx, 0)
|
||||||
|
|
||||||
// calculate validator set changes
|
// calculate validator set changes
|
||||||
change = k.getValidatorsTendermintUpdates(ctx)
|
change = k.getTendermintUpdates(ctx)
|
||||||
k.clearValidatorsTendermintUpdates(ctx)
|
k.clearTendermintUpdates(ctx)
|
||||||
|
|
||||||
// XXX get the total validator of the previous validator set
|
// XXX get the total validator of the previous validator set
|
||||||
// XXX get the total validator of the current validator set
|
// XXX get the total validator of the current validator set
|
||||||
|
|
|
@ -69,14 +69,14 @@ func TestProcessProvisions(t *testing.T) {
|
||||||
validators := make([]Validator, 10)
|
validators := make([]Validator, 10)
|
||||||
for i := 0; i < 10; i++ {
|
for i := 0; i < 10; i++ {
|
||||||
c := Validator{
|
c := Validator{
|
||||||
Status: Unbonded,
|
Status: sdk.Unbonded,
|
||||||
PubKey: pks[i],
|
PubKey: pks[i],
|
||||||
Address: addrs[i],
|
Address: addrs[i],
|
||||||
BondedShares: sdk.NewRat(0),
|
BondedShares: sdk.NewRat(0),
|
||||||
DelegatorShares: sdk.NewRat(0),
|
DelegatorShares: sdk.NewRat(0),
|
||||||
}
|
}
|
||||||
if i < 5 {
|
if i < 5 {
|
||||||
c.Status = Bonded
|
c.Status = sdk.Bonded
|
||||||
}
|
}
|
||||||
mintedTokens := int64((i + 1) * 10000000)
|
mintedTokens := int64((i + 1) * 10000000)
|
||||||
pool.TotalSupply += mintedTokens
|
pool.TotalSupply += mintedTokens
|
||||||
|
|
Loading…
Reference in New Issue