Closed OneNewSmartIdea closed 1 year ago
Not sure what the issue is here... We have "bip0032 import" implemented as a feature, added recently. Are you asking for an export feature?
In MetaMask you can create multiple address using the same seed phrase. If you restore your seed phrase later on another device and create again multiple addresses it restores the same addresses as on the other device. I tried to do the same in Unstoppable wallet but it would just create a new seed phrase. Did I miss something?
Yes. By restoring, the app should derive all previous addresses, not create new ones. A seedphrase is deterministic and should never change.
One thing I did find, if you have any unintentional spaces or line breaks when importing seed or seed passphrase, that'll alter your deterministic addresses. Make sure there aren't any unintentional characters when imputing. This happened to me. You can use Ian Coleman's generator to verify identical inputs.
So, if I have in MetaMask one seed phrase from which I use 5 derived addresses (no pass key) and I restore that one seed phrase in Unstoppable wallet the app will verify through the API that the first 5 addresses have assets on them and restore them all ? Every time I interact with a new project I don t expose my old addresses to the contract, instead I create a new derived address (not a different pass key) out from the initial seed phrase and use that to interact with the new contract. All the hardware wallets have this function, MetaMask has this function and people got used with this way of operating. I absolutely love that Unstoppable wallet has the multi seed phrase manager and the pass key but in order for someone to migrate from MetaMask or a hardware wallet we simply cannot do it if we cannot derive at will as many addresses as we need from one single seed phrase. No one will want to manage 20-30 seed phrases or pass keys and have to update at all his locations constantly new seed phrases and pass keys.
Actually Metamask
uses single mnemonic phrase
and derives multiple indexes from it (m/44'/60'/0'/0/0
, m/44'/60'/0'/0/1
, m/44'/60'/0'/0/2
, etc).
Unstoppable
on the other hand does NOT derive any index except m/44'/60'/0'/0/0
for all EVM chains. That is why it does not "handle" all accounts (indexes) form Metamask
.
As long as I know all popular wallets (as well as Trust Wallet
) use only 0
index for EVM chains, but we can add ability to get use of other indexes as well.
Implementing support for such (non 0
) derived indexes is not a deal technically, but it would produce more complex UI as a result. In this case user would have an option to select index manually on restore.
Let us discuss this feature with our team and get back to you soon.
Great, thank you. You should make the interface in a way that will allow them at any point in time to generate more indexes, not just when they restore it because many people need this feature each time they interact with a new untested contract.
I m also interested of the same function so I can migrate my MetaMask addresses. Any indication on when would this be achievable ? Thank you.
closing this issue as the takeaway here is that we need metamask specific restore and there is an issue for that already https://github.com/horizontalsystems/unstoppable-wallet-android/issues/5724
Derived addresses are a big barrier in the migration of a MetaMask like walllet and it would help a lot for the mass adoption of Unstoppable wallet because users cannot just migrate to new seed phrases if they already have time locked stakes ( ex. HEX token max stake duration is 5555 days, that's about 15 years)
MetaMask uses the same method ( BIP32 Extended Key) as Ian Coleman open source project. https://github.com/iancoleman/bip39 https://iancoleman.io/bip39/