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

User Interface issue - when creating a watch only wallet, the derivation path needs to be typed in. #1609

Closed
Purchase73 opened this issue Jan 31, 2025 · 6 comments

Comments

@Purchase73
Copy link

Purchase73 commented Jan 31, 2025

Steps to reproduce:

  • Create a new wallet
  • Click xpub / Watch only wallet
  • On the next screen you can enter in the derivation path and xpub
  • To enter the xpub, you copy/paste from whatever wallet you're using.
  • The derivation path shows a default of m/84'/1'/0'.
  • You can NOT just click apply here, and have it keep the default for the derivation path. You have to actually type in the derivation path.

However, when you click on that field, it disappears. So you have to have written down the derivation path somewhere, to remember it. This is confusing, and makes people wonder if they're doing the right thing.

I wonder if it might be more user friendly to just have m/84'/1'/0' as a default, without forcing you to type it in (without having anything to copy it from, because it disappears). Maybe so it works the same as the Master fingerprint field?

@craigraw
Copy link
Collaborator

craigraw commented Feb 3, 2025

and have it keep the default for the derivation path.

This is incorrect. You do not have to keep the default. Sparrow will however recommend against using the default for another script type.

However, when you click on that field, it disappears.

This is because it is a suggestion, based on the default for the given script type. Sparrow cannot know the actual value in advance, and guessing it as you have suggested may lead to an incorrect setup. After all, this may be a watch only wallet for a non-zero account. I am unconvinced that the "burden" of needing to type out the path is onerous enough to change the current behaviour.

@jpph
Copy link

jpph commented Feb 4, 2025

not sure why it can not be prefiled ? if zpub derivation should default to m/84'/0'/0', this is the way other wallet like bluewallet does when entering watch only xpub/zpub

@craigraw
Copy link
Collaborator

craigraw commented Feb 5, 2025

Blue Wallet is actually a great example to use here, but not for the reason you'd expect. Until quite recently, all xpubs entered into the app were assumed to represent legacy wallets. I have assisted many users recover their funds that were "lost" through this incorrect assumption. Assumptions are dangerous. In this case, the derivation path in the wallet settings is used directly in PSBTs, which are in turn used by many hardware wallets when signing.

@Purchase73
Copy link
Author

I understand your point about Blue Wallet - I actually had the very problem you mention, and it was frustrating.

But I'm not sure I agree that pre-filling the derivation field, when creating a watch only wallet, is a bad thing. I think it might be more confusing to show:

m/84'/1'/0'

...and then have that disappear, when you click in the box. That seems like an unusual behavior in an application.

The Blue Wallet situation was a little different, in that they actually didn't give you any options to choose a derivation. If you do have the options, it's different. And perhaps the help text on the Derivation field could add some context.

@jpph
Copy link

jpph commented Feb 7, 2025

Or may be a dropdown /radio button with this elements: m/84 ,m/44 legacy, m/49 script ,...
that would populate this field when user select one of this element

@craigraw
Copy link
Collaborator

craigraw commented Feb 7, 2025

Textfield prompts are actually quite common. But anyway, let's try it - it's sometimes the only way to know. The default derivation path for the selected script type is now prefilled for watch only keystores, and if left unchanged will switch as the script type is changed. f38350b.

@craigraw craigraw closed this as completed Feb 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants