-
Notifications
You must be signed in to change notification settings - Fork 2.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
[bug]: Remote Signer: FundPsbt: change output lacking master fingerprint (XFP) #8626
Comments
Thanks for the report. It looks like we indeed forgot to set the master fingerprint in some situations on newly derived addresses. Was able to reproduce and fix locally with #8630. |
The XFP (master fingerprint) is now being added correctly. Thanks Oli! We have another issue now though. It seems that we're hitting a mismatch on the pubkey. Pubkey 0303b42b33356ebae804c43c2910666d5b6a4c141e86f501d4a8d597a27a91b796 != the result of (m=C13E4B30)/84'/0'/0'/1/5 PSBT in question:
|
It seems we also have an incorrect path for the input of |
Ah, I know what this is... Unfortunately, the |
I think it needs to be in testnet mode, otherwise the addresses are calculated incorrectly. Seems like we need to fix the derivation path used when importing tpubs via the I will try to do some testing on mainnet to see if the issue persists there |
Hitting the same issue when using a testnet seed with Seedsigner. |
Yeah, it probably won't work with any hardware wallet, since |
Fixes lightningnetwork#8626. This commit updates btcwallet to the latest version that correctly includes the MasterKeyFingerprint for all generated addresses, including change addresses derived from imported watch-only accounts.
No problem on mainnet! I have tested it and was able to sign with the hardware wallet. I created a separate issue to track the testnet derivation path issue: #8645 |
Background
In trying to craft a transaction using an input from an external watch-only account, it appears that the change output lacks a master fingerprint (XFP). The input has the XFP marked correctly.
This causes problems when signing with a Coldcard - error message:
Change Fraud. Output#1: Deception regarding change output. BIP-32 path doesn't match actual address
Your environment
PSBT in question:
Steps to reproduce
ImportAccount
endpoint. Make sure master fingerprint (XFP) is defined in the process.FundPsbt
using input from the external accountExpected behaviour
Change output has defined XFP that matches the wallet.
Actual behaviour
Change output has null XFP
The text was updated successfully, but these errors were encountered: