leather-io / desktop

Manage STX tokens and Stacking
https://leather.io/
192 stars 71 forks source link

Add advisory notice to zero balance with 12-word Secret Keys #570

Open markmhendrickson opened 3 years ago

markmhendrickson commented 3 years ago

We have a warning when users enter 12-word Secret Keys upon authentication that they've created it elsewhere and may have a separate 24-word Secret Key that actually holds their balances, given confusion between keys generated by the Blockstack Browser historically and those used to purchase via CoinList during token sales.

However, many users seem to arrive past this message and find themselves surprised to see a zero balance post-authentication anyway. They would benefit from seeing the following message alongside that zero balance:

⚠️ Your STX balance is likely associated with a different Secret Key than the one you've used to sign into this wallet. Please double check that you don't have a separate 24-word key or hardware device handy that possesses your STX. The 12-word Secret Key you've entered may have been created with the deprecated Blockstack Browser at some point for the separate purpose of using apps. Learn more

This message should only show for users with both A) a zero balance and B) 12-word Secret Key entered.

cc @GinaAbrams @ryanarndtcm

vr00n commented 3 years ago

How do I generate the 24-word secret?

fluidvoice commented 3 years ago

We have a warning when users enter 12-word Secret Keys upon authentication that they've created it elsewhere and may have a separate 24-word Secret Key that actually holds their balances, given confusion between keys generated by the Blockstack Browser historically and those used to purchase via CoinList during token sales.

However, many users seem to arrive past this message and find themselves surprised to see a zero balance post-authentication anyway. They would benefit from seeing the following message alongside that zero balance:

warning Your STX balance is likely associated with a different Secret Key than the one you've used to sign into this wallet. Please double check that you don't have a separate 24-word key or hardware device handy that possesses your STX. The 12-word Secret Key you've entered may have been created with the deprecated Blockstack Browser at some point for the separate purpose of using apps. Learn more

This message should only show for users with both A) a zero balance and B) 12-word Secret Key entered.

cc @GinaAbrams @ryanarndtcm

adding to this confusion is things like this blog post about the 1.0 to 2.0 migration... https://blog.stacks.co/stacks-2-need-to-know#wallet Was there EVER any STX holding wallet that generated a 12-word seed phrase or is this blog post in error? Screenshot_2021-02-13_16-36-48

cc: @GinaAbrams @yknl

yknl commented 3 years ago

Was there EVER any STX holding wallet that generated a 12-word seed phrase or is this blog post in error?

You could not have generated a 12 word phrase when you setup the wallet previously. This blog post should be corrected.

This message should only show for users with both A) a zero balance and B) 12-word Secret Key entered.

Not to add to confusion but new wallets like Xverse are generating 12 word seed phrases now, so adding this information to the wallet might mislead users.

fluidvoice commented 3 years ago

You could not have generated a 12 word phrase when you setup the wallet previously. This blog post should be corrected.

is this also true if they used a Trezor or Ledger?

yknl commented 3 years ago

You could not have generated a 12 word phrase when you setup the wallet previously. This blog post should be corrected.

is this also true if they used a Trezor or Ledger?

If you used a Trezor or Ledger, you would not have been asked to write down any seed phrases during setup of the Stacks wallet. However, when you set up the Trezor or Ledger device, you would've had to backup the seed phrase. Those seed phrases could be of various lengths.

markmhendrickson commented 3 years ago

Not to add to confusion but new wallets like Xverse are generating 12 word seed phrases now, so adding this information to the wallet might mislead users.

I suppose confusion is indeed possible here, though what are the chances that someone generates a seed phrase in Xverse then loads into the Stacks Wallet without having ever deposited any STX?

We could perhaps extend the logic to display this message only if the address has no balance and never had any balance in the past either (to avoid showing it at some future point when an Xverse -> Stacks Wallet sends all their STX somewhere).

We could also just generalize the message a bit and show it for any address with zero balance upon sign in (rather than registration / generation) and regardless of whether the key entered is 12, 24, etc.:

⚠️ If you're expecting to see a positive balance here, your STX may actually be associated with a different Secret Key. Learn more

yknl commented 3 years ago

One way you can check for sure if the seed phrase came from the Blockstack browser is to check for a username or a profile.json file at the legacy derivation path.