Closes#1397
This commit introduce a new `warning` prop on Input component. `error`
prop will always takes precedence over it if present, btw.
We don't reject anymore recipient validity if address is either full
lowercase OR full uppercase, to support legacy formats: having a warning
will allow user to go to next step.
Obviously the fix is available for ETC as well.
Wording to be reviewed :)
The migration nonce is now stored in `app.json` file instead of
separate `migration.json`. It will ensure consistency between nonce
and app data, because the file is written in atomic way.
Migration handle legacy migration file and remove it properly.
Closes#1235
This commit introduce a pretty big change on how app data files are
managed. Instead of having multiple `accounts.json`, `settings.json`,
`user.json`, `countervalues.json`, it now store everything in a single
`app.json`. And it does it in an *async* way, so it should prevent some
frame loss.
Migration will be seamless, and will keep `accounts.json` encryption if set.
So no user action is involved.
This changes comes also with some simplification on password handling
(e.g: no more need to store password hash).
/!\ Disclaimer
During development, I ran about a weird issue (~ 3 or 4 times) when my
data was simply "erased" in the file, so back to onboarding, no more settings,
etc. I suspect race/write condition, something with write-file-atomic, but I
didn't managed to reproduce, everytime I tried. Anyway, I feel not 100% confident
with it, so if you guys can test on your side, with your data (with encryption
key or not) it will help a lot!