LedgerHQ / app-bitcoin-new

Modern Bitcoin Application based on PSBT and Descriptors
Apache License 2.0
94 stars 69 forks source link

Can't sign a P2TR Output from a Segwit P2SH UTXO on Electrum #65

Closed Bitcoinite closed 2 years ago

Bitcoinite commented 2 years ago

I just tried to send to a P2TR Taproot address (bc1p...) using an old Segwit P2SH UTXO (starting with a 3). My Ledger Nano S (Firmware 2.1.0, Bitcoin Version 2.0.6) wasn't able to sign that TX using Electrum. The confirmation request didn't appear on the Ledger. I had to use a P2WPKH address instead. With this address type, the signing process worked.

Could you please look into this and apply a fix?

bigspider commented 2 years ago

Hello, and thanks for reporting the issue. Unfortunately, that's not something we can fix on our side. Taproot support is only added in the protocol of the new Bitcoin app (since version 2.0.0). The legacy protocol is still supported for some time, but it won't be upgraded.

Unlike other wallets that use https://github.com/bitcoin-core/HWI (which is already upgraded), Electrum has their own communication layer for hardware wallets, so it will need to upgrade it to use the new protocol. An issue is already open: https://github.com/spesmilo/electrum/issues/7897

Other desktop wallets like Specter Desktop, Sparrow Wallet, Bitcoin Core and, of course, Ledger Live can send to taproot addresses using the new protocol.