Browse Source

coldcard: fix p2pkh signing for new fw (1.1.0)

PSBT was serialised incorrectly but old fw did not complain
3.3.3.1
SomberNight 6 years ago
parent
commit
ee287740a7
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 11
      electrum/plugins/coldcard/coldcard.py

11
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)

Loading…
Cancel
Save