selfcustody / krux

Open-source signing device firmware for Bitcoin
https://selfcustody.github.io/krux/
Other
179 stars 36 forks source link

Error when signing a transaction from Sparrow Watch Only Wallet #187

Closed tadeubas closed 1 year ago

tadeubas commented 1 year ago

I've created a Sparrow Watch Only Wallet on the testnet with the Master fingerprint 00000000 (8 zeros)

image

Then I've checked the address were ok! Krux said it was valid!

But when scanning the QRCode for the PSBT, Krux can't sign, it gives:

Error:
ValueError('cannot sign',)

But when I place the Master fingerprint accordingly on the Sparrow Watch Only Wallet, Krux can sign the PSBT! I think somehow Sparrow informs the Master fingerprint on the QRCode and Krux validates this before trying to sign the transaction

The error also happens in simulation mode: image

It is important to fix this error because the Master fingerprint information is not relevant, people only stores the xpub info for a Watch Only wallets. BlueWallet also imports Watch Only wallets with the 00000000 fingerprint. Electrum on Android doesn't even show the fingerprint of the wallet, even if it is not a Watch Only.

Here is what Sparrow says about the Master fingerprint: image

tadeubas commented 1 year ago

This issue was opened on the right project... Krux only uses Embit to sign a PSBT file https://github.com/diybitcoinhardware/embit/issues/41