fix #2242
This commit is contained in:
parent
f99fbbe488
commit
5ee4cf41a8
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue