As a user I want to have only BIP39 seedphrases so that I won't be using a memory wallet which is inherently unsafe.
_Updated description on 31/10/19. Issue is ready for pick-up._ [RH]
https://github.com/status-im/status-react/pull/9005#issuecomment-535437102
We MUST not let the user enter invalid seedphrases (not valid based on BIP39)
The roadmap for this feature:
step 1/ (like Trust wallet does, most minimalist approach) user enters seed, if mnemonic is not correct (some words are not part of dictionary, or the checksum is not ok) then when user validates mnemonic we show a minimalist error message "seed phrase not correct" and the user corrects his sentence with no special indication of what's wrong
step 2/ while a user types a word and it turns out it's not in our supported dictionaries we prompt a warning that this word is not in dictionary
step 3/ we do autocomplete of words
The scope of this issue is step 1 only.
Your seed phrase is not correct. Please try again.@dmitryn @andmironov
any design work needed here ?
yes we need a design for the auto completion of the words
pinging @rachelhamlin too here
given the number of things to complete for v1, we could consider to go for a stepped approach:
wdyt ?
Agree with step based. Step 1 is the MVP, Step 2 and Step 3 are UX improvements.
This issue is thus about step 1, and will be closed once step 1 is done.
No design work needed.
If words are bad, or checksum is bad, error message can be : "Your seed phrase is not correct, please try again"
Improvements will be provided with https://github.com/status-im/status-react/issues/9084
Additional step here for which I'm curious if it's feasible at all:
step 4/ prevent native on-screen keyboard from auto completing the seed phrase. Currently having the first 2 letters of my phrase is all I need to recover:)
Here's the current design. There's a word count and a popup we display after the user hits "Next" if the seed phrase has words that are not in our dictionary

changed name of issue to "In recovery, we need to refuse any mnemonic with words out of our supported BIP-39 dictionaries" to distinguish it from newly created #9393
after discussion with @gravityblast we decided to implement validation in status-go https://github.com/status-im/status-go/issues/1663
Can I close this one @flexsurfer? Or do we need to build the error message?
no, because we still need to make changes in status-react after status-go part will be ready
@flexsurfer once we finalize my PR, is the work on the status-react side to replace all of the phrase validation related functions in ethereum.mnemonic with a single call to the ValidMnemonic in status-go since that validates word length, words being in the dictionary, and checksum?
probably we could still validate length in status-react, and if the length is valid, then validate in status-go
@flexsurfer Understood. I'll work up a local branch and see if I can get it to call the new Go method. Not 100% sure I've got everything set up right on the status-go side but we'll see.
Most helpful comment
This issue is thus about step 1, and will be closed once step 1 is done.
No design work needed.
If words are bad, or checksum is bad, error message can be : "Your seed phrase is not correct, please try again"
Improvements will be provided with https://github.com/status-im/status-react/issues/9084