fix: make delete key ask for password and import pop up dissappear#387
Merged
rem1niscence merged 1 commit intomainfrom Apr 28, 2026
Merged
fix: make delete key ask for password and import pop up dissappear#387rem1niscence merged 1 commit intomainfrom
rem1niscence merged 1 commit intomainfrom
Conversation
rem1niscence
approved these changes
Apr 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
PR: Fix Keystore Wallet
Summary
This PR strengthens keystore security and improves wallet UI behavior by requiring password authentication before key deletion and fixing several UX issues in the wallet interface.
Changes
Security: Password-Protected Key Deletion
Previously, deleting a key from the keystore only required providing the address or nickname — no credential verification was needed. This meant any caller with access to the admin API could remove keys without proving ownership.
Key deletion now requires the caller to supply the correct password. The password is validated by attempting to decrypt the stored key before any deletion occurs. If the password is incorrect or missing, the operation is rejected with an error. This applies across all entry points: the Go library, the RPC admin endpoint, the CLI, and the wallet frontend.
The delete confirmation dialog in the wallet UI was updated accordingly — instead of asking the user to retype the wallet name, it now prompts for the wallet password, providing a more meaningful security check.
UX: Modal Auto-Close on Success
The Import Wallet and Create New Key modals on the Key Management page previously stayed open after a successful operation, requiring the user to manually dismiss them. Both modals now close automatically upon success.
UX: Escape Key Support for Governance Modals
The Poll Details and Proposal Details modals in the governance section did not respond to the Escape key. Both modals now listen for the
Escapekeypress and close accordingly, aligning them with standard modal behavior.API & Config Updates
The keystore delete endpoint configuration was updated to send
addressandpasswordin the request body instead ofnickname, reflecting the new backend requirements. The RPC README documentation was updated to describe the new requiredpasswordfield.