When recovering a wallet, if you type a word it won't be suggested again.
afaik, that's how it is supposed to work. A word can only be in the recovery words ones, not multiple times.
But I might have a wrong intuition here...
ping @lontivero
Work as designed. It has to suggest no more than 7 unused words. Those already used has to be removed from the suggestions list.
afaik, that's how it is supposed to work. A word can only be in the recovery words ones, not multiple times.
No you can have the same word multiple times in the recovery words.
Those already used has to be removed from the suggestions list.
@lontivero I am talking about the suggestions for the recovery words, you can have a seedphrase that duplicate words.
I am talking about the suggestions for the recovery words, you can have a seedphrase that duplicate words.
@yahiheb are you sure? [I'm not...]
Can you please link to a reference?
https://github.com/trezor/python-mnemonic - this is a reference implementation of BIP039.
generate function: https://github.com/trezor/python-mnemonic/blob/master/mnemonic/mnemonic.py#L116 which calls os.urandom(strength // 8). I believe this is unsigned random number. Meaning, random bytes. An indication that words in final mnemonic can repeat.to_mnemonic function. Again, I don't see anything that prevents words from repeating.One can also look at the issue from the other point of view - checking of the mnemonic: https://github.com/trezor/python-mnemonic/blob/ad06157e21fc2c2145c726efbfdcf69df1350061/mnemonic/mnemonic.py#L199 This function just seems to check checksum.
Not an expert, but this indicates that words can repeat in a mnemonic.
Also, it actually makes more sense with the possibility of repeated words because it implies larger number of possible values.
https://bitcoin.stackexchange.com/questions/59904/does-bip39-mnemonic-construction-avoid-repeating-words and now I have found this.
Thanks @kiminuo for the archeology!
The explanations make sense, and I get the intuition why words can repeat.
concept ACK for the fix of #4106.