From 85ea2dfc484b7ee2de5863a1ee7a4531215600c1 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Fri, 23 Feb 2024 12:50:25 +0000 Subject: [PATCH] trezor: add_slip_19_ownership_proofs_to_tx to not skip complete inputs closes https://github.com/spesmilo/electrum/issues/8910 --- electrum/plugins/trezor/trezor.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/electrum/plugins/trezor/trezor.py b/electrum/plugins/trezor/trezor.py index c1bf02c96..0405c0d1e 100644 --- a/electrum/plugins/trezor/trezor.py +++ b/electrum/plugins/trezor/trezor.py @@ -107,7 +107,8 @@ class TrezorKeyStore(Hardware_KeyStore): for txin in tx.inputs(): if txin.is_coinbase_input(): continue - if txin.is_complete() or not txin.is_mine: + # note: we add proofs even for txin.is_complete() inputs. + if not txin.is_mine: continue assert txin.scriptpubkey desc = txin.script_descriptor @@ -391,6 +392,8 @@ class TrezorPlugin(HW_PluginBase): txinputtype.script_type = InputScriptType.EXTERNAL assert txin.scriptpubkey txinputtype.script_pubkey = txin.scriptpubkey + # note: we add the ownership proof, if present, regardless of txin.is_complete(). + # The "Trezor One" model always requires it for external inputs. (see #8910) if not txin.is_mine and txin.slip_19_ownership_proof: txinputtype.ownership_proof = txin.slip_19_ownership_proof else: # we sign