tests: fix style in tools/signtest.py

This commit is contained in:
Pavol Rusnak 2017-06-25 18:10:05 +02:00
parent 33f274d145
commit 7f0f73d1c6
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D
2 changed files with 60 additions and 51 deletions

View File

@ -3,11 +3,12 @@ exclude =
.tox/, .tox/,
build/, build/,
dist/, dist/,
tools/signtest.py,
trezorlib/*_pb2.py trezorlib/*_pb2.py
ignore = ignore =
# F821 undefined name 'unicode', # F821 undefined name 'unicode',
F821, F821,
# F841 local variable is assigned to but never used
F841,
# F401: module imported but unused # F401: module imported but unused
F401, F401,
# E402: module level import not at top of file # E402: module level import not at top of file

View File

@ -16,17 +16,20 @@ from trezorlib.tx_api import TxApiBitcoin
from trezorlib.transport_hid import HidTransport from trezorlib.transport_hid import HidTransport
from trezorlib.transport_bridge import BridgeTransport from trezorlib.transport_bridge import BridgeTransport
def hash160(x): def hash160(x):
h = hashlib.new("ripemd160") h = hashlib.new("ripemd160")
h.update(hashlib.sha256(x).digest()) h.update(hashlib.sha256(x).digest())
return h.digest() return h.digest()
def pack_varint(x): def pack_varint(x):
if (x < 0xfd): if (x < 0xfd):
return chr(x) return chr(x)
else: else:
return '\xfd' + chr(x & 0xff) + chr((x >> 8) & 0xff) return '\xfd' + chr(x & 0xff) + chr((x >> 8) & 0xff)
def int_to_string(x, pad): def int_to_string(x, pad):
result = ['\x00'] * pad result = ['\x00'] * pad
while x > 0: while x > 0:
@ -36,6 +39,7 @@ def int_to_string(x, pad):
x >>= 8 x >>= 8
return ''.join(result) return ''.join(result)
def string_to_int(s): def string_to_int(s):
result = 0 result = 0
for c in s: for c in s:
@ -44,6 +48,7 @@ def string_to_int(s):
result = (result << 8) + c result = (result << 8) + c
return result return result
class MyTxApiBitcoin(object): class MyTxApiBitcoin(object):
def set_publickey(self, node): def set_publickey(self, node):
@ -68,7 +73,6 @@ class MyTxApiBitcoin(object):
ser = ser + int_to_string(tx.lock_time, 4)[::-1] ser = ser + int_to_string(tx.lock_time, 4)[::-1]
return ser return ser
def create_inputs(self, numinputs, txsize): def create_inputs(self, numinputs, txsize):
idx = 0 idx = 0
sum = 0 sum = 0
@ -83,7 +87,7 @@ class MyTxApiBitcoin(object):
i.prev_index = random.randint(0, 4) i.prev_index = random.randint(0, 4)
i.script_sig = os.urandom(100) i.script_sig = os.urandom(100)
i.sequence = 0xffffffff i.sequence = 0xffffffff
if (nr % 50 == 0): if nr % 50 == 0:
print(nr) print(nr)
myout = random.randint(0, txsize - 1) myout = random.randint(0, txsize - 1)
segwit = random.randint(0, 2) segwit = random.randint(0, 2)
@ -100,10 +104,10 @@ class MyTxApiBitcoin(object):
pubkey = tools.hash_160(node.public_key) pubkey = tools.hash_160(node.public_key)
else: else:
pubkey = os.urandom(20) pubkey = os.urandom(20)
if (segwit == 2): if segwit == 2:
# p2sh segwit # p2sh segwit
o.script_pubkey = b'\xa9\x14' + hash160(b'\x00\x14' + pubkey) + b'\x87' o.script_pubkey = b'\xa9\x14' + hash160(b'\x00\x14' + pubkey) + b'\x87'
elif (segwit == 1): elif segwit == 1:
o.script_pubkey = b'\x00\x14' + pubkey o.script_pubkey = b'\x00\x14' + pubkey
else: else:
o.script_pubkey = b'\x76\xa9\x14' + pubkey + b'\x88\xac' o.script_pubkey = b'\x76\xa9\x14' + pubkey + b'\x88\xac'
@ -112,10 +116,12 @@ class MyTxApiBitcoin(object):
txhash = tools.Hash(txser)[::-1] txhash = tools.Hash(txser)[::-1]
outi = self.inputs.append( outi = self.inputs.append(
proto_types.TxInputType( proto_types.TxInputType(
address_n=self.client.expand_path("44'/0'/0'/0/"+str(idx)), address_n=self.client.expand_path("44'/0'/0'/0/%d" % idx),
script_type = (proto_types.SPENDWITNESS if segwit == 1 else script_type=(
proto_types.SPENDWITNESS if segwit == 1 else
proto_types.SPENDP2SHWITNESS if segwit == 2 else proto_types.SPENDP2SHWITNESS if segwit == 2 else
proto_types.SPENDADDRESS), proto_types.SPENDADDRESS
),
prev_hash=txhash, prev_hash=txhash,
prev_index=myout, prev_index=myout,
amount=amount if segwit > 0 else 0 amount=amount if segwit > 0 else 0
@ -142,6 +148,7 @@ class MyTxApiBitcoin(object):
# print(t) # print(t)
return t return t
def main(): def main():
numinputs = 100 numinputs = 100
sizeinputtx = 10 sizeinputtx = 10
@ -211,7 +218,7 @@ def main():
# script_type=proto_types.PAYTOADDRESS, # script_type=proto_types.PAYTOADDRESS,
# # address_n=client.expand_path("44'/0'/0'/0/18"), # # address_n=client.expand_path("44'/0'/0'/0/18"),
# # address='1PtCkQgyN6xHmXWzLmFFrDNA5vYhYLeNFZ', # # address='1PtCkQgyN6xHmXWzLmFFrDNA5vYhYLeNFZ',
# address='1NcMqUvyWv1K3Zxwmx5sqfj7ZEmPCSdJFM', # # address='1NcMqUvyWv1K3Zxwmx5sqfj7ZEmPCSdJFM',
# ), # ),
] ]
@ -221,5 +228,6 @@ def main():
client.close() client.close()
if __name__ == '__main__': if __name__ == '__main__':
main() main()