Status-react: To warn user that for restoring all funds on multiaccount he needs to create all accounts manually

Created on 10 Oct 2019  路  14Comments  路  Source: status-im/status-react

User Story

As a user, I want to be sure that I didn't lose my funds if I create several accounts inside my multiaccount when I need to restore it on other device.

Description

Currenty if you have multi-account with several accounts and funds on each of them, to restore multiaccount with all funds you need apart from restoring from seed phrase to create the corresponding number of accounts.
For example:

  • User has multi-account with Status account(1 ETH), account B (0.5 ETH), account C(0.5 ETH + 100 SNT)
  • Generally, it has 2 ETH and 100 SNT (it is shown on Wallet screen).

Let's say user lost his phone and restore account on another device.
All that he can see after restoring multiaccount from seed-phrase - Status account with 1 ETH.

To see all funds he needs to create account B and account C manually.

Summary: we should at least warn user that he needs to generate new accounts after restoring from seed phrase.

Acceptance Criteria

to restore all accounts or to warn user in some step that he needs to create accounts manually on each restoring.

@rachelhamlin @hesterbruikman @errorists looking forward to have your opinion on it.

design-input-required feature

Most helpful comment

Discussed this with @gravityblast (tagging for accuracy). As I understood there is an API in Go that should allow to check for any funds on accounts derived from the mnemonic. If fund amount is >0 these accounts can be imported along with the recovered key.

Not sure what is required to implement this and whether it's more work, to implement a warning to move funds manually or to implement react use of the Go API.

Should indeed be a very rare case as only nightlies allowed creating multiple accounts in first place. I would even consider comms outside of the app for this and focus on implementing use of the API post-V1.

All 14 comments

Wait, so, sorry I'm not testing myself @churik but...

Is it the case that, to recover my additional accounts, I have to go through the Add account > Add an account > Generate a new key flow...? Or is there a recovery flow there I'm missing?

In other words, what does it mean to create account B and account C manually?

@rachelhamlin
it means that you need to
1) recover your account from seed phrase, and you will see only Status account
2) then you need to go to wallet > Add account > Generate new account > Account B will be restored (address will be the same, but you can set new name \ color)
3) and do step 2 again for Account C

In that case you will see all your funds.

Wow, so. We could clue the user into this bizarro situation. But I would much rather restore all of their accounts altogether. That would be the right solution.

Is it possible @flexsurfer?

i believe we've discussed this, in the future we'll scan paths and restore all accounts with non zero balances

So what is the task here?

  • a warning?
  • scanning paths until 0 balance accounts? (but in this this case maybe we still need a warning, when do you stop scanning? maybe I created 10 accounts and only used the first and last?)

@errorists I know how much you love warnings and error messages. Do you have any thoughts on how we could tell users that they need to manually recover their additional accounts by "generating a new key"? It's a bit shocking from a UX perspective, but the incidence of this occurring should be low. 馃

I rate it P1.

@rachelhamlin sorry I missed this. I didn't work on multiaccount so will ping @andmironov instead, I'd assume/hope it was thought through at some point 馃

I'm thinking of adding an additional step on account recovery that would inform users what they need to do on condition they want to access any additional accounts they had along with their balances, because it's not obvious at all.

Discussed this with @gravityblast (tagging for accuracy). As I understood there is an API in Go that should allow to check for any funds on accounts derived from the mnemonic. If fund amount is >0 these accounts can be imported along with the recovered key.

Not sure what is required to implement this and whether it's more work, to implement a warning to move funds manually or to implement react use of the Go API.

Should indeed be a very rare case as only nightlies allowed creating multiple accounts in first place. I would even consider comms outside of the app for this and focus on implementing use of the API post-V1.

yes we can use go to derive n addresses and checking the balance

Wait @hesterbruikman, what do you mean that only nightlies allow creating multiple accounts?

On v1, all users will be able to create multiple multi-accounts, unless I missed something.

Though there seems to be very low incentive to do so.

@gravityblast could you share some sense of an estimate here? How big of an effort would it be to check account balances using the Go API, is it mainly work that needs to be done in status-react?

Wait @hesterbruikman, what do you mean that only nightlies allow creating multiple accounts?

I meant allowed up until now. I would reasonably expect a very limited number of users to have had the chance to create multiple accounts up to this point. That makes this still an issue in V1, but not critical for a transition to V1.

Agreed @hesterbruikman! I've left it as p1, though we don't have a plan yet.

Simon ran into this after a crash in the browser while testing Teller. He had to recover his account because Status crashed and appeared to wipe his data. 馃槹

Was this page helpful?
0 / 5 - 0 ratings