Browse Source

Digital BitBox: Fix sending to self

Make sure that a pubkey is only appended to the checkpub array if it
corresponds to a change address. Signing will fail otherwise, if a
non-change pubkey is sent as part of the checkpub list to the Digital
BitBox.
dependabot/pip/contrib/deterministic-build/ecdsa-0.13.3
TheCharlatan 5 years ago
parent
commit
e7079f1bea
No known key found for this signature in database GPG Key ID: 9B79B45691DB4173
  1. 11
      electrum/plugins/digitalbitbox/digitalbitbox.py

11
electrum/plugins/digitalbitbox/digitalbitbox.py

@ -570,11 +570,12 @@ class DigitalBitbox_KeyStore(Hardware_KeyStore):
assert o.type == TYPE_ADDRESS
info = tx.output_info.get(o.address)
if info is not None:
index = info.address_index
changePath = self.get_derivation() + "/%d/%d" % index
changePubkey = self.derive_pubkey(index[0], index[1])
pubkeyarray_i = {'pubkey': changePubkey, 'keypath': changePath}
pubkeyarray.append(pubkeyarray_i)
if info.is_change:
index = info.address_index
changePath = self.get_derivation() + "/%d/%d" % index
changePubkey = self.derive_pubkey(index[0], index[1])
pubkeyarray_i = {'pubkey': changePubkey, 'keypath': changePath}
pubkeyarray.append(pubkeyarray_i)
# Special serialization of the unsigned transaction for
# the mobile verification app.

Loading…
Cancel
Save