-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inconsistent/incorrect derivation policy in wallet.backup for multisig #6688
Comments
When using "create new seed", you are using Electrum seeds. The derivation paths in that case follow from the seed version; there is no room for error/customisation.
You mean when using BIP39 seeds. Indeed they give the user free reign to choose whatever path they want as there is no path information in the seed. If you restore from an Electrum seed, you can't choose a path - just like in the "create new seed" case.
Presumably these Zpubs are for Electrum seeds? |
Appreciate the response and info. I will do some more testing to make sure my mental model is correct. |
This is how you go Lines 989 to 1000 in 2232955
|
What I am trying to achieve is the ability for a user to import an Electrum wallet.backup file into Fully Noded. It makes the most sense to do this for multisig wallets so that is what I am focusing on. Is it correct to assume that when you create a multisig wallet in Electrum selecting the |
No. Electrum seeds do not use the bip44/49/84/45/84/etc derivation paths, as there is no point. They use paths as in linked code above.
Where do you see See e.g. this 2of2 wallet comprised of an electrum segwit seed and a Zpub:
|
Why do you allow users to by default select |
It seems you are still missing the point. "segwit" type Electrum seeds use |
I would like to add to this issue as it creates a problem with my electrum multisig-setup with coldcard: I have a 3 of 5 multisig wallet. There are 4 hardware signers (coldcard and trezors) as well as one signer in FullyNoded. The hardware signer's XPUBs were imported into the electrum multisig wallet diectly via USB connection. It was possible to set the derivation path to m/48'/0'/0'/2' (default) for each one. The FullyNoded XPUB was imported manually (copy & paste) and shows with derivation path undefined in the electrum wallet information. When trying to sign a transaction with coldcard it shows the error message: FAILURE Input #0: pk#5 wrong, too shallow. I assume this is caused by the missing derivation path of the FullyNoded signer (which is pk#5). How can I set the derivation path for the FullyNoded XPUB in electrum? Otherwise Coldcard will not accept/sign the multisig transaction. |
The only way I have used FN in an Electrum msig quorum is by using Electrum as a signer via a bip39 seed. First step being to import a bip39 mnemonic into Electrum and then import each xpub (m/48'/0'/0'/2'). This works without issue for me with Electrum, Coldcard and FN. Have you created the msig wallet on FN too? |
My goal is to have 4 hardware wallets and one secure signer on my mobile device (FN). I set up the electrum wallet as follows:
When I try to sign a transaction with Coldcard, the above mentioned error occurs on Coldcard. I'm able to sign with all other signers without any problem. EDIT |
@cschneider1984 that's essentially #5715 see #5715 (comment) I'll close this thread as I believe the original issue was mainly a misunderstanding, and the new issue is a direct consequence of #5715 |
Why is it when you create a multisig wallet with the option of "create new seed" that Electrum saves the derivation as
m/0
in the wallet backup and also when you add co signer keys?Yet when you select "I already have a seed" it allows you to select
m/48'/0'/0'/2'
as the default derivation (and saves it correctly)? However again the cosigner keys automatically and incorrectly get set tom/0
?For example I import one seed and Electrum derives the correct Zpub from that seed, yet when I add my cosigner keys it incorrectly assigns those Zpubs a
m/0
.The text was updated successfully, but these errors were encountered: