tfix #2242 - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 5ee4cf41a83cb429f7f95094932076705a847cfd DIR parent f99fbbe488a978d557e131ea5b29ddee8533ba6b HTML Author: ThomasV <thomasv@electrum.org> Date: Sun, 5 Mar 2017 16:14:13 +0100 fix #2242 Diffstat: M lib/transaction.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- DIR diff --git a/lib/transaction.py b/lib/transaction.py t@@ -813,7 +813,7 @@ class Transaction: def sign(self, keypairs): - for i, txin in enumerate(self._inputs): + for i, txin in enumerate(self.inputs()): num = txin['num_sig'] pubkeys, x_pubkeys = self.get_sorted_pubkeys(txin) for j, x_pubkey in enumerate(x_pubkeys): t@@ -821,9 +821,10 @@ class Transaction: if len(signatures) == num: # txin is complete break - if x_pubkey in keypairs.keys(): + fd_key = 'fd00' + bitcoin.hash_160(pubkeys[j].decode('hex')).encode('hex') + if x_pubkey in keypairs.keys() or fd_key in keypairs.keys(): print_error("adding signature for", x_pubkey) - sec = keypairs[x_pubkey] + sec = keypairs.get(x_pubkey) or keypairs.get(fd) pubkey = public_key_from_private_key(sec) assert pubkey == pubkeys[j] # add signature