urbit / bitcoin-wallet

Repository for issue triaging and (eventually) the bitcoin wallet code
MIT License
4 stars 1 forks source link

It's not clear how to sign a TX outside of bridge or using a master ticket #39

Closed finned-palmer closed 3 years ago

finned-palmer commented 3 years ago

At the moment, users who have decided to use a different xpub than the one associated with their urbit ID are not shown how they might go about sending a transaction. The "Send" component just shows "Sign with Bridge" or "Sign with Master Ticket". If the user selects "Sign with Bridge", a PSBT will be printed to their dojo (which they can then use to broadcast the transaction externally), however there's no indication in the UI that this has occurred (or that broadcasting it using some external app will be necessary).

finned-palmer commented 3 years ago

Related, there should be some explanation in the onboarding that using the application without a master ticket will provide the user with a much difference experience than the default. "What if I don't have a master ticket?" -> click, modal -> "You can still use the wallet, however...". @urcades not sure if you've already covered this user story flow.

finned-palmer commented 3 years ago

Starting on this.

finned-palmer commented 3 years ago

Need the ability to download a PSBT file, too.

finned-palmer commented 3 years ago

And broadcast signed TX button w/signed tx input.

urcades commented 3 years ago

@finned-palmer I'm unsure if you've seen the latest designs, but they've been heavily revamped since our first take on them:

https://www.figma.com/file/zRsxdDMVZ8LVTAwsHpai64/Bitcoin-Wallet?node-id=1257%3A0

Be sure to pay especially close attention to the new transition for signing that's been designed, which is a lot more explicit about the actions that need to be taken for sending a transaction:

Screen Shot 2021-07-09 at 3 51 13 AM

If you imagine that the "Sign with Bridge" option has been selected in the upper left of the image below —

Screen Shot 2021-07-09 at 3 51 33 AM

— it essentially transitions over to a screen that explicitly mentions that it's opening bridge in a new tab/window to initialize the external-signing process. If the wallet used is a hardware wallet, I'd imagine that we could insert a prompt into this space as well, to give someone the opportunity to sign with a hardware wallet instead of use Bridge.

urcades commented 3 years ago

Your last note re: the onboarding process is a good one — we should definitely explicitly call out that the experiences between master ticket signing + otherwise is quite different. You'll note that this onboarding process is also refreshed in the linked design above, but we could update it further to be more explicit.

finned-palmer commented 3 years ago

Awesome, looking at the figma screens now.

urcades commented 3 years ago

@finned-palmer let me know if you have any questions at all about this stuff — happy to work through the design intent with you, or any quirks in actual implementation we might need to deal with

finned-palmer commented 3 years ago

Fixed with https://github.com/urbit/urbit/pull/5127