Fonta1n3 / FullyNoded

Self sovereign, secure, powerful, easy to use wallet that utilizes your own node as a backend. Powered by PSBT's and descriptors. Acts as an offline signer using your node as a watch-only wallet. C-Lightning compatible for instant, unfairly cheap payments.
https://fullynoded.app
Other
199 stars 31 forks source link

Add support for other script types #145

Closed deepfingvalue closed 3 years ago

deepfingvalue commented 3 years ago

Is your feature request related to a problem? Please describe. I recently tried to import a Casa multi-sig wallet both with xpubs and with an electrum watch only file generated from Specter Wallet.

When importing the xpubs the wallet appeared but after syncing it turned out that there were no transactions. I wasn't sure why this was but after importing the watch-only file a dialog popped up mentioning that only p2wsh was supported. Seems like Casa uses a different script type. :(

Describe the solution you'd like Can you please add support for other script types? I like the app for my native segwit address but can't use it to view all of my wallets which use different script types.

Describe alternatives you've considered I've currently locked in to using spector/electrum on desktop. Haven't found a good solution for iOS that allows users to connect to their own full node and view wallets of various script types.

Additional context IMG_4663

Fonta1n3 commented 3 years ago

This wallet exists in Specter? If so follow these instructions for importing it: https://github.com/Fonta1n3/FullyNoded/blob/master/Docs/Wallets/Specter.md

deepfingvalue commented 3 years ago

Yup.It is in Specter. I followed those instructions but am unfortunately getting this cryptic dialog :(

image

Fonta1n3 commented 3 years ago

Would you mind trying to convert the QR from Specter to text, removing the privacy sensitive info and sharing here?

deepfingvalue commented 3 years ago

I created random strings of the same length/format for the xpubs and fingerprints and this is basically the text for the QR code

{ "label": "Multi-sig", "blockheight": 669492, "descriptor": "sh(wsh(sortedmulti(2,[2178a5a5]xpubsTSvoRhyNHq7dbbmTfBp/dLwjX9FbpgzR2YjBxkXMDxbcFefBv40d1HWFqyffGF34CutB76zFxX2QmC7zkgD6rz5LTjSrzdtn\Rwn\YvxHrnHUF/,[cde2ec9d]xpububCdQBLz2ynxR5CFFH91q0o3ytHTdfgmeDfYYzbjtgRxXT7r4xrdrFUpXfF\wTvqBdG2Sn4WhH6bf67jNzSFMvpsXnLzcbjR/BFkkBwmDz7vxH,[81688507]xpubwhcn4awn/SJnq6YciTwRR4Q5MCLssd7\WYdBKijHyXVuH5zmSLdDihRHt/vCnUMK5bGbtv63V37vE93eA2vk9Qh5QvwfrvfAYzXX6j0Mif6g\B1M)))#kk5e6eqh" }

Fonta1n3 commented 3 years ago

OK, the issue is there is no origin info in the descriptors, only the fingerprint [2178a5a5], generally for nested segwit multi-sig it would look like [2178a5a5/48h/0h/0h/1h]xpubxxxxxxx. The latest commit should fix this.

Just FYI Electrum does things differently. Generally speaking there should be a full derivation path in the origin info, especially for multisig based descriptors. I think Electrum is adding some support and a fix for this. The issue is the way Fully Noded signing works it 100% needs the correct derivation path to be included in the descriptor origin info or it will not be able to sign your transactions.

Perhaps you have a multi-sig setup that is using electrum seeds?

Either way, for the next release you can try again to scan that QR from Specter and it will work, if you want Fully Noded to be a signer you may have issues if you are using Electrum format seeds so please do test. FN generally only works as a signer with multi-sig wallets that use bip39 mnemonics.

deepfingvalue commented 3 years ago

Luckily...at the moment for iOS I'm only looking for a watch only wallet. I'll try the next release when it comes out. Thank you!

Fonta1n3 commented 3 years ago

This should be fixed as of 0.2.13, please do reopen this issue if it is still an issue for you.