Skip to content
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

Same wallet import optimization #291

Open
Danie0918 opened this issue Sep 28, 2023 · 10 comments
Open

Same wallet import optimization #291

Danie0918 opened this issue Sep 28, 2023 · 10 comments
Assignees
Labels
enhancement New feature or request

Comments

@Danie0918
Copy link
Contributor

Currently, we generate multiple wallets when importing the same wallet multiple times.

This can be used to reset a password using a mnemonic, are there any other scenarios other than this?

If not, I will consider adding a reset password feature and grouping imports of the same wallet into the same category to make account management less difficult.

@Danie0918 Danie0918 added the enhancement New feature or request label Sep 28, 2023
@Danie0918 Danie0918 self-assigned this Sep 28, 2023
@Danie0918 Danie0918 added this to Neuron Sep 28, 2023
@Danie0918 Danie0918 moved this to 📌Planning in Neuron Sep 28, 2023
@Keith-CY
Copy link
Member

Currently, we generate multiple wallets when importing the same wallet multiple times.

This can be used to reset a password using a mnemonic, are there any other scenarios other than this?

If not, I will consider adding a reset password feature and grouping imports of the same wallet into the same category to make account management less difficult.

Resetting the password can be done by the following steps if the mnemonics file is accessible:

  1. backup keystore of the old password
  2. remove wallet of the old password
  3. import wallet via mnemonics, using a new password
  4. remove the backup once the new wallet has been verified.

So the reset password can be excluded from the reasons of importing the same wallet multiple times.

From the description in the top message, I found this issue is to group wallets instead of preventing from importing the same wallet multiple times. IMO, grouping them is a good idea but adding a reset password button is unnecessary because it's a low-frequency function and can be done by the solution above.

@yanguoyu
Copy link

I guess @Danie0918 means if import a wallet multisig times, there will only exist one wallet. @Keith-CY

There exists one issue, import a watched-only wallet with the public key and then import this wallet with a keystone file and password. They are the same wallet but the permission is different. I don't know whether we should merge these two wallets. @Danie0918

@Danie0918
Copy link
Contributor Author

Danie0918 commented Sep 28, 2023

I guess @Danie0918 means if import a wallet multisig times, there will only exist one wallet. @Keith-CY

Yes, I'm mostly trying to solve the problem of multiple identical wallets existing.Resetting passwords may be a reason why users import the same wallet multiple times, so it can be optimized to be easier to work with.

There exists one issue, import a watched-only wallet with the public key and then import this wallet with a keystone file and password. They are the same wallet but the permission is different. I don't know whether we should merge these two wallets. @Danie0918

In this case, we should keep the wallet with higher permissions.

@Keith-CY
Copy link
Member

If this issue is to solve the problem that wallet is imported repeatedly, I will suggest preventing them from being imported instead of combining existing wallets. Because modification of users' data is sensitive.

@Danie0918 Danie0918 assigned silySuper and Sven-TBD and unassigned Danie0918 Oct 24, 2023
@Danie0918
Copy link
Contributor Author

PRD

【Same wallet import optimization】

  • Requirement Description:Currently users can import the same wallet multiple times, which increases the complexity of management and needs to be optimized.

same_wallet_import_optimizationsame_wallet_import_optimization

  • Requirement Contents
  1. Importing duplicate wallets is no longer supported. When importing a duplicate wallet, the user is prompted to select an existing wallet to replace or cancel the import.
  2. For users with the same wallet, a pop-up window prompts the user after updating the software and no longer pops up after the user closes or operates it.
  • The pop-up window displays the same wallets grouped in the order of the existing wallets and provides a radio option for the user to select the wallets to be retained in each group.
  • After selecting the wallets to keep, the user clicks Confirm to delete the unselected wallets in the same group.
  • When no wallet is selected for the same grouping, no operations are performed on that group's wallets.
  • The user may choose to operate and confirm only a portion of the grouped reserved wallets, but may not click to confirm without selecting any wallets.
  1. Settings - Wallets Add option to detected duplicate wallets:
  • This option is only available if the same wallet exists.
  • Click to bring up the Detect Duplicate Wallet pop-up and proceed.

@Danie0918 Danie0918 moved this from 📌Planning to 🎨 Designing in Neuron Oct 24, 2023
@yanguoyu
Copy link

  1. This option is only available if the same wallet exists.

How about hiding this button when there is no duplicate wallet? Maybe most of the users does not import duplicate wallet, it will have less effect.

  1. When no wallet is selected for the same grouping, no operations are performed on that group's wallets.

Does it mean the users can cancel the radio option?

@Danie0918
Copy link
Contributor Author

How about hiding this button when there is no duplicate wallet? Maybe most of the users does not import duplicate wallet, it will have less effect.

Yes, it was considered like this.

Does it mean the users can cancel the radio option?

Here is a relatively flexible option for the user, who can choose to operate on some of the duplicate wallets while keeping some of the duplicate wallets.

@Danie0918 Danie0918 moved this from 🎨 Designing to 🏗 In Progress in Neuron Nov 28, 2023
@Danie0918 Danie0918 assigned devchenyan and unassigned yanguoyu Nov 28, 2023
@devchenyan
Copy link

fixed: nervosnetwork/neuron#3001

@Danie0918 Danie0918 moved this from 🏗 In Progress to 🔎 Code Review in Neuron Dec 25, 2023
@Danie0918 Danie0918 moved this from 🔎 Code Review to 👀 Testing in Neuron Jan 12, 2024
@Danie0918 Danie0918 moved this from 👀 Testing to 🔎 Code Review in Neuron Jan 15, 2024
@Danie0918 Danie0918 moved this from 🔎 Code Review to 👀 Testing in Neuron Jan 19, 2024
@silySuper
Copy link

verified

@Danie0918 Danie0918 moved this from 👀 Testing to 🚩Pre Release in Neuron Jan 30, 2024
@Danie0918 Danie0918 moved this from 🚩Pre Release to ✅ Done in Neuron Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: ✅ Done
Development

No branches or pull requests

9 participants