Type: Bug
Summary: for all new users after merging https://github.com/status-im/status-react/pull/8601 from the same seed phrase are restored different whisper ids, which makes impossible to pair devices.
can advertise one device to another
nothing happens
@cammellos created an issue to track progress and discussion...
cc @rachelhamlin @annadanchenko
@gravityblast what is the expected behavior? My understanding is that although wallet key and whisper keys are different if I import the same seed phrase I should get the same wallet key & whisper key, for example:
device-1-whisper-key == device-2-whisper-key
&&
device-1-wallet-key == device-2-wallet-key
&&
device-1-wallet-key != device-1-whisper-key
@flexsurfer
My understanding is the same as @cammellos, for one seed phrase we should always have the same whisper and default wallet keys
+1
The default whisper key is on a fixed path (m/43'/60'/1581'/0'/0') so always the same adress when we recover a given seed.
Same thing for the default wallet key (m/44'/60'/0'/0/0)
@annadanchenko @churik this is expected for all new users after merging #8601 from the same seed phrase are restored different whisper ids, this is was the main goal of multiaccount, to make whisper id different, so if you recover old account there should be same wallet address but different whisper id
@churik or do you mean you install fresh build with #8601 , create new account and get new mnemonic, and recover account on another device with this new mnemonic you have different whisper id ?
oh sorry,multiaccounts recovery isn't implemented in #8601 , so whisper id should the same as before #8601
but anyway i can't reproduce this, because i have always the same whisper id for one mnemonic on different devices
multiaccounts recovery is here https://github.com/status-im/status-react/pull/8687
@gravityblast what is the expected behavior? My understanding is that although wallet key and whisper keys are different if I import the same seed phrase I should get the same wallet key & whisper key, for example:
device-1-whisper-key == device-2-whisper-key
&&
device-1-wallet-key == device-2-wallet-key
&&
device-1-wallet-key != device-1-whisper-key
@cammellos yes it's correct!
I can reproduce same issue (another whisper key is recovered) on Android build 22 of Recovery v1 PR https://github.com/status-im/status-react/pull/8687
Steps:
hm maybe something wrong with the mnemonic phrase when we generate a new account
Thanks, I will triage this and timebox it to 3 hours, will let you know by tomorrow what comes up.
@cammellos first we need to make sure this method MultiAccountGenerateAndDeriveAddresses returns correct mnemonics for generated accounts
I must add that wallet address is the same on device1 and device2, so issue is only for whisper id
you can user this phrase

Expected Whisper id:

Expected Wallet address:

ok that means MultiAccountGenerateAndDeriveAddresses returns wrong whisper ids
@flexsurfer
yes, it is reproducible for develop for new accounts only (created after #8601 )
It is mentioned as expected result here: https://github.com/status-im/status-react/pull/8601#issuecomment-516306789
we provide this path "m/43'/60'/1581'/0'/0" to MultiAccountGenerateAndDeriveAddresses
@churik @annadanchenko @cammellos I've found the reason
in #8601 we still use the old method to recover, so develop is wrong you shouldn't test it
here #8687 @dmitryn has the wrong implementation, we need to fix it
sorry for wasting your time! i'll comment in #8687 and we'll fix it with @dmitryn
thanks
cc @rachelhamlin
can this one be closed now that #8687 is merged ?
Most helpful comment
@churik @annadanchenko @cammellos I've found the reason
in #8601 we still use the old method to recover, so develop is wrong you shouldn't test it
here #8687 @dmitryn has the wrong implementation, we need to fix it
sorry for wasting your time! i'll comment in #8687 and we'll fix it with @dmitryn
thanks