[Staking] A conflict of stakingupdateinterval
and proposerupdateinterval
#1853
Labels
issue/bug
Issues with the code-level bugs.
Is your request related to a problem? Please describe.
Background:
Both
reward.stakingupdateinterval
andreward.proposerupdateinterval
serve as factors determining when the staking values should be refreshed within a given interval. It is important to note that these factors are prohibited from being updated and listed in the forbidden map.Problem:
Any attempt to reset these values, whether through modifications in the
genesis.json
file or via a hardfork update, can result in undesired and semantically incorrect behavior. To illustrate this point, let's consider a chain with the configurationreward.stakingupdateinterval=10
andreward.proposerupdateinterval=300
. In this scenario, the staking values are retrieved based on the proposer update interval value (i.e.,300
), rather than10
. Consequently, this setting is equivalent to havingreward.stakingupdateinterval=300
.The correct functioning of Cypress is attributed to the settings where
reward.proposerupdateinterval=3600
andreward.stakingupdateinterval=86400
. Here,3600
acts as a divisor of86400,
making the setting equivalent toreward.stakingupdateinterval=86400
withreward.proposerupdateinterval=none
(rendering thereward.proposerupdateinterval
value meaningless).Describe the solution you'd like
Conclusion:
The tidy-up is to remove the
reward.proposerupdateinterval
key from the governance list. Although the patch itself is not particularly complex, its patch involves a large context in terms of chain's configuration. It is important to take note of this issue for future tidy-ups.Describe alternatives you've considered
Additional context
The text was updated successfully, but these errors were encountered: