commit ee287740a7eeed9b40cfdd85d967009bbbb882ee
parent 1253e3db1d9cb5ca9f3eff325f28ffb7035fb497
Author: SomberNight <somber.night@protonmail.com>
Date: Thu, 29 Nov 2018 20:28:27 +0100
coldcard: fix p2pkh signing for new fw (1.1.0)
PSBT was serialised incorrectly but old fw did not complain
Diffstat:
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/electrum/plugins/coldcard/coldcard.py b/electrum/plugins/coldcard/coldcard.py
@@ -118,6 +118,8 @@ class CKCCClient:
or (self.dev.master_fingerprint != expected_xfp)
or (self.dev.master_xpub != expected_xpub)):
# probably indicating programing error, not hacking
+ print_error("[coldcard]", f"xpubs. reported by device: {self.dev.master_xpub}. "
+ f"stored in file: {expected_xpub}")
raise RuntimeError("Expecting 0x%08x but that's not whats connected?!" %
expected_xfp)
@@ -454,9 +456,12 @@ class Coldcard_KeyStore(Hardware_KeyStore):
# inputs section
for txin in inputs:
- utxo = txin['prev_tx'].outputs()[txin['prevout_n']]
- spendable = txin['prev_tx'].serialize_output(utxo)
- write_kv(PSBT_IN_WITNESS_UTXO, spendable)
+ if Transaction.is_segwit_input(txin):
+ utxo = txin['prev_tx'].outputs()[txin['prevout_n']]
+ spendable = txin['prev_tx'].serialize_output(utxo)
+ write_kv(PSBT_IN_WITNESS_UTXO, spendable)
+ else:
+ write_kv(PSBT_IN_NON_WITNESS_UTXO, str(txin['prev_tx']))
pubkeys, x_pubkeys = tx.get_sorted_pubkeys(txin)