feat: enforce 5% minimum validator commission rate #1177
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a protocol-level requirement for a minimum validator commission rate of 5%. This change is designed to ensure network security and validator sustainability by preventing a "race to the bottom" in commission rates.
Changes:
Proto Definition: Updated StakingParams in params.proto to include min_commission_rate using cosmossdk.io/math.LegacyDec.
Validation: Added validateMinCommissionRate in params.go to enforce the 0.05 (5%) floor during parameter updates and ValidateBasic checks.
Defaults: Updated DefaultStakingParams to set the initial floor to 5%.
Note on Code Generation: I have manually updated the .proto and logic files. However, make generate failed in my environment due to a compatibility issue with github.com/bytedance/sonic (GoMapIterator error). I am submitting the source changes so the CI or a maintainer with a compatible build environment can sync the generated .pb.go files.
This change is