test(x/slashing): fix slashing sims (#20995)

This commit is contained in:
Alexander Peters 2024-07-19 15:30:09 +02:00 committed by GitHub
parent 095c003495
commit b0652195d8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -93,16 +93,9 @@ func SimulateMsgUnjail(
if err != nil {
return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to get validator consensus key"), nil, err
}
info, err := k.ValidatorSigningInfo.Get(ctx, consAddr)
if err != nil {
return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to find validator signing info"), nil, err // skip
}
selfDel, err := sk.Delegation(ctx, simAccount.Address, bz)
if err != nil {
return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to get self delegation"), nil, err
}
info, _ := k.ValidatorSigningInfo.Get(ctx, consAddr)
selfDel, _ := sk.Delegation(ctx, simAccount.Address, bz)
if selfDel == nil {
return simtypes.NoOpMsg(types.ModuleName, msgType, "self delegation is nil"), nil, nil // skip
}
@ -112,7 +105,7 @@ func SimulateMsgUnjail(
fees, err := simtypes.RandomFees(r, spendable)
if err != nil {
return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to generate fees"), nil, err
return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to generate fees"), nil, nil
}
msg := types.NewMsgUnjail(validator.GetOperator())
@ -140,6 +133,7 @@ func SimulateMsgUnjail(
// - self delegation too low
if info.Tombstoned ||
ctx.HeaderInfo().Time.Before(info.JailedUntil) ||
selfDel.GetShares().IsNil() ||
validator.TokensFromShares(selfDel.GetShares()).TruncateInt().LT(validator.GetMinSelfDelegation()) {
if res != nil && err == nil {
if info.Tombstoned {
@ -148,7 +142,8 @@ func SimulateMsgUnjail(
if ctx.HeaderInfo().Time.Before(info.JailedUntil) {
return simtypes.NewOperationMsg(msg, true, ""), nil, errors.New("validator unjailed while validator still in jail period")
}
if validator.TokensFromShares(selfDel.GetShares()).TruncateInt().LT(validator.GetMinSelfDelegation()) {
if selfDel.GetShares().IsNil() ||
validator.TokensFromShares(selfDel.GetShares()).TruncateInt().LT(validator.GetMinSelfDelegation()) {
return simtypes.NewOperationMsg(msg, true, ""), nil, errors.New("validator unjailed even though self-delegation too low")
}
}