-
Notifications
You must be signed in to change notification settings - Fork 11
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
add admin functionality to disable module incase of failure. #411
Conversation
Coverage after merging puneet/changemodulestate into main
Coverage Report
|
Coverage after merging puneet/changemodulestate into main
Coverage Report
|
Coverage after merging puneet/changemodulestate into main
Coverage Report
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Who will be the admin and how can we set the admin?
We had set it in genesis. And we can change/ set it with a setFeeAddress proposal which has to pass on persistence chain |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change looks good to go. The setting and checking of address is added.
1. Overview
The messages defined in x/lscosmos/handler.go:21-35 can only be executed when the module state is enabled. If the module is disabled, the epoch logic and main messages, such as liquid staking, are prohibited. However, the current implementation only allows the module to be disabled from InitGenesis, as seen in x/lscosmos/genesis.go:16. This implies that all validators would need to coordinate to halt and upgrade the chain in order to set the module to disabled.
Coordinating an upgrade with validators is a manual and time-intensive progress, which prevents swift reactions to security incidents. For example, suppose the ATOM chain halts, and the module needs to be temporarily disabled.
We recommend implementing the following suggestions:
2. Implementation details
3. How to test/use
manual