Make the simulator create the new comission rate sensibly
This commit is contained in:
@@ -28,6 +28,7 @@ FEATURES
|
||||
|
||||
* SDK
|
||||
* (#1336) Mechanism for SDK Users to configure their own Bech32 prefixes instead of using the default cosmos prefixes.
|
||||
* [simulator] \#2682 MsgEditValidator now looks at the validator's max rate, thus it now succeeds a significant portion of the time
|
||||
|
||||
* Tendermint
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user