-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change module parameters with height #245
Comments
If I understand correctly, you want a hook to execute code (and modify state) every block, whether or not a given module processes DeliverTx or something else? Is that basically the issue? Could we add a method to the Handler like type Ticker interface {
Tick(height uint64, store SimpleDB)
} And then execute it on every registered module on eg. |
I don't think that these parameter changes check need to be necessarily happen every single block, it could really be variable depending on the application... I guess that check could be performed as the first operation in the logic space, but as many applications I'm envisioning probably don't need to happen every block, it may be worth building in that check by default within |
stale. replaced by #346 |
…ting during the upgrade (#244) (#245) (cherry picked from commit 9a05fa0) Co-authored-by: Roman <[email protected]>
Solution: - fix and add test to support the usage pattern in ethermint add Discard method to CacheWrap better testing
Solution: - fix and add test to support the usage pattern in ethermint add Discard method to CacheWrap better testing
Solution: - fix and add test to support the usage pattern in ethermint add Discard method to CacheWrap better testing
Solution: - fix and add test to support the usage pattern in ethermint add Discard method to CacheWrap better testing
Solution: - fix and add test to support the usage pattern in ethermint add Discard method to CacheWrap better testing
Solution: - fix and add test to support the usage pattern in ethermint add Discard method to CacheWrap better testing
Solution: - fix and add test to support the usage pattern in ethermint add Discard method to CacheWrap better testing
Solution: - fix and add test to support the usage pattern in ethermint add Discard method to CacheWrap better testing
Solution: - fix and add test to support the usage pattern in ethermint add Discard method to CacheWrap better testing
From conversation with @ebuchman. We need to have a specialized mechanism for changing the parameters of modules DURING operation based on block height and custom logic; as well as enable and disable modules based on block height and custom logic. A great example of how this will need to be used is for the initialization period of the cosmos hub launch. During this period (which should last about as many blocks as should be mined in 2 weeks), there will be no sendTx and the unbonding period should be 0 (instant). After the delegatation-game period sendTx is turned on, and unbonding period becomes 1 month.
Another example is the number of maximum validators scaling with block height. This number starts at 100 but will gradually be increased to 300 (https://cosmos.network/whitepaper).
This mechanism should also be built with the intention of including integration with governance no minimize the number of soft forks required to change the parameters of the system.
The text was updated successfully, but these errors were encountered: