fix #563
This commit is contained in:
@@ -314,6 +314,8 @@ def get_address_from_input_script(bytes):
|
|||||||
match = [ opcodes.OP_PUSHDATA4, opcodes.OP_PUSHDATA4 ]
|
match = [ opcodes.OP_PUSHDATA4, opcodes.OP_PUSHDATA4 ]
|
||||||
if match_decoded(decoded, match):
|
if match_decoded(decoded, match):
|
||||||
sig = decoded[0][1].encode('hex')
|
sig = decoded[0][1].encode('hex')
|
||||||
|
assert sig[-2:] == '01'
|
||||||
|
sig = sig[:-2]
|
||||||
pubkey = decoded[1][1].encode('hex')
|
pubkey = decoded[1][1].encode('hex')
|
||||||
return [pubkey], {pubkey:sig}, public_key_to_bc_address(pubkey.decode('hex'))
|
return [pubkey], {pubkey:sig}, public_key_to_bc_address(pubkey.decode('hex'))
|
||||||
|
|
||||||
@@ -386,7 +388,7 @@ class Transaction:
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_io(klass, inputs, outputs):
|
def from_io(klass, inputs, outputs):
|
||||||
raw = klass.serialize(inputs, outputs, for_sig = -1) # for_sig=-1 means do not sign
|
raw = klass.serialize(inputs, outputs, for_sig = None) # for_sig=-1 means do not sign
|
||||||
self = klass(raw)
|
self = klass(raw)
|
||||||
self.inputs = inputs
|
self.inputs = inputs
|
||||||
self.outputs = outputs
|
self.outputs = outputs
|
||||||
@@ -591,6 +593,7 @@ class Transaction:
|
|||||||
address = None
|
address = None
|
||||||
|
|
||||||
d['address'] = address
|
d['address'] = address
|
||||||
|
d['pubkeys'] = pubkeys
|
||||||
d['signatures'] = signatures
|
d['signatures'] = signatures
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user