feat(x/staking): allow zero unbonding time (#19779)

This commit is contained in:
ocnc 2024-03-19 14:21:02 -04:00 committed by GitHub
parent a86c2a9980
commit a1bfe5d285
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 3 deletions

View File

@ -31,6 +31,8 @@ Ref: https://keepachangelog.com/en/1.0.0/
### Improvements
* [#19779](https://github.com/cosmos/cosmos-sdk/pull/19779) Allows for setting `unbonding_time` to zero.
* [#19277](https://github.com/cosmos/cosmos-sdk/pull/19277) Hooks calls on `SetUnbondingDelegationEntry`, `SetRedelegationEntry`, `Slash` and `RemoveValidator` returns errors instead of logging just like other hooks calls.
* [#18636](https://github.com/cosmos/cosmos-sdk/pull/18636) `IterateBondedValidatorsByPower`, `GetDelegatorBonded`, `Delegate`, `Unbond`, `Slash`, `Jail`, `SlashRedelegation`, `ApplyAndReturnValidatorSetUpdates` methods no longer panics on any kind of errors but instead returns appropriate errors.
* [#18506](https://github.com/cosmos/cosmos-sdk/pull/18506) Detect the length of the ed25519 pubkey in CreateValidator to prevent panic.

View File

@ -1170,7 +1170,7 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() {
BondDenom: "denom",
},
},
expErrMsg: "unbonding time must be positive",
expErrMsg: "unbonding time must not be negative",
},
}

View File

@ -128,8 +128,8 @@ func validateUnbondingTime(i interface{}) error {
return fmt.Errorf("invalid parameter type: %T", i)
}
if v <= 0 {
return fmt.Errorf("unbonding time must be positive: %d", v)
if v < 0 {
return fmt.Errorf("unbonding time must not be negative: %d", v)
}
return nil