Merge pull request #2682 from cosmos/dev/sim_msg_edit_val
R4R: Make the simulator create the new comission rate sensibly
This commit is contained in:
commit
0345f38639
|
@ -24,6 +24,7 @@ FEATURES
|
|||
* Gaia
|
||||
|
||||
* SDK
|
||||
* [simulator] \#2682 MsgEditValidator now looks at the validator's max rate, thus it now succeeds a significant portion of the time
|
||||
|
||||
* Tendermint
|
||||
|
||||
|
|
|
@ -92,10 +92,8 @@ func TestGaiaAppGenState(t *testing.T) {
|
|||
func makeMsg(name string, pk crypto.PubKey) auth.StdTx {
|
||||
desc := stake.NewDescription(name, "", "", "")
|
||||
comm := stakeTypes.CommissionMsg{}
|
||||
msg := stake.NewMsgCreateValidator(
|
||||
sdk.ValAddress(pk.Address()), pk,
|
||||
sdk.NewInt64Coin(bondDenom, 50), desc, comm,
|
||||
)
|
||||
msg := stake.NewMsgCreateValidator(sdk.ValAddress(pk.Address()), pk, sdk.NewInt64Coin(bondDenom,
|
||||
50), desc, comm)
|
||||
return auth.NewStdTx([]sdk.Msg{msg}, auth.StdFee{}, nil, "")
|
||||
}
|
||||
|
||||
|
|
|
@ -26,11 +26,11 @@ func SimulateMsgCreateValidator(m auth.AccountKeeper, k stake.Keeper) simulation
|
|||
Moniker: simulation.RandStringOfLength(r, 10),
|
||||
}
|
||||
|
||||
maxCommission := sdk.NewInt(10)
|
||||
maxCommission := sdk.NewDecWithPrec(r.Int63n(1000), 3)
|
||||
commission := stake.NewCommissionMsg(
|
||||
sdk.NewDecWithPrec(simulation.RandomAmount(r, maxCommission).Int64(), 1),
|
||||
sdk.NewDecWithPrec(simulation.RandomAmount(r, maxCommission).Int64(), 1),
|
||||
sdk.NewDecWithPrec(simulation.RandomAmount(r, maxCommission).Int64(), 1),
|
||||
simulation.RandomDecAmount(r, maxCommission),
|
||||
maxCommission,
|
||||
simulation.RandomDecAmount(r, maxCommission),
|
||||
)
|
||||
|
||||
acc := simulation.RandomAcc(r, accs)
|
||||
|
@ -85,11 +85,10 @@ func SimulateMsgEditValidator(k stake.Keeper) simulation.Operation {
|
|||
Details: simulation.RandStringOfLength(r, 10),
|
||||
}
|
||||
|
||||
maxCommission := sdk.NewInt(10)
|
||||
newCommissionRate := sdk.NewDecWithPrec(simulation.RandomAmount(r, maxCommission).Int64(), 1)
|
||||
|
||||
val := keeper.RandomValidator(r, k, ctx)
|
||||
address := val.GetOperator()
|
||||
newCommissionRate := simulation.RandomDecAmount(r, val.Commission.MaxRate)
|
||||
|
||||
msg := stake.MsgEditValidator{
|
||||
Description: description,
|
||||
ValidatorAddr: address,
|
||||
|
|
|
@ -11,7 +11,7 @@ type (
|
|||
// Commission defines a commission parameters for a given validator.
|
||||
Commission struct {
|
||||
Rate sdk.Dec `json:"rate"` // the commission rate charged to delegators
|
||||
MaxRate sdk.Dec `json:"max_rate"` // maximum commission rate which validator can ever charge
|
||||
MaxRate sdk.Dec `json:"max_rate"` // maximum commission rate which this validator can ever charge
|
||||
MaxChangeRate sdk.Dec `json:"max_change_rate"` // maximum daily increase of the validator commission
|
||||
UpdateTime time.Time `json:"update_time"` // the last time the commission rate was changed
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue