This commit is contained in:
ThomasV 2017-03-05 16:14:13 +01:00
parent f99fbbe488
commit 5ee4cf41a8
1 changed files with 4 additions and 3 deletions

View File

@ -813,7 +813,7 @@ class Transaction:
def sign(self, keypairs): def sign(self, keypairs):
for i, txin in enumerate(self._inputs): for i, txin in enumerate(self.inputs()):
num = txin['num_sig'] num = txin['num_sig']
pubkeys, x_pubkeys = self.get_sorted_pubkeys(txin) pubkeys, x_pubkeys = self.get_sorted_pubkeys(txin)
for j, x_pubkey in enumerate(x_pubkeys): for j, x_pubkey in enumerate(x_pubkeys):
@ -821,9 +821,10 @@ class Transaction:
if len(signatures) == num: if len(signatures) == num:
# txin is complete # txin is complete
break 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) 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) pubkey = public_key_from_private_key(sec)
assert pubkey == pubkeys[j] assert pubkey == pubkeys[j]
# add signature # add signature