mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-02-23 21:02:23 +00:00
Fixed handling of coinbase tx
This commit is contained in:
parent
78a3fcb384
commit
4e963cfd3c
@ -1,6 +1,7 @@
|
|||||||
import binascii
|
import binascii
|
||||||
import urllib2
|
import urllib2
|
||||||
import json
|
import json
|
||||||
|
from decimal import Decimal
|
||||||
try:
|
try:
|
||||||
from filecache import filecache, MONTH
|
from filecache import filecache, MONTH
|
||||||
except:
|
except:
|
||||||
@ -60,16 +61,23 @@ def bitcore_tx(url):
|
|||||||
|
|
||||||
for vin in data['vin']:
|
for vin in data['vin']:
|
||||||
i = t.inputs.add()
|
i = t.inputs.add()
|
||||||
i.prev_hash = binascii.unhexlify(vin['txid'])
|
if 'coinbase' in vin.keys():
|
||||||
i.prev_index = vin['vout']
|
i.prev_hash = "\0"*32
|
||||||
asm = vin['scriptSig']['asm'].split(' ')
|
i.prev_index = 0xffffffff # signed int -1
|
||||||
asm = [ opcode_serialize(x) for x in asm ]
|
i.script_sig = binascii.unhexlify(vin['coinbase'])
|
||||||
i.script_sig = ''.join(asm)
|
i.sequence = vin['sequence']
|
||||||
i.sequence = vin['sequence']
|
|
||||||
|
else:
|
||||||
|
i.prev_hash = binascii.unhexlify(vin['txid'])
|
||||||
|
i.prev_index = vin['vout']
|
||||||
|
asm = vin['scriptSig']['asm'].split(' ')
|
||||||
|
asm = [ opcode_serialize(x) for x in asm ]
|
||||||
|
i.script_sig = ''.join(asm)
|
||||||
|
i.sequence = vin['sequence']
|
||||||
|
|
||||||
for vout in data['vout']:
|
for vout in data['vout']:
|
||||||
o = t.bin_outputs.add()
|
o = t.bin_outputs.add()
|
||||||
o.amount = int(vout['value'] * 100000000)
|
o.amount = int(Decimal(vout['value']) * 100000000)
|
||||||
asm = vout['scriptPubKey']['asm'].split(' ')
|
asm = vout['scriptPubKey']['asm'].split(' ')
|
||||||
asm = [ opcode_serialize(x) for x in asm ]
|
asm = [ opcode_serialize(x) for x in asm ]
|
||||||
o.script_pubkey = ''.join(asm)
|
o.script_pubkey = ''.join(asm)
|
||||||
|
Loading…
Reference in New Issue
Block a user