From 579adb187113f232e296374a4b7e75833d041fa2 Mon Sep 17 00:00:00 2001 From: matejcik Date: Wed, 18 Apr 2018 15:53:40 +0200 Subject: [PATCH] tests: update to use parse_path --- trezorlib/tests/device_tests/test_cosi.py | 26 +++++++------ .../tests/device_tests/test_msg_getaddress.py | 14 ++++--- .../test_msg_getaddress_segwit.py | 13 ++++--- .../test_msg_getaddress_segwit_native.py | 15 ++++---- .../test_msg_getpublickey_curve.py | 3 ++ .../device_tests/test_msg_lisk_signtx.py | 13 ++++--- .../device_tests/test_msg_nem_getaddress.py | 9 +++-- .../test_msg_nem_signtx_mosaics.py | 14 ++++--- .../test_msg_nem_signtx_mosaics_t2.py | 11 ++++-- .../test_msg_nem_signtx_multisig.py | 16 +++++--- .../test_msg_nem_signtx_others.py | 10 +++-- .../test_msg_nem_signtx_transfers.py | 14 ++++--- .../tests/device_tests/test_msg_signtx.py | 27 +++++++------ .../device_tests/test_msg_signtx_bcash.py | 36 +++++++++--------- .../test_msg_signtx_bitcoin_gold.py | 31 +++++++-------- .../device_tests/test_msg_signtx_decred.py | 20 ++++++---- .../device_tests/test_msg_signtx_segwit.py | 15 ++++---- .../test_msg_signtx_segwit_native.py | 38 +++++++++---------- .../device_tests/test_multisig_change.py | 5 ++- 19 files changed, 187 insertions(+), 143 deletions(-) diff --git a/trezorlib/tests/device_tests/test_cosi.py b/trezorlib/tests/device_tests/test_cosi.py index 08c60bdc93..33e7ff9afa 100644 --- a/trezorlib/tests/device_tests/test_cosi.py +++ b/trezorlib/tests/device_tests/test_cosi.py @@ -22,6 +22,8 @@ from hashlib import sha256 from .common import TrezorTest from ..support import ed25519cosi, ed25519raw +from trezorlib.tools import parse_path + @pytest.mark.skip_t2 class TestCosi(TrezorTest): @@ -31,9 +33,9 @@ class TestCosi(TrezorTest): digest = sha256(b'this is a message').digest() - c0 = self.client.cosi_commit(self.client.expand_path("10018'/0'"), digest) - c1 = self.client.cosi_commit(self.client.expand_path("10018'/1'"), digest) - c2 = self.client.cosi_commit(self.client.expand_path("10018'/2'"), digest) + c0 = self.client.cosi_commit(parse_path("10018'/0'"), digest) + c1 = self.client.cosi_commit(parse_path("10018'/1'"), digest) + c2 = self.client.cosi_commit(parse_path("10018'/2'"), digest) assert c0.pubkey != c1.pubkey assert c0.pubkey != c2.pubkey @@ -45,9 +47,9 @@ class TestCosi(TrezorTest): digestb = sha256(b'this is a different message').digest() - c0b = self.client.cosi_commit(self.client.expand_path("10018'/0'"), digestb) - c1b = self.client.cosi_commit(self.client.expand_path("10018'/1'"), digestb) - c2b = self.client.cosi_commit(self.client.expand_path("10018'/2'"), digestb) + c0b = self.client.cosi_commit(parse_path("10018'/0'"), digestb) + c1b = self.client.cosi_commit(parse_path("10018'/1'"), digestb) + c2b = self.client.cosi_commit(parse_path("10018'/2'"), digestb) assert c0.pubkey == c0b.pubkey assert c1.pubkey == c1b.pubkey @@ -62,16 +64,16 @@ class TestCosi(TrezorTest): digest = sha256(b'this is a message').digest() - c0 = self.client.cosi_commit(self.client.expand_path("10018'/0'"), digest) - c1 = self.client.cosi_commit(self.client.expand_path("10018'/1'"), digest) - c2 = self.client.cosi_commit(self.client.expand_path("10018'/2'"), digest) + c0 = self.client.cosi_commit(parse_path("10018'/0'"), digest) + c1 = self.client.cosi_commit(parse_path("10018'/1'"), digest) + c2 = self.client.cosi_commit(parse_path("10018'/2'"), digest) global_pk = ed25519cosi.combine_keys([c0.pubkey, c1.pubkey, c2.pubkey]) global_R = ed25519cosi.combine_keys([c0.commitment, c1.commitment, c2.commitment]) - sig0 = self.client.cosi_sign(self.client.expand_path("10018'/0'"), digest, global_R, global_pk) - sig1 = self.client.cosi_sign(self.client.expand_path("10018'/1'"), digest, global_R, global_pk) - sig2 = self.client.cosi_sign(self.client.expand_path("10018'/2'"), digest, global_R, global_pk) + sig0 = self.client.cosi_sign(parse_path("10018'/0'"), digest, global_R, global_pk) + sig1 = self.client.cosi_sign(parse_path("10018'/1'"), digest, global_R, global_pk) + sig2 = self.client.cosi_sign(parse_path("10018'/2'"), digest, global_R, global_pk) sig = ed25519cosi.combine_sig(global_R, [sig0.signature, sig1.signature, sig2.signature]) diff --git a/trezorlib/tests/device_tests/test_msg_getaddress.py b/trezorlib/tests/device_tests/test_msg_getaddress.py index a8e8936de8..a332dcb0c8 100644 --- a/trezorlib/tests/device_tests/test_msg_getaddress.py +++ b/trezorlib/tests/device_tests/test_msg_getaddress.py @@ -22,6 +22,8 @@ from .common import TrezorTest from ..support import ckd_public as bip32 from trezorlib import messages as proto +from trezorlib.tools import parse_path + class TestMsgGetaddress(TrezorTest): @@ -48,15 +50,15 @@ class TestMsgGetaddress(TrezorTest): @pytest.mark.skip_t2 def test_bch(self): self.setup_mnemonic_allallall() - assert self.client.get_address('Bcash', self.client.expand_path("44'/145'/0'/0/0")) == 'bitcoincash:qr08q88p9etk89wgv05nwlrkm4l0urz4cyl36hh9sv' - assert self.client.get_address('Bcash', self.client.expand_path("44'/145'/0'/0/1")) == 'bitcoincash:qr23ajjfd9wd73l87j642puf8cad20lfmqdgwvpat4' - assert self.client.get_address('Bcash', self.client.expand_path("44'/145'/0'/1/0")) == 'bitcoincash:qzc5q87w069lzg7g3gzx0c8dz83mn7l02scej5aluw' + assert self.client.get_address('Bcash', parse_path("44'/145'/0'/0/0")) == 'bitcoincash:qr08q88p9etk89wgv05nwlrkm4l0urz4cyl36hh9sv' + assert self.client.get_address('Bcash', parse_path("44'/145'/0'/0/1")) == 'bitcoincash:qr23ajjfd9wd73l87j642puf8cad20lfmqdgwvpat4' + assert self.client.get_address('Bcash', parse_path("44'/145'/0'/1/0")) == 'bitcoincash:qzc5q87w069lzg7g3gzx0c8dz83mn7l02scej5aluw' @pytest.mark.skip_t2 def test_bch_multisig(self): self.setup_mnemonic_allallall() xpubs = [] - for n in map(lambda index: self.client.get_public_node(self.client.expand_path("44'/145'/" + str(index) + "'")), range(1, 4)): + for n in map(lambda index: self.client.get_public_node(parse_path("44'/145'/" + str(index) + "'")), range(1, 4)): xpubs.append(n.xpub) def getmultisig(chain, nr, signatures=[b'', b'', b''], xpubs=xpubs): @@ -66,8 +68,8 @@ class TestMsgGetaddress(TrezorTest): m=2, ) for nr in range(1, 4): - assert self.client.get_address('Bcash', self.client.expand_path("44'/145'/" + str(nr) + "'/0/0"), show_display=(nr == 1), multisig=getmultisig(0, 0)) == 'bitcoincash:pqguz4nqq64jhr5v3kvpq4dsjrkda75hwy86gq0qzw' - assert self.client.get_address('Bcash', self.client.expand_path("44'/145'/" + str(nr) + "'/1/0"), show_display=(nr == 1), multisig=getmultisig(1, 0)) == 'bitcoincash:pp6kcpkhua7789g2vyj0qfkcux3yvje7euhyhltn0a' + assert self.client.get_address('Bcash', parse_path("44'/145'/" + str(nr) + "'/0/0"), show_display=(nr == 1), multisig=getmultisig(0, 0)) == 'bitcoincash:pqguz4nqq64jhr5v3kvpq4dsjrkda75hwy86gq0qzw' + assert self.client.get_address('Bcash', parse_path("44'/145'/" + str(nr) + "'/1/0"), show_display=(nr == 1), multisig=getmultisig(1, 0)) == 'bitcoincash:pp6kcpkhua7789g2vyj0qfkcux3yvje7euhyhltn0a' def test_public_ckd(self): self.setup_mnemonic_nopin_nopassphrase() diff --git a/trezorlib/tests/device_tests/test_msg_getaddress_segwit.py b/trezorlib/tests/device_tests/test_msg_getaddress_segwit.py index b4fcb67610..f0fd4c17b0 100644 --- a/trezorlib/tests/device_tests/test_msg_getaddress_segwit.py +++ b/trezorlib/tests/device_tests/test_msg_getaddress_segwit.py @@ -18,20 +18,21 @@ from .common import TrezorTest from ..support import ckd_public as bip32 from trezorlib import messages as proto +from trezorlib.tools import parse_path class TestMsgGetaddressSegwit(TrezorTest): def test_show_segwit(self): self.setup_mnemonic_allallall() - assert self.client.get_address("Testnet", self.client.expand_path("49'/1'/0'/1/0"), True, None, script_type=proto.InputScriptType.SPENDP2SHWITNESS) == '2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX' - assert self.client.get_address("Testnet", self.client.expand_path("49'/1'/0'/0/0"), False, None, script_type=proto.InputScriptType.SPENDP2SHWITNESS) == '2N4Q5FhU2497BryFfUgbqkAJE87aKHUhXMp' - assert self.client.get_address("Testnet", self.client.expand_path("44'/1'/0'/0/0"), False, None, script_type=proto.InputScriptType.SPENDP2SHWITNESS) == '2N6UeBoqYEEnybg4cReFYDammpsyDw8R2Mc' - assert self.client.get_address("Testnet", self.client.expand_path("44'/1'/0'/0/0"), False, None, script_type=proto.InputScriptType.SPENDADDRESS) == 'mvbu1Gdy8SUjTenqerxUaZyYjmveZvt33q' + assert self.client.get_address("Testnet", parse_path("49'/1'/0'/1/0"), True, None, script_type=proto.InputScriptType.SPENDP2SHWITNESS) == '2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX' + assert self.client.get_address("Testnet", parse_path("49'/1'/0'/0/0"), False, None, script_type=proto.InputScriptType.SPENDP2SHWITNESS) == '2N4Q5FhU2497BryFfUgbqkAJE87aKHUhXMp' + assert self.client.get_address("Testnet", parse_path("44'/1'/0'/0/0"), False, None, script_type=proto.InputScriptType.SPENDP2SHWITNESS) == '2N6UeBoqYEEnybg4cReFYDammpsyDw8R2Mc' + assert self.client.get_address("Testnet", parse_path("44'/1'/0'/0/0"), False, None, script_type=proto.InputScriptType.SPENDADDRESS) == 'mvbu1Gdy8SUjTenqerxUaZyYjmveZvt33q' def test_show_multisig_3(self): self.setup_mnemonic_allallall() - nodes = map(lambda index: self.client.get_public_node(self.client.expand_path("999'/1'/%d'" % index)), range(1, 4)) + nodes = map(lambda index: self.client.get_public_node(parse_path("999'/1'/%d'" % index)), range(1, 4)) multisig1 = proto.MultisigRedeemScriptType( pubkeys=list(map(lambda n: proto.HDNodePathType(node=bip32.deserialize(n.xpub), address_n=[2, 0]), nodes)), signatures=[b'', b'', b''], @@ -43,4 +44,4 @@ class TestMsgGetaddressSegwit(TrezorTest): # m=2, # ) for i in [1, 2, 3]: - assert self.client.get_address("Testnet", self.client.expand_path("999'/1'/%d'/2/0" % i), False, multisig1, script_type=proto.InputScriptType.SPENDP2SHWITNESS) == '2N2MxyAfifVhb3AMagisxaj3uij8bfXqf4Y' + assert self.client.get_address("Testnet", parse_path("999'/1'/%d'/2/0" % i), False, multisig1, script_type=proto.InputScriptType.SPENDP2SHWITNESS) == '2N2MxyAfifVhb3AMagisxaj3uij8bfXqf4Y' diff --git a/trezorlib/tests/device_tests/test_msg_getaddress_segwit_native.py b/trezorlib/tests/device_tests/test_msg_getaddress_segwit_native.py index 4bdb6d3a13..3d54b51607 100644 --- a/trezorlib/tests/device_tests/test_msg_getaddress_segwit_native.py +++ b/trezorlib/tests/device_tests/test_msg_getaddress_segwit_native.py @@ -18,20 +18,21 @@ from .common import TrezorTest from ..support import ckd_public as bip32 from trezorlib import messages as proto +from trezorlib.tools import parse_path class TestMsgGetaddressSegwitNative(TrezorTest): def test_show_segwit(self): self.setup_mnemonic_allallall() - assert self.client.get_address("Testnet", self.client.expand_path("49'/1'/0'/0/0"), True, None, script_type=proto.InputScriptType.SPENDWITNESS) == 'tb1qqzv60m9ajw8drqulta4ld4gfx0rdh82un5s65s' - assert self.client.get_address("Testnet", self.client.expand_path("49'/1'/0'/1/0"), False, None, script_type=proto.InputScriptType.SPENDWITNESS) == 'tb1q694ccp5qcc0udmfwgp692u2s2hjpq5h407urtu' - assert self.client.get_address("Testnet", self.client.expand_path("44'/1'/0'/0/0"), False, None, script_type=proto.InputScriptType.SPENDWITNESS) == 'tb1q54un3q39sf7e7tlfq99d6ezys7qgc62a6rxllc' - assert self.client.get_address("Testnet", self.client.expand_path("44'/1'/0'/0/0"), False, None, script_type=proto.InputScriptType.SPENDADDRESS) == 'mvbu1Gdy8SUjTenqerxUaZyYjmveZvt33q' + assert self.client.get_address("Testnet", parse_path("49'/1'/0'/0/0"), True, None, script_type=proto.InputScriptType.SPENDWITNESS) == 'tb1qqzv60m9ajw8drqulta4ld4gfx0rdh82un5s65s' + assert self.client.get_address("Testnet", parse_path("49'/1'/0'/1/0"), False, None, script_type=proto.InputScriptType.SPENDWITNESS) == 'tb1q694ccp5qcc0udmfwgp692u2s2hjpq5h407urtu' + assert self.client.get_address("Testnet", parse_path("44'/1'/0'/0/0"), False, None, script_type=proto.InputScriptType.SPENDWITNESS) == 'tb1q54un3q39sf7e7tlfq99d6ezys7qgc62a6rxllc' + assert self.client.get_address("Testnet", parse_path("44'/1'/0'/0/0"), False, None, script_type=proto.InputScriptType.SPENDADDRESS) == 'mvbu1Gdy8SUjTenqerxUaZyYjmveZvt33q' def test_show_multisig_3(self): self.setup_mnemonic_allallall() - nodes = [self.client.get_public_node(self.client.expand_path("999'/1'/%d'" % index)) for index in range(1, 4)] + nodes = [self.client.get_public_node(parse_path("999'/1'/%d'" % index)) for index in range(1, 4)] multisig1 = proto.MultisigRedeemScriptType( pubkeys=list(map(lambda n: proto.HDNodePathType(node=bip32.deserialize(n.xpub), address_n=[2, 0]), nodes)), signatures=[b'', b'', b''], @@ -43,5 +44,5 @@ class TestMsgGetaddressSegwitNative(TrezorTest): m=2, ) for i in [1, 2, 3]: - assert self.client.get_address("Testnet", self.client.expand_path("999'/1'/%d'/2/1" % i), False, multisig2, script_type=proto.InputScriptType.SPENDWITNESS) == 'tb1qch62pf820spe9mlq49ns5uexfnl6jzcezp7d328fw58lj0rhlhasge9hzy' - assert self.client.get_address("Testnet", self.client.expand_path("999'/1'/%d'/2/0" % i), False, multisig1, script_type=proto.InputScriptType.SPENDWITNESS) == 'tb1qr6xa5v60zyt3ry9nmfew2fk5g9y3gerkjeu6xxdz7qga5kknz2ssld9z2z' + assert self.client.get_address("Testnet", parse_path("999'/1'/%d'/2/1" % i), False, multisig2, script_type=proto.InputScriptType.SPENDWITNESS) == 'tb1qch62pf820spe9mlq49ns5uexfnl6jzcezp7d328fw58lj0rhlhasge9hzy' + assert self.client.get_address("Testnet", parse_path("999'/1'/%d'/2/0" % i), False, multisig1, script_type=proto.InputScriptType.SPENDWITNESS) == 'tb1qr6xa5v60zyt3ry9nmfew2fk5g9y3gerkjeu6xxdz7qga5kknz2ssld9z2z' diff --git a/trezorlib/tests/device_tests/test_msg_getpublickey_curve.py b/trezorlib/tests/device_tests/test_msg_getpublickey_curve.py index f2130eed07..d2418336cd 100644 --- a/trezorlib/tests/device_tests/test_msg_getpublickey_curve.py +++ b/trezorlib/tests/device_tests/test_msg_getpublickey_curve.py @@ -16,6 +16,9 @@ # You should have received a copy of the GNU Lesser General Public License # along with this library. If not, see . +from binascii import hexlify +import pytest + from .common import TrezorTest from trezorlib.client import CallException diff --git a/trezorlib/tests/device_tests/test_msg_lisk_signtx.py b/trezorlib/tests/device_tests/test_msg_lisk_signtx.py index a1d36385c1..35f811acf9 100644 --- a/trezorlib/tests/device_tests/test_msg_lisk_signtx.py +++ b/trezorlib/tests/device_tests/test_msg_lisk_signtx.py @@ -21,6 +21,7 @@ import pytest from .common import TrezorTest from trezorlib import messages as proto +from trezorlib.tools import parse_path PUBLIC_KEY = unhexlify('eb56d7bbb5e8ea9269405f7a8527fe126023d1db2c973cfac6f760b60ae27294') @@ -41,7 +42,7 @@ class TestMsgLiskSignTx(TrezorTest): ) ]) - self.client.lisk_sign_tx(self.client.expand_path("m/44'/134'/0'/0'"), { + self.client.lisk_sign_tx(parse_path("m/44'/134'/0'/0'"), { "amount": "10000000", "recipientId": "9971262264659915921L", "timestamp": 57525937, @@ -62,7 +63,7 @@ class TestMsgLiskSignTx(TrezorTest): ) ]) - self.client.lisk_sign_tx(self.client.expand_path("m/44'/134'/0'/0'"), { + self.client.lisk_sign_tx(parse_path("m/44'/134'/0'/0'"), { "amount": "10000000", "recipientId": "9971262264659915921L", "timestamp": 57525937, @@ -85,7 +86,7 @@ class TestMsgLiskSignTx(TrezorTest): ) ]) - self.client.lisk_sign_tx(self.client.expand_path("m/44'/134'/0'/0'"), { + self.client.lisk_sign_tx(parse_path("m/44'/134'/0'/0'"), { "amount": "0", "timestamp": 57525937, "type": 1, @@ -109,7 +110,7 @@ class TestMsgLiskSignTx(TrezorTest): ) ]) - self.client.lisk_sign_tx(self.client.expand_path("m/44'/134'/0'/0'"), { + self.client.lisk_sign_tx(parse_path("m/44'/134'/0'/0'"), { "amount": "0", "timestamp": 57525937, "type": 2, @@ -133,7 +134,7 @@ class TestMsgLiskSignTx(TrezorTest): ) ]) - self.client.lisk_sign_tx(self.client.expand_path("m/44'/134'/0'/0'"), { + self.client.lisk_sign_tx(parse_path("m/44'/134'/0'/0'"), { "amount": "0", "timestamp": 57525937, "type": 3, @@ -158,7 +159,7 @@ class TestMsgLiskSignTx(TrezorTest): ) ]) - self.client.lisk_sign_tx(self.client.expand_path("m/44'/134'/0'/0'"), { + self.client.lisk_sign_tx(parse_path("m/44'/134'/0'/0'"), { "amount": "0", "timestamp": 57525937, "type": 4, diff --git a/trezorlib/tests/device_tests/test_msg_nem_getaddress.py b/trezorlib/tests/device_tests/test_msg_nem_getaddress.py index 305be56a05..1e199a7637 100644 --- a/trezorlib/tests/device_tests/test_msg_nem_getaddress.py +++ b/trezorlib/tests/device_tests/test_msg_nem_getaddress.py @@ -15,7 +15,10 @@ # You should have received a copy of the GNU Lesser General Public License # along with this library. If not, see . -from .common import * +import pytest + +from .common import TrezorTest +from trezorlib.tools import parse_path @pytest.mark.xfail # to be removed when nem is merged @@ -23,5 +26,5 @@ class TestMsgNEMGetaddress(TrezorTest): def test_nem_getaddress(self): self.setup_mnemonic_nopin_nopassphrase() - assert self.client.nem_get_address(self.client.expand_path("m/44'/1'/0'/0'/0'"), 0x68) == "NB3JCHVARQNGDS3UVGAJPTFE22UQFGMCQGHUBWQN" - assert self.client.nem_get_address(self.client.expand_path("m/44'/1'/0'/0'/0'"), 0x98) == "TB3JCHVARQNGDS3UVGAJPTFE22UQFGMCQHSBNBMF" + assert self.client.nem_get_address(parse_path("m/44'/1'/0'/0'/0'"), 0x68) == "NB3JCHVARQNGDS3UVGAJPTFE22UQFGMCQGHUBWQN" + assert self.client.nem_get_address(parse_path("m/44'/1'/0'/0'/0'"), 0x98) == "TB3JCHVARQNGDS3UVGAJPTFE22UQFGMCQHSBNBMF" diff --git a/trezorlib/tests/device_tests/test_msg_nem_signtx_mosaics.py b/trezorlib/tests/device_tests/test_msg_nem_signtx_mosaics.py index e9f8836b95..dda87efb5e 100644 --- a/trezorlib/tests/device_tests/test_msg_nem_signtx_mosaics.py +++ b/trezorlib/tests/device_tests/test_msg_nem_signtx_mosaics.py @@ -15,8 +15,12 @@ # You should have received a copy of the GNU Lesser General Public License # along with this library. If not, see . -from .common import * +import pytest +from binascii import hexlify + +from .common import TrezorTest from trezorlib import nem +from trezorlib.tools import parse_path # assertion data from T1 @@ -26,7 +30,7 @@ class TestMsgNEMSignTxMosaics(TrezorTest): def test_nem_signtx_mosaic_supply_change(self): self.setup_mnemonic_nopin_nopassphrase() - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 74649215, "fee": 2000000, "type": nem.TYPE_MOSAIC_SUPPLY_CHANGE, @@ -50,7 +54,7 @@ class TestMsgNEMSignTxMosaics(TrezorTest): def test_nem_signtx_mosaic_creation(self): self.setup_mnemonic_nopin_nopassphrase() - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 74649215, "fee": 2000000, "type": nem.TYPE_MOSAIC_CREATION, @@ -77,7 +81,7 @@ class TestMsgNEMSignTxMosaics(TrezorTest): def test_nem_signtx_mosaic_creation_properties(self): self.setup_mnemonic_nopin_nopassphrase() - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 74649215, "fee": 2000000, "type": nem.TYPE_MOSAIC_CREATION, @@ -121,7 +125,7 @@ class TestMsgNEMSignTxMosaics(TrezorTest): def test_nem_signtx_mosaic_creation_levy(self): self.setup_mnemonic_nopin_nopassphrase() - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 74649215, "fee": 2000000, "type": nem.TYPE_MOSAIC_CREATION, diff --git a/trezorlib/tests/device_tests/test_msg_nem_signtx_mosaics_t2.py b/trezorlib/tests/device_tests/test_msg_nem_signtx_mosaics_t2.py index 9619533985..96112b07ab 100644 --- a/trezorlib/tests/device_tests/test_msg_nem_signtx_mosaics_t2.py +++ b/trezorlib/tests/device_tests/test_msg_nem_signtx_mosaics_t2.py @@ -15,11 +15,14 @@ # You should have received a copy of the GNU Lesser General Public License # along with this library. If not, see . -from .common import * +from binascii import hexlify +import pytest +import time +from .common import TrezorTest from trezorlib import messages as proto from trezorlib import nem -import time +from trezorlib.tools import parse_path # assertion data from T1 @@ -31,7 +34,7 @@ class TestMsgNEMSignTxMosaics(TrezorTest): self.setup_mnemonic_nopin_nopassphrase() with self.client: - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 74649215, "fee": 2000000, "type": nem.TYPE_MOSAIC_SUPPLY_CHANGE, @@ -181,7 +184,7 @@ class TestMsgNEMSignTxMosaics(TrezorTest): assert hexlify(tx.signature) == b'b87aac1ddf146d35e6a7f3451f57e2fe504ac559031e010a51261257c37bd50fcfa7b2939dd7a3203b54c4807d458475182f5d3dc135ec0d1d4a9cd42159fd0a' def _nem_sign(self, num_of_swipes, test_suite): - n = self.client.expand_path("m/44'/1'/0'/0'/0'") + n = parse_path("m/44'/1'/0'/0'/0'") n = self.client._convert_prime(n) msg = nem.create_sign_tx(test_suite) assert msg.transaction is not None diff --git a/trezorlib/tests/device_tests/test_msg_nem_signtx_multisig.py b/trezorlib/tests/device_tests/test_msg_nem_signtx_multisig.py index b41f34ad2b..bbb429dee4 100644 --- a/trezorlib/tests/device_tests/test_msg_nem_signtx_multisig.py +++ b/trezorlib/tests/device_tests/test_msg_nem_signtx_multisig.py @@ -15,7 +15,11 @@ # You should have received a copy of the GNU Lesser General Public License # along with this library. If not, see . -from .common import * +from binascii import hexlify +import pytest + +from .common import TrezorTest +from trezorlib.tools import parse_path from trezorlib import nem @@ -27,7 +31,7 @@ class TestMsgNEMSignTxMultisig(TrezorTest): def test_nem_signtx_aggregate_modification(self): self.setup_mnemonic_nopin_nopassphrase() - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 74649215, "fee": 2000000, "type": nem.TYPE_AGGREGATE_MODIFICATION, @@ -51,7 +55,7 @@ class TestMsgNEMSignTxMultisig(TrezorTest): def test_nem_signtx_multisig(self): self.setup_mnemonic_nopin_nopassphrase() - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 1, "fee": 10000, "type": nem.TYPE_MULTISIG, @@ -76,7 +80,7 @@ class TestMsgNEMSignTxMultisig(TrezorTest): assert hexlify(tx.data) == b'04100000010000980100000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841027000000000000ff5f74049900000001010000010000980200000020000000c5f54ba980fcbb657dbaaa42700539b207873e134d2375efeab5f1ab52f87844983a000000000000320901002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a80841e000000000025000000010000001d000000746573745f6e656d5f7472616e73616374696f6e5f7472616e73666572' assert hexlify(tx.signature) == b'0cab2fddf2f02b5d7201675b9a71869292fe25ed33a366c7d2cbea7676fed491faaa03310079b7e17884b6ba2e3ea21c4f728d1cca8f190b8288207f6514820a' - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 74649215, "fee": 150, "type": nem.TYPE_MULTISIG, @@ -104,7 +108,7 @@ class TestMsgNEMSignTxMultisig(TrezorTest): def test_nem_signtx_multisig_signer(self): self.setup_mnemonic_nopin_nopassphrase() - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 333, "fee": 200, "type": nem.TYPE_MULTISIG_SIGNATURE, @@ -129,7 +133,7 @@ class TestMsgNEMSignTxMultisig(TrezorTest): assert hexlify(tx.data) == b'02100000010000984d01000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b4062084c800000000000000bc010000240000002000000087923cd4805f3babe6b5af9cbb2b08be4458e39531618aed73c911f160c8e38528000000544444324354364c514c49595135364b49584933454e544d36454b3344343450354b5a50464d4b32' assert hexlify(tx.signature) == b'286358a16ae545bff798feab93a713440c7c2f236d52ac0e995669d17a1915b0903667c97fa04418eccb42333cba95b19bccc8ac1faa8224dcfaeb41890ae807' - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 900000, "fee": 200000, "type": nem.TYPE_MULTISIG_SIGNATURE, diff --git a/trezorlib/tests/device_tests/test_msg_nem_signtx_others.py b/trezorlib/tests/device_tests/test_msg_nem_signtx_others.py index 50812c1fb0..e24c3f740b 100644 --- a/trezorlib/tests/device_tests/test_msg_nem_signtx_others.py +++ b/trezorlib/tests/device_tests/test_msg_nem_signtx_others.py @@ -15,9 +15,13 @@ # You should have received a copy of the GNU Lesser General Public License # along with this library. If not, see . -from .common import * +from binascii import hexlify +import pytest + +from .common import TrezorTest from trezorlib import nem +from trezorlib.tools import parse_path # assertion data from T1 @@ -28,7 +32,7 @@ class TestMsgNEMSignTxOther(TrezorTest): self.setup_mnemonic_nopin_nopassphrase() with self.client: - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 12349215, "fee": 9900, "type": nem.TYPE_IMPORTANCE_TRANSFER, @@ -49,7 +53,7 @@ class TestMsgNEMSignTxOther(TrezorTest): self.setup_mnemonic_nopin_nopassphrase() - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 74649215, "fee": 2000000, "type": nem.TYPE_PROVISION_NAMESPACE, diff --git a/trezorlib/tests/device_tests/test_msg_nem_signtx_transfers.py b/trezorlib/tests/device_tests/test_msg_nem_signtx_transfers.py index a6e10baae4..83a4b61cc7 100644 --- a/trezorlib/tests/device_tests/test_msg_nem_signtx_transfers.py +++ b/trezorlib/tests/device_tests/test_msg_nem_signtx_transfers.py @@ -15,10 +15,14 @@ # You should have received a copy of the GNU Lesser General Public License # along with this library. If not, see . -from .common import * +from binascii import hexlify, unhexlify +import pytest + +from .common import TrezorTest from trezorlib import messages as proto from trezorlib import nem +from trezorlib.tools import parse_path # assertion data from T1 @@ -43,7 +47,7 @@ class TestMsgNEMSignTx(TrezorTest): proto.NEMSignedTx(), ]) - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 74649215, "amount": 2000000, "fee": 2000000, @@ -74,7 +78,7 @@ class TestMsgNEMSignTx(TrezorTest): proto.NEMSignedTx(), ]) - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 74649215, "amount": 2000000, "fee": 2000000, @@ -100,7 +104,7 @@ class TestMsgNEMSignTx(TrezorTest): def test_nem_signtx_xem_as_mosaic(self): self.setup_mnemonic_nopin_nopassphrase() - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 76809215, "amount": 5000000, "fee": 1000000, @@ -128,7 +132,7 @@ class TestMsgNEMSignTx(TrezorTest): def test_nem_signtx_unknown_mosaic(self): self.setup_mnemonic_nopin_nopassphrase() - tx = self.client.nem_sign_tx(self.client.expand_path("m/44'/1'/0'/0'/0'"), { + tx = self.client.nem_sign_tx(parse_path("m/44'/1'/0'/0'/0'"), { "timeStamp": 76809215, "amount": 2000000, "fee": 1000000, diff --git a/trezorlib/tests/device_tests/test_msg_signtx.py b/trezorlib/tests/device_tests/test_msg_signtx.py index 7b92325aa6..52aa8a3d89 100644 --- a/trezorlib/tests/device_tests/test_msg_signtx.py +++ b/trezorlib/tests/device_tests/test_msg_signtx.py @@ -16,11 +16,14 @@ # You should have received a copy of the GNU Lesser General Public License # along with this library. If not, see . -from .common import * +from binascii import hexlify, unhexlify + +from .common import TrezorTest from trezorlib import coins from trezorlib import messages as proto from trezorlib.client import CallException +from trezorlib.tools import parse_path TxApiTestnet = coins.tx_api['Testnet'] @@ -88,7 +91,7 @@ class TestMsgSigntx(TrezorTest): # tx: e5040e1bc1ae7667ffb9e5248e90b2fb93cd9150234151ce90e14ab2f5933bcd # input 0: 0.31 BTC inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/1'/0'/0/0"), + address_n=parse_path("44'/1'/0'/0/0"), # amount=31000000, prev_hash=TXHASH_e5040e, prev_index=0, @@ -101,7 +104,7 @@ class TestMsgSigntx(TrezorTest): ) out2 = proto.TxOutputType( - address_n=self.client.expand_path("44'/1'/0'/1/0"), + address_n=parse_path("44'/1'/0'/1/0"), amount=900000, script_type=proto.OutputScriptType.PAYTOADDRESS, ) @@ -185,14 +188,14 @@ class TestMsgSigntx(TrezorTest): # tx: c275c333fd1b36bef4af316226c66a8b3693fbfcc081a5e16a2ae5fcb09e92bf inp1 = proto.TxInputType( - address_n=self.client.expand_path("m/44'/0'/0'/0/5"), # 1GA9u9TfCG7SWmKCveBumdA1TZpfom6ZdJ + address_n=parse_path("m/44'/0'/0'/0/5"), # 1GA9u9TfCG7SWmKCveBumdA1TZpfom6ZdJ # amount=50000, prev_hash=TXHASH_50f6f1, prev_index=1, ) out1 = proto.TxOutputType( - address_n=self.client.expand_path("m/44'/0'/0'/1/3"), # 1EcL6AyfQTyWKGvXwNSfsWoYnD3whzVFdu + address_n=parse_path("m/44'/0'/0'/1/3"), # 1EcL6AyfQTyWKGvXwNSfsWoYnD3whzVFdu amount=30000, script_type=proto.OutputScriptType.PAYTOADDRESS, ) @@ -639,7 +642,7 @@ class TestMsgSigntx(TrezorTest): self.client.set_tx_api(TxApiTestnet) inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/1'/4'/0/0"), + address_n=parse_path("44'/1'/4'/0/0"), # moUJnmge8SRXuediK7bW6t4YfrPqbE6hD7 prev_hash=TXHASH_d2dcda, prev_index=1, @@ -653,7 +656,7 @@ class TestMsgSigntx(TrezorTest): ) out2 = proto.TxOutputType( - address_n=self.client.expand_path("44'/1'/12345'/1/0"), + address_n=parse_path("44'/1'/12345'/1/0"), amount=123400000 - 5000 - 100000, script_type=proto.OutputScriptType.PAYTOADDRESS, ) @@ -756,7 +759,7 @@ class TestMsgSigntx(TrezorTest): # tx: e5040e1bc1ae7667ffb9e5248e90b2fb93cd9150234151ce90e14ab2f5933bcd # input 0: 0.31 BTC inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/1'/0'/0/0"), + address_n=parse_path("44'/1'/0'/0/0"), # amount=31000000, prev_hash=TXHASH_e5040e, prev_index=0, @@ -769,13 +772,13 @@ class TestMsgSigntx(TrezorTest): ) out_change1 = proto.TxOutputType( - address_n=self.client.expand_path("44'/1'/0'/1/0"), + address_n=parse_path("44'/1'/0'/1/0"), amount=900000, script_type=proto.OutputScriptType.PAYTOADDRESS, ) out_change2 = proto.TxOutputType( - address_n=self.client.expand_path("44'/1'/0'/1/1"), + address_n=parse_path("44'/1'/0'/1/1"), amount=10000, script_type=proto.OutputScriptType.PAYTOADDRESS, ) @@ -815,7 +818,7 @@ class TestMsgSigntx(TrezorTest): # tx: e5040e1bc1ae7667ffb9e5248e90b2fb93cd9150234151ce90e14ab2f5933bcd # input 0: 0.31 BTC inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/1'/0'/0/0"), + address_n=parse_path("44'/1'/0'/0/0"), # amount=31000000, prev_hash=TXHASH_e5040e, prev_index=0, @@ -829,7 +832,7 @@ class TestMsgSigntx(TrezorTest): # change on main chain is allowed => treated as a change out_change = proto.TxOutputType( - address_n=self.client.expand_path("44'/1'/0'/0/0"), + address_n=parse_path("44'/1'/0'/0/0"), amount=900000, script_type=proto.OutputScriptType.PAYTOADDRESS, ) diff --git a/trezorlib/tests/device_tests/test_msg_signtx_bcash.py b/trezorlib/tests/device_tests/test_msg_signtx_bcash.py index 9a6d329749..508364923f 100644 --- a/trezorlib/tests/device_tests/test_msg_signtx_bcash.py +++ b/trezorlib/tests/device_tests/test_msg_signtx_bcash.py @@ -23,6 +23,8 @@ from ..support.ckd_public import deserialize from trezorlib import coins from trezorlib import messages as proto from trezorlib.client import CallException +from trezorlib.tools import parse_path + TxApiBcash = coins.tx_api['Bcash'] @@ -34,7 +36,7 @@ class TestMsgSigntxBch(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBcash) inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/145'/0'/0/0"), + address_n=parse_path("44'/145'/0'/0/0"), # bitcoincash:qr08q88p9etk89wgv05nwlrkm4l0urz4cyl36hh9sv amount=1995344, prev_hash=unhexlify('bc37c28dfb467d2ecb50261387bf752a3977d7e5337915071bb4151e6b711a78'), @@ -42,7 +44,7 @@ class TestMsgSigntxBch(TrezorTest): script_type=proto.InputScriptType.SPENDADDRESS, ) out1 = proto.TxOutputType( - address_n=self.client.expand_path("44'/145'/0'/1/0"), + address_n=parse_path("44'/145'/0'/1/0"), amount=1896050, script_type=proto.OutputScriptType.PAYTOADDRESS, ) @@ -71,7 +73,7 @@ class TestMsgSigntxBch(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBcash) inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/145'/0'/1/0"), + address_n=parse_path("44'/145'/0'/1/0"), # bitcoincash:qzc5q87w069lzg7g3gzx0c8dz83mn7l02scej5aluw amount=1896050, prev_hash=unhexlify('502e8577b237b0152843a416f8f1ab0c63321b1be7a8cad7bf5c5c216fcf062c'), @@ -79,7 +81,7 @@ class TestMsgSigntxBch(TrezorTest): script_type=proto.InputScriptType.SPENDADDRESS, ) inp2 = proto.TxInputType( - address_n=self.client.expand_path("44'/145'/0'/0/1"), + address_n=parse_path("44'/145'/0'/0/1"), # bitcoincash:qr23ajjfd9wd73l87j642puf8cad20lfmqdgwvpat4 amount=73452, prev_hash=unhexlify('502e8577b237b0152843a416f8f1ab0c63321b1be7a8cad7bf5c5c216fcf062c'), @@ -111,7 +113,7 @@ class TestMsgSigntxBch(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBcash) inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/145'/0'/1/0"), + address_n=parse_path("44'/145'/0'/1/0"), # bitcoincash:qzc5q87w069lzg7g3gzx0c8dz83mn7l02scej5aluw amount=1896050, prev_hash=unhexlify('502e8577b237b0152843a416f8f1ab0c63321b1be7a8cad7bf5c5c216fcf062c'), @@ -119,7 +121,7 @@ class TestMsgSigntxBch(TrezorTest): script_type=proto.InputScriptType.SPENDADDRESS, ) inp2 = proto.TxInputType( - address_n=self.client.expand_path("44'/145'/0'/0/1"), + address_n=parse_path("44'/145'/0'/0/1"), # bitcoincash:qr23ajjfd9wd73l87j642puf8cad20lfmqdgwvpat4 amount=73452, prev_hash=unhexlify('502e8577b237b0152843a416f8f1ab0c63321b1be7a8cad7bf5c5c216fcf062c'), @@ -151,7 +153,7 @@ class TestMsgSigntxBch(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBcash) inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/145'/0'/1/0"), + address_n=parse_path("44'/145'/0'/1/0"), # bitcoincash:qzc5q87w069lzg7g3gzx0c8dz83mn7l02scej5aluw amount=300, prev_hash=unhexlify('502e8577b237b0152843a416f8f1ab0c63321b1be7a8cad7bf5c5c216fcf062c'), @@ -159,7 +161,7 @@ class TestMsgSigntxBch(TrezorTest): script_type=proto.InputScriptType.SPENDADDRESS, ) inp2 = proto.TxInputType( - address_n=self.client.expand_path("44'/145'/0'/0/1"), + address_n=parse_path("44'/145'/0'/0/1"), # bitcoincash:qr23ajjfd9wd73l87j642puf8cad20lfmqdgwvpat4 amount=70, prev_hash=unhexlify('502e8577b237b0152843a416f8f1ab0c63321b1be7a8cad7bf5c5c216fcf062c'), @@ -237,7 +239,7 @@ class TestMsgSigntxBch(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBcash) inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/145'/1000'/0/0"), + address_n=parse_path("44'/145'/1000'/0/0"), # bitcoincash:qr08q88p9etk89wgv05nwlrkm4l0urz4cyl36hh9sv amount=1995344, prev_hash=unhexlify('bc37c28dfb467d2ecb50261387bf752a3977d7e5337915071bb4151e6b711a78'), @@ -245,7 +247,7 @@ class TestMsgSigntxBch(TrezorTest): script_type=proto.InputScriptType.SPENDADDRESS, ) out1 = proto.TxOutputType( - address_n=self.client.expand_path("44'/145'/1000'/1/0"), + address_n=parse_path("44'/145'/1000'/1/0"), amount=1896050, script_type=proto.OutputScriptType.PAYTOADDRESS, ) @@ -291,7 +293,7 @@ class TestMsgSigntxBch(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBcash) xpubs = [] - for n in map(lambda index: self.client.get_public_node(self.client.expand_path("44'/145'/" + str(index) + "'")), range(1, 4)): + for n in map(lambda index: self.client.get_public_node(parse_path("44'/145'/" + str(index) + "'")), range(1, 4)): xpubs.append(n.xpub) def getmultisig(chain, nr, signatures=[b'', b'', b''], xpubs=xpubs): @@ -306,7 +308,7 @@ class TestMsgSigntxBch(TrezorTest): public_key=unhexlify('0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71')) sig = unhexlify(b'304402207274b5a4d15e75f3df7319a375557b0efba9b27bc63f9f183a17da95a6125c94022000efac57629f1522e2d3958430e2ef073b0706cfac06cce492651b79858f09ae') inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/145'/1'/1/0"), + address_n=parse_path("44'/145'/1'/1/0"), multisig=getmultisig(1, 0, [b'', sig, b'']), # bitcoincash:pp6kcpkhua7789g2vyj0qfkcux3yvje7euhyhltn0a amount=24000, @@ -315,7 +317,7 @@ class TestMsgSigntxBch(TrezorTest): script_type=proto.InputScriptType.SPENDMULTISIG, ) out1 = proto.TxOutputType( - address_n=self.client.expand_path("44'/145'/1'/1/1"), + address_n=parse_path("44'/145'/1'/1/1"), multisig=proto.MultisigRedeemScriptType( pubkeys=[proto.HDNodePathType(node=deserialize(xpubs[0]), address_n=[1, 1]), proto.HDNodePathType(node=correcthorse, address_n=[]), @@ -344,7 +346,7 @@ class TestMsgSigntxBch(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBcash) xpubs = [] - for n in map(lambda index: self.client.get_public_node(self.client.expand_path("44'/145'/" + str(index) + "'")), range(1, 4)): + for n in map(lambda index: self.client.get_public_node(parse_path("44'/145'/" + str(index) + "'")), range(1, 4)): xpubs.append(n.xpub) def getmultisig(chain, nr, signatures=[b'', b'', b''], xpubs=xpubs): @@ -354,7 +356,7 @@ class TestMsgSigntxBch(TrezorTest): m=2, ) inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/145'/3'/0/0"), + address_n=parse_path("44'/145'/3'/0/0"), multisig=getmultisig(0, 0), # bitcoincash:pqguz4nqq64jhr5v3kvpq4dsjrkda75hwy86gq0qzw amount=48490, @@ -368,7 +370,7 @@ class TestMsgSigntxBch(TrezorTest): script_type=proto.OutputScriptType.PAYTOADDRESS, ) out2 = proto.TxOutputType( - address_n=self.client.expand_path("44'/145'/3'/1/0"), + address_n=parse_path("44'/145'/3'/1/0"), multisig=getmultisig(1, 0), script_type=proto.OutputScriptType.PAYTOMULTISIG, amount=24000 @@ -390,7 +392,7 @@ class TestMsgSigntxBch(TrezorTest): assert hexlify(signatures1[0]) == b'3045022100bcb1a7134a13025a06052546ee1c6ac3640a0abd2d130190ed13ed7fcb43e9cd02207c381478e2ee123c850425bfbf6d3c691230eb37e333832cb32a1ed3f2cd9e85' inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/145'/1'/0/0"), + address_n=parse_path("44'/145'/1'/0/0"), multisig=getmultisig(0, 0, [b'', b'', signatures1[0]]), # bitcoincash:pqguz4nqq64jhr5v3kvpq4dsjrkda75hwy86gq0qzw amount=48490, diff --git a/trezorlib/tests/device_tests/test_msg_signtx_bitcoin_gold.py b/trezorlib/tests/device_tests/test_msg_signtx_bitcoin_gold.py index 846f029ded..c08514166a 100644 --- a/trezorlib/tests/device_tests/test_msg_signtx_bitcoin_gold.py +++ b/trezorlib/tests/device_tests/test_msg_signtx_bitcoin_gold.py @@ -24,6 +24,7 @@ from ..support.ckd_public import deserialize from trezorlib import coins from trezorlib import messages as proto from trezorlib.client import CallException +from trezorlib.tools import parse_path TxApiBitcoinGold = coins.tx_api["Bitcoin Gold"] @@ -35,14 +36,14 @@ class TestMsgSigntxBitcoinGold(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBitcoinGold) inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/156'/0'/0/0"), + address_n=parse_path("44'/156'/0'/0/0"), amount=1995344, prev_hash=unhexlify('25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985'), prev_index=0, script_type=proto.InputScriptType.SPENDADDRESS, ) out1 = proto.TxOutputType( - address_n=self.client.expand_path("44'/156'/0'/1/0"), + address_n=parse_path("44'/156'/0'/1/0"), amount=1896050, script_type=proto.OutputScriptType.PAYTOADDRESS, ) @@ -71,14 +72,14 @@ class TestMsgSigntxBitcoinGold(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBitcoinGold) inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/156'/0'/1/0"), + address_n=parse_path("44'/156'/0'/1/0"), amount=1896050, prev_hash=unhexlify('25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985'), prev_index=0, script_type=proto.InputScriptType.SPENDADDRESS, ) inp2 = proto.TxInputType( - address_n=self.client.expand_path("44'/156'/0'/0/1"), + address_n=parse_path("44'/156'/0'/0/1"), # 1LRspCZNFJcbuNKQkXgHMDucctFRQya5a3 amount=73452, prev_hash=unhexlify('db77c2461b840e6edbe7f9280043184a98e020d9795c1b65cb7cef2551a8fb18'), @@ -110,7 +111,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBitcoinGold) inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/156'/1000'/0/0"), + address_n=parse_path("44'/156'/1000'/0/0"), # 1MH9KKcvdCTY44xVDC2k3fjBbX5Cz29N1q amount=1995344, prev_hash=unhexlify('25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985'), @@ -118,7 +119,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): script_type=proto.InputScriptType.SPENDADDRESS, ) out1 = proto.TxOutputType( - address_n=self.client.expand_path("44'/156'/1000'/1/0"), + address_n=parse_path("44'/156'/1000'/1/0"), amount=1896050, script_type=proto.OutputScriptType.PAYTOADDRESS, ) @@ -164,7 +165,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBitcoinGold) xpubs = [] - for n in map(lambda index: self.client.get_public_node(self.client.expand_path("44'/156'/" + str(index) + "'")), range(1, 4)): + for n in map(lambda index: self.client.get_public_node(parse_path("44'/156'/" + str(index) + "'")), range(1, 4)): xpubs.append(n.xpub) def getmultisig(chain, nr, signatures=[b'', b'', b''], xpubs=xpubs): @@ -174,7 +175,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): m=2, ) inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/156'/3'/0/0"), + address_n=parse_path("44'/156'/3'/0/0"), multisig=getmultisig(0, 0), # 33Ju286QvonBz5N1V754ZekQv4GLJqcc5R amount=48490, @@ -188,7 +189,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): script_type=proto.OutputScriptType.PAYTOADDRESS, ) out2 = proto.TxOutputType( - address_n=self.client.expand_path("44'/156'/3'/1/0"), + address_n=parse_path("44'/156'/3'/1/0"), multisig=getmultisig(1, 0), script_type=proto.OutputScriptType.PAYTOMULTISIG, amount=24000 @@ -210,7 +211,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): assert hexlify(signatures1[0]) == b'3045022100b1594f3b186d0dedbf61e53a1c407b1e0747098b7375941df85af045040f578e022013ba1893eb9e2fd854dd07073a83b261cf4beba76f66b07742e462b4088a7e4a' inp1 = proto.TxInputType( - address_n=self.client.expand_path("44'/156'/1'/0/0"), + address_n=parse_path("44'/156'/1'/0/0"), multisig=getmultisig(0, 0, [b'', b'', signatures1[0]]), # 33Ju286QvonBz5N1V754ZekQv4GLJqcc5R amount=48490, @@ -241,7 +242,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBitcoinGold) inp1 = proto.TxInputType( - address_n=self.client.expand_path("49'/156'/0'/1/0"), + address_n=parse_path("49'/156'/0'/1/0"), amount=123456789, prev_hash=unhexlify('25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985'), prev_index=0, @@ -279,7 +280,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBitcoinGold) inp1 = proto.TxInputType( - address_n=self.client.expand_path("49'/156'/0'/1/0"), + address_n=parse_path("49'/156'/0'/1/0"), amount=123456789, prev_hash=unhexlify('25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985'), prev_index=0, @@ -291,7 +292,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): script_type=proto.OutputScriptType.PAYTOADDRESS, ) out2 = proto.TxOutputType( - address_n=self.client.expand_path("49'/156'/0'/1/0"), + address_n=parse_path("49'/156'/0'/1/0"), script_type=proto.OutputScriptType.PAYTOP2SHWITNESS, amount=123456789 - 11000 - 12300000, ) @@ -317,7 +318,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): def test_send_multisig_1(self): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiBitcoinGold) - nodes = map(lambda index: self.client.get_public_node(self.client.expand_path("999'/1'/%d'" % index)), range(1, 4)) + nodes = map(lambda index: self.client.get_public_node(parse_path("999'/1'/%d'" % index)), range(1, 4)) multisig = proto.MultisigRedeemScriptType( pubkeys=list(map(lambda n: proto.HDNodePathType(node=deserialize(n.xpub), address_n=[2, 0]), nodes)), signatures=[b'', b'', b''], @@ -325,7 +326,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): ) inp1 = proto.TxInputType( - address_n=self.client.expand_path("999'/1'/1'/2/0"), + address_n=parse_path("999'/1'/1'/2/0"), prev_hash=unhexlify('25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985'), prev_index=1, script_type=proto.InputScriptType.SPENDP2SHWITNESS, diff --git a/trezorlib/tests/device_tests/test_msg_signtx_decred.py b/trezorlib/tests/device_tests/test_msg_signtx_decred.py index 77b0040a5b..445404f776 100644 --- a/trezorlib/tests/device_tests/test_msg_signtx_decred.py +++ b/trezorlib/tests/device_tests/test_msg_signtx_decred.py @@ -15,10 +15,14 @@ # You should have received a copy of the GNU Lesser General Public License # along with this library. If not, see . -from .common import * +from binascii import hexlify, unhexlify +import pytest + +from .common import TrezorTest from trezorlib import coins from trezorlib import messages as proto +from trezorlib.tools import parse_path TxApiDecredTestnet = coins.tx_api['Decred Testnet'] @@ -41,7 +45,7 @@ class TestMsgSigntxDecred(TrezorTest): inp1 = proto.TxInputType( # TscqTv1he8MZrV321SfRghw7LFBCJDKB3oz - address_n=self.client.expand_path("m/44'/1'/0'/0/0"), + address_n=parse_path("m/44'/1'/0'/0/0"), prev_hash=TXHASH_e16248, prev_index=1, script_type=proto.InputScriptType.SPENDADDRESS, @@ -80,7 +84,7 @@ class TestMsgSigntxDecred(TrezorTest): inp1 = proto.TxInputType( # TscqTv1he8MZrV321SfRghw7LFBCJDKB3oz - address_n=self.client.expand_path("m/44'/1'/0'/0/0"), + address_n=parse_path("m/44'/1'/0'/0/0"), prev_hash=TXHASH_5e6e35, prev_index=0, script_type=proto.InputScriptType.SPENDADDRESS, @@ -89,7 +93,7 @@ class TestMsgSigntxDecred(TrezorTest): inp2 = proto.TxInputType( # TscqTv1he8MZrV321SfRghw7LFBCJDKB3oz - address_n=self.client.expand_path("m/44'/1'/0'/0/0"), + address_n=parse_path("m/44'/1'/0'/0/0"), prev_hash=TXHASH_ccf95b, prev_index=1, script_type=proto.InputScriptType.SPENDADDRESS, @@ -98,7 +102,7 @@ class TestMsgSigntxDecred(TrezorTest): inp3 = proto.TxInputType( # Tskt39YEvzoJ5KBDH4f1auNzG3jViVjZ2RV - address_n=self.client.expand_path("m/44'/1'/0'/0/1"), + address_n=parse_path("m/44'/1'/0'/0/1"), prev_hash=TXHASH_f395ef, prev_index=0, script_type=proto.InputScriptType.SPENDADDRESS, @@ -114,7 +118,7 @@ class TestMsgSigntxDecred(TrezorTest): out2 = proto.TxOutputType( # TsaSFRwfN9muW5F6ZX36iSksc9hruiC5F97 - address_n=self.client.expand_path("m/44'/1'/0'/1/0"), + address_n=parse_path("m/44'/1'/0'/1/0"), amount=100000000, script_type=proto.OutputScriptType.PAYTOADDRESS, decred_script_version=0, @@ -154,7 +158,7 @@ class TestMsgSigntxDecred(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiDecredTestnet) - paths = [self.client.expand_path("m/48'/1'/%d'" % index) for index in range(3)] + paths = [parse_path("m/48'/1'/%d'" % index) for index in range(3)] nodes = [self.client.get_public_node(address_n, coin_name="Decred Testnet").node for address_n in paths] signatures = [ @@ -163,7 +167,7 @@ class TestMsgSigntxDecred(TrezorTest): ] def create_multisig(index, address, signatures=None): - address_n = self.client.expand_path(address) + address_n = parse_path(address) multisig = proto.MultisigRedeemScriptType( pubkeys=[proto.HDNodePathType(node=node, address_n=address_n) for node in nodes], signatures=signatures, diff --git a/trezorlib/tests/device_tests/test_msg_signtx_segwit.py b/trezorlib/tests/device_tests/test_msg_signtx_segwit.py index 9064a6d2eb..a3a1b6022e 100644 --- a/trezorlib/tests/device_tests/test_msg_signtx_segwit.py +++ b/trezorlib/tests/device_tests/test_msg_signtx_segwit.py @@ -22,6 +22,7 @@ from ..support.ckd_public import deserialize from trezorlib import coins from trezorlib import messages as proto from trezorlib.client import CallException +from trezorlib.tools import parse_path TxApiTestnet = coins.tx_api["Testnet"] @@ -32,7 +33,7 @@ class TestMsgSigntxSegwit(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiTestnet) inp1 = proto.TxInputType( - address_n=self.client.expand_path("49'/1'/0'/1/0"), + address_n=parse_path("49'/1'/0'/1/0"), # 2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX amount=123456789, prev_hash=unhexlify('20912f98ea3ed849042efed0fdac8cb4fc301961c5988cba56902d8ffb61c337'), @@ -71,7 +72,7 @@ class TestMsgSigntxSegwit(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiTestnet) inp1 = proto.TxInputType( - address_n=self.client.expand_path("49'/1'/0'/1/0"), + address_n=parse_path("49'/1'/0'/1/0"), # 2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX amount=123456789, prev_hash=unhexlify('20912f98ea3ed849042efed0fdac8cb4fc301961c5988cba56902d8ffb61c337'), @@ -84,7 +85,7 @@ class TestMsgSigntxSegwit(TrezorTest): script_type=proto.OutputScriptType.PAYTOADDRESS, ) out2 = proto.TxOutputType( - address_n=self.client.expand_path("49'/1'/0'/1/0"), + address_n=parse_path("49'/1'/0'/1/0"), script_type=proto.OutputScriptType.PAYTOP2SHWITNESS, amount=123456789 - 11000 - 12300000, ) @@ -108,7 +109,7 @@ class TestMsgSigntxSegwit(TrezorTest): def test_send_multisig_1(self): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiTestnet) - nodes = map(lambda index: self.client.get_public_node(self.client.expand_path("999'/1'/%d'" % index)), range(1, 4)) + nodes = map(lambda index: self.client.get_public_node(parse_path("999'/1'/%d'" % index)), range(1, 4)) multisig = proto.MultisigRedeemScriptType( pubkeys=list(map(lambda n: proto.HDNodePathType(node=deserialize(n.xpub), address_n=[2, 0]), nodes)), signatures=[b'', b'', b''], @@ -116,7 +117,7 @@ class TestMsgSigntxSegwit(TrezorTest): ) inp1 = proto.TxInputType( - address_n=self.client.expand_path("999'/1'/1'/2/0"), + address_n=parse_path("999'/1'/1'/2/0"), prev_hash=unhexlify('9c31922be756c06d02167656465c8dc83bb553bf386a3f478ae65b5c021002be'), prev_index=1, script_type=proto.InputScriptType.SPENDP2SHWITNESS, @@ -165,7 +166,7 @@ class TestMsgSigntxSegwit(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiTestnet) inp1 = proto.TxInputType( - address_n=self.client.expand_path("49'/1'/0'/1/0"), + address_n=parse_path("49'/1'/0'/1/0"), # 2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX amount=123456789, prev_hash=unhexlify('20912f98ea3ed849042efed0fdac8cb4fc301961c5988cba56902d8ffb61c337'), @@ -178,7 +179,7 @@ class TestMsgSigntxSegwit(TrezorTest): script_type=proto.OutputScriptType.PAYTOADDRESS, ) out2 = proto.TxOutputType( - address_n=self.client.expand_path("49'/1'/12345'/1/0"), + address_n=parse_path("49'/1'/12345'/1/0"), script_type=proto.OutputScriptType.PAYTOP2SHWITNESS, amount=123456789 - 11000 - 12300000, ) diff --git a/trezorlib/tests/device_tests/test_msg_signtx_segwit_native.py b/trezorlib/tests/device_tests/test_msg_signtx_segwit_native.py index 18bf144474..304c7f0022 100644 --- a/trezorlib/tests/device_tests/test_msg_signtx_segwit_native.py +++ b/trezorlib/tests/device_tests/test_msg_signtx_segwit_native.py @@ -21,7 +21,7 @@ from .common import TrezorTest from ..support.ckd_public import deserialize from trezorlib import coins from trezorlib import messages as proto -from trezorlib.client import CallException +from trezorlib.tools import parse_path TxApiTestnet = coins.tx_api['Testnet'] @@ -32,7 +32,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiTestnet) inp1 = proto.TxInputType( - address_n=self.client.expand_path("49'/1'/0'/1/0"), + address_n=parse_path("49'/1'/0'/1/0"), # 2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX amount=123456789, prev_hash=unhexlify('20912f98ea3ed849042efed0fdac8cb4fc301961c5988cba56902d8ffb61c337'), @@ -71,7 +71,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiTestnet) inp1 = proto.TxInputType( - address_n=self.client.expand_path("49'/1'/0'/1/0"), + address_n=parse_path("49'/1'/0'/1/0"), # 2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX amount=123456789, prev_hash=unhexlify('20912f98ea3ed849042efed0fdac8cb4fc301961c5988cba56902d8ffb61c337'), @@ -84,7 +84,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): script_type=proto.OutputScriptType.PAYTOADDRESS, ) out2 = proto.TxOutputType( - address_n=self.client.expand_path("49'/1'/0'/1/0"), + address_n=parse_path("49'/1'/0'/1/0"), script_type=proto.OutputScriptType.PAYTOP2SHWITNESS, amount=123456789 - 11000 - 12300000, ) @@ -109,7 +109,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiTestnet) inp1 = proto.TxInputType( - address_n=self.client.expand_path("49'/1'/0'/0/0"), + address_n=parse_path("49'/1'/0'/0/0"), # tb1qqzv60m9ajw8drqulta4ld4gfx0rdh82un5s65s amount=12300000, prev_hash=unhexlify('09144602765ce3dd8f4329445b20e3684e948709c5cdcaf12da3bb079c99448a'), @@ -148,7 +148,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiTestnet) inp1 = proto.TxInputType( - address_n=self.client.expand_path("49'/1'/0'/0/0"), + address_n=parse_path("49'/1'/0'/0/0"), # tb1qqzv60m9ajw8drqulta4ld4gfx0rdh82un5s65s amount=12300000, prev_hash=unhexlify('09144602765ce3dd8f4329445b20e3684e948709c5cdcaf12da3bb079c99448a'), @@ -161,7 +161,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): script_type=proto.OutputScriptType.PAYTOADDRESS, ) out2 = proto.TxOutputType( - address_n=self.client.expand_path("49'/1'/0'/1/0"), + address_n=parse_path("49'/1'/0'/1/0"), script_type=proto.OutputScriptType.PAYTOWITNESS, amount=12300000 - 11000 - 5000000, ) @@ -186,7 +186,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiTestnet) inp1 = proto.TxInputType( - address_n=self.client.expand_path("49'/1'/0'/1/0"), + address_n=parse_path("49'/1'/0'/1/0"), # 2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX amount=111145789, prev_hash=unhexlify('09144602765ce3dd8f4329445b20e3684e948709c5cdcaf12da3bb079c99448a'), @@ -194,7 +194,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): script_type=proto.InputScriptType.SPENDP2SHWITNESS, ) inp2 = proto.TxInputType( - address_n=self.client.expand_path("49'/1'/0'/1/0"), + address_n=parse_path("49'/1'/0'/1/0"), # tb1q694ccp5qcc0udmfwgp692u2s2hjpq5h407urtu amount=7289000, prev_hash=unhexlify('65b811d3eca0fe6915d9f2d77c86c5a7f19bf66b1b1253c2c51cb4ae5f0c017b'), @@ -247,7 +247,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): def test_send_multisig_1(self): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiTestnet) - nodes = [self.client.get_public_node(self.client.expand_path("999'/1'/%d'" % index)) for index in range(1, 4)] + nodes = [self.client.get_public_node(parse_path("999'/1'/%d'" % index)) for index in range(1, 4)] multisig = proto.MultisigRedeemScriptType( pubkeys=list(map(lambda n: proto.HDNodePathType(node=deserialize(n.xpub), address_n=[2, 0]), nodes)), signatures=[b'', b'', b''], @@ -255,7 +255,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): ) inp1 = proto.TxInputType( - address_n=self.client.expand_path("999'/1'/1'/2/0"), + address_n=parse_path("999'/1'/1'/2/0"), prev_hash=unhexlify('9c31922be756c06d02167656465c8dc83bb553bf386a3f478ae65b5c021002be'), prev_index=1, script_type=proto.InputScriptType.SPENDP2SHWITNESS, @@ -303,7 +303,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): def test_send_multisig_2(self): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiTestnet) - nodes = [self.client.get_public_node(self.client.expand_path("999'/1'/%d'" % index)) for index in range(1, 4)] + nodes = [self.client.get_public_node(parse_path("999'/1'/%d'" % index)) for index in range(1, 4)] multisig = proto.MultisigRedeemScriptType( pubkeys=list(map(lambda n: proto.HDNodePathType(node=deserialize(n.xpub), address_n=[2, 1]), nodes)), signatures=[b'', b'', b''], @@ -311,7 +311,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): ) inp1 = proto.TxInputType( - address_n=self.client.expand_path("999'/1'/2'/2/1"), + address_n=parse_path("999'/1'/2'/2/1"), prev_hash=unhexlify('f41cbedd8becee05a830f418d13aa665125464547db5c7a6cd28f21639fe1228'), prev_index=0, script_type=proto.InputScriptType.SPENDWITNESS, @@ -359,7 +359,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): def test_send_multisig_3_change(self): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiTestnet) - nodes = [self.client.get_public_node(self.client.expand_path("999'/1'/%d'" % index)) for index in range(1, 4)] + nodes = [self.client.get_public_node(parse_path("999'/1'/%d'" % index)) for index in range(1, 4)] multisig = proto.MultisigRedeemScriptType( pubkeys=list(map(lambda n: proto.HDNodePathType(node=deserialize(n.xpub), address_n=[2, 0]), nodes)), signatures=[b'', b'', b''], @@ -372,7 +372,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): ) inp1 = proto.TxInputType( - address_n=self.client.expand_path("999'/1'/1'/2/0"), + address_n=parse_path("999'/1'/1'/2/0"), prev_hash=unhexlify('c9348040bbc2024e12dcb4a0b4806b0398646b91acf314da028c3f03dd0179fc'), prev_index=0, script_type=proto.InputScriptType.SPENDWITNESS, @@ -381,7 +381,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): ) out1 = proto.TxOutputType( - address_n=self.client.expand_path("999'/1'/1'/1/1"), + address_n=parse_path("999'/1'/1'/1/1"), amount=1603000, multisig=multisig2, script_type=proto.OutputScriptType.PAYTOP2SHWITNESS @@ -420,7 +420,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): def test_send_multisig_4_change(self): self.setup_mnemonic_allallall() self.client.set_tx_api(TxApiTestnet) - nodes = [self.client.get_public_node(self.client.expand_path("999'/1'/%d'" % index)) for index in range(1, 4)] + nodes = [self.client.get_public_node(parse_path("999'/1'/%d'" % index)) for index in range(1, 4)] multisig = proto.MultisigRedeemScriptType( pubkeys=list(map(lambda n: proto.HDNodePathType(node=deserialize(n.xpub), address_n=[1, 1]), nodes)), signatures=[b'', b'', b''], @@ -433,7 +433,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): ) inp1 = proto.TxInputType( - address_n=self.client.expand_path("999'/1'/1'/1/1"), + address_n=parse_path("999'/1'/1'/1/1"), prev_hash=unhexlify('31bc1c88ce6ae337a6b3057a16d5bad0b561ad1dfc047d0a7fbb8814668f91e5'), prev_index=0, script_type=proto.InputScriptType.SPENDP2SHWITNESS, @@ -442,7 +442,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): ) out1 = proto.TxOutputType( - address_n=self.client.expand_path("999'/1'/1'/1/2"), + address_n=parse_path("999'/1'/1'/1/2"), amount=1602000, multisig=multisig2, script_type=proto.OutputScriptType.PAYTOWITNESS diff --git a/trezorlib/tests/device_tests/test_multisig_change.py b/trezorlib/tests/device_tests/test_multisig_change.py index 0086d353cc..e09dcbd03d 100644 --- a/trezorlib/tests/device_tests/test_multisig_change.py +++ b/trezorlib/tests/device_tests/test_multisig_change.py @@ -22,6 +22,7 @@ from .common import TrezorTest from ..support import ckd_public as bip32 from trezorlib import messages as proto from trezorlib.coins import tx_api +from trezorlib.tools import parse_path class TestMultisigChange(TrezorTest): @@ -195,7 +196,7 @@ class TestMultisigChange(TrezorTest): ) out2 = proto.TxOutputType( - address_n=self.client.expand_path("45'/0/1/1"), + address_n=parse_path("45'/0/1/1"), amount=44000000, script_type=proto.OutputScriptType.PAYTOADDRESS ) @@ -211,7 +212,7 @@ class TestMultisigChange(TrezorTest): self.setup_mnemonic_nopin_nopassphrase() out1 = proto.TxOutputType( - address_n=self.client.expand_path("45'/0/1/0"), + address_n=parse_path("45'/0/1/0"), amount=40000000, script_type=proto.OutputScriptType.PAYTOADDRESS )