horizontalsystems / unstoppable-wallet-android

A powerful non-custodial multi-wallet for Bitcoin, Ethereum, Binance Smart Chain, Avalanche, Solana and other blockchains. Non-custodial crypto and NFT storage, onchain decentralized exchange, institutional grade analytics for cryptcurrency and NFT markets, extensive privacy controls and human oriented design. Implemented on Kotlin.
https://unstoppable.money
MIT License
872 stars 363 forks source link

Add ability to restore specifically from Metamask wallet, in addition to generic restore #5724

Open esengulov opened 1 year ago

esengulov commented 1 year ago

Certain wallets have specific implementations i.e. the way multi accounts derived pin Metamask.

Target all major wallets and provide restore for them. That would be easier for onboarding users from those platforms.

serrq commented 1 year ago

Is derivation path specification already supported in restoring mode?

esengulov commented 1 year ago

Is derivation path specification already supported in restoring mode?

Yes, the restore mode would take into account custom derivation paths used by popular wallets. Unfortunately, most popular wallets have some specifics. For instance, the way Metamask generates multi accounts is their own invention and not really standard.

When you take Solana for instance both Trust and Phantom are popular wallets and yet differ in derivation paths for the Solana chain. Trust is particular uses different paths for 12-24 words and for 15 words :) That might be a bug on their end which they don't know about or simply ignoring it.

serrq commented 1 year ago

A non-custodial wallet that I only use to buy Bitcoin through their app, provided me with the coordinates of the derivation path in addition to the seed. I think it’s a necessity both in creating and restoring a wallet.

It’s good to talk about it. Even more so that something is done about it.

OneNewSmartIdea commented 1 year ago

MetaMask uses the same method ( BIP32 Extended Key) as Ian Coleman open source project. https://github.com/iancoleman/bip39 https://iancoleman.io/bip39/