From 7f55847ab18008d6e9262b885c6e1cbe109025a9 Mon Sep 17 00:00:00 2001 From: Pavol Rusnak Date: Wed, 12 Sep 2018 20:34:26 +0200 Subject: [PATCH] tests: remove usage of binascii --- .../test_msg_cardano_get_public_key.py | 6 +- .../test_msg_cardano_sign_transaction.py | 21 ++-- .../device_tests/test_msg_cipherkeyvalue.py | 32 +++-- .../test_msg_ethereum_getaddress.py | 22 ++-- .../test_msg_ethereum_signmessage.py | 12 +- .../device_tests/test_msg_ethereum_signtx.py | 98 ++++++++-------- .../test_msg_ethereum_signtx_eip155.py | 76 ++++++------ .../test_msg_ethereum_verifymessage.py | 10 +- .../test_msg_getecdhsessionkey.py | 23 ++-- .../test_msg_getpublickey_curve.py | 70 +++++------ .../test_msg_nem_signtx_mosaics.py | 34 +++--- .../test_msg_nem_signtx_mosaics_t2.py | 33 +++--- .../test_msg_nem_signtx_multisig.py | 46 ++++---- .../test_msg_nem_signtx_others.py | 18 ++- .../test_msg_nem_signtx_transfers.py | 63 +++++----- ...msg_ontology_sign_ont_id_add_attributes.py | 13 ++- .../test_msg_ontology_sign_ont_id_register.py | 13 ++- .../device_tests/test_msg_ontology_sign_tx.py | 17 +-- .../test_msg_ontology_sign_withdraw_ong.py | 12 +- .../device_tests/test_msg_ripple_sign_tx.py | 32 ++--- .../device_tests/test_msg_signidentity.py | 35 +++--- .../device_tests/test_msg_signmessage.py | 26 ++--- .../test_msg_signmessage_segwit.py | 22 ++-- .../test_msg_signmessage_segwit_native.py | 22 ++-- .../tests/device_tests/test_msg_signtx.py | 110 +++++++++++------- .../device_tests/test_msg_signtx_bcash.py | 64 +++++----- .../device_tests/test_msg_signtx_bgold.py | 54 ++++----- .../device_tests/test_msg_signtx_decred.py | 14 +-- .../device_tests/test_msg_signtx_segwit.py | 26 ++--- .../test_msg_signtx_segwit_native.py | 58 +++++---- .../device_tests/test_msg_signtx_zcash.py | 8 +- .../test_msg_stellar_sign_transaction.py | 5 +- .../device_tests/test_msg_tezos_sign_tx.py | 22 ++-- .../device_tests/test_msg_verifymessage.py | 32 +++-- .../test_msg_verifymessage_segwit.py | 16 ++- .../test_msg_verifymessage_segwit_native.py | 16 ++- trezorlib/tests/device_tests/test_multisig.py | 24 ++-- .../device_tests/test_multisig_change.py | 40 +++---- .../tests/device_tests/test_op_return.py | 8 +- .../device_tests/test_protection_levels.py | 6 +- trezorlib/tests/device_tests/test_zerosig.py | 6 +- trezorlib/tests/unit_tests/test_cosi.py | 35 +++--- trezorlib/tests/unit_tests/test_nem.py | 4 +- trezorlib/tests/unit_tests/test_tx_api.py | 5 +- 44 files changed, 631 insertions(+), 678 deletions(-) diff --git a/trezorlib/tests/device_tests/test_msg_cardano_get_public_key.py b/trezorlib/tests/device_tests/test_msg_cardano_get_public_key.py index 0923567702..6acae58000 100644 --- a/trezorlib/tests/device_tests/test_msg_cardano_get_public_key.py +++ b/trezorlib/tests/device_tests/test_msg_cardano_get_public_key.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify - import pytest from trezorlib.cardano import get_public_key @@ -57,6 +55,6 @@ class TestMsgCardanoGetPublicKey(TrezorTest): key = get_public_key(self.client, parse_path(path)) - assert hexlify(key.node.public_key) == public_key - assert hexlify(key.node.chain_code) == chain_code + assert key.node.public_key.hex() == public_key + assert key.node.chain_code.hex() == chain_code assert key.xpub.encode() == public_key + chain_code diff --git a/trezorlib/tests/device_tests/test_msg_cardano_sign_transaction.py b/trezorlib/tests/device_tests/test_msg_cardano_sign_transaction.py index 15d9407cef..ada39e08bc 100644 --- a/trezorlib/tests/device_tests/test_msg_cardano_sign_transaction.py +++ b/trezorlib/tests/device_tests/test_msg_cardano_sign_transaction.py @@ -14,7 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -import binascii import time import pytest @@ -69,7 +68,7 @@ class TestMsgCardanoSignTx(TrezorTest): assert response.tx_index == 0 # Upload first transaction - transaction_data = binascii.unhexlify(transactions[0]) + transaction_data = bytes.fromhex(transactions[0]) ack_message = messages.CardanoTxAck(transaction=transaction_data) self.client.transport.write(ack_message) @@ -114,12 +113,12 @@ class TestMsgCardanoSignTx(TrezorTest): assert isinstance(response, messages.CardanoSignedTx) assert ( - binascii.hexlify(response.tx_hash) - == b"799c65e8a2c0b1dc4232611728c09d3f3eb0d811c077f8e9798f84605ef1b23d" + response.tx_hash.hex() + == "799c65e8a2c0b1dc4232611728c09d3f3eb0d811c077f8e9798f84605ef1b23d" ) assert ( - binascii.hexlify(response.tx_body) - == b"82839f8200d81858248258201af8fa0b754ff99253d983894e63a2b09cbb56c833ba18c3384210163f63dcfc00ff9f8282d818582183581c9e1c71de652ec8b85fec296f0685ca3988781c94a2e1a5d89d92f45fa0001a0d0c25611a002dd2e8ffa0818200d818588582584089053545a6c254b0d9b1464e48d2b5fcf91d4e25c128afb1fcfc61d0843338ea26308151516f3b0e02bb1638142747863c520273ce9bd3e5cd91e1d46fe2a6355840312c01c27317415b0b8acc86aa789da877fe7e15c65b7ea4c4565d8739117f5f6d9d38bf5d058f7be809b2b9b06c1d79fc6b20f9a4d76d8c89bae333edf5680c" + response.tx_body.hex() + == "82839f8200d81858248258201af8fa0b754ff99253d983894e63a2b09cbb56c833ba18c3384210163f63dcfc00ff9f8282d818582183581c9e1c71de652ec8b85fec296f0685ca3988781c94a2e1a5d89d92f45fa0001a0d0c25611a002dd2e8ffa0818200d818588582584089053545a6c254b0d9b1464e48d2b5fcf91d4e25c128afb1fcfc61d0843338ea26308151516f3b0e02bb1638142747863c520273ce9bd3e5cd91e1d46fe2a6355840312c01c27317415b0b8acc86aa789da877fe7e15c65b7ea4c4565d8739117f5f6d9d38bf5d058f7be809b2b9b06c1d79fc6b20f9a4d76d8c89bae333edf5680c" ) def test_cardano_sign_tx_testnet(self): @@ -163,7 +162,7 @@ class TestMsgCardanoSignTx(TrezorTest): assert response.tx_index == 0 # Upload first transaction - transaction_data = binascii.unhexlify(transactions[0]) + transaction_data = bytes.fromhex(transactions[0]) ack_message = messages.CardanoTxAck(transaction=transaction_data) self.client.transport.write(ack_message) @@ -208,10 +207,10 @@ class TestMsgCardanoSignTx(TrezorTest): assert isinstance(response, messages.CardanoSignedTx) assert ( - binascii.hexlify(response.tx_hash) - == b"799c65e8a2c0b1dc4232611728c09d3f3eb0d811c077f8e9798f84605ef1b23d" + response.tx_hash.hex() + == "799c65e8a2c0b1dc4232611728c09d3f3eb0d811c077f8e9798f84605ef1b23d" ) assert ( - binascii.hexlify(response.tx_body) - == b"82839f8200d81858248258201af8fa0b754ff99253d983894e63a2b09cbb56c833ba18c3384210163f63dcfc00ff9f8282d818582183581c9e1c71de652ec8b85fec296f0685ca3988781c94a2e1a5d89d92f45fa0001a0d0c25611a002dd2e8ffa0818200d818588582584089053545a6c254b0d9b1464e48d2b5fcf91d4e25c128afb1fcfc61d0843338ea26308151516f3b0e02bb1638142747863c520273ce9bd3e5cd91e1d46fe2a63558403594ee7e2bfe4c84f886a8336cecb7c42983ce9a057345ebb6294a436087d8db93ca78cf514c7c48edff4c8435f690a5817951e2b55d2db729875ee7cc0f7d08" + response.tx_body.hex() + == "82839f8200d81858248258201af8fa0b754ff99253d983894e63a2b09cbb56c833ba18c3384210163f63dcfc00ff9f8282d818582183581c9e1c71de652ec8b85fec296f0685ca3988781c94a2e1a5d89d92f45fa0001a0d0c25611a002dd2e8ffa0818200d818588582584089053545a6c254b0d9b1464e48d2b5fcf91d4e25c128afb1fcfc61d0843338ea26308151516f3b0e02bb1638142747863c520273ce9bd3e5cd91e1d46fe2a63558403594ee7e2bfe4c84f886a8336cecb7c42983ce9a057345ebb6294a436087d8db93ca78cf514c7c48edff4c8435f690a5817951e2b55d2db729875ee7cc0f7d08" ) diff --git a/trezorlib/tests/device_tests/test_msg_cipherkeyvalue.py b/trezorlib/tests/device_tests/test_msg_cipherkeyvalue.py index e1dfe872d6..39d89361d6 100644 --- a/trezorlib/tests/device_tests/test_msg_cipherkeyvalue.py +++ b/trezorlib/tests/device_tests/test_msg_cipherkeyvalue.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify, unhexlify - import pytest from trezorlib import misc @@ -36,7 +34,7 @@ class TestMsgCipherkeyvalue(TrezorTest): ask_on_encrypt=True, ask_on_decrypt=True, ) - assert hexlify(res) == b"676faf8f13272af601776bc31bc14e8f" + assert res.hex() == "676faf8f13272af601776bc31bc14e8f" res = misc.encrypt_keyvalue( self.client, @@ -46,7 +44,7 @@ class TestMsgCipherkeyvalue(TrezorTest): ask_on_encrypt=True, ask_on_decrypt=False, ) - assert hexlify(res) == b"5aa0fbcb9d7fa669880745479d80c622" + assert res.hex() == "5aa0fbcb9d7fa669880745479d80c622" res = misc.encrypt_keyvalue( self.client, @@ -56,7 +54,7 @@ class TestMsgCipherkeyvalue(TrezorTest): ask_on_encrypt=False, ask_on_decrypt=True, ) - assert hexlify(res) == b"958d4f63269b61044aaedc900c8d6208" + assert res.hex() == "958d4f63269b61044aaedc900c8d6208" res = misc.encrypt_keyvalue( self.client, @@ -66,7 +64,7 @@ class TestMsgCipherkeyvalue(TrezorTest): ask_on_encrypt=False, ask_on_decrypt=False, ) - assert hexlify(res) == b"e0cf0eb0425947000eb546cc3994bc6c" + assert res.hex() == "e0cf0eb0425947000eb546cc3994bc6c" # different key res = misc.encrypt_keyvalue( @@ -77,7 +75,7 @@ class TestMsgCipherkeyvalue(TrezorTest): ask_on_encrypt=True, ask_on_decrypt=True, ) - assert hexlify(res) == b"de247a6aa6be77a134bb3f3f925f13af" + assert res.hex() == "de247a6aa6be77a134bb3f3f925f13af" # different message res = misc.encrypt_keyvalue( @@ -89,8 +87,8 @@ class TestMsgCipherkeyvalue(TrezorTest): ask_on_decrypt=True, ) assert ( - hexlify(res) - == b"676faf8f13272af601776bc31bc14e8f3ae1c88536bf18f1b44f1e4c2c4a613d" + res.hex() + == "676faf8f13272af601776bc31bc14e8f3ae1c88536bf18f1b44f1e4c2c4a613d" ) # different path @@ -102,7 +100,7 @@ class TestMsgCipherkeyvalue(TrezorTest): ask_on_encrypt=True, ask_on_decrypt=True, ) - assert hexlify(res) == b"b4811a9d492f5355a5186ddbfccaae7b" + assert res.hex() == "b4811a9d492f5355a5186ddbfccaae7b" def test_decrypt(self): self.setup_mnemonic_nopin_nopassphrase() @@ -112,7 +110,7 @@ class TestMsgCipherkeyvalue(TrezorTest): self.client, [0, 1, 2], b"test", - unhexlify("676faf8f13272af601776bc31bc14e8f"), + bytes.fromhex("676faf8f13272af601776bc31bc14e8f"), ask_on_encrypt=True, ask_on_decrypt=True, ) @@ -122,7 +120,7 @@ class TestMsgCipherkeyvalue(TrezorTest): self.client, [0, 1, 2], b"test", - unhexlify("5aa0fbcb9d7fa669880745479d80c622"), + bytes.fromhex("5aa0fbcb9d7fa669880745479d80c622"), ask_on_encrypt=True, ask_on_decrypt=False, ) @@ -132,7 +130,7 @@ class TestMsgCipherkeyvalue(TrezorTest): self.client, [0, 1, 2], b"test", - unhexlify("958d4f63269b61044aaedc900c8d6208"), + bytes.fromhex("958d4f63269b61044aaedc900c8d6208"), ask_on_encrypt=False, ask_on_decrypt=True, ) @@ -142,7 +140,7 @@ class TestMsgCipherkeyvalue(TrezorTest): self.client, [0, 1, 2], b"test", - unhexlify("e0cf0eb0425947000eb546cc3994bc6c"), + bytes.fromhex("e0cf0eb0425947000eb546cc3994bc6c"), ask_on_encrypt=False, ask_on_decrypt=False, ) @@ -153,7 +151,7 @@ class TestMsgCipherkeyvalue(TrezorTest): self.client, [0, 1, 2], b"test2", - unhexlify("de247a6aa6be77a134bb3f3f925f13af"), + bytes.fromhex("de247a6aa6be77a134bb3f3f925f13af"), ask_on_encrypt=True, ask_on_decrypt=True, ) @@ -164,7 +162,7 @@ class TestMsgCipherkeyvalue(TrezorTest): self.client, [0, 1, 2], b"test", - unhexlify( + bytes.fromhex( "676faf8f13272af601776bc31bc14e8f3ae1c88536bf18f1b44f1e4c2c4a613d" ), ask_on_encrypt=True, @@ -177,7 +175,7 @@ class TestMsgCipherkeyvalue(TrezorTest): self.client, [0, 1, 3], b"test", - unhexlify("b4811a9d492f5355a5186ddbfccaae7b"), + bytes.fromhex("b4811a9d492f5355a5186ddbfccaae7b"), ask_on_encrypt=True, ask_on_decrypt=True, ) diff --git a/trezorlib/tests/device_tests/test_msg_ethereum_getaddress.py b/trezorlib/tests/device_tests/test_msg_ethereum_getaddress.py index a34156b6ae..4667cf45c9 100644 --- a/trezorlib/tests/device_tests/test_msg_ethereum_getaddress.py +++ b/trezorlib/tests/device_tests/test_msg_ethereum_getaddress.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify - import pytest from trezorlib import ethereum @@ -29,22 +27,22 @@ class TestMsgEthereumGetaddress(TrezorTest): def test_ethereum_getaddress(self): self.setup_mnemonic_nopin_nopassphrase() assert ( - hexlify(ethereum.get_address(self.client, [])) - == b"1d1c328764a41bda0492b66baa30c4a339ff85ef" + ethereum.get_address(self.client, []).hex() + == "1d1c328764a41bda0492b66baa30c4a339ff85ef" ) assert ( - hexlify(ethereum.get_address(self.client, [1])) - == b"437207ca3cf43bf2e47dea0756d736c5df4f597a" + ethereum.get_address(self.client, [1]).hex() + == "437207ca3cf43bf2e47dea0756d736c5df4f597a" ) assert ( - hexlify(ethereum.get_address(self.client, [0, H_(1)])) - == b"e5d96dfa07bcf1a3ae43677840c31394258861bf" + ethereum.get_address(self.client, [0, H_(1)]).hex() + == "e5d96dfa07bcf1a3ae43677840c31394258861bf" ) assert ( - hexlify(ethereum.get_address(self.client, [H_(9), 0])) - == b"f68804ac9eca9483ab4241d3e4751590d2c05102" + ethereum.get_address(self.client, [H_(9), 0]).hex() + == "f68804ac9eca9483ab4241d3e4751590d2c05102" ) assert ( - hexlify(ethereum.get_address(self.client, [0, 9999999])) - == b"7a6366ecfcaf0d5dcc1539c171696c6cdd1eb8ed" + ethereum.get_address(self.client, [0, 9999999]).hex() + == "7a6366ecfcaf0d5dcc1539c171696c6cdd1eb8ed" ) diff --git a/trezorlib/tests/device_tests/test_msg_ethereum_signmessage.py b/trezorlib/tests/device_tests/test_msg_ethereum_signmessage.py index 4bee25bdaf..116d972008 100644 --- a/trezorlib/tests/device_tests/test_msg_ethereum_signmessage.py +++ b/trezorlib/tests/device_tests/test_msg_ethereum_signmessage.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify - import pytest from trezorlib import ethereum @@ -27,15 +25,15 @@ from .common import TrezorTest class TestMsgEthereumSignmessage(TrezorTest): PATH = [0] - ADDRESS = b"cb3864960e8db1a751212c580af27ee8867d688f" + ADDRESS = "cb3864960e8db1a751212c580af27ee8867d688f" VECTORS = [ ( "This is an example of a signed message.", - b"b7837058907192dbc9427bf57d93a0acca3816c92927a08be573b785f2d72dab65dad9c92fbe03a358acdb455eab2107b869945d11f4e353d9cc6ea957d08a871b", + "b7837058907192dbc9427bf57d93a0acca3816c92927a08be573b785f2d72dab65dad9c92fbe03a358acdb455eab2107b869945d11f4e353d9cc6ea957d08a871b", ), ( "VeryLongMessage!" * 64, - b"da2b73b0170479c2bfba3dd4839bf0d67732a44df8c873f3f3a2aca8a57d7bdc0b5d534f54c649e2d44135717001998b176d3cd1212366464db51f5838430fb31c", + "da2b73b0170479c2bfba3dd4839bf0d67732a44df8c873f3f3a2aca8a57d7bdc0b5d534f54c649e2d44135717001998b176d3cd1212366464db51f5838430fb31c", ), ] @@ -43,5 +41,5 @@ class TestMsgEthereumSignmessage(TrezorTest): self.setup_mnemonic_nopin_nopassphrase() for msg, sig in self.VECTORS: res = ethereum.sign_message(self.client, self.PATH, msg) - assert hexlify(res.address) == self.ADDRESS - assert hexlify(res.signature) == sig + assert res.address.hex() == self.ADDRESS + assert res.signature.hex() == sig diff --git a/trezorlib/tests/device_tests/test_msg_ethereum_signtx.py b/trezorlib/tests/device_tests/test_msg_ethereum_signtx.py index e107edaa5e..33805139a6 100644 --- a/trezorlib/tests/device_tests/test_msg_ethereum_signtx.py +++ b/trezorlib/tests/device_tests/test_msg_ethereum_signtx.py @@ -14,14 +14,14 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify, unhexlify - import pytest from trezorlib import ethereum, messages as proto from .common import TrezorTest +TO_ADDR = bytes.fromhex("1d1c328764a41bda0492b66baa30c4a339ff85ef") + @pytest.mark.ethereum class TestMsgEthereumSigntx(TrezorTest): @@ -39,16 +39,16 @@ class TestMsgEthereumSigntx(TrezorTest): data = bytearray() # method id signalizing `transfer(address _to, uint256 _value)` function - data.extend(unhexlify("a9059cbb")) + data.extend(bytes.fromhex("a9059cbb")) # 1st function argument (to - the receiver) data.extend( - unhexlify( + bytes.fromhex( "000000000000000000000000574bbb36871ba6b78e27f4b4dcfb76ea0091880b" ) ) # 2nd function argument (value - amount to be transferred) data.extend( - unhexlify( + bytes.fromhex( "000000000000000000000000000000000000000000000000000000000bebc200" ) ) @@ -70,12 +70,12 @@ class TestMsgEthereumSigntx(TrezorTest): # taken from T1 might not be 100% correct but still better than nothing assert ( - hexlify(sig_r) - == b"75cf48fa173d8ceb68af9e4fb6b78ef69e6ed5e7679ba6f8e3e91d74b2fb0f96" + sig_r.hex() + == "75cf48fa173d8ceb68af9e4fb6b78ef69e6ed5e7679ba6f8e3e91d74b2fb0f96" ) assert ( - hexlify(sig_s) - == b"65de4a8c35263b2cfff3954b12146e8e568aa67a1c2461d6865e74ef75c7e190" + sig_s.hex() + == "65de4a8c35263b2cfff3954b12146e8e568aa67a1c2461d6865e74ef75c7e190" ) def test_ethereum_signtx_unknown_erc20_token(self): @@ -92,16 +92,16 @@ class TestMsgEthereumSigntx(TrezorTest): data = bytearray() # method id signalizing `transfer(address _to, uint256 _value)` function - data.extend(unhexlify("a9059cbb")) + data.extend(bytes.fromhex("a9059cbb")) # 1st function argument (to - the receiver) data.extend( - unhexlify( + bytes.fromhex( "000000000000000000000000574bbb36871ba6b78e27f4b4dcfb76ea0091880b" ) ) # 2nd function argument (value - amount to be transferred) data.extend( - unhexlify( + bytes.fromhex( "0000000000000000000000000000000000000000000000000000000000000123" ) ) @@ -123,12 +123,12 @@ class TestMsgEthereumSigntx(TrezorTest): # taken from T1 might not be 100% correct but still better than nothing assert ( - hexlify(sig_r) - == b"1707471fbf632e42d18144157aaf4cde101cd9aa9782ad8e30583cfc95ddeef6" + sig_r.hex() + == "1707471fbf632e42d18144157aaf4cde101cd9aa9782ad8e30583cfc95ddeef6" ) assert ( - hexlify(sig_s) - == b"3d2e52ba5904a4bf131abde3f79db826199f5d6f4d241d531d7e8a30a3b9cfd9" + sig_s.hex() + == "3d2e52ba5904a4bf131abde3f79db826199f5d6f4d241d531d7e8a30a3b9cfd9" ) def test_ethereum_signtx_nodata(self): @@ -149,18 +149,18 @@ class TestMsgEthereumSigntx(TrezorTest): nonce=0, gas_price=20, gas_limit=20, - to=unhexlify("1d1c328764a41bda0492b66baa30c4a339ff85ef"), + to=TO_ADDR, value=10, ) assert sig_v == 27 assert ( - hexlify(sig_r) - == b"9b61192a161d056c66cfbbd331edb2d783a0193bd4f65f49ee965f791d898f72" + sig_r.hex() + == "9b61192a161d056c66cfbbd331edb2d783a0193bd4f65f49ee965f791d898f72" ) assert ( - hexlify(sig_s) - == b"49c0bbe35131592c6ed5c871ac457feeb16a1493f64237387fab9b83c1a202f7" + sig_s.hex() + == "49c0bbe35131592c6ed5c871ac457feeb16a1493f64237387fab9b83c1a202f7" ) with self.client: @@ -178,17 +178,17 @@ class TestMsgEthereumSigntx(TrezorTest): nonce=123456, gas_price=20000, gas_limit=20000, - to=unhexlify("1d1c328764a41bda0492b66baa30c4a339ff85ef"), + to=TO_ADDR, value=12345678901234567890, ) assert sig_v == 28 assert ( - hexlify(sig_r) - == b"6de597b8ec1b46501e5b159676e132c1aa78a95bd5892ef23560a9867528975a" + sig_r.hex() + == "6de597b8ec1b46501e5b159676e132c1aa78a95bd5892ef23560a9867528975a" ) assert ( - hexlify(sig_s) - == b"6e33c4230b1ecf96a8dbb514b4aec0a6d6ba53f8991c8143f77812aa6daa993f" + sig_s.hex() + == "6e33c4230b1ecf96a8dbb514b4aec0a6d6ba53f8991c8143f77812aa6daa993f" ) def test_ethereum_signtx_data(self): @@ -210,18 +210,18 @@ class TestMsgEthereumSigntx(TrezorTest): nonce=0, gas_price=20, gas_limit=20, - to=unhexlify("1d1c328764a41bda0492b66baa30c4a339ff85ef"), + to=TO_ADDR, value=10, data=b"abcdefghijklmnop" * 16, ) assert sig_v == 28 assert ( - hexlify(sig_r) - == b"6da89ed8627a491bedc9e0382f37707ac4e5102e25e7a1234cb697cedb7cd2c0" + sig_r.hex() + == "6da89ed8627a491bedc9e0382f37707ac4e5102e25e7a1234cb697cedb7cd2c0" ) assert ( - hexlify(sig_s) - == b"691f73b145647623e2d115b208a7c3455a6a8a83e3b4db5b9c6d9bc75825038a" + sig_s.hex() + == "691f73b145647623e2d115b208a7c3455a6a8a83e3b4db5b9c6d9bc75825038a" ) with self.client: @@ -249,18 +249,18 @@ class TestMsgEthereumSigntx(TrezorTest): nonce=123456, gas_price=20000, gas_limit=20000, - to=unhexlify("1d1c328764a41bda0492b66baa30c4a339ff85ef"), + to=TO_ADDR, value=12345678901234567890, data=b"ABCDEFGHIJKLMNOP" * 256 + b"!!!", ) assert sig_v == 28 assert ( - hexlify(sig_r) - == b"4e90b13c45c6a9bf4aaad0e5427c3e62d76692b36eb727c78d332441b7400404" + sig_r.hex() + == "4e90b13c45c6a9bf4aaad0e5427c3e62d76692b36eb727c78d332441b7400404" ) assert ( - hexlify(sig_s) - == b"3ff236e7d05f0f9b1ee3d70599bb4200638f28388a8faf6bb36db9e04dc544be" + sig_s.hex() + == "3ff236e7d05f0f9b1ee3d70599bb4200638f28388a8faf6bb36db9e04dc544be" ) def test_ethereum_signtx_message(self): @@ -291,18 +291,18 @@ class TestMsgEthereumSigntx(TrezorTest): nonce=0, gas_price=20000, gas_limit=20000, - to=unhexlify("1d1c328764a41bda0492b66baa30c4a339ff85ef"), + to=TO_ADDR, value=0, data=b"ABCDEFGHIJKLMNOP" * 256 + b"!!!", ) assert sig_v == 28 assert ( - hexlify(sig_r) - == b"070e9dafda4d9e733fa7b6747a75f8a4916459560efb85e3e73cd39f31aa160d" + sig_r.hex() + == "070e9dafda4d9e733fa7b6747a75f8a4916459560efb85e3e73cd39f31aa160d" ) assert ( - hexlify(sig_s) - == b"7842db33ef15c27049ed52741db41fe3238a6fa3a6a0888fcfb74d6917600e41" + sig_s.hex() + == "7842db33ef15c27049ed52741db41fe3238a6fa3a6a0888fcfb74d6917600e41" ) def test_ethereum_signtx_newcontract(self): @@ -351,12 +351,12 @@ class TestMsgEthereumSigntx(TrezorTest): ) assert sig_v == 28 assert ( - hexlify(sig_r) - == b"b401884c10ae435a2e792303b5fc257a09f94403b2883ad8c0ac7a7282f5f1f9" + sig_r.hex() + == "b401884c10ae435a2e792303b5fc257a09f94403b2883ad8c0ac7a7282f5f1f9" ) assert ( - hexlify(sig_s) - == b"4742fc9e6a5fa8db3db15c2d856914a7f3daab21603a6c1ce9e9927482f8352e" + sig_s.hex() + == "4742fc9e6a5fa8db3db15c2d856914a7f3daab21603a6c1ce9e9927482f8352e" ) def test_ethereum_sanity_checks(self): @@ -368,7 +368,7 @@ class TestMsgEthereumSigntx(TrezorTest): nonce=123456, gas_price=0xffffffffffffffffffffffffffffffff, gas_limit=0xffffffffffffffffffffffffffffff, - to=unhexlify("1d1c328764a41bda0492b66baa30c4a339ff85ef"), + to=TO_ADDR, value=12345678901234567890, ) @@ -379,7 +379,7 @@ class TestMsgEthereumSigntx(TrezorTest): n=[0, 0], nonce=123456, gas_limit=10000, - to=unhexlify("1d1c328764a41bda0492b66baa30c4a339ff85ef"), + to=TO_ADDR, value=12345678901234567890, ) @@ -390,7 +390,7 @@ class TestMsgEthereumSigntx(TrezorTest): n=[0, 0], nonce=123456, gas_price=10000, - to=unhexlify("1d1c328764a41bda0492b66baa30c4a339ff85ef"), + to=TO_ADDR, value=12345678901234567890, ) @@ -401,6 +401,6 @@ class TestMsgEthereumSigntx(TrezorTest): n=[0, 0], gas_price=10000, gas_limit=123456, - to=unhexlify("1d1c328764a41bda0492b66baa30c4a339ff85ef"), + to=TO_ADDR, value=12345678901234567890, ) diff --git a/trezorlib/tests/device_tests/test_msg_ethereum_signtx_eip155.py b/trezorlib/tests/device_tests/test_msg_ethereum_signtx_eip155.py index a45e634847..ceb53b4276 100644 --- a/trezorlib/tests/device_tests/test_msg_ethereum_signtx_eip155.py +++ b/trezorlib/tests/device_tests/test_msg_ethereum_signtx_eip155.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify, unhexlify - import pytest from trezorlib import ethereum @@ -34,8 +32,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 3, 0, 41, - b"a90d0bc4f8d63be69453dd62f2bb5fff53c610000abf956672564d8a654d401a", - b"544a2e57bc8b4da18660a1e6036967ea581cc635f5137e3ba97a750867c27cf2", + "a90d0bc4f8d63be69453dd62f2bb5fff53c610000abf956672564d8a654d401a", + "544a2e57bc8b4da18660a1e6036967ea581cc635f5137e3ba97a750867c27cf2", 100000000000000000, 21000, None, @@ -44,8 +42,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 3, 1, 42, - b"699428a6950e23c6843f1bf3754f847e64e047e829978df80d55187d19a401ce", - b"087343d0a3a2f10842218ffccb146b59a8431b6245ab389fde22dc833f171e6e", + "699428a6950e23c6843f1bf3754f847e64e047e829978df80d55187d19a401ce", + "087343d0a3a2f10842218ffccb146b59a8431b6245ab389fde22dc833f171e6e", 100000000000000000, 21000, None, @@ -54,8 +52,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 3, 2, 42, - b"ba85b622a8bb82606ba96c132e81fa8058172192d15bc41d7e57c031bca17df4", - b"6473b75997634b6f692f8d672193591d299d5bf1c2d6e51f1a14ed0530b91c7d", + "ba85b622a8bb82606ba96c132e81fa8058172192d15bc41d7e57c031bca17df4", + "6473b75997634b6f692f8d672193591d299d5bf1c2d6e51f1a14ed0530b91c7d", 100000000000000000, 21004, b"\0", @@ -64,8 +62,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 3, 3, 42, - b"d021c98f92859c8db5e4de2f0e410a8deb0c977eb1a631e323ebf7484bd0d79a", - b"2c0e9defc9b1e895dc9520ff25ba3c635b14ad70aa86a5ad6c0a3acb82b569b6", + "d021c98f92859c8db5e4de2f0e410a8deb0c977eb1a631e323ebf7484bd0d79a", + "2c0e9defc9b1e895dc9520ff25ba3c635b14ad70aa86a5ad6c0a3acb82b569b6", 100000000000000000, 299732, b"ABCDEFGHIJKLMNOP" * 256 + b"!!!", @@ -74,8 +72,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 3, 4, 42, - b"dd52f026972a83c56b7dea356836fcfc70a68e3b879cdc8ef2bb5fea23e0a7aa", - b"079285fe579c9a2da25c811b1c5c0a74cd19b6301ee42cf20ef7b3b1353f7242", + "dd52f026972a83c56b7dea356836fcfc70a68e3b879cdc8ef2bb5fea23e0a7aa", + "079285fe579c9a2da25c811b1c5c0a74cd19b6301ee42cf20ef7b3b1353f7242", 0, 21004, b"\0", @@ -84,8 +82,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 1, 1, 37, - b"bae6198fdc87ccad6256e543617a34d052bfd17ae3be0bec7fbf8ea34bf9c930", - b"7d12f625f3e54700b6ed14ab669f45a8a2b5552c39f0781b0ab3796f19e6b4d1", + "bae6198fdc87ccad6256e543617a34d052bfd17ae3be0bec7fbf8ea34bf9c930", + "7d12f625f3e54700b6ed14ab669f45a8a2b5552c39f0781b0ab3796f19e6b4d1", 0, 21004, b"\0", @@ -94,8 +92,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 255, 1, 546, - b"7597a40719509ae3850d2eba808b7b2f7d272fda316e1321e5ebcc911e9f1b0d", - b"269dd69248273820f65b43d8824bb7aff1aa4e35ee663a5433a5df8f0c47dc31", + "7597a40719509ae3850d2eba808b7b2f7d272fda316e1321e5ebcc911e9f1b0d", + "269dd69248273820f65b43d8824bb7aff1aa4e35ee663a5433a5df8f0c47dc31", 0, 21004, b"\0", @@ -104,8 +102,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 256, 1, 547, - b"64e9821db2001ff5dff13c9d8c7fb0701ff860f5f95155d378fb9fcc06088f28", - b"4d03f339afed717e2155f044a6b0a895b5ac98343f1745e7525870c2046c36bc", + "64e9821db2001ff5dff13c9d8c7fb0701ff860f5f95155d378fb9fcc06088f28", + "4d03f339afed717e2155f044a6b0a895b5ac98343f1745e7525870c2046c36bc", 0, 21004, b"\0", @@ -114,8 +112,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 65535, 1, 131106, - b"6f2275808dc328184d7aa019d0a68f8dd8234969576a477670934145bb358969", - b"2be1ff9045bccff9ba3d6d5c7789a52c52c9679526dd3ec349caa318c3d055ff", + "6f2275808dc328184d7aa019d0a68f8dd8234969576a477670934145bb358969", + "2be1ff9045bccff9ba3d6d5c7789a52c52c9679526dd3ec349caa318c3d055ff", 0, 21004, b"\0", @@ -124,8 +122,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 65536, 1, 131107, - b"e16e35afe534a46e3e4cf09f355cbf02edc01937c2b444238162c2aca79037b8", - b"1083b84e21b1cbad95c7ea9792818c18fa716aa25951c5341b48732d611a396a", + "e16e35afe534a46e3e4cf09f355cbf02edc01937c2b444238162c2aca79037b8", + "1083b84e21b1cbad95c7ea9792818c18fa716aa25951c5341b48732d611a396a", 0, 21004, b"\0", @@ -134,8 +132,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 16777215, 1, 33554466, - b"f9753ee68cf2af20638cc753945d157039504f82d6d6fe0ec98806b64366c551", - b"056b57a69d88a4b71fba993c580d8bbf04f2c857f97a8b7d4b2892b5dafa9114", + "f9753ee68cf2af20638cc753945d157039504f82d6d6fe0ec98806b64366c551", + "056b57a69d88a4b71fba993c580d8bbf04f2c857f97a8b7d4b2892b5dafa9114", 0, 21004, b"\0", @@ -144,8 +142,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 16777216, 1, 33554468, - b"23a5399650c6efa46a25a0a966a29119830d9c587b6b93da43cb0be6d3c69059", - b"5a6eddffc62317a6a3801608071655a9c43423aef9705b2f5df4212942265c37", + "23a5399650c6efa46a25a0a966a29119830d9c587b6b93da43cb0be6d3c69059", + "5a6eddffc62317a6a3801608071655a9c43423aef9705b2f5df4212942265c37", 0, 21004, b"\0", @@ -154,8 +152,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 2147483629, 1, 4294967294, - b"6a996586f1ea19afe9cb0ca44dec6bb8643cdf53b5cf148323c94a32a04b087d", - b"0d086b208df6826657edf98010972b2649b323466a7ea4b67e7285fb9e829481", + "6a996586f1ea19afe9cb0ca44dec6bb8643cdf53b5cf148323c94a32a04b087d", + "0d086b208df6826657edf98010972b2649b323466a7ea4b67e7285fb9e829481", 0, 21004, b"\0", @@ -164,8 +162,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 2147483630, 1, 4294967296, - b"fd0377ff429a51ae284c4b09b7d7c26c78944c86bb311b5988d70be4fc59eeba", - b"2ad183858ac6b1efa820b9ee2c2dbf6659a73cc5b714d32c380b263d024f2ee9", + "fd0377ff429a51ae284c4b09b7d7c26c78944c86bb311b5988d70be4fc59eeba", + "2ad183858ac6b1efa820b9ee2c2dbf6659a73cc5b714d32c380b263d024f2ee9", 0, 21004, None, @@ -174,8 +172,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 2147483631, 1, 4294967298, - b"a4e89720285b179f679ecec1c79e4948b18ee4cf08f76b11d701cbead5e81a70", - b"094b32d3e53833c8085dadfe169782db4d32856d7b556f832f64dfdcfa1dd3b8", + "a4e89720285b179f679ecec1c79e4948b18ee4cf08f76b11d701cbead5e81a70", + "094b32d3e53833c8085dadfe169782db4d32856d7b556f832f64dfdcfa1dd3b8", 100000000000000000, 21000, None, @@ -184,8 +182,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 3125659152, 1, 6251318340, - b"a39e51d16cb10c81a9c1d9b071b714c4ecf112702407f1cc7aae35c85eced3d3", - b"0b0654665e4677c77510fc2a43026ee66c13261d3d893895bc49e6f4eaa5c8bd", + "a39e51d16cb10c81a9c1d9b071b714c4ecf112702407f1cc7aae35c85eced3d3", + "0b0654665e4677c77510fc2a43026ee66c13261d3d893895bc49e6f4eaa5c8bd", 1, 21005, None, @@ -194,8 +192,8 @@ class TestMsgEthereumSigntxChainId(TrezorTest): 4294967295, 1, 8589934625, - b"3367230b5f506426f075f3137f4fd6a5fc4198326dd4936bbc38bf0c5ff43a5e", - b"6e48c3c95b3a534f7853a3b5dd72cdeffe9b7e93503eb7a793c9d5fdc14c4e99", + "3367230b5f506426f075f3137f4fd6a5fc4198326dd4936bbc38bf0c5ff43a5e", + "6e48c3c95b3a534f7853a3b5dd72cdeffe9b7e93503eb7a793c9d5fdc14c4e99", 100000000000000000, 21000, None, @@ -211,11 +209,11 @@ class TestMsgEthereumSigntxChainId(TrezorTest): nonce=n, gas_price=20000000000, gas_limit=gl, - to=unhexlify("8ea7a3fccc211ed48b763b4164884ddbcf3b0a98"), + to=bytes.fromhex("8ea7a3fccc211ed48b763b4164884ddbcf3b0a98"), value=v, chain_id=ci, data=d, ) assert sig_v == sv - assert hexlify(sig_r) == sr - assert hexlify(sig_s) == ss + assert sig_r.hex() == sr + assert sig_s.hex() == ss diff --git a/trezorlib/tests/device_tests/test_msg_ethereum_verifymessage.py b/trezorlib/tests/device_tests/test_msg_ethereum_verifymessage.py index 3d951c3493..42149af01b 100644 --- a/trezorlib/tests/device_tests/test_msg_ethereum_verifymessage.py +++ b/trezorlib/tests/device_tests/test_msg_ethereum_verifymessage.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import unhexlify - import pytest from trezorlib import ethereum @@ -26,15 +24,15 @@ from .common import TrezorTest @pytest.mark.ethereum class TestMsgEthereumVerifymessage(TrezorTest): - ADDRESS = b"cb3864960e8db1a751212c580af27ee8867d688f" + ADDRESS = "cb3864960e8db1a751212c580af27ee8867d688f" VECTORS = [ ( "This is an example of a signed message.", - b"b7837058907192dbc9427bf57d93a0acca3816c92927a08be573b785f2d72dab65dad9c92fbe03a358acdb455eab2107b869945d11f4e353d9cc6ea957d08a871b", + "b7837058907192dbc9427bf57d93a0acca3816c92927a08be573b785f2d72dab65dad9c92fbe03a358acdb455eab2107b869945d11f4e353d9cc6ea957d08a871b", ), ( "VeryLongMessage!" * 64, - b"da2b73b0170479c2bfba3dd4839bf0d67732a44df8c873f3f3a2aca8a57d7bdc0b5d534f54c649e2d44135717001998b176d3cd1212366464db51f5838430fb31c", + "da2b73b0170479c2bfba3dd4839bf0d67732a44df8c873f3f3a2aca8a57d7bdc0b5d534f54c649e2d44135717001998b176d3cd1212366464db51f5838430fb31c", ), ] @@ -42,6 +40,6 @@ class TestMsgEthereumVerifymessage(TrezorTest): self.setup_mnemonic_nopin_nopassphrase() for msg, sig in self.VECTORS: res = ethereum.verify_message( - self.client, unhexlify(self.ADDRESS), unhexlify(sig), msg + self.client, bytes.fromhex(self.ADDRESS), bytes.fromhex(sig), msg ) assert res is True diff --git a/trezorlib/tests/device_tests/test_msg_getecdhsessionkey.py b/trezorlib/tests/device_tests/test_msg_getecdhsessionkey.py index febc80a821..270b934bd8 100644 --- a/trezorlib/tests/device_tests/test_msg_getecdhsessionkey.py +++ b/trezorlib/tests/device_tests/test_msg_getecdhsessionkey.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import unhexlify - from trezorlib import messages as proto, misc from .common import TrezorTest @@ -35,7 +33,7 @@ class TestMsgGetECDHSessionKey(TrezorTest): index=0, ) - peer_public_key = unhexlify( + peer_public_key = bytes.fromhex( "0407f2c6e5becf3213c1d07df0cfbe8e39f70a8c643df7575e5c56859ec52c45ca950499c019719dae0fda04248d851e52cf9d66eeb211d89a77be40de22b6c89d" ) result = misc.get_ecdh_session_key( @@ -44,11 +42,12 @@ class TestMsgGetECDHSessionKey(TrezorTest): peer_public_key=peer_public_key, ecdsa_curve_name="secp256k1", ) - assert result.session_key == unhexlify( - "0495e5d8c9e5cc09e7cf4908774f52decb381ce97f2fc9ba56e959c13f03f9f47a03dd151cbc908bc1db84d46e2c33e7bbb9daddc800f985244c924fd64adf6647" + assert ( + result.session_key.hex() + == "0495e5d8c9e5cc09e7cf4908774f52decb381ce97f2fc9ba56e959c13f03f9f47a03dd151cbc908bc1db84d46e2c33e7bbb9daddc800f985244c924fd64adf6647" ) - peer_public_key = unhexlify( + peer_public_key = bytes.fromhex( "04811a6c2bd2a547d0dd84747297fec47719e7c3f9b0024f027c2b237be99aac39a9230acbd163d0cb1524a0f5ea4bfed6058cec6f18368f72a12aa0c4d083ff64" ) result = misc.get_ecdh_session_key( @@ -57,11 +56,12 @@ class TestMsgGetECDHSessionKey(TrezorTest): peer_public_key=peer_public_key, ecdsa_curve_name="nist256p1", ) - assert result.session_key == unhexlify( - "046d1f5c48af2cf2c57076ac2c9d7808db2086f614cb7b8107119ff2c6270cd209749809efe0196f01a0cc633788cef1f4a2bd650c99570d06962f923fca6d8fdf" + assert ( + result.session_key.hex() + == "046d1f5c48af2cf2c57076ac2c9d7808db2086f614cb7b8107119ff2c6270cd209749809efe0196f01a0cc633788cef1f4a2bd650c99570d06962f923fca6d8fdf" ) - peer_public_key = unhexlify( + peer_public_key = bytes.fromhex( "40a8cf4b6a64c4314e80f15a8ea55812bd735fbb365936a48b2d78807b575fa17a" ) result = misc.get_ecdh_session_key( @@ -70,6 +70,7 @@ class TestMsgGetECDHSessionKey(TrezorTest): peer_public_key=peer_public_key, ecdsa_curve_name="curve25519", ) - assert result.session_key == unhexlify( - "04e24516669e0b7d3d72e5129fddd07b6644c30915f5c8b7f1f62324afb3624311" + assert ( + result.session_key.hex() + == "04e24516669e0b7d3d72e5129fddd07b6644c30915f5c8b7f1f62324afb3624311" ) diff --git a/trezorlib/tests/device_tests/test_msg_getpublickey_curve.py b/trezorlib/tests/device_tests/test_msg_getpublickey_curve.py index b3731b9043..7f350538fe 100644 --- a/trezorlib/tests/device_tests/test_msg_getpublickey_curve.py +++ b/trezorlib/tests/device_tests/test_msg_getpublickey_curve.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify - import pytest from trezorlib import btc @@ -28,70 +26,58 @@ class TestMsgGetpublickeyCurve(TrezorTest): def test_default_curve(self): self.setup_mnemonic_nopin_nopassphrase() assert ( - hexlify(btc.get_public_node(self.client, [H_(111), 42]).node.public_key) - == b"02e7fcec053f0df94d88c86447970743e8a1979d242d09338dcf8687a9966f7fbc" + btc.get_public_node(self.client, [H_(111), 42]).node.public_key.hex() + == "02e7fcec053f0df94d88c86447970743e8a1979d242d09338dcf8687a9966f7fbc" ) assert ( - hexlify(btc.get_public_node(self.client, [H_(111), H_(42)]).node.public_key) - == b"03ce7b690969d773ba9ed212464eb2b534b87b9b8a9383300bddabe1f093f79220" + btc.get_public_node(self.client, [H_(111), H_(42)]).node.public_key.hex() + == "03ce7b690969d773ba9ed212464eb2b534b87b9b8a9383300bddabe1f093f79220" ) def test_secp256k1_curve(self): self.setup_mnemonic_nopin_nopassphrase() assert ( - hexlify( - btc.get_public_node( - self.client, [H_(111), 42], ecdsa_curve_name="secp256k1" - ).node.public_key - ) - == b"02e7fcec053f0df94d88c86447970743e8a1979d242d09338dcf8687a9966f7fbc" + btc.get_public_node( + self.client, [H_(111), 42], ecdsa_curve_name="secp256k1" + ).node.public_key.hex() + == "02e7fcec053f0df94d88c86447970743e8a1979d242d09338dcf8687a9966f7fbc" ) assert ( - hexlify( - btc.get_public_node( - self.client, [H_(111), H_(42)], ecdsa_curve_name="secp256k1" - ).node.public_key - ) - == b"03ce7b690969d773ba9ed212464eb2b534b87b9b8a9383300bddabe1f093f79220" + btc.get_public_node( + self.client, [H_(111), H_(42)], ecdsa_curve_name="secp256k1" + ).node.public_key.hex() + == "03ce7b690969d773ba9ed212464eb2b534b87b9b8a9383300bddabe1f093f79220" ) def test_nist256p1_curve(self): self.setup_mnemonic_nopin_nopassphrase() assert ( - hexlify( - btc.get_public_node( - self.client, [H_(111), 42], ecdsa_curve_name="nist256p1" - ).node.public_key - ) - == b"02a9ce59b32bd64a70bc52aca96e5d09af65c6b9593ba2a60af8fccfe1437f2129" + btc.get_public_node( + self.client, [H_(111), 42], ecdsa_curve_name="nist256p1" + ).node.public_key.hex() + == "02a9ce59b32bd64a70bc52aca96e5d09af65c6b9593ba2a60af8fccfe1437f2129" ) assert ( - hexlify( - btc.get_public_node( - self.client, [H_(111), H_(42)], ecdsa_curve_name="nist256p1" - ).node.public_key - ) - == b"026fe35d8afed67dbf0561a1d32922e8ad0cd0d86effbc82be970cbed7d9bab2c2" + btc.get_public_node( + self.client, [H_(111), H_(42)], ecdsa_curve_name="nist256p1" + ).node.public_key.hex() + == "026fe35d8afed67dbf0561a1d32922e8ad0cd0d86effbc82be970cbed7d9bab2c2" ) def test_ed25519_curve(self): self.setup_mnemonic_nopin_nopassphrase() # ed25519 curve does not support public derivation, so test only private derivation paths assert ( - hexlify( - btc.get_public_node( - self.client, [H_(111), H_(42)], ecdsa_curve_name="ed25519" - ).node.public_key - ) - == b"0069a14b478e508eab6e93303f4e6f5c50b8136627830f2ed5c3a835fc6c0ea2b7" + btc.get_public_node( + self.client, [H_(111), H_(42)], ecdsa_curve_name="ed25519" + ).node.public_key.hex() + == "0069a14b478e508eab6e93303f4e6f5c50b8136627830f2ed5c3a835fc6c0ea2b7" ) assert ( - hexlify( - btc.get_public_node( - self.client, [H_(111), H_(65535)], ecdsa_curve_name="ed25519" - ).node.public_key - ) - == b"00514f73a05184458611b14c348fee4fd988d36cf3aee7207737861bac611de991" + btc.get_public_node( + self.client, [H_(111), H_(65535)], ecdsa_curve_name="ed25519" + ).node.public_key.hex() + == "00514f73a05184458611b14c348fee4fd988d36cf3aee7207737861bac611de991" ) # test failure when using public derivation with pytest.raises(CallException): 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 c6c79f8420..70985e0eb8 100644 --- a/trezorlib/tests/device_tests/test_msg_nem_signtx_mosaics.py +++ b/trezorlib/tests/device_tests/test_msg_nem_signtx_mosaics.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify - import pytest from trezorlib import nem @@ -50,12 +48,12 @@ class TestMsgNEMSignTxMosaics(TrezorTest): ) assert ( - hexlify(tx.data) - == b"02400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74041a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963010000000100000000000000" + tx.data.hex() + == "02400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74041a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963010000000100000000000000" ) assert ( - hexlify(tx.signature) - == b"928b03c4a69fff35ecf0912066ea705895b3028fad141197d7ea2b56f1eef2a2516455e6f35d318f6fa39e2bb40492ac4ae603260790f7ebc7ea69feb4ca4c0a" + tx.signature.hex() + == "928b03c4a69fff35ecf0912066ea705895b3028fad141197d7ea2b56f1eef2a2516455e6f35d318f6fa39e2bb40492ac4ae603260790f7ebc7ea69feb4ca4c0a" ) def test_nem_signtx_mosaic_creation(self): @@ -83,12 +81,12 @@ class TestMsgNEMSignTxMosaics(TrezorTest): ) assert ( - hexlify(tx.data) - == b"01400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f7404c100000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963050000006c6f72656d04000000150000000c00000064697669736962696c6974790100000030160000000d000000696e697469616c537570706c7901000000301a0000000d000000737570706c794d757461626c650500000066616c7365190000000c0000007472616e7366657261626c650500000066616c7365000000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000" + tx.data.hex() + == "01400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f7404c100000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963050000006c6f72656d04000000150000000c00000064697669736962696c6974790100000030160000000d000000696e697469616c537570706c7901000000301a0000000d000000737570706c794d757461626c650500000066616c7365190000000c0000007472616e7366657261626c650500000066616c7365000000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000" ) assert ( - hexlify(tx.signature) - == b"537adf4fd9bd5b46e204b2db0a435257a951ed26008305e0aa9e1201dafa4c306d7601a8dbacabf36b5137724386124958d53202015ab31fb3d0849dfed2df0e" + tx.signature.hex() + == "537adf4fd9bd5b46e204b2db0a435257a951ed26008305e0aa9e1201dafa4c306d7601a8dbacabf36b5137724386124958d53202015ab31fb3d0849dfed2df0e" ) def test_nem_signtx_mosaic_creation_properties(self): @@ -121,12 +119,12 @@ class TestMsgNEMSignTxMosaics(TrezorTest): ) assert ( - hexlify(tx.data) - == b"01400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f7404c200000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963050000006c6f72656d04000000150000000c00000064697669736962696c6974790100000034180000000d000000696e697469616c537570706c79030000003230301a0000000d000000737570706c794d757461626c650500000066616c7365180000000c0000007472616e7366657261626c650400000074727565000000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000" + tx.data.hex() + == "01400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f7404c200000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963050000006c6f72656d04000000150000000c00000064697669736962696c6974790100000034180000000d000000696e697469616c537570706c79030000003230301a0000000d000000737570706c794d757461626c650500000066616c7365180000000c0000007472616e7366657261626c650400000074727565000000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000" ) assert ( - hexlify(tx.signature) - == b"f17c859710060f2ea9a0ab740ef427431cf36bdc7d263570ca282bd66032e9f5737a921be9839429732e663be2bb74ccc16f34f5157ff2ef00a65796b54e800e" + tx.signature.hex() + == "f17c859710060f2ea9a0ab740ef427431cf36bdc7d263570ca282bd66032e9f5737a921be9839429732e663be2bb74ccc16f34f5157ff2ef00a65796b54e800e" ) def test_nem_signtx_mosaic_creation_levy(self): @@ -164,10 +162,10 @@ class TestMsgNEMSignTxMosaics(TrezorTest): ) assert ( - hexlify(tx.data) - == b"01400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74041801000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963050000006c6f72656d04000000150000000c00000064697669736962696c6974790100000034180000000d000000696e697469616c537570706c79030000003230301a0000000d000000737570706c794d757461626c650500000066616c7365180000000c0000007472616e7366657261626c65040000007472756556000000010000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a1a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f7361696302000000000000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000" + tx.data.hex() + == "01400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74041801000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963050000006c6f72656d04000000150000000c00000064697669736962696c6974790100000034180000000d000000696e697469616c537570706c79030000003230301a0000000d000000737570706c794d757461626c650500000066616c7365180000000c0000007472616e7366657261626c65040000007472756556000000010000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a1a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f7361696302000000000000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000" ) assert ( - hexlify(tx.signature) - == b"b87aac1ddf146d35e6a7f3451f57e2fe504ac559031e010a51261257c37bd50fcfa7b2939dd7a3203b54c4807d458475182f5d3dc135ec0d1d4a9cd42159fd0a" + tx.signature.hex() + == "b87aac1ddf146d35e6a7f3451f57e2fe504ac559031e010a51261257c37bd50fcfa7b2939dd7a3203b54c4807d458475182f5d3dc135ec0d1d4a9cd42159fd0a" ) 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 2bec8cee53..8aee4f661e 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,7 +15,6 @@ # If not, see . import time -from binascii import hexlify import pytest @@ -52,12 +51,12 @@ class TestMsgNEMSignTxMosaics(TrezorTest): ) assert ( - hexlify(tx.data) - == b"02400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74041a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963010000000100000000000000" + tx.data.hex() + == "02400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74041a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963010000000100000000000000" ) assert ( - hexlify(tx.signature) - == b"928b03c4a69fff35ecf0912066ea705895b3028fad141197d7ea2b56f1eef2a2516455e6f35d318f6fa39e2bb40492ac4ae603260790f7ebc7ea69feb4ca4c0a" + tx.signature.hex() + == "928b03c4a69fff35ecf0912066ea705895b3028fad141197d7ea2b56f1eef2a2516455e6f35d318f6fa39e2bb40492ac4ae603260790f7ebc7ea69feb4ca4c0a" ) def test_nem_signtx_mosaic_creation(self): @@ -83,12 +82,12 @@ class TestMsgNEMSignTxMosaics(TrezorTest): # not using client.nem_sign_tx() because of swiping tx = self._nem_sign(2, test_suite) assert ( - hexlify(tx.data) - == b"01400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f7404c100000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963050000006c6f72656d04000000150000000c00000064697669736962696c6974790100000030160000000d000000696e697469616c537570706c7901000000301a0000000d000000737570706c794d757461626c650500000066616c7365190000000c0000007472616e7366657261626c650500000066616c7365000000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000" + tx.data.hex() + == "01400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f7404c100000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963050000006c6f72656d04000000150000000c00000064697669736962696c6974790100000030160000000d000000696e697469616c537570706c7901000000301a0000000d000000737570706c794d757461626c650500000066616c7365190000000c0000007472616e7366657261626c650500000066616c7365000000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000" ) assert ( - hexlify(tx.signature) - == b"537adf4fd9bd5b46e204b2db0a435257a951ed26008305e0aa9e1201dafa4c306d7601a8dbacabf36b5137724386124958d53202015ab31fb3d0849dfed2df0e" + tx.signature.hex() + == "537adf4fd9bd5b46e204b2db0a435257a951ed26008305e0aa9e1201dafa4c306d7601a8dbacabf36b5137724386124958d53202015ab31fb3d0849dfed2df0e" ) def test_nem_signtx_mosaic_creation_properties(self): @@ -119,12 +118,12 @@ class TestMsgNEMSignTxMosaics(TrezorTest): # not using client.nem_sign_tx() because of swiping tx = self._nem_sign(2, test_suite) assert ( - hexlify(tx.data) - == b"01400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f7404c200000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963050000006c6f72656d04000000150000000c00000064697669736962696c6974790100000034180000000d000000696e697469616c537570706c79030000003230301a0000000d000000737570706c794d757461626c650500000066616c7365180000000c0000007472616e7366657261626c650400000074727565000000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000" + tx.data.hex() + == "01400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f7404c200000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963050000006c6f72656d04000000150000000c00000064697669736962696c6974790100000034180000000d000000696e697469616c537570706c79030000003230301a0000000d000000737570706c794d757461626c650500000066616c7365180000000c0000007472616e7366657261626c650400000074727565000000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000" ) assert ( - hexlify(tx.signature) - == b"f17c859710060f2ea9a0ab740ef427431cf36bdc7d263570ca282bd66032e9f5737a921be9839429732e663be2bb74ccc16f34f5157ff2ef00a65796b54e800e" + tx.signature.hex() + == "f17c859710060f2ea9a0ab740ef427431cf36bdc7d263570ca282bd66032e9f5737a921be9839429732e663be2bb74ccc16f34f5157ff2ef00a65796b54e800e" ) def test_nem_signtx_mosaic_creation_levy(self): @@ -159,12 +158,12 @@ class TestMsgNEMSignTxMosaics(TrezorTest): tx = self._nem_sign(6, test_suite) assert ( - hexlify(tx.data) - == b"01400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74041801000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963050000006c6f72656d04000000150000000c00000064697669736962696c6974790100000034180000000d000000696e697469616c537570706c79030000003230301a0000000d000000737570706c794d757461626c650500000066616c7365180000000c0000007472616e7366657261626c65040000007472756556000000010000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a1a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f7361696302000000000000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000" + tx.data.hex() + == "01400000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74041801000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f73616963050000006c6f72656d04000000150000000c00000064697669736962696c6974790100000034180000000d000000696e697469616c537570706c79030000003230301a0000000d000000737570706c794d757461626c650500000066616c7365180000000c0000007472616e7366657261626c65040000007472756556000000010000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a1a0000000600000068656c6c6f6d0c00000048656c6c6f206d6f7361696302000000000000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000" ) assert ( - hexlify(tx.signature) - == b"b87aac1ddf146d35e6a7f3451f57e2fe504ac559031e010a51261257c37bd50fcfa7b2939dd7a3203b54c4807d458475182f5d3dc135ec0d1d4a9cd42159fd0a" + tx.signature.hex() + == "b87aac1ddf146d35e6a7f3451f57e2fe504ac559031e010a51261257c37bd50fcfa7b2939dd7a3203b54c4807d458475182f5d3dc135ec0d1d4a9cd42159fd0a" ) def _nem_sign(self, num_of_swipes, test_suite): 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 65ade1c4e8..3f21d35b4e 100644 --- a/trezorlib/tests/device_tests/test_msg_nem_signtx_multisig.py +++ b/trezorlib/tests/device_tests/test_msg_nem_signtx_multisig.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify - import pytest from trezorlib import nem @@ -50,12 +48,12 @@ class TestMsgNEMSignTxMultisig(TrezorTest): }, ) assert ( - hexlify(tx.data) - == b"01100000020000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f740401000000280000000100000020000000c5f54ba980fcbb657dbaaa42700539b207873e134d2375efeab5f1ab52f878440400000003000000" + tx.data.hex() + == "01100000020000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f740401000000280000000100000020000000c5f54ba980fcbb657dbaaa42700539b207873e134d2375efeab5f1ab52f878440400000003000000" ) assert ( - hexlify(tx.signature) - == b"1200e552d8732ce3eae96719731194abfc5a09d98f61bb35684f4eeaeff15b1bdf326ee7b1bbbe89d3f68c8e07ad3daf72e4c7f031094ad2236b97918ad98601" + tx.signature.hex() + == "1200e552d8732ce3eae96719731194abfc5a09d98f61bb35684f4eeaeff15b1bdf326ee7b1bbbe89d3f68c8e07ad3daf72e4c7f031094ad2236b97918ad98601" ) def test_nem_signtx_multisig(self): @@ -77,7 +75,7 @@ class TestMsgNEMSignTxMultisig(TrezorTest): "type": nem.TYPE_TRANSACTION_TRANSFER, "deadline": 67890, "message": { - "payload": hexlify(b"test_nem_transaction_transfer"), + "payload": b"test_nem_transaction_transfer".hex(), "type": 1, }, "version": (0x98 << 24), @@ -88,12 +86,12 @@ class TestMsgNEMSignTxMultisig(TrezorTest): ) assert ( - hexlify(tx.data) - == b"04100000010000980100000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841027000000000000ff5f74049900000001010000010000980200000020000000c5f54ba980fcbb657dbaaa42700539b207873e134d2375efeab5f1ab52f87844983a000000000000320901002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a80841e000000000025000000010000001d000000746573745f6e656d5f7472616e73616374696f6e5f7472616e73666572" + tx.data.hex() + == "04100000010000980100000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620841027000000000000ff5f74049900000001010000010000980200000020000000c5f54ba980fcbb657dbaaa42700539b207873e134d2375efeab5f1ab52f87844983a000000000000320901002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a80841e000000000025000000010000001d000000746573745f6e656d5f7472616e73616374696f6e5f7472616e73666572" ) assert ( - hexlify(tx.signature) - == b"0cab2fddf2f02b5d7201675b9a71869292fe25ed33a366c7d2cbea7676fed491faaa03310079b7e17884b6ba2e3ea21c4f728d1cca8f190b8288207f6514820a" + tx.signature.hex() + == "0cab2fddf2f02b5d7201675b9a71869292fe25ed33a366c7d2cbea7676fed491faaa03310079b7e17884b6ba2e3ea21c4f728d1cca8f190b8288207f6514820a" ) tx = nem.sign_tx( @@ -122,12 +120,12 @@ class TestMsgNEMSignTxMultisig(TrezorTest): ) assert ( - hexlify(tx.data) - == b"04100000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620849600000000000000150300007d000000012000000100009840e2010020000000c5f54ba980fcbb657dbaaa42700539b207873e134d2375efeab5f1ab52f87844d007000000000000640000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000050000004142434445ffffffff" + tx.data.hex() + == "04100000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b40620849600000000000000150300007d000000012000000100009840e2010020000000c5f54ba980fcbb657dbaaa42700539b207873e134d2375efeab5f1ab52f87844d007000000000000640000002800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000050000004142434445ffffffff" ) assert ( - hexlify(tx.signature) - == b"c915ca3332380925f4050301cdc62269cf29437ac5955321b18da34e570c7fdbb1aec2940a2a553a2a5c90950a4db3c8d3ef899c1a108582e0657f66fbbb0b04" + tx.signature.hex() + == "c915ca3332380925f4050301cdc62269cf29437ac5955321b18da34e570c7fdbb1aec2940a2a553a2a5c90950a4db3c8d3ef899c1a108582e0657f66fbbb0b04" ) def test_nem_signtx_multisig_signer(self): @@ -149,7 +147,7 @@ class TestMsgNEMSignTxMultisig(TrezorTest): "type": nem.TYPE_TRANSACTION_TRANSFER, "deadline": 666, "message": { - "payload": hexlify(b"test_nem_transaction_transfer"), + "payload": b"test_nem_transaction_transfer".hex(), "type": 1, }, "version": (0x98 << 24), @@ -160,12 +158,12 @@ class TestMsgNEMSignTxMultisig(TrezorTest): ) assert ( - hexlify(tx.data) - == b"02100000010000984d01000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b4062084c800000000000000bc010000240000002000000087923cd4805f3babe6b5af9cbb2b08be4458e39531618aed73c911f160c8e38528000000544444324354364c514c49595135364b49584933454e544d36454b3344343450354b5a50464d4b32" + tx.data.hex() + == "02100000010000984d01000020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b4062084c800000000000000bc010000240000002000000087923cd4805f3babe6b5af9cbb2b08be4458e39531618aed73c911f160c8e38528000000544444324354364c514c49595135364b49584933454e544d36454b3344343450354b5a50464d4b32" ) assert ( - hexlify(tx.signature) - == b"286358a16ae545bff798feab93a713440c7c2f236d52ac0e995669d17a1915b0903667c97fa04418eccb42333cba95b19bccc8ac1faa8224dcfaeb41890ae807" + tx.signature.hex() + == "286358a16ae545bff798feab93a713440c7c2f236d52ac0e995669d17a1915b0903667c97fa04418eccb42333cba95b19bccc8ac1faa8224dcfaeb41890ae807" ) tx = nem.sign_tx( @@ -195,10 +193,10 @@ class TestMsgNEMSignTxMultisig(TrezorTest): ) assert ( - hexlify(tx.data) - == b"0210000001000098a0bb0d0020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b4062084400d030000000000640000002400000020000000c51395626a89a71c1ed785fb5974307a049b3b9e2165d56ed0302fe6b4f02a0128000000544444324354364c514c49595135364b49584933454e544d36454b3344343450354b5a50464d4b32" + tx.data.hex() + == "0210000001000098a0bb0d0020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b4062084400d030000000000640000002400000020000000c51395626a89a71c1ed785fb5974307a049b3b9e2165d56ed0302fe6b4f02a0128000000544444324354364c514c49595135364b49584933454e544d36454b3344343450354b5a50464d4b32" ) assert ( - hexlify(tx.signature) - == b"32b1fdf788c4a90c01eedf5972b7709745831d620c13e1e97b0de6481837e162ee551573f2409822754ae940731909ec4b79cf836487e898df476adb10467506" + tx.signature.hex() + == "32b1fdf788c4a90c01eedf5972b7709745831d620c13e1e97b0de6481837e162ee551573f2409822754ae940731909ec4b79cf836487e898df476adb10467506" ) 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 a52bb6d0e8..7d53b8d4c7 100644 --- a/trezorlib/tests/device_tests/test_msg_nem_signtx_others.py +++ b/trezorlib/tests/device_tests/test_msg_nem_signtx_others.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify - import pytest from trezorlib import nem @@ -49,12 +47,12 @@ class TestMsgNEMSignTxOther(TrezorTest): ) assert ( - hexlify(tx.data) - == b"01080000010000981f6fbc0020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b4062084ac26000000000000630000000100000020000000c5f54ba980fcbb657dbaaa42700539b207873e134d2375efeab5f1ab52f87844" + tx.data.hex() + == "01080000010000981f6fbc0020000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b4062084ac26000000000000630000000100000020000000c5f54ba980fcbb657dbaaa42700539b207873e134d2375efeab5f1ab52f87844" ) assert ( - hexlify(tx.signature) - == b"b6d9434ec5df80e65e6e45d7f0f3c579b4adfe8567c42d981b06e8ac368b1aad2b24eebecd5efd41f4497051fca8ea8a5e77636a79afc46ee1a8e0fe9e3ba90b" + tx.signature.hex() + == "b6d9434ec5df80e65e6e45d7f0f3c579b4adfe8567c42d981b06e8ac368b1aad2b24eebecd5efd41f4497051fca8ea8a5e77636a79afc46ee1a8e0fe9e3ba90b" ) def test_nem_signtx_provision_namespace(self): @@ -79,10 +77,10 @@ class TestMsgNEMSignTxOther(TrezorTest): ) assert ( - hexlify(tx.data) - == b"01200000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74042800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000050000004142434445ffffffff" + tx.data.hex() + == "01200000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74042800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324adc05000000000000050000004142434445ffffffff" ) assert ( - hexlify(tx.signature) - == b"f047ae7987cd3a60c0d5ad123aba211185cb6266a7469dfb0491a0df6b5cd9c92b2e2b9f396cc2a3146ee185ba02df4f9e7fb238fe479917b3d274d97336640d" + tx.signature.hex() + == "f047ae7987cd3a60c0d5ad123aba211185cb6266a7469dfb0491a0df6b5cd9c92b2e2b9f396cc2a3146ee185ba02df4f9e7fb238fe479917b3d274d97336640d" ) 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 9db81cecd3..60391940fe 100644 --- a/trezorlib/tests/device_tests/test_msg_nem_signtx_transfers.py +++ b/trezorlib/tests/device_tests/test_msg_nem_signtx_transfers.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify, unhexlify - import pytest from trezorlib import messages as proto, nem @@ -29,10 +27,6 @@ from .common import TrezorTest class TestMsgNEMSignTx(TrezorTest): def test_nem_signtx_simple(self): # tx hash: 209368053ac61969b6838ceb7e31badeb622ed6aa42d6c58365c42ad1a11e19d - signature = unhexlify( - "9cda2045324d05c791a4fc312ecceb62954e7740482f8df8928560d63cf273dea595023640179f112de755c79717757ef76962175378d6d87360ddb3f3e5f70f" - ) - self.setup_mnemonic_nopin_nopassphrase() with self.client: self.client.set_expected_responses( @@ -58,7 +52,7 @@ class TestMsgNEMSignTx(TrezorTest): "type": nem.TYPE_TRANSACTION_TRANSFER, "deadline": 74735615, "message": { - "payload": hexlify(b"test_nem_transaction_transfer"), + "payload": b"test_nem_transaction_transfer".hex(), "type": 1, }, "version": (0x98 << 24), @@ -66,10 +60,13 @@ class TestMsgNEMSignTx(TrezorTest): ) assert ( - hexlify(tx.data) - == b"01010000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74042800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a80841e000000000025000000010000001d000000746573745f6e656d5f7472616e73616374696f6e5f7472616e73666572" + tx.data.hex() + == "01010000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74042800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a80841e000000000025000000010000001d000000746573745f6e656d5f7472616e73616374696f6e5f7472616e73666572" + ) + assert ( + tx.signature.hex() + == "9cda2045324d05c791a4fc312ecceb62954e7740482f8df8928560d63cf273dea595023640179f112de755c79717757ef76962175378d6d87360ddb3f3e5f70f" ) - assert tx.signature == signature def test_nem_signtx_encrypted_payload(self): self.setup_mnemonic_nopin_nopassphrase() @@ -100,7 +97,7 @@ class TestMsgNEMSignTx(TrezorTest): "message": { # plain text is 32B long => cipher text is 48B # as per PKCS#7 another block containing padding is added - "payload": hexlify(b"this message should be encrypted"), + "payload": b"this message should be encrypted".hex(), "publicKey": "5a5e14c633d7d269302849d739d80344ff14db51d7bcda86045723f05c4e4541", "type": 2, }, @@ -109,8 +106,8 @@ class TestMsgNEMSignTx(TrezorTest): ) assert ( - hexlify(tx.data[:124]) - == b"01010000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74042800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a80841e0000000000680000000200000060000000" + tx.data[:124].hex() + == "01010000010000987f0e730420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208480841e0000000000ff5f74042800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a80841e0000000000680000000200000060000000" ) # after 124th byte comes iv (16B) salt (32B) and encrypted payload (48B) assert len(tx.data[124:]) == 16 + 32 + 48 @@ -143,12 +140,12 @@ class TestMsgNEMSignTx(TrezorTest): # trezor should display 45 XEM (multiplied by amount) assert ( - hexlify(tx.data) - == b"0101000002000098ff03940420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208440420f00000000007f5595042800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a404b4c000000000000000000010000001a0000000e000000030000006e656d0300000078656d4054890000000000" + tx.data.hex() + == "0101000002000098ff03940420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208440420f00000000007f5595042800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a404b4c000000000000000000010000001a0000000e000000030000006e656d0300000078656d4054890000000000" ) assert ( - hexlify(tx.signature) - == b"7b25a84b65adb489ea55739f1ca2d83a0ae069c3c58d0ea075fc30bfe8f649519199ad2324ca229c6c3214191469f95326e99712124592cae7cd3a092c93ac0c" + tx.signature.hex() + == "7b25a84b65adb489ea55739f1ca2d83a0ae069c3c58d0ea075fc30bfe8f649519199ad2324ca229c6c3214191469f95326e99712124592cae7cd3a092c93ac0c" ) def test_nem_signtx_unknown_mosaic(self): @@ -177,12 +174,12 @@ class TestMsgNEMSignTx(TrezorTest): # trezor should display warning about unknown mosaic and then dialog for 7000000 raw units of xxx.aa and 0 XEM assert ( - hexlify(tx.data) - == b"0101000002000098ff03940420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208440420f00000000007f5595042800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a80841e00000000000000000001000000190000000d00000003000000787878020000006161e067350000000000" + tx.data.hex() + == "0101000002000098ff03940420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208440420f00000000007f5595042800000054414c49434532474d4133344358484437584c4a513533364e4d35554e4b5148544f524e4e54324a80841e00000000000000000001000000190000000d00000003000000787878020000006161e067350000000000" ) assert ( - hexlify(tx.signature) - == b"2f0280420eceb41ef9e5d94fa44ddda9cdc70b8f423ae18af577f6d85df64bb4aaf40cf24fc6eef47c63b0963611f8682348cecdc49a9b64eafcbe7afcb49102" + tx.signature.hex() + == "2f0280420eceb41ef9e5d94fa44ddda9cdc70b8f423ae18af577f6d85df64bb4aaf40cf24fc6eef47c63b0963611f8682348cecdc49a9b64eafcbe7afcb49102" ) def test_nem_signtx_known_mosaic(self): @@ -212,12 +209,12 @@ class TestMsgNEMSignTx(TrezorTest): # trezor should display 0 XEM and 0.333 DIMTOK assert ( - hexlify(tx.data) - == b"0101000002000068ff03940420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208440420f00000000007f559504280000004e444d59534c5849344c3346595551574f344d4a4f564c364253544a4a584b44535a524d54344c54c0c62d000000000000000000010000001c000000100000000300000064696d05000000746f6b656e98b1010000000000" + tx.data.hex() + == "0101000002000068ff03940420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208440420f00000000007f559504280000004e444d59534c5849344c3346595551574f344d4a4f564c364253544a4a584b44535a524d54344c54c0c62d000000000000000000010000001c000000100000000300000064696d05000000746f6b656e98b1010000000000" ) assert ( - hexlify(tx.signature) - == b"e7f14ef8c39727bfd257e109cd5acac31542f2e41f2e5deb258fc1db602b690eb1cabca41a627fe2adc51f3193db85c76b41c80bb60161eb8738ebf20b507104" + tx.signature.hex() + == "e7f14ef8c39727bfd257e109cd5acac31542f2e41f2e5deb258fc1db602b690eb1cabca41a627fe2adc51f3193db85c76b41c80bb60161eb8738ebf20b507104" ) def test_nem_signtx_known_mosaic_with_levy(self): @@ -247,12 +244,12 @@ class TestMsgNEMSignTx(TrezorTest): # trezor should display 0 XEM and 0.444 DIM and levy of 0.000444 DIM assert ( - hexlify(tx.data) - == b"0101000002000068ff03940420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208440420f00000000007f559504280000004e444d59534c5849344c3346595551574f344d4a4f564c364253544a4a584b44535a524d54344c5480841e000000000000000000010000001b0000000f0000000300000064696d04000000636f696e3063030000000000" + tx.data.hex() + == "0101000002000068ff03940420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208440420f00000000007f559504280000004e444d59534c5849344c3346595551574f344d4a4f564c364253544a4a584b44535a524d54344c5480841e000000000000000000010000001b0000000f0000000300000064696d04000000636f696e3063030000000000" ) assert ( - hexlify(tx.signature) - == b"d3222dd7b83d66bda0539827ac6f909d06e40350b5e5e893d6fa762f954e9bf7da61022ef04950e7b6dfa88a2278f2f8a1b21df2bc3af22b388cb3a90bf76f07" + tx.signature.hex() + == "d3222dd7b83d66bda0539827ac6f909d06e40350b5e5e893d6fa762f954e9bf7da61022ef04950e7b6dfa88a2278f2f8a1b21df2bc3af22b388cb3a90bf76f07" ) def test_nem_signtx_multiple_mosaics(self): @@ -298,10 +295,10 @@ class TestMsgNEMSignTx(TrezorTest): # trezor should display warning, 6.06 XEM, 4000400 raw units of abc.mosaic (mosaics are merged) # and 222000 BREEZE assert ( - hexlify(tx.data) - == b"0101000002000068ff03940420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208440420f00000000007f559504280000004e444d59534c5849344c3346595551574f344d4a4f564c364253544a4a584b44535a524d54344c5480841e000000000000000000030000001d0000001100000003000000616263060000006d6f7361696348851e0000000000260000001a00000006000000627265657a650c000000627265657a652d746f6b656e98b10100000000001a0000000e000000030000006e656d0300000078656df03b2e0000000000" + tx.data.hex() + == "0101000002000068ff03940420000000edfd32f6e760648c032f9acb4b30d514265f6a5b5f8a7154f2618922b406208440420f00000000007f559504280000004e444d59534c5849344c3346595551574f344d4a4f564c364253544a4a584b44535a524d54344c5480841e000000000000000000030000001d0000001100000003000000616263060000006d6f7361696348851e0000000000260000001a00000006000000627265657a650c000000627265657a652d746f6b656e98b10100000000001a0000000e000000030000006e656d0300000078656df03b2e0000000000" ) assert ( - hexlify(tx.signature) - == b"b2b9319fca87a05bee17108edd9a8f78aeffef74bf6b4badc6da5d46e8ff4fe82e24bf69d8e6c4097d072adf39d0c753e7580f8afb21e3288ebfb7c4d84e470d" + tx.signature.hex() + == "b2b9319fca87a05bee17108edd9a8f78aeffef74bf6b4badc6da5d46e8ff4fe82e24bf69d8e6c4097d072adf39d0c753e7580f8afb21e3288ebfb7c4d84e470d" ) diff --git a/trezorlib/tests/device_tests/test_msg_ontology_sign_ont_id_add_attributes.py b/trezorlib/tests/device_tests/test_msg_ontology_sign_ont_id_add_attributes.py index 9242e6318d..1d1343ab3b 100644 --- a/trezorlib/tests/device_tests/test_msg_ontology_sign_ont_id_add_attributes.py +++ b/trezorlib/tests/device_tests/test_msg_ontology_sign_ont_id_add_attributes.py @@ -15,7 +15,6 @@ # If not, see . import time -from binascii import unhexlify import pytest @@ -44,7 +43,7 @@ class TestMsgOntologySignOntIdAddAttributes(TrezorTest): ont_id_add_attributes = messages.OntologyOntIdAddAttributes( ont_id="did:ont:AGVn4NZNEQ7RawHTDxjaTjZ3R8h8q1aq9h", - public_key=unhexlify( + public_key=bytes.fromhex( "03a8269b0dad311d98195e76729bc57003348a315fd17b6bf4f90ba8b86735fa33" ), ont_id_attributes=[ @@ -59,11 +58,13 @@ class TestMsgOntologySignOntIdAddAttributes(TrezorTest): 2, parse_path("m/44'/1024'/0'/0/0"), transaction, ont_id_add_attributes ) - assert signature.payload == unhexlify( - "bd00c66b2a6469643a6f6e743a4147566e344e5a4e455137526177485444786a61546a5a33523868387131617139686a7cc8516a7cc80966697273744e616d656a7cc8046a736f6e6a7cc80d4a6f686e2053686570706172646a7cc82103a8269b0dad311d98195e76729bc57003348a315fd17b6bf4f90ba8b86735fa336a7cc86c0d616464417474726962757465731400000000000000000000000000000000000000030068164f6e746f6c6f67792e4e61746976652e496e766f6b65" + assert ( + signature.payload.hex() + == "bd00c66b2a6469643a6f6e743a4147566e344e5a4e455137526177485444786a61546a5a33523868387131617139686a7cc8516a7cc80966697273744e616d656a7cc8046a736f6e6a7cc80d4a6f686e2053686570706172646a7cc82103a8269b0dad311d98195e76729bc57003348a315fd17b6bf4f90ba8b86735fa336a7cc86c0d616464417474726962757465731400000000000000000000000000000000000000030068164f6e746f6c6f67792e4e61746976652e496e766f6b65" ) - assert signature.signature == unhexlify( - "01c256dc16d88685fd6652d69b808059f7ed30edadb0ccfe51802702b94b65500922f9ea80e0fd7b77b5c51515e3bc43a495b3e98fb3adb82a0ab5dd47169fcf4e" + assert ( + signature.signature.hex() + == "01c256dc16d88685fd6652d69b808059f7ed30edadb0ccfe51802702b94b65500922f9ea80e0fd7b77b5c51515e3bc43a495b3e98fb3adb82a0ab5dd47169fcf4e" ) def _ontology_sign( diff --git a/trezorlib/tests/device_tests/test_msg_ontology_sign_ont_id_register.py b/trezorlib/tests/device_tests/test_msg_ontology_sign_ont_id_register.py index dcf125e0db..bc3bc6cf67 100644 --- a/trezorlib/tests/device_tests/test_msg_ontology_sign_ont_id_register.py +++ b/trezorlib/tests/device_tests/test_msg_ontology_sign_ont_id_register.py @@ -15,7 +15,6 @@ # If not, see . import time -from binascii import unhexlify import pytest @@ -44,7 +43,7 @@ class TestMsgOntologySignOntIdRegister(TrezorTest): ont_id_register = messages.OntologyOntIdRegister( ont_id="did:ont:AGVn4NZNEQ7RawHTDxjaTjZ3R8h8q1aq9h", - public_key=unhexlify( + public_key=bytes.fromhex( "03a8269b0dad311d98195e76729bc57003348a315fd17b6bf4f90ba8b86735fa33" ), ) @@ -53,11 +52,13 @@ class TestMsgOntologySignOntIdRegister(TrezorTest): signature = self._ontology_sign( 1, parse_path("m/44'/1024'/0'/0/0"), transaction, ont_id_register ) - assert signature.payload == unhexlify( - "9800c66b2a6469643a6f6e743a4147566e344e5a4e455137526177485444786a61546a5a33523868387131617139686a7cc82103a8269b0dad311d98195e76729bc57003348a315fd17b6bf4f90ba8b86735fa336a7cc86c127265674944576974685075626c69634b65791400000000000000000000000000000000000000030068164f6e746f6c6f67792e4e61746976652e496e766f6b65" + assert ( + signature.payload.hex() + == "9800c66b2a6469643a6f6e743a4147566e344e5a4e455137526177485444786a61546a5a33523868387131617139686a7cc82103a8269b0dad311d98195e76729bc57003348a315fd17b6bf4f90ba8b86735fa336a7cc86c127265674944576974685075626c69634b65791400000000000000000000000000000000000000030068164f6e746f6c6f67792e4e61746976652e496e766f6b65" ) - assert signature.signature == unhexlify( - "015d6abe231352d1ab32f0b0de0222cfb9a7a13f467a2bf8a369b61aa1f933dc3a6a2ba7831c8a15984fe0958d24cbca05d8e0736510c1734d773145ce3eac9e9b" + assert ( + signature.signature.hex() + == "015d6abe231352d1ab32f0b0de0222cfb9a7a13f467a2bf8a369b61aa1f933dc3a6a2ba7831c8a15984fe0958d24cbca05d8e0736510c1734d773145ce3eac9e9b" ) def _ontology_sign(self, num_of_swipes, address_n, transaction, ont_id_register): diff --git a/trezorlib/tests/device_tests/test_msg_ontology_sign_tx.py b/trezorlib/tests/device_tests/test_msg_ontology_sign_tx.py index 46f5265fa3..fe8b37549c 100644 --- a/trezorlib/tests/device_tests/test_msg_ontology_sign_tx.py +++ b/trezorlib/tests/device_tests/test_msg_ontology_sign_tx.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import unhexlify - import pytest from trezorlib import messages, ontology @@ -51,11 +49,13 @@ class TestMsgOntologySigntx(TrezorTest): signature = ontology.sign_transfer( self.client, parse_path("m/44'/1024'/0'/0/0"), transaction, transfer ) - assert signature.payload == unhexlify( - "7900c66b140b045b101bc9fabaf181e251a38e76b73962111b6a7cc814e885e849e7f545ea84e8c555b86c70e4f751c4ec6a7cc80864000000000000006a7cc86c51c1087472616e736665721400000000000000000000000000000000000000010068164f6e746f6c6f67792e4e61746976652e496e766f6b65" + assert ( + signature.payload.hex() + == "7900c66b140b045b101bc9fabaf181e251a38e76b73962111b6a7cc814e885e849e7f545ea84e8c555b86c70e4f751c4ec6a7cc80864000000000000006a7cc86c51c1087472616e736665721400000000000000000000000000000000000000010068164f6e746f6c6f67792e4e61746976652e496e766f6b65" ) - assert signature.signature == unhexlify( - "0102f9b0c43b2ed35aa89b0927a60e692cb8a74280c2da819a909150c8b3fd2b0b401806c97797fcc4b93d34f210ad01740cfd13b720a389a80f384c1f94fb749e" + assert ( + signature.signature.hex() + == "0102f9b0c43b2ed35aa89b0927a60e692cb8a74280c2da819a909150c8b3fd2b0b401806c97797fcc4b93d34f210ad01740cfd13b720a389a80f384c1f94fb749e" ) def test_ontology_sign_transfer_ong(self): @@ -81,6 +81,7 @@ class TestMsgOntologySigntx(TrezorTest): signature = ontology.sign_transfer( self.client, parse_path("m/44'/1024'/0'/0/0"), transaction, transfer ) - assert signature.signature == unhexlify( - "01ad88061a6cf5f4960cf9d311adb6dec4925d368b0fa9b7f56269f2a4078bea2367469af50c70260142d2ce3cc2d1e7fd0b2923df659c994412ff18f138438e9d" + assert ( + signature.signature.hex() + == "01ad88061a6cf5f4960cf9d311adb6dec4925d368b0fa9b7f56269f2a4078bea2367469af50c70260142d2ce3cc2d1e7fd0b2923df659c994412ff18f138438e9d" ) diff --git a/trezorlib/tests/device_tests/test_msg_ontology_sign_withdraw_ong.py b/trezorlib/tests/device_tests/test_msg_ontology_sign_withdraw_ong.py index 759f576b42..e66d473db5 100644 --- a/trezorlib/tests/device_tests/test_msg_ontology_sign_withdraw_ong.py +++ b/trezorlib/tests/device_tests/test_msg_ontology_sign_withdraw_ong.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import unhexlify - import pytest from trezorlib import messages, ontology @@ -50,9 +48,11 @@ class TestMsgOntologySignWithdraw(TrezorTest): signature = ontology.sign_withdrawal( self.client, parse_path("m/44'/1024'/0'/0/0"), transaction, withdraw_ong ) - assert signature.payload == unhexlify( - "9300c66b140b045b101bc9fabaf181e251a38e76b73962111b6a7cc81400000000000000000000000000000000000000016a7cc814e885e849e7f545ea84e8c555b86c70e4f751c4ec6a7cc808001bb700000000006a7cc86c0c7472616e7366657246726f6d1400000000000000000000000000000000000000020068164f6e746f6c6f67792e4e61746976652e496e766f6b65" + assert ( + signature.payload.hex() + == "9300c66b140b045b101bc9fabaf181e251a38e76b73962111b6a7cc81400000000000000000000000000000000000000016a7cc814e885e849e7f545ea84e8c555b86c70e4f751c4ec6a7cc808001bb700000000006a7cc86c0c7472616e7366657246726f6d1400000000000000000000000000000000000000020068164f6e746f6c6f67792e4e61746976652e496e766f6b65" ) - assert signature.signature == unhexlify( - "01a44355ac4549a021ecc571eb85ffb6ae4ff50cffc416ec55df40cad538fa55c64386167df2fb6b3fa9e698ebe265088839667b88da7e599ce7df679b0d5dfe60" + assert ( + signature.signature.hex() + == "01a44355ac4549a021ecc571eb85ffb6ae4ff50cffc416ec55df40cad538fa55c64386167df2fb6b3fa9e698ebe265088839667b88da7e599ce7df679b0d5dfe60" ) diff --git a/trezorlib/tests/device_tests/test_msg_ripple_sign_tx.py b/trezorlib/tests/device_tests/test_msg_ripple_sign_tx.py index 17385fa4fc..443835267f 100644 --- a/trezorlib/tests/device_tests/test_msg_ripple_sign_tx.py +++ b/trezorlib/tests/device_tests/test_msg_ripple_sign_tx.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import unhexlify - import pytest from trezorlib import messages, ripple @@ -43,11 +41,13 @@ class TestMsgRippleSignTx(TrezorTest): } ) resp = ripple.sign_tx(self.client, parse_path("m/44'/144'/0'/0/0"), msg) - assert resp.signature == unhexlify( - "3045022100e243ef623675eeeb95965c35c3e06d63a9fc68bb37e17dc87af9c0af83ec057e02206ca8aa5eaab8396397aef6d38d25710441faf7c79d292ee1d627df15ad9346c0" + assert ( + resp.signature.hex() + == "3045022100e243ef623675eeeb95965c35c3e06d63a9fc68bb37e17dc87af9c0af83ec057e02206ca8aa5eaab8396397aef6d38d25710441faf7c79d292ee1d627df15ad9346c0" ) - assert resp.serialized_tx == unhexlify( - "12000022800000002400000019614000000005f5e1006840000000000186a0732102131facd1eab748d6cddc492f54b04e8c35658894f4add2232ebc5afe7521dbe474473045022100e243ef623675eeeb95965c35c3e06d63a9fc68bb37e17dc87af9c0af83ec057e02206ca8aa5eaab8396397aef6d38d25710441faf7c79d292ee1d627df15ad9346c081148fb40e1ffa5d557ce9851a535af94965e0dd098883147148ebebf7304ccdf1676fefcf9734cf1e780826" + assert ( + resp.serialized_tx.hex() + == "12000022800000002400000019614000000005f5e1006840000000000186a0732102131facd1eab748d6cddc492f54b04e8c35658894f4add2232ebc5afe7521dbe474473045022100e243ef623675eeeb95965c35c3e06d63a9fc68bb37e17dc87af9c0af83ec057e02206ca8aa5eaab8396397aef6d38d25710441faf7c79d292ee1d627df15ad9346c081148fb40e1ffa5d557ce9851a535af94965e0dd098883147148ebebf7304ccdf1676fefcf9734cf1e780826" ) msg = ripple.create_sign_tx_msg( @@ -62,11 +62,13 @@ class TestMsgRippleSignTx(TrezorTest): } ) resp = ripple.sign_tx(self.client, parse_path("m/44'/144'/0'/0/2"), msg) - assert resp.signature == unhexlify( - "3044022069900e6e578997fad5189981b74b16badc7ba8b9f1052694033fa2779113ddc002206c8006ada310edf099fb22c0c12073550c8fc73247b236a974c5f1144831dd5f" + assert ( + resp.signature.hex() + == "3044022069900e6e578997fad5189981b74b16badc7ba8b9f1052694033fa2779113ddc002206c8006ada310edf099fb22c0c12073550c8fc73247b236a974c5f1144831dd5f" ) - assert resp.serialized_tx == unhexlify( - "1200002280000000240000000161400000000000000168400000000000000a732103dbed1e77cb91a005e2ec71afbccce5444c9be58276665a3859040f692de8fed274463044022069900e6e578997fad5189981b74b16badc7ba8b9f1052694033fa2779113ddc002206c8006ada310edf099fb22c0c12073550c8fc73247b236a974c5f1144831dd5f8114bdf86f3ae715ba346b7772ea0e133f48828b766483148fb40e1ffa5d557ce9851a535af94965e0dd0988" + assert ( + resp.serialized_tx.hex() + == "1200002280000000240000000161400000000000000168400000000000000a732103dbed1e77cb91a005e2ec71afbccce5444c9be58276665a3859040f692de8fed274463044022069900e6e578997fad5189981b74b16badc7ba8b9f1052694033fa2779113ddc002206c8006ada310edf099fb22c0c12073550c8fc73247b236a974c5f1144831dd5f8114bdf86f3ae715ba346b7772ea0e133f48828b766483148fb40e1ffa5d557ce9851a535af94965e0dd0988" ) msg = ripple.create_sign_tx_msg( @@ -83,11 +85,13 @@ class TestMsgRippleSignTx(TrezorTest): } ) resp = ripple.sign_tx(self.client, parse_path("m/44'/144'/0'/0/2"), msg) - assert resp.signature == unhexlify( - "30440220025a9cc2809527799e6ea5eb029488dc46c6632a8ca1ed7d3ca2d9211e80403a02202cfe8604e6c6d1d3c64246626cc1a1a9bd8a2163b969e561c6adda5dca8fc2a5" + assert ( + resp.signature.hex() + == "30440220025a9cc2809527799e6ea5eb029488dc46c6632a8ca1ed7d3ca2d9211e80403a02202cfe8604e6c6d1d3c64246626cc1a1a9bd8a2163b969e561c6adda5dca8fc2a5" ) - assert resp.serialized_tx == unhexlify( - "12000022800000002400000064201b00051537614000000005f5e109684000000000000064732103dbed1e77cb91a005e2ec71afbccce5444c9be58276665a3859040f692de8fed2744630440220025a9cc2809527799e6ea5eb029488dc46c6632a8ca1ed7d3ca2d9211e80403a02202cfe8604e6c6d1d3c64246626cc1a1a9bd8a2163b969e561c6adda5dca8fc2a58114bdf86f3ae715ba346b7772ea0e133f48828b766483148fb40e1ffa5d557ce9851a535af94965e0dd0988" + assert ( + resp.serialized_tx.hex() + == "12000022800000002400000064201b00051537614000000005f5e109684000000000000064732103dbed1e77cb91a005e2ec71afbccce5444c9be58276665a3859040f692de8fed2744630440220025a9cc2809527799e6ea5eb029488dc46c6632a8ca1ed7d3ca2d9211e80403a02202cfe8604e6c6d1d3c64246626cc1a1a9bd8a2163b969e561c6adda5dca8fc2a58114bdf86f3ae715ba346b7772ea0e133f48828b766483148fb40e1ffa5d557ce9851a535af94965e0dd0988" ) def test_ripple_sign_invalid_fee(self): diff --git a/trezorlib/tests/device_tests/test_msg_signidentity.py b/trezorlib/tests/device_tests/test_msg_signidentity.py index 2bc4a0a8b1..b1fcd46015 100644 --- a/trezorlib/tests/device_tests/test_msg_signidentity.py +++ b/trezorlib/tests/device_tests/test_msg_signidentity.py @@ -15,7 +15,6 @@ # If not, see . import struct -from binascii import hexlify, unhexlify from trezorlib import messages as proto, misc from trezorlib.tools import H_ @@ -50,7 +49,7 @@ class TestMsgSignidentity(TrezorTest): def test_sign(self): self.setup_mnemonic_nopin_nopassphrase() - hidden = unhexlify( + hidden = bytes.fromhex( "cd8552569d6e4509266ef137584d1e62c7579b5b8ed69bbafa4b864c6521e7c2" ) visual = "2015-03-23 17:39:22" @@ -69,12 +68,12 @@ class TestMsgSignidentity(TrezorTest): sig = misc.sign_identity(self.client, identity, hidden, visual) assert sig.address == "17F17smBTX9VTZA9Mj8LM5QGYNZnmziCjL" assert ( - hexlify(sig.public_key) - == b"023a472219ad3327b07c18273717bb3a40b39b743756bf287fbd5fa9d263237f45" + sig.public_key.hex() + == "023a472219ad3327b07c18273717bb3a40b39b743756bf287fbd5fa9d263237f45" ) assert ( - hexlify(sig.signature) - == b"20f2d1a42d08c3a362be49275c3ffeeaa415fc040971985548b9f910812237bb41770bf2c8d488428799fbb7e52c11f1a3404011375e4080e077e0e42ab7a5ba02" + sig.signature.hex() + == "20f2d1a42d08c3a362be49275c3ffeeaa415fc040971985548b9f910812237bb41770bf2c8d488428799fbb7e52c11f1a3404011375e4080e077e0e42ab7a5ba02" ) # URI : ftp://satoshi@bitcoin.org:2323/pub @@ -91,12 +90,12 @@ class TestMsgSignidentity(TrezorTest): sig = misc.sign_identity(self.client, identity, hidden, visual) assert sig.address == "1KAr6r5qF2kADL8bAaRQBjGKYEGxn9WrbS" assert ( - hexlify(sig.public_key) - == b"0266cf12d2ba381c5fd797da0d64f59c07a6f1b034ad276cca6bf2729e92b20d9c" + sig.public_key.hex() + == "0266cf12d2ba381c5fd797da0d64f59c07a6f1b034ad276cca6bf2729e92b20d9c" ) assert ( - hexlify(sig.signature) - == b"20bbd12dc657d534fc0f7e40186e22c447e0866a016f654f380adffa9a84e9faf412a1bb0ae908296537838cf91145e77da08681c63d07b7dca40728b9e6cb17cf" + sig.signature.hex() + == "20bbd12dc657d534fc0f7e40186e22c447e0866a016f654f380adffa9a84e9faf412a1bb0ae908296537838cf91145e77da08681c63d07b7dca40728b9e6cb17cf" ) # URI : ssh://satoshi@bitcoin.org @@ -110,12 +109,12 @@ class TestMsgSignidentity(TrezorTest): ) assert sig.address is None assert ( - hexlify(sig.public_key) - == b"0373f21a3da3d0e96fc2189f81dd826658c3d76b2d55bd1da349bc6c3573b13ae4" + sig.public_key.hex() + == "0373f21a3da3d0e96fc2189f81dd826658c3d76b2d55bd1da349bc6c3573b13ae4" ) assert ( - hexlify(sig.signature) - == b"005122cebabb852cdd32103b602662afa88e54c0c0c1b38d7099c64dcd49efe908288114e66ed2d8c82f23a70b769a4db723173ec53840c08aafb840d3f09a18d3" + sig.signature.hex() + == "005122cebabb852cdd32103b602662afa88e54c0c0c1b38d7099c64dcd49efe908288114e66ed2d8c82f23a70b769a4db723173ec53840c08aafb840d3f09a18d3" ) # URI : ssh://satoshi@bitcoin.org @@ -129,10 +128,10 @@ class TestMsgSignidentity(TrezorTest): ) assert sig.address is None assert ( - hexlify(sig.public_key) - == b"000fac2a491e0f5b871dc48288a4cae551bac5cb0ed19df0764d6e721ec5fade18" + sig.public_key.hex() + == "000fac2a491e0f5b871dc48288a4cae551bac5cb0ed19df0764d6e721ec5fade18" ) assert ( - hexlify(sig.signature) - == b"00f05e5085e666429de397c70a081932654369619c0bd2a6579ea6c1ef2af112ef79998d6c862a16b932d44b1ac1b83c8cbcd0fbda228274fde9e0d0ca6e9cb709" + sig.signature.hex() + == "00f05e5085e666429de397c70a081932654369619c0bd2a6579ea6c1ef2af112ef79998d6c862a16b932d44b1ac1b83c8cbcd0fbda228274fde9e0d0ca6e9cb709" ) diff --git a/trezorlib/tests/device_tests/test_msg_signmessage.py b/trezorlib/tests/device_tests/test_msg_signmessage.py index d05203cffe..d6b372256b 100644 --- a/trezorlib/tests/device_tests/test_msg_signmessage.py +++ b/trezorlib/tests/device_tests/test_msg_signmessage.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify - from trezorlib import btc from .common import TrezorTest @@ -29,8 +27,8 @@ class TestMsgSignmessage(TrezorTest): ) assert sig.address == "14LmW5k4ssUrtbAB4255zdqv3b4w1TuX9e" assert ( - hexlify(sig.signature) - == b"209e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" + sig.signature.hex() + == "209e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ) def test_sign_testnet(self): @@ -40,8 +38,8 @@ class TestMsgSignmessage(TrezorTest): ) assert sig.address == "mirio8q3gtv7fhdnmb3TpZ4EuafdzSs7zL" assert ( - hexlify(sig.signature) - == b"209e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" + sig.signature.hex() + == "209e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ) def test_sign_bch(self): @@ -51,8 +49,8 @@ class TestMsgSignmessage(TrezorTest): ) assert sig.address == "bitcoincash:qqj22md58nm09vpwsw82fyletkxkq36zxyxh322pru" assert ( - hexlify(sig.signature) - == b"209e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" + sig.signature.hex() + == "209e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ) def test_sign_long(self): @@ -60,8 +58,8 @@ class TestMsgSignmessage(TrezorTest): sig = btc.sign_message(self.client, "Bitcoin", [0], "VeryLongMessage!" * 64) assert sig.address == "14LmW5k4ssUrtbAB4255zdqv3b4w1TuX9e" assert ( - hexlify(sig.signature) - == b"205ff795c29aef7538f8b3bdb2e8add0d0722ad630a140b6aefd504a5a895cbd867cbb00981afc50edd0398211e8d7c304bb8efa461181bc0afa67ea4a720a89ed" + sig.signature.hex() + == "205ff795c29aef7538f8b3bdb2e8add0d0722ad630a140b6aefd504a5a895cbd867cbb00981afc50edd0398211e8d7c304bb8efa461181bc0afa67ea4a720a89ed" ) def test_sign_utf(self): @@ -73,13 +71,13 @@ class TestMsgSignmessage(TrezorTest): sig_nfkd = btc.sign_message(self.client, "Bitcoin", [0], words_nfkd) assert sig_nfkd.address == "14LmW5k4ssUrtbAB4255zdqv3b4w1TuX9e" assert ( - hexlify(sig_nfkd.signature) - == b"20d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" + sig_nfkd.signature.hex() + == "20d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" ) sig_nfc = btc.sign_message(self.client, "Bitcoin", [0], words_nfc) assert sig_nfc.address == "14LmW5k4ssUrtbAB4255zdqv3b4w1TuX9e" assert ( - hexlify(sig_nfc.signature) - == b"20d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" + sig_nfc.signature.hex() + == "20d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" ) diff --git a/trezorlib/tests/device_tests/test_msg_signmessage_segwit.py b/trezorlib/tests/device_tests/test_msg_signmessage_segwit.py index 7ec10a2447..f05405d53f 100644 --- a/trezorlib/tests/device_tests/test_msg_signmessage_segwit.py +++ b/trezorlib/tests/device_tests/test_msg_signmessage_segwit.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify - from trezorlib import btc, messages as proto from .common import TrezorTest @@ -33,8 +31,8 @@ class TestMsgSignmessageSegwit(TrezorTest): ) assert sig.address == "3CwYaeWxhpXXiHue3ciQez1DLaTEAXcKa1" assert ( - hexlify(sig.signature) - == b"249e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" + sig.signature.hex() + == "249e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ) def test_sign_testnet(self): @@ -48,8 +46,8 @@ class TestMsgSignmessageSegwit(TrezorTest): ) assert sig.address == "2N4VkePSzKH2sv5YBikLHGvzUYvfPxV6zS9" assert ( - hexlify(sig.signature) - == b"249e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" + sig.signature.hex() + == "249e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ) def test_sign_long(self): @@ -63,8 +61,8 @@ class TestMsgSignmessageSegwit(TrezorTest): ) assert sig.address == "3CwYaeWxhpXXiHue3ciQez1DLaTEAXcKa1" assert ( - hexlify(sig.signature) - == b"245ff795c29aef7538f8b3bdb2e8add0d0722ad630a140b6aefd504a5a895cbd867cbb00981afc50edd0398211e8d7c304bb8efa461181bc0afa67ea4a720a89ed" + sig.signature.hex() + == "245ff795c29aef7538f8b3bdb2e8add0d0722ad630a140b6aefd504a5a895cbd867cbb00981afc50edd0398211e8d7c304bb8efa461181bc0afa67ea4a720a89ed" ) def test_sign_utf(self): @@ -82,8 +80,8 @@ class TestMsgSignmessageSegwit(TrezorTest): ) assert sig_nfkd.address == "3CwYaeWxhpXXiHue3ciQez1DLaTEAXcKa1" assert ( - hexlify(sig_nfkd.signature) - == b"24d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" + sig_nfkd.signature.hex() + == "24d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" ) sig_nfc = btc.sign_message( @@ -95,6 +93,6 @@ class TestMsgSignmessageSegwit(TrezorTest): ) assert sig_nfc.address == "3CwYaeWxhpXXiHue3ciQez1DLaTEAXcKa1" assert ( - hexlify(sig_nfc.signature) - == b"24d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" + sig_nfc.signature.hex() + == "24d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" ) diff --git a/trezorlib/tests/device_tests/test_msg_signmessage_segwit_native.py b/trezorlib/tests/device_tests/test_msg_signmessage_segwit_native.py index 77025fd9a6..3138029a98 100644 --- a/trezorlib/tests/device_tests/test_msg_signmessage_segwit_native.py +++ b/trezorlib/tests/device_tests/test_msg_signmessage_segwit_native.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify - from trezorlib import btc, messages as proto from .common import TrezorTest @@ -33,8 +31,8 @@ class TestMsgSignmessageSegwitNative(TrezorTest): ) assert sig.address == "bc1qyjjkmdpu7metqt5r36jf872a34syws33s82q2j" assert ( - hexlify(sig.signature) - == b"289e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" + sig.signature.hex() + == "289e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ) def test_sign_testnet(self): @@ -48,8 +46,8 @@ class TestMsgSignmessageSegwitNative(TrezorTest): ) assert sig.address == "tb1qyjjkmdpu7metqt5r36jf872a34syws336p3n3p" assert ( - hexlify(sig.signature) - == b"289e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" + sig.signature.hex() + == "289e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ) def test_sign_long(self): @@ -63,8 +61,8 @@ class TestMsgSignmessageSegwitNative(TrezorTest): ) assert sig.address == "bc1qyjjkmdpu7metqt5r36jf872a34syws33s82q2j" assert ( - hexlify(sig.signature) - == b"285ff795c29aef7538f8b3bdb2e8add0d0722ad630a140b6aefd504a5a895cbd867cbb00981afc50edd0398211e8d7c304bb8efa461181bc0afa67ea4a720a89ed" + sig.signature.hex() + == "285ff795c29aef7538f8b3bdb2e8add0d0722ad630a140b6aefd504a5a895cbd867cbb00981afc50edd0398211e8d7c304bb8efa461181bc0afa67ea4a720a89ed" ) def test_sign_utf(self): @@ -82,8 +80,8 @@ class TestMsgSignmessageSegwitNative(TrezorTest): ) assert sig_nfkd.address == "bc1qyjjkmdpu7metqt5r36jf872a34syws33s82q2j" assert ( - hexlify(sig_nfkd.signature) - == b"28d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" + sig_nfkd.signature.hex() + == "28d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" ) sig_nfc = btc.sign_message( @@ -95,6 +93,6 @@ class TestMsgSignmessageSegwitNative(TrezorTest): ) assert sig_nfc.address == "bc1qyjjkmdpu7metqt5r36jf872a34syws33s82q2j" assert ( - hexlify(sig_nfc.signature) - == b"28d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" + sig_nfc.signature.hex() + == "28d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" ) diff --git a/trezorlib/tests/device_tests/test_msg_signtx.py b/trezorlib/tests/device_tests/test_msg_signtx.py index 6e98a5c0fc..1608c2e128 100644 --- a/trezorlib/tests/device_tests/test_msg_signtx.py +++ b/trezorlib/tests/device_tests/test_msg_signtx.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify, unhexlify - import pytest from trezorlib import btc, messages as proto @@ -25,21 +23,45 @@ from trezorlib.tools import H_, CallException, parse_path from .common import TrezorTest from .conftest import TREZOR_VERSION -# fmt: off -TXHASH_157041 = unhexlify('1570416eb4302cf52979afd5e6909e37d8fdd874301f7cc87e547e509cb1caa6') -TXHASH_39a29e = unhexlify('39a29e954977662ab3879c66fb251ef753e0912223a83d1dcb009111d28265e5') -TXHASH_4a7b7e = unhexlify('4a7b7e0403ae5607e473949cfa03f09f2cd8b0f404bf99ce10b7303d86280bf7') -TXHASH_54aa56 = unhexlify('54aa5680dea781f45ebb536e53dffc526d68c0eb5c00547e323b2c32382dfba3') -TXHASH_58497a = unhexlify('58497a7757224d1ff1941488d23087071103e5bf855f4c1c44e5c8d9d82ca46e') -TXHASH_6f90f3 = unhexlify('6f90f3c7cbec2258b0971056ef3fe34128dbde30daa9c0639a898f9977299d54') -TXHASH_c63e24 = unhexlify('c63e24ed820c5851b60c54613fbc4bcb37df6cd49b4c96143e99580a472f79fb') -TXHASH_c6be22 = unhexlify('c6be22d34946593bcad1d2b013e12f74159e69574ffea21581dad115572e031c') -TXHASH_d5f65e = unhexlify('d5f65ee80147b4bcc70b75e4bbf2d7382021b871bd8867ef8fa525ef50864882') -TXHASH_d6da21 = unhexlify('d6da21677d7cca5f42fbc7631d062c9ae918a0254f7c6c22de8e8cb7fd5b8236') -TXHASH_d2dcda = unhexlify('d2dcdaf547ea7f57a713c607f15e883ddc4a98167ee2c43ed953c53cb5153e24') -TXHASH_e5040e = unhexlify('e5040e1bc1ae7667ffb9e5248e90b2fb93cd9150234151ce90e14ab2f5933bcd') -TXHASH_50f6f1 = unhexlify('50f6f1209ca92d7359564be803cb2c932cde7d370f7cee50fd1fad6790f6206d') -# fmt: on +TXHASH_157041 = bytes.fromhex( + "1570416eb4302cf52979afd5e6909e37d8fdd874301f7cc87e547e509cb1caa6" +) +TXHASH_39a29e = bytes.fromhex( + "39a29e954977662ab3879c66fb251ef753e0912223a83d1dcb009111d28265e5" +) +TXHASH_4a7b7e = bytes.fromhex( + "4a7b7e0403ae5607e473949cfa03f09f2cd8b0f404bf99ce10b7303d86280bf7" +) +TXHASH_54aa56 = bytes.fromhex( + "54aa5680dea781f45ebb536e53dffc526d68c0eb5c00547e323b2c32382dfba3" +) +TXHASH_58497a = bytes.fromhex( + "58497a7757224d1ff1941488d23087071103e5bf855f4c1c44e5c8d9d82ca46e" +) +TXHASH_6f90f3 = bytes.fromhex( + "6f90f3c7cbec2258b0971056ef3fe34128dbde30daa9c0639a898f9977299d54" +) +TXHASH_c63e24 = bytes.fromhex( + "c63e24ed820c5851b60c54613fbc4bcb37df6cd49b4c96143e99580a472f79fb" +) +TXHASH_c6be22 = bytes.fromhex( + "c6be22d34946593bcad1d2b013e12f74159e69574ffea21581dad115572e031c" +) +TXHASH_d5f65e = bytes.fromhex( + "d5f65ee80147b4bcc70b75e4bbf2d7382021b871bd8867ef8fa525ef50864882" +) +TXHASH_d6da21 = bytes.fromhex( + "d6da21677d7cca5f42fbc7631d062c9ae918a0254f7c6c22de8e8cb7fd5b8236" +) +TXHASH_d2dcda = bytes.fromhex( + "d2dcdaf547ea7f57a713c607f15e883ddc4a98167ee2c43ed953c53cb5153e24" +) +TXHASH_e5040e = bytes.fromhex( + "e5040e1bc1ae7667ffb9e5248e90b2fb93cd9150234151ce90e14ab2f5933bcd" +) +TXHASH_50f6f1 = bytes.fromhex( + "50f6f1209ca92d7359564be803cb2c932cde7d370f7cee50fd1fad6790f6206d" +) def check_sign_tx(client, coin_name, inputs, outputs, fee_too_high=False, failure=None): @@ -73,7 +95,7 @@ def check_sign_tx(client, coin_name, inputs, outputs, fee_too_high=False, failur ): continue - prev_hash = hexlify(inp.prev_hash).decode() + prev_hash = inp.prev_hash.hex() prev_tx = txes.get_tx(prev_hash) for pi in range(len(prev_tx.inputs)): r = tx_request(t.TXINPUT, request_index=pi, tx_hash=inp.prev_hash) @@ -143,8 +165,8 @@ class TestMsgSigntx(TrezorTest): # Accepted by network: tx fd79435246dee76b2f159d2db08032d666c95adc544de64c8c49f474df4a7fee assert ( - hexlify(serialized_tx) - == b"010000000182488650ef25a58fef6788bd71b8212038d7f2bbe4750bc7bcb44701e85ef6d5000000006b4830450221009a0b7be0d4ed3146ee262b42202841834698bb3ee39c24e7437df208b8b7077102202b79ab1e7736219387dffe8d615bbdba87e11477104b867ef47afed1a5ede7810121023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43dffffffff0160cc0500000000001976a914de9b2a8da088824e8fe51debea566617d851537888ac00000000" + serialized_tx.hex() + == "010000000182488650ef25a58fef6788bd71b8212038d7f2bbe4750bc7bcb44701e85ef6d5000000006b4830450221009a0b7be0d4ed3146ee262b42202841834698bb3ee39c24e7437df208b8b7077102202b79ab1e7736219387dffe8d615bbdba87e11477104b867ef47afed1a5ede7810121023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43dffffffff0160cc0500000000001976a914de9b2a8da088824e8fe51debea566617d851537888ac00000000" ) def test_testnet_one_two_fee(self): @@ -176,8 +198,8 @@ class TestMsgSigntx(TrezorTest): _, serialized_tx = check_sign_tx(self.client, "Testnet", [inp1], [out1, out2]) assert ( - hexlify(serialized_tx) - == b"0100000001cd3b93f5b24ae190ce5141235091cd93fbb2908e24e5b9ff6776aec11b0e04e5000000006b483045022100eba3bbcbb82ab1ebac88a394e8fb53b0263dadbb3e8072f0a21ee62818c911060220686a9b7f306d028b54a228b5c47cc6c27b1d01a3b0770440bcc64d55d8bace2c0121030e669acac1f280d1ddf441cd2ba5e97417bf2689e4bbec86df4f831bf9f7ffd0ffffffff021023cb01000000001976a91485eb47fe98f349065d6f044e27a4ac541af79ee288aca0bb0d00000000001976a9143d3cca567e00a04819742b21a696a67da796498b88ac00000000" + serialized_tx.hex() + == "0100000001cd3b93f5b24ae190ce5141235091cd93fbb2908e24e5b9ff6776aec11b0e04e5000000006b483045022100eba3bbcbb82ab1ebac88a394e8fb53b0263dadbb3e8072f0a21ee62818c911060220686a9b7f306d028b54a228b5c47cc6c27b1d01a3b0770440bcc64d55d8bace2c0121030e669acac1f280d1ddf441cd2ba5e97417bf2689e4bbec86df4f831bf9f7ffd0ffffffff021023cb01000000001976a91485eb47fe98f349065d6f044e27a4ac541af79ee288aca0bb0d00000000001976a9143d3cca567e00a04819742b21a696a67da796498b88ac00000000" ) def test_testnet_fee_too_high(self): @@ -212,8 +234,8 @@ class TestMsgSigntx(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000001549d2977998f899a63c0a9da30dedb2841e33fef561097b05822eccbc7f3906f010000006a47304402205ea68e9d52d4be14420ccecf7f2e11489d49b86bedb79ee99b5e9b7188884150022056219cb3384a5df8048cca286a9533403dbda1571afd84b51379cdaee6a6dea80121023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43dffffffff020084d717000000001976a9140223b1a09138753c9cb0baf95a0a62c82711567a88ac0065cd1d000000001976a9142db345c36563122e2fd0f5485fb7ea9bbf7cb5a288ac00000000" + serialized_tx.hex() + == "0100000001549d2977998f899a63c0a9da30dedb2841e33fef561097b05822eccbc7f3906f010000006a47304402205ea68e9d52d4be14420ccecf7f2e11489d49b86bedb79ee99b5e9b7188884150022056219cb3384a5df8048cca286a9533403dbda1571afd84b51379cdaee6a6dea80121023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43dffffffff020084d717000000001976a9140223b1a09138753c9cb0baf95a0a62c82711567a88ac0065cd1d000000001976a9142db345c36563122e2fd0f5485fb7ea9bbf7cb5a288ac00000000" ) def test_one_two_fee(self): @@ -247,8 +269,8 @@ class TestMsgSigntx(TrezorTest): _, serialized_tx = check_sign_tx(self.client, "Bitcoin", [inp1], [out1, out2]) assert ( - hexlify(serialized_tx) - == b"01000000016d20f69067ad1ffd50ee7c0f377dde2c932ccb03e84b5659732da99c20f1f650010000006a47304402203429bd3ce7b38c5c1e8a15340edd79ced41a2939aae62e259d2e3d18e0c5ee7602201b83b10ebc4d6dcee3f9eb42ba8f1ef8a059a05397e0c1b9223d1565a3e6ec01012102a7a079c1ef9916b289c2ff21a992c808d0de3dfcf8a9f163205c5c9e21f55d5cffffffff0230750000000000001976a914954820f1de627a703596ac0396f986d958e3de4c88ac10270000000000001976a91405427736705cfbfaff76b1cff48283707fb1037088ac00000000" + serialized_tx.hex() + == "01000000016d20f69067ad1ffd50ee7c0f377dde2c932ccb03e84b5659732da99c20f1f650010000006a47304402203429bd3ce7b38c5c1e8a15340edd79ced41a2939aae62e259d2e3d18e0c5ee7602201b83b10ebc4d6dcee3f9eb42ba8f1ef8a059a05397e0c1b9223d1565a3e6ec01012102a7a079c1ef9916b289c2ff21a992c808d0de3dfcf8a9f163205c5c9e21f55d5cffffffff0230750000000000001976a914954820f1de627a703596ac0396f986d958e3de4c88ac10270000000000001976a91405427736705cfbfaff76b1cff48283707fb1037088ac00000000" ) def test_one_three_fee(self): @@ -287,8 +309,8 @@ class TestMsgSigntx(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"010000000182488650ef25a58fef6788bd71b8212038d7f2bbe4750bc7bcb44701e85ef6d5000000006b483045022100e695e2c530c7c0fc32e6b79b7cff56a7f70a8c9da787534f46b4204070f914fc02207b0879a81408a11e23b11d4c7965c62b5fc6d5c2d92340f5ee2da7b40e99314a0121023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43dffffffff0300650400000000001976a914de9b2a8da088824e8fe51debea566617d851537888ace02e0000000000001976a9141fe1d337fb81afca42818051e12fd18245d1b17288ac80380100000000001976a9140223b1a09138753c9cb0baf95a0a62c82711567a88ac00000000" + serialized_tx.hex() + == "010000000182488650ef25a58fef6788bd71b8212038d7f2bbe4750bc7bcb44701e85ef6d5000000006b483045022100e695e2c530c7c0fc32e6b79b7cff56a7f70a8c9da787534f46b4204070f914fc02207b0879a81408a11e23b11d4c7965c62b5fc6d5c2d92340f5ee2da7b40e99314a0121023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43dffffffff0300650400000000001976a914de9b2a8da088824e8fe51debea566617d851537888ace02e0000000000001976a9141fe1d337fb81afca42818051e12fd18245d1b17288ac80380100000000001976a9140223b1a09138753c9cb0baf95a0a62c82711567a88ac00000000" ) def test_two_two(self): @@ -333,8 +355,8 @@ class TestMsgSigntx(TrezorTest): # Accepted by network: tx c63e24ed820c5851b60c54613fbc4bcb37df6cd49b4c96143e99580a472f79fb assert ( - hexlify(serialized_tx) - == b"01000000021c032e5715d1da8115a2fe4f57699e15742fe113b0d2d1ca3b594649d322bec6010000006b483045022100f773c403b2f85a5c1d6c9c4ad69c43de66930fff4b1bc818eb257af98305546a0220443bde4be439f276a6ce793664b463580e210ec6c9255d68354449ac0443c76501210338d78612e990f2eea0c426b5e48a8db70b9d7ed66282b3b26511e0b1c75515a6ffffffff6ea42cd8d9c8e5441c4c5f85bfe50311078730d2881494f11f4d2257777a4958010000006b48304502210090cff1c1911e771605358a8cddd5ae94c7b60cc96e50275908d9bf9d6367c79f02202bfa72e10260a146abd59d0526e1335bacfbb2b4401780e9e3a7441b0480c8da0121038caebd6f753bbbd2bb1f3346a43cd32140648583673a31d62f2dfb56ad0ab9e3ffffffff02a0860100000000001976a9142f4490d5263906e4887ca2996b9e207af3e7824088aca0860100000000001976a914812c13d97f9159e54e326b481b8f88a73df8507a88ac00000000" + serialized_tx.hex() + == "01000000021c032e5715d1da8115a2fe4f57699e15742fe113b0d2d1ca3b594649d322bec6010000006b483045022100f773c403b2f85a5c1d6c9c4ad69c43de66930fff4b1bc818eb257af98305546a0220443bde4be439f276a6ce793664b463580e210ec6c9255d68354449ac0443c76501210338d78612e990f2eea0c426b5e48a8db70b9d7ed66282b3b26511e0b1c75515a6ffffffff6ea42cd8d9c8e5441c4c5f85bfe50311078730d2881494f11f4d2257777a4958010000006b48304502210090cff1c1911e771605358a8cddd5ae94c7b60cc96e50275908d9bf9d6367c79f02202bfa72e10260a146abd59d0526e1335bacfbb2b4401780e9e3a7441b0480c8da0121038caebd6f753bbbd2bb1f3346a43cd32140648583673a31d62f2dfb56ad0ab9e3ffffffff02a0860100000000001976a9142f4490d5263906e4887ca2996b9e207af3e7824088aca0860100000000001976a914812c13d97f9159e54e326b481b8f88a73df8507a88ac00000000" ) """ @@ -393,11 +415,11 @@ class TestMsgSigntx(TrezorTest): _, serialized_tx = check_sign_tx(self.client, "Bitcoin", [inp1, inp2], outputs) assert ( - hexlify(serialized_tx) - == b"0100000002fb792f470a58993e14964c9bd46cdf37cb4bbc3f61540cb651580c82ed243ec6010000006b483045022100969da46f94a81f34f3717b014e0c3e1826eda1b0022ec2f9ce39f3d750ab9235022026da269770993211a1503413566a339bbb4389a482fffcf8e1f76713fc3b94f5012103477b9f0f34ae85434ce795f0c5e1e90c9420e5b5fad084d7cce9a487b94a7902ffffffffe56582d2119100cb1d3da8232291e053f71e25fb669c87b32a667749959ea239010000006a473044022052e1419bb237b9db400ab5e3df16db6355619d545fde9030924a360763ae9ad40220704beab04d72ecaeb42eca7d98faca7a0941e65f2e1341f183be2b83e6b09e1c012103477b9f0f34ae85434ce795f0c5e1e90c9420e5b5fad084d7cce9a487b94a7902fffffffffdff00" - + b"d8270000000000001976a914f0a2b64e56ee2ff57126232f84af6e3a41d4055088ac" + serialized_tx.hex() + == "0100000002fb792f470a58993e14964c9bd46cdf37cb4bbc3f61540cb651580c82ed243ec6010000006b483045022100969da46f94a81f34f3717b014e0c3e1826eda1b0022ec2f9ce39f3d750ab9235022026da269770993211a1503413566a339bbb4389a482fffcf8e1f76713fc3b94f5012103477b9f0f34ae85434ce795f0c5e1e90c9420e5b5fad084d7cce9a487b94a7902ffffffffe56582d2119100cb1d3da8232291e053f71e25fb669c87b32a667749959ea239010000006a473044022052e1419bb237b9db400ab5e3df16db6355619d545fde9030924a360763ae9ad40220704beab04d72ecaeb42eca7d98faca7a0941e65f2e1341f183be2b83e6b09e1c012103477b9f0f34ae85434ce795f0c5e1e90c9420e5b5fad084d7cce9a487b94a7902fffffffffdff00" + + "d8270000000000001976a914f0a2b64e56ee2ff57126232f84af6e3a41d4055088ac" * cnt - + b"00000000" + + "00000000" ) def test_fee_too_high(self): @@ -424,8 +446,8 @@ class TestMsgSigntx(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000001a6cab19c507e547ec87c1f3074d8fdd8379e90e6d5af7929f52c30b46e417015000000006b483045022100dc3531da7feb261575f03b5b9bbb35edc7f73bb081c92538827105de4102737002200161e34395f6a8ee93979200cb974fa75ccef6d7c14021511cf468eece90d6450121023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43dffffffff01d018ee05000000001976a914de9b2a8da088824e8fe51debea566617d851537888ac00000000" + serialized_tx.hex() + == "0100000001a6cab19c507e547ec87c1f3074d8fdd8379e90e6d5af7929f52c30b46e417015000000006b483045022100dc3531da7feb261575f03b5b9bbb35edc7f73bb081c92538827105de4102737002200161e34395f6a8ee93979200cb974fa75ccef6d7c14021511cf468eece90d6450121023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43dffffffff01d018ee05000000001976a914de9b2a8da088824e8fe51debea566617d851537888ac00000000" ) def test_not_enough_funds(self): @@ -477,8 +499,8 @@ class TestMsgSigntx(TrezorTest): # Accepted by network: tx 8cc1f4adf7224ce855cf535a5104594a0004cb3b640d6714fdb00b9128832dd5 assert ( - hexlify(serialized_tx) - == b"0100000001a3fb2d38322c3b327e54005cebc0686d52fcdf536e53bb5ef481a7de8056aa54010000006b4830450221009e020b0390ccad533b73b552f8a99a9d827212c558e4f755503674d07c92ad4502202d606f7316990e0461c51d4add25054f19c697aa3e3c2ced4d568f0b2c57e62f0121023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43dffffffff0170f305000000000017a9147f844bdb0b8fd54b64e3d16c85dc1170f1ff97c18700000000" + serialized_tx.hex() + == "0100000001a3fb2d38322c3b327e54005cebc0686d52fcdf536e53bb5ef481a7de8056aa54010000006b4830450221009e020b0390ccad533b73b552f8a99a9d827212c558e4f755503674d07c92ad4502202d606f7316990e0461c51d4add25054f19c697aa3e3c2ced4d568f0b2c57e62f0121023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43dffffffff0170f305000000000017a9147f844bdb0b8fd54b64e3d16c85dc1170f1ff97c18700000000" ) def test_attack_change_outputs(self): @@ -547,8 +569,8 @@ class TestMsgSigntx(TrezorTest): # Accepted by network: tx c63e24ed820c5851b60c54613fbc4bcb37df6cd49b4c96143e99580a472f79fb assert ( - hexlify(serialized_tx) - == b"01000000021c032e5715d1da8115a2fe4f57699e15742fe113b0d2d1ca3b594649d322bec6010000006b483045022100f773c403b2f85a5c1d6c9c4ad69c43de66930fff4b1bc818eb257af98305546a0220443bde4be439f276a6ce793664b463580e210ec6c9255d68354449ac0443c76501210338d78612e990f2eea0c426b5e48a8db70b9d7ed66282b3b26511e0b1c75515a6ffffffff6ea42cd8d9c8e5441c4c5f85bfe50311078730d2881494f11f4d2257777a4958010000006b48304502210090cff1c1911e771605358a8cddd5ae94c7b60cc96e50275908d9bf9d6367c79f02202bfa72e10260a146abd59d0526e1335bacfbb2b4401780e9e3a7441b0480c8da0121038caebd6f753bbbd2bb1f3346a43cd32140648583673a31d62f2dfb56ad0ab9e3ffffffff02a0860100000000001976a9142f4490d5263906e4887ca2996b9e207af3e7824088aca0860100000000001976a914812c13d97f9159e54e326b481b8f88a73df8507a88ac00000000" + serialized_tx.hex() + == "01000000021c032e5715d1da8115a2fe4f57699e15742fe113b0d2d1ca3b594649d322bec6010000006b483045022100f773c403b2f85a5c1d6c9c4ad69c43de66930fff4b1bc818eb257af98305546a0220443bde4be439f276a6ce793664b463580e210ec6c9255d68354449ac0443c76501210338d78612e990f2eea0c426b5e48a8db70b9d7ed66282b3b26511e0b1c75515a6ffffffff6ea42cd8d9c8e5441c4c5f85bfe50311078730d2881494f11f4d2257777a4958010000006b48304502210090cff1c1911e771605358a8cddd5ae94c7b60cc96e50275908d9bf9d6367c79f02202bfa72e10260a146abd59d0526e1335bacfbb2b4401780e9e3a7441b0480c8da0121038caebd6f753bbbd2bb1f3346a43cd32140648583673a31d62f2dfb56ad0ab9e3ffffffff02a0860100000000001976a9142f4490d5263906e4887ca2996b9e207af3e7824088aca0860100000000001976a914812c13d97f9159e54e326b481b8f88a73df8507a88ac00000000" ) # Now run the attack, must trigger the exception @@ -619,8 +641,8 @@ class TestMsgSigntx(TrezorTest): (_, serialized_tx) = btc.sign_tx(self.client, "Testnet", [inp1], [out1, out2]) assert ( - hexlify(serialized_tx) - == b"0100000001243e15b53cc553d93ec4e27e16984adc3d885ef107c613a7577fea47f5dadcd2010000006a47304402207d517dcb6b823bba4d252da096795a7f914d0c477aee26e554ba61653c45608a02202cba1e805c586c830472f399510be5d42c2fcfd67b8a6b0690cbe8a3e6e475e801210364430c9122948e525e2f1c6d88f00f47679274f0810fd8c63754954f310995c1ffffffff02a0860100000000001976a914b3cc67f3349974d0f1b50e9bb5dfdf226f888fa088ac18555907000000001976a91485a3f5b0d23cdd61f5f8e1eb8c9ca0890dd15a9788ac00000000" + serialized_tx.hex() + == "0100000001243e15b53cc553d93ec4e27e16984adc3d885ef107c613a7577fea47f5dadcd2010000006a47304402207d517dcb6b823bba4d252da096795a7f914d0c477aee26e554ba61653c45608a02202cba1e805c586c830472f399510be5d42c2fcfd67b8a6b0690cbe8a3e6e475e801210364430c9122948e525e2f1c6d88f00f47679274f0810fd8c63754954f310995c1ffffffff02a0860100000000001976a914b3cc67f3349974d0f1b50e9bb5dfdf226f888fa088ac18555907000000001976a91485a3f5b0d23cdd61f5f8e1eb8c9ca0890dd15a9788ac00000000" ) # Now run the attack, must trigger the exception @@ -713,8 +735,8 @@ class TestMsgSigntx(TrezorTest): # Accepted by network: tx assert ( - hexlify(serialized_tx) - == b"010000000136825bfdb78c8ede226c7c4f25a018e99a2c061d63c7fb425fca7c7d6721dad6000000006a473044022047845c366eb24f40be315c7815a154513c444c7989eb80f7ce7ff6aeb703d26a022007c1f5efadf67c5889634fd7ac39a7ce78bffac291673e8772ecd8389c901d9f01210338d78612e990f2eea0c426b5e48a8db70b9d7ed66282b3b26511e0b1c75515a6ffffffff01c6100795000000001976a9143d2496e67f5f57a924353da42d4725b318e7a8ea88ac00000000" + serialized_tx.hex() + == "010000000136825bfdb78c8ede226c7c4f25a018e99a2c061d63c7fb425fca7c7d6721dad6000000006a473044022047845c366eb24f40be315c7815a154513c444c7989eb80f7ce7ff6aeb703d26a022007c1f5efadf67c5889634fd7ac39a7ce78bffac291673e8772ecd8389c901d9f01210338d78612e990f2eea0c426b5e48a8db70b9d7ed66282b3b26511e0b1c75515a6ffffffff01c6100795000000001976a9143d2496e67f5f57a924353da42d4725b318e7a8ea88ac00000000" ) def test_two_changes(self): diff --git a/trezorlib/tests/device_tests/test_msg_signtx_bcash.py b/trezorlib/tests/device_tests/test_msg_signtx_bcash.py index a34a5b3c2a..d29a85f0c8 100644 --- a/trezorlib/tests/device_tests/test_msg_signtx_bcash.py +++ b/trezorlib/tests/device_tests/test_msg_signtx_bcash.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify, unhexlify - import pytest from trezorlib import btc, coins, messages as proto @@ -35,7 +33,7 @@ class TestMsgSigntxBch(TrezorTest): address_n=parse_path("44'/145'/0'/0/0"), # bitcoincash:qr08q88p9etk89wgv05nwlrkm4l0urz4cyl36hh9sv amount=1995344, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "bc37c28dfb467d2ecb50261387bf752a3977d7e5337915071bb4151e6b711a78" ), prev_index=0, @@ -88,8 +86,8 @@ class TestMsgSigntxBch(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000001781a716b1e15b41b07157933e5d777392a75bf87132650cb2e7d46fb8dc237bc000000006a473044022061aee4f17abe044d5df8c52c9ffd3b84e5a29743517e488b20ecf1ae0b3e4d3a02206bb84c55e407f3b684ff8d9bea0a3409cfd865795a19d10b3d3c31f12795c34a412103a020b36130021a0f037c1d1a02042e325c0cb666d6478c1afdcd9d913b9ef080ffffffff0272ee1c00000000001976a914b1401fce7e8bf123c88a0467e0ed11e3b9fbef5488acec1e0100000000001976a914d51eca49695cdf47e7f4b55507893e3ad53fe9d888ac00000000" + serialized_tx.hex() + == "0100000001781a716b1e15b41b07157933e5d777392a75bf87132650cb2e7d46fb8dc237bc000000006a473044022061aee4f17abe044d5df8c52c9ffd3b84e5a29743517e488b20ecf1ae0b3e4d3a02206bb84c55e407f3b684ff8d9bea0a3409cfd865795a19d10b3d3c31f12795c34a412103a020b36130021a0f037c1d1a02042e325c0cb666d6478c1afdcd9d913b9ef080ffffffff0272ee1c00000000001976a914b1401fce7e8bf123c88a0467e0ed11e3b9fbef5488acec1e0100000000001976a914d51eca49695cdf47e7f4b55507893e3ad53fe9d888ac00000000" ) def test_send_bch_nochange(self): @@ -99,7 +97,7 @@ class TestMsgSigntxBch(TrezorTest): address_n=parse_path("44'/145'/0'/1/0"), # bitcoincash:qzc5q87w069lzg7g3gzx0c8dz83mn7l02scej5aluw amount=1896050, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "502e8577b237b0152843a416f8f1ab0c63321b1be7a8cad7bf5c5c216fcf062c" ), prev_index=0, @@ -109,7 +107,7 @@ class TestMsgSigntxBch(TrezorTest): address_n=parse_path("44'/145'/0'/0/1"), # bitcoincash:qr23ajjfd9wd73l87j642puf8cad20lfmqdgwvpat4 amount=73452, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "502e8577b237b0152843a416f8f1ab0c63321b1be7a8cad7bf5c5c216fcf062c" ), prev_index=1, @@ -157,8 +155,8 @@ class TestMsgSigntxBch(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"01000000022c06cf6f215c5cbfd7caa8e71b1b32630cabf1f816a4432815b037b277852e50000000006a47304402207a2a955f1cb3dc5f03f2c82934f55654882af4e852e5159639f6349e9386ec4002205fb8419dce4e648eae8f67bc4e369adfb130a87d2ea2d668f8144213b12bb457412103174c61e9c5362507e8061e28d2c0ce3d4df4e73f3535ae0b12f37809e0f92d2dffffffff2c06cf6f215c5cbfd7caa8e71b1b32630cabf1f816a4432815b037b277852e50010000006a473044022062151cf960b71823bbe68c7ed2c2a93ad1b9706a30255fddb02fcbe056d8c26102207bad1f0872bc5f0cfaf22e45c925c35d6c1466e303163b75cb7688038f1a5541412102595caf9aeb6ffdd0e82b150739a83297358b9a77564de382671056ad9e5b8c58ffffffff0170861d00000000001976a91434e9cec317896e818619ab7dc99d2305216ff4af88ac00000000" + serialized_tx.hex() + == "01000000022c06cf6f215c5cbfd7caa8e71b1b32630cabf1f816a4432815b037b277852e50000000006a47304402207a2a955f1cb3dc5f03f2c82934f55654882af4e852e5159639f6349e9386ec4002205fb8419dce4e648eae8f67bc4e369adfb130a87d2ea2d668f8144213b12bb457412103174c61e9c5362507e8061e28d2c0ce3d4df4e73f3535ae0b12f37809e0f92d2dffffffff2c06cf6f215c5cbfd7caa8e71b1b32630cabf1f816a4432815b037b277852e50010000006a473044022062151cf960b71823bbe68c7ed2c2a93ad1b9706a30255fddb02fcbe056d8c26102207bad1f0872bc5f0cfaf22e45c925c35d6c1466e303163b75cb7688038f1a5541412102595caf9aeb6ffdd0e82b150739a83297358b9a77564de382671056ad9e5b8c58ffffffff0170861d00000000001976a91434e9cec317896e818619ab7dc99d2305216ff4af88ac00000000" ) def test_send_bch_oldaddr(self): @@ -168,7 +166,7 @@ class TestMsgSigntxBch(TrezorTest): address_n=parse_path("44'/145'/0'/1/0"), # bitcoincash:qzc5q87w069lzg7g3gzx0c8dz83mn7l02scej5aluw amount=1896050, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "502e8577b237b0152843a416f8f1ab0c63321b1be7a8cad7bf5c5c216fcf062c" ), prev_index=0, @@ -178,7 +176,7 @@ class TestMsgSigntxBch(TrezorTest): address_n=parse_path("44'/145'/0'/0/1"), # bitcoincash:qr23ajjfd9wd73l87j642puf8cad20lfmqdgwvpat4 amount=73452, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "502e8577b237b0152843a416f8f1ab0c63321b1be7a8cad7bf5c5c216fcf062c" ), prev_index=1, @@ -226,8 +224,8 @@ class TestMsgSigntxBch(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"01000000022c06cf6f215c5cbfd7caa8e71b1b32630cabf1f816a4432815b037b277852e50000000006a47304402207a2a955f1cb3dc5f03f2c82934f55654882af4e852e5159639f6349e9386ec4002205fb8419dce4e648eae8f67bc4e369adfb130a87d2ea2d668f8144213b12bb457412103174c61e9c5362507e8061e28d2c0ce3d4df4e73f3535ae0b12f37809e0f92d2dffffffff2c06cf6f215c5cbfd7caa8e71b1b32630cabf1f816a4432815b037b277852e50010000006a473044022062151cf960b71823bbe68c7ed2c2a93ad1b9706a30255fddb02fcbe056d8c26102207bad1f0872bc5f0cfaf22e45c925c35d6c1466e303163b75cb7688038f1a5541412102595caf9aeb6ffdd0e82b150739a83297358b9a77564de382671056ad9e5b8c58ffffffff0170861d00000000001976a91434e9cec317896e818619ab7dc99d2305216ff4af88ac00000000" + serialized_tx.hex() + == "01000000022c06cf6f215c5cbfd7caa8e71b1b32630cabf1f816a4432815b037b277852e50000000006a47304402207a2a955f1cb3dc5f03f2c82934f55654882af4e852e5159639f6349e9386ec4002205fb8419dce4e648eae8f67bc4e369adfb130a87d2ea2d668f8144213b12bb457412103174c61e9c5362507e8061e28d2c0ce3d4df4e73f3535ae0b12f37809e0f92d2dffffffff2c06cf6f215c5cbfd7caa8e71b1b32630cabf1f816a4432815b037b277852e50010000006a473044022062151cf960b71823bbe68c7ed2c2a93ad1b9706a30255fddb02fcbe056d8c26102207bad1f0872bc5f0cfaf22e45c925c35d6c1466e303163b75cb7688038f1a5541412102595caf9aeb6ffdd0e82b150739a83297358b9a77564de382671056ad9e5b8c58ffffffff0170861d00000000001976a91434e9cec317896e818619ab7dc99d2305216ff4af88ac00000000" ) def test_attack_amount(self): @@ -237,7 +235,7 @@ class TestMsgSigntxBch(TrezorTest): address_n=parse_path("44'/145'/0'/1/0"), # bitcoincash:qzc5q87w069lzg7g3gzx0c8dz83mn7l02scej5aluw amount=300, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "502e8577b237b0152843a416f8f1ab0c63321b1be7a8cad7bf5c5c216fcf062c" ), prev_index=0, @@ -247,7 +245,7 @@ class TestMsgSigntxBch(TrezorTest): address_n=parse_path("44'/145'/0'/0/1"), # bitcoincash:qr23ajjfd9wd73l87j642puf8cad20lfmqdgwvpat4 amount=70, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "502e8577b237b0152843a416f8f1ab0c63321b1be7a8cad7bf5c5c216fcf062c" ), prev_index=1, @@ -371,7 +369,7 @@ class TestMsgSigntxBch(TrezorTest): address_n=parse_path("44'/145'/1000'/0/0"), # bitcoincash:qr08q88p9etk89wgv05nwlrkm4l0urz4cyl36hh9sv amount=1995344, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "bc37c28dfb467d2ecb50261387bf752a3977d7e5337915071bb4151e6b711a78" ), prev_index=0, @@ -470,22 +468,22 @@ class TestMsgSigntxBch(TrezorTest): depth=1, fingerprint=0, child_num=0, - chain_code=unhexlify( + chain_code=bytes.fromhex( "0000000000000000000000000000000000000000000000000000000000000000" ), - public_key=unhexlify( + public_key=bytes.fromhex( "0378d430274f8c5ec1321338151e9f27f4c676a008bdf8638d07c0b6be9ab35c71" ), ) - sig = unhexlify( - b"304402207274b5a4d15e75f3df7319a375557b0efba9b27bc63f9f183a17da95a6125c94022000efac57629f1522e2d3958430e2ef073b0706cfac06cce492651b79858f09ae" + sig = bytes.fromhex( + "304402207274b5a4d15e75f3df7319a375557b0efba9b27bc63f9f183a17da95a6125c94022000efac57629f1522e2d3958430e2ef073b0706cfac06cce492651b79858f09ae" ) inp1 = proto.TxInputType( address_n=parse_path("44'/145'/1'/1/0"), multisig=getmultisig(1, 0, [b"", sig, b""]), # bitcoincash:pp6kcpkhua7789g2vyj0qfkcux3yvje7euhyhltn0a amount=24000, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "f68caf10df12d5b07a34601d88fa6856c6edcbf4d05ebef3486510ae1c293d5f" ), prev_index=1, @@ -533,12 +531,12 @@ class TestMsgSigntxBch(TrezorTest): self.client, "Bcash", [inp1], [out1] ) assert ( - hexlify(signatures1[0]) - == b"3044022052ccf022b3684ecce9f961ce8828387b97267c86bedf0ce16a24bf014e62e42c022035d315ddbeeef7ab3456bd09aed8b625ea58852216b60e4b84ba9f85827d305c" + signatures1[0].hex() + == "3044022052ccf022b3684ecce9f961ce8828387b97267c86bedf0ce16a24bf014e62e42c022035d315ddbeeef7ab3456bd09aed8b625ea58852216b60e4b84ba9f85827d305c" ) assert ( - hexlify(serialized_tx) - == b"01000000015f3d291cae106548f3be5ed0f4cbedc65668fa881d60347ab0d512df10af8cf601000000fc00473044022052ccf022b3684ecce9f961ce8828387b97267c86bedf0ce16a24bf014e62e42c022035d315ddbeeef7ab3456bd09aed8b625ea58852216b60e4b84ba9f85827d305c4147304402207274b5a4d15e75f3df7319a375557b0efba9b27bc63f9f183a17da95a6125c94022000efac57629f1522e2d3958430e2ef073b0706cfac06cce492651b79858f09ae414c69522103d62b2af2272bbd67cbe30eeaf4226c7f2d57d2a0ed1aab5ab736fb40bb2f5ffe21036d5e0d7ca3589465711eec91436249d7234d3a994c219024fc75cec98fc02ae221024f58378a69b68e89301a6ff882116e0fa35446ec9bfd86532eeb05941ec1f8c853aeffffffff01d85900000000000017a9140bb11de6558871f49fc241341992ece9986f7c5c8700000000" + serialized_tx.hex() + == "01000000015f3d291cae106548f3be5ed0f4cbedc65668fa881d60347ab0d512df10af8cf601000000fc00473044022052ccf022b3684ecce9f961ce8828387b97267c86bedf0ce16a24bf014e62e42c022035d315ddbeeef7ab3456bd09aed8b625ea58852216b60e4b84ba9f85827d305c4147304402207274b5a4d15e75f3df7319a375557b0efba9b27bc63f9f183a17da95a6125c94022000efac57629f1522e2d3958430e2ef073b0706cfac06cce492651b79858f09ae414c69522103d62b2af2272bbd67cbe30eeaf4226c7f2d57d2a0ed1aab5ab736fb40bb2f5ffe21036d5e0d7ca3589465711eec91436249d7234d3a994c219024fc75cec98fc02ae221024f58378a69b68e89301a6ff882116e0fa35446ec9bfd86532eeb05941ec1f8c853aeffffffff01d85900000000000017a9140bb11de6558871f49fc241341992ece9986f7c5c8700000000" ) def test_send_bch_multisig_change(self): @@ -572,7 +570,7 @@ class TestMsgSigntxBch(TrezorTest): multisig=getmultisig(0, 0), # bitcoincash:pqguz4nqq64jhr5v3kvpq4dsjrkda75hwy86gq0qzw amount=48490, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "8b6db9b8ba24235d86b053ea2ccb484fc32b96f89c3c39f98d86f90db16076a0" ), prev_index=0, @@ -626,8 +624,8 @@ class TestMsgSigntxBch(TrezorTest): ) assert ( - hexlify(signatures1[0]) - == b"3045022100bcb1a7134a13025a06052546ee1c6ac3640a0abd2d130190ed13ed7fcb43e9cd02207c381478e2ee123c850425bfbf6d3c691230eb37e333832cb32a1ed3f2cd9e85" + signatures1[0].hex() + == "3045022100bcb1a7134a13025a06052546ee1c6ac3640a0abd2d130190ed13ed7fcb43e9cd02207c381478e2ee123c850425bfbf6d3c691230eb37e333832cb32a1ed3f2cd9e85" ) inp1 = proto.TxInputType( @@ -635,7 +633,7 @@ class TestMsgSigntxBch(TrezorTest): multisig=getmultisig(0, 0, [b"", b"", signatures1[0]]), # bitcoincash:pqguz4nqq64jhr5v3kvpq4dsjrkda75hwy86gq0qzw amount=48490, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "8b6db9b8ba24235d86b053ea2ccb484fc32b96f89c3c39f98d86f90db16076a0" ), prev_index=0, @@ -680,10 +678,10 @@ class TestMsgSigntxBch(TrezorTest): ) assert ( - hexlify(signatures1[0]) - == b"3045022100f1153636371ba1f84389460e1265a8fa296569bc18e117c31f4e8f0fc0650c01022022932cc84766ff0c0f65ed9633ad311ae90d4c8fe71f5e1890b1e8f74dd516fa" + signatures1[0].hex() + == "3045022100f1153636371ba1f84389460e1265a8fa296569bc18e117c31f4e8f0fc0650c01022022932cc84766ff0c0f65ed9633ad311ae90d4c8fe71f5e1890b1e8f74dd516fa" ) assert ( - hexlify(serialized_tx) - == b"0100000001a07660b10df9868df9393c9cf8962bc34f48cb2cea53b0865d2324bab8b96d8b00000000fdfe0000483045022100f1153636371ba1f84389460e1265a8fa296569bc18e117c31f4e8f0fc0650c01022022932cc84766ff0c0f65ed9633ad311ae90d4c8fe71f5e1890b1e8f74dd516fa41483045022100bcb1a7134a13025a06052546ee1c6ac3640a0abd2d130190ed13ed7fcb43e9cd02207c381478e2ee123c850425bfbf6d3c691230eb37e333832cb32a1ed3f2cd9e85414c69522102fcf63419c319ce1a42d69120a3599d6da8c5dd4caf2888220eccde5a1ff7c5d021036d7d5ef79370b7fabe2c058698a20219e97fc70868e65ecdd6b37cc18e8a88bd2103505dc649dab8cd1655a4c0daf0ec5f955881c9d7011478ea881fac11cab1e49953aeffffffff02c05d0000000000001976a91400741952f6a6eab5394f366db5cc5a54b0c2429f88acc05d00000000000017a914756c06d7e77de3950a6124f026d8e1a2464b3ecf8700000000" + serialized_tx.hex() + == "0100000001a07660b10df9868df9393c9cf8962bc34f48cb2cea53b0865d2324bab8b96d8b00000000fdfe0000483045022100f1153636371ba1f84389460e1265a8fa296569bc18e117c31f4e8f0fc0650c01022022932cc84766ff0c0f65ed9633ad311ae90d4c8fe71f5e1890b1e8f74dd516fa41483045022100bcb1a7134a13025a06052546ee1c6ac3640a0abd2d130190ed13ed7fcb43e9cd02207c381478e2ee123c850425bfbf6d3c691230eb37e333832cb32a1ed3f2cd9e85414c69522102fcf63419c319ce1a42d69120a3599d6da8c5dd4caf2888220eccde5a1ff7c5d021036d7d5ef79370b7fabe2c058698a20219e97fc70868e65ecdd6b37cc18e8a88bd2103505dc649dab8cd1655a4c0daf0ec5f955881c9d7011478ea881fac11cab1e49953aeffffffff02c05d0000000000001976a91400741952f6a6eab5394f366db5cc5a54b0c2429f88acc05d00000000000017a914756c06d7e77de3950a6124f026d8e1a2464b3ecf8700000000" ) diff --git a/trezorlib/tests/device_tests/test_msg_signtx_bgold.py b/trezorlib/tests/device_tests/test_msg_signtx_bgold.py index 9b853675ed..044ac0e80d 100644 --- a/trezorlib/tests/device_tests/test_msg_signtx_bgold.py +++ b/trezorlib/tests/device_tests/test_msg_signtx_bgold.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify, unhexlify - import pytest from trezorlib import btc, coins, messages as proto @@ -35,7 +33,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): inp1 = proto.TxInputType( address_n=parse_path("44'/156'/0'/0/0"), amount=1995344, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985" ), prev_index=0, @@ -88,8 +86,8 @@ class TestMsgSigntxBitcoinGold(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"010000000185c9dd4ae1071affd77d90b9d03c1b5fdd7c62cf30a9bb8230ad766cf06b5225000000006b483045022100963904da0731b71ce468afd45366dd80fbff566ec0d39c1161ab85d17459c7ca02202f5c24a7a7272d98b14a3f5bc000c7cde8ac0eb773f20f4c3131518186cc98854121023bd0ec4022d12d0106c5b7308a25572953ba1951f576f691354a7b147ee0cc1fffffffff0272ee1c00000000001976a9141c82b9c11f193ad82413caadc0955730572b50ae88acec1e0100000000001976a914ea5f904d195079a350b534db4446433b3cec222e88ac00000000" + serialized_tx.hex() + == "010000000185c9dd4ae1071affd77d90b9d03c1b5fdd7c62cf30a9bb8230ad766cf06b5225000000006b483045022100963904da0731b71ce468afd45366dd80fbff566ec0d39c1161ab85d17459c7ca02202f5c24a7a7272d98b14a3f5bc000c7cde8ac0eb773f20f4c3131518186cc98854121023bd0ec4022d12d0106c5b7308a25572953ba1951f576f691354a7b147ee0cc1fffffffff0272ee1c00000000001976a9141c82b9c11f193ad82413caadc0955730572b50ae88acec1e0100000000001976a914ea5f904d195079a350b534db4446433b3cec222e88ac00000000" ) def test_send_bitcoin_gold_nochange(self): @@ -98,7 +96,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): inp1 = proto.TxInputType( address_n=parse_path("44'/156'/0'/1/0"), amount=1896050, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985" ), prev_index=0, @@ -108,7 +106,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): address_n=parse_path("44'/156'/0'/0/1"), # 1LRspCZNFJcbuNKQkXgHMDucctFRQya5a3 amount=73452, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "db77c2461b840e6edbe7f9280043184a98e020d9795c1b65cb7cef2551a8fb18" ), prev_index=1, @@ -156,8 +154,8 @@ class TestMsgSigntxBitcoinGold(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"010000000285c9dd4ae1071affd77d90b9d03c1b5fdd7c62cf30a9bb8230ad766cf06b5225000000006b483045022100928852076c9fab160c07564cd54691af1cbc37fb28f0b7bee7299c7925ef62f0022058856387afecc6508f2f04ecdfd292a13026a5b2107ebdd2cc789bdf8820d552412102a6c3998d0d4e5197ff41aab5c53580253b3b91f583f4c31f7624be7dc83ce15fffffffff18fba85125ef7ccb651b5c79d920e0984a18430028f9e7db6e0e841b46c277db010000006b483045022100faa2f4f01cc95e680349a093923aae0aa2ea01429873555aa8a84bf630ef33a002204c3f4bf567e2d20540c0f71dc278481d6ccb6b95acda2a2f87ce521c79d6b872412102d54a7e5733b1635e5e9442943f48179b1700206b2d1925250ba10f1c86878be8ffffffff0170861d00000000001976a914ea5f904d195079a350b534db4446433b3cec222e88ac00000000" + serialized_tx.hex() + == "010000000285c9dd4ae1071affd77d90b9d03c1b5fdd7c62cf30a9bb8230ad766cf06b5225000000006b483045022100928852076c9fab160c07564cd54691af1cbc37fb28f0b7bee7299c7925ef62f0022058856387afecc6508f2f04ecdfd292a13026a5b2107ebdd2cc789bdf8820d552412102a6c3998d0d4e5197ff41aab5c53580253b3b91f583f4c31f7624be7dc83ce15fffffffff18fba85125ef7ccb651b5c79d920e0984a18430028f9e7db6e0e841b46c277db010000006b483045022100faa2f4f01cc95e680349a093923aae0aa2ea01429873555aa8a84bf630ef33a002204c3f4bf567e2d20540c0f71dc278481d6ccb6b95acda2a2f87ce521c79d6b872412102d54a7e5733b1635e5e9442943f48179b1700206b2d1925250ba10f1c86878be8ffffffff0170861d00000000001976a914ea5f904d195079a350b534db4446433b3cec222e88ac00000000" ) def test_attack_change_input(self): @@ -167,7 +165,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): address_n=parse_path("44'/156'/1000'/0/0"), # 1MH9KKcvdCTY44xVDC2k3fjBbX5Cz29N1q amount=1995344, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985" ), prev_index=0, @@ -267,7 +265,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): multisig=getmultisig(0, 0), # 33Ju286QvonBz5N1V754ZekQv4GLJqcc5R amount=48490, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985" ), prev_index=0, @@ -321,8 +319,8 @@ class TestMsgSigntxBitcoinGold(TrezorTest): ) assert ( - hexlify(signatures1[0]) - == b"3045022100b1594f3b186d0dedbf61e53a1c407b1e0747098b7375941df85af045040f578e022013ba1893eb9e2fd854dd07073a83b261cf4beba76f66b07742e462b4088a7e4a" + signatures1[0].hex() + == "3045022100b1594f3b186d0dedbf61e53a1c407b1e0747098b7375941df85af045040f578e022013ba1893eb9e2fd854dd07073a83b261cf4beba76f66b07742e462b4088a7e4a" ) inp1 = proto.TxInputType( @@ -330,7 +328,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): multisig=getmultisig(0, 0, [b"", b"", signatures1[0]]), # 33Ju286QvonBz5N1V754ZekQv4GLJqcc5R amount=48490, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985" ), prev_index=0, @@ -375,12 +373,12 @@ class TestMsgSigntxBitcoinGold(TrezorTest): ) assert ( - hexlify(signatures1[0]) - == b"3044022006da8dbd14e6656ac8dcb956f4c0498574e88680eaeceb2cbafd8d2b2329d8cc02200972d076d444c5ff8f2ab18e14d8249ab661cb9c53335039bedcde037a40d747" + signatures1[0].hex() + == "3044022006da8dbd14e6656ac8dcb956f4c0498574e88680eaeceb2cbafd8d2b2329d8cc02200972d076d444c5ff8f2ab18e14d8249ab661cb9c53335039bedcde037a40d747" ) assert ( - hexlify(serialized_tx) - == b"010000000185c9dd4ae1071affd77d90b9d03c1b5fdd7c62cf30a9bb8230ad766cf06b522500000000fdfd0000473044022006da8dbd14e6656ac8dcb956f4c0498574e88680eaeceb2cbafd8d2b2329d8cc02200972d076d444c5ff8f2ab18e14d8249ab661cb9c53335039bedcde037a40d74741483045022100b1594f3b186d0dedbf61e53a1c407b1e0747098b7375941df85af045040f578e022013ba1893eb9e2fd854dd07073a83b261cf4beba76f66b07742e462b4088a7e4a414c69522102290e6649574d17938c1ecb959ae92954f9ee48e1bd5b73f35ea931a3ab8a6087210379e0107b173e2c143426760627128c5eea3f862e8df92f3c2558eeeae4e347842103ff1746ca7dcf9e5c2eea9a73779b7c5bafed549f45cf3638a94cdf1e89c7f28f53aeffffffff02c05d0000000000001976a914ea5f904d195079a350b534db4446433b3cec222e88acc05d00000000000017a91445e917e46815d2b38d3f1cf072e63dd4f3b7a7e38700000000" + serialized_tx.hex() + == "010000000185c9dd4ae1071affd77d90b9d03c1b5fdd7c62cf30a9bb8230ad766cf06b522500000000fdfd0000473044022006da8dbd14e6656ac8dcb956f4c0498574e88680eaeceb2cbafd8d2b2329d8cc02200972d076d444c5ff8f2ab18e14d8249ab661cb9c53335039bedcde037a40d74741483045022100b1594f3b186d0dedbf61e53a1c407b1e0747098b7375941df85af045040f578e022013ba1893eb9e2fd854dd07073a83b261cf4beba76f66b07742e462b4088a7e4a414c69522102290e6649574d17938c1ecb959ae92954f9ee48e1bd5b73f35ea931a3ab8a6087210379e0107b173e2c143426760627128c5eea3f862e8df92f3c2558eeeae4e347842103ff1746ca7dcf9e5c2eea9a73779b7c5bafed549f45cf3638a94cdf1e89c7f28f53aeffffffff02c05d0000000000001976a914ea5f904d195079a350b534db4446433b3cec222e88acc05d00000000000017a91445e917e46815d2b38d3f1cf072e63dd4f3b7a7e38700000000" ) def test_send_p2sh(self): @@ -389,7 +387,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): inp1 = proto.TxInputType( address_n=parse_path("49'/156'/0'/1/0"), amount=123456789, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985" ), prev_index=0, @@ -447,8 +445,8 @@ class TestMsgSigntxBitcoinGold(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000000010185c9dd4ae1071affd77d90b9d03c1b5fdd7c62cf30a9bb8230ad766cf06b52250000000017160014b5355d001e720d8f4513da00ff2bba4dcf9d39fcffffffff02e0aebb00000000001976a914ea5f904d195079a350b534db4446433b3cec222e88ac3df39f06000000001976a914a8f757819ec6779409f45788f7b4a0e8f51ec50488ac02473044022073fcbf2876f073f78923ab427f14de5b2a0fbeb313a9b2b650b3567061f242a702202f45fc22c501108ff6222afe3aca7da9d8c7dc860f9cda335bef31fa184e7bef412102ecea08b559fc5abd009acf77cfae13fa8a3b1933e3e031956c65c12cec8ca3e300000000" + serialized_tx.hex() + == "0100000000010185c9dd4ae1071affd77d90b9d03c1b5fdd7c62cf30a9bb8230ad766cf06b52250000000017160014b5355d001e720d8f4513da00ff2bba4dcf9d39fcffffffff02e0aebb00000000001976a914ea5f904d195079a350b534db4446433b3cec222e88ac3df39f06000000001976a914a8f757819ec6779409f45788f7b4a0e8f51ec50488ac02473044022073fcbf2876f073f78923ab427f14de5b2a0fbeb313a9b2b650b3567061f242a702202f45fc22c501108ff6222afe3aca7da9d8c7dc860f9cda335bef31fa184e7bef412102ecea08b559fc5abd009acf77cfae13fa8a3b1933e3e031956c65c12cec8ca3e300000000" ) def test_send_p2sh_witness_change(self): @@ -457,7 +455,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): inp1 = proto.TxInputType( address_n=parse_path("49'/156'/0'/1/0"), amount=123456789, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985" ), prev_index=0, @@ -513,11 +511,9 @@ class TestMsgSigntxBitcoinGold(TrezorTest): self.client, "Bgold", [inp1], [out1, out2] ) - # print(hexlify(serialized_tx)) - # assert False assert ( - hexlify(serialized_tx) - == b"0100000000010185c9dd4ae1071affd77d90b9d03c1b5fdd7c62cf30a9bb8230ad766cf06b52250000000017160014b5355d001e720d8f4513da00ff2bba4dcf9d39fcffffffff02e0aebb00000000001976a914ea5f904d195079a350b534db4446433b3cec222e88ac3df39f060000000017a9140cd03822b799a452c106d1b3771844a067b17f118702483045022100d79b33384c686d8dd40ad5f84f46691d30994992c1cb42e934c2a625d86cb2f902206859805a9a98ba140b71a9d4b9a6b8df94a9424f9c40f3bd804149fd6e278d63412102ecea08b559fc5abd009acf77cfae13fa8a3b1933e3e031956c65c12cec8ca3e300000000" + serialized_tx.hex() + == "0100000000010185c9dd4ae1071affd77d90b9d03c1b5fdd7c62cf30a9bb8230ad766cf06b52250000000017160014b5355d001e720d8f4513da00ff2bba4dcf9d39fcffffffff02e0aebb00000000001976a914ea5f904d195079a350b534db4446433b3cec222e88ac3df39f060000000017a9140cd03822b799a452c106d1b3771844a067b17f118702483045022100d79b33384c686d8dd40ad5f84f46691d30994992c1cb42e934c2a625d86cb2f902206859805a9a98ba140b71a9d4b9a6b8df94a9424f9c40f3bd804149fd6e278d63412102ecea08b559fc5abd009acf77cfae13fa8a3b1933e3e031956c65c12cec8ca3e300000000" ) def test_send_multisig_1(self): @@ -544,7 +540,7 @@ class TestMsgSigntxBitcoinGold(TrezorTest): inp1 = proto.TxInputType( address_n=parse_path("999'/1'/1'/2/0"), - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "25526bf06c76ad3082bba930cf627cdd5f1b3cd0b9907dd7ff1a07e14addc985" ), prev_index=1, @@ -624,6 +620,6 @@ class TestMsgSigntxBitcoinGold(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000000010185c9dd4ae1071affd77d90b9d03c1b5fdd7c62cf30a9bb8230ad766cf06b522501000000232200201e8dda334f11171190b3da72e526d441491464769679a319a2f011da5ad312a1ffffffff01887d1800000000001976a914ea5f904d195079a350b534db4446433b3cec222e88ac0400483045022100e728485c8337f9a09ebbf36edc0fef10f8bcf5c1ba601b7d8ba43a9250a898f002206b9e3401c297f9ab9afb7f1be59bb342db53b5b65aff7c557e3109679697df0f41473044022062ea69ecdc07d0dadc1971fbda50a629a56dd30f431db26327428f4992601ce602204a1c8ab9c7d81c36cb6f819109a26f9baaa9607b8d37bff5e24eee6fab4a04e441695221038e81669c085a5846e68e03875113ddb339ecbb7cb11376d4163bca5dc2e2a0c1210348c5c3be9f0e6cf1954ded1c0475beccc4d26aaa9d0cce2dd902538ff1018a112103931140ebe0fbbb7df0be04ed032a54e9589e30339ba7bbb8b0b71b15df1294da53ae00000000" + serialized_tx.hex() + == "0100000000010185c9dd4ae1071affd77d90b9d03c1b5fdd7c62cf30a9bb8230ad766cf06b522501000000232200201e8dda334f11171190b3da72e526d441491464769679a319a2f011da5ad312a1ffffffff01887d1800000000001976a914ea5f904d195079a350b534db4446433b3cec222e88ac0400483045022100e728485c8337f9a09ebbf36edc0fef10f8bcf5c1ba601b7d8ba43a9250a898f002206b9e3401c297f9ab9afb7f1be59bb342db53b5b65aff7c557e3109679697df0f41473044022062ea69ecdc07d0dadc1971fbda50a629a56dd30f431db26327428f4992601ce602204a1c8ab9c7d81c36cb6f819109a26f9baaa9607b8d37bff5e24eee6fab4a04e441695221038e81669c085a5846e68e03875113ddb339ecbb7cb11376d4163bca5dc2e2a0c1210348c5c3be9f0e6cf1954ded1c0475beccc4d26aaa9d0cce2dd902538ff1018a112103931140ebe0fbbb7df0be04ed032a54e9589e30339ba7bbb8b0b71b15df1294da53ae00000000" ) diff --git a/trezorlib/tests/device_tests/test_msg_signtx_decred.py b/trezorlib/tests/device_tests/test_msg_signtx_decred.py index 3bb88675ed..b9039f2f61 100644 --- a/trezorlib/tests/device_tests/test_msg_signtx_decred.py +++ b/trezorlib/tests/device_tests/test_msg_signtx_decred.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import unhexlify - import pytest from trezorlib import btc, coins, messages as proto @@ -26,22 +24,22 @@ from .common import TrezorTest TxApiDecredTestnet = coins.tx_api["Decred Testnet"] -TXHASH_e16248 = unhexlify( +TXHASH_e16248 = bytes.fromhex( "e16248f0b39a0a0c0e53d6f2f84c2a944f0d50e017a82701e8e02e46e979d5ed" ) -TXHASH_5e6e35 = unhexlify( +TXHASH_5e6e35 = bytes.fromhex( "5e6e3500a333c53c02f523db5f1a9b17538a8850b4c2c24ecb9b7ba48059b970" ) -TXHASH_ccf95b = unhexlify( +TXHASH_ccf95b = bytes.fromhex( "ccf95b0fd220ef59ae2e5b17005a81e222758122682d522eff8ae1fcbc93bc74" ) -TXHASH_f395ef = unhexlify( +TXHASH_f395ef = bytes.fromhex( "f395ef3e72a831a766db15e7a38bc28025d4ee02234d68bdea2d8353b47a3113" ) -TXHASH_3f7c39 = unhexlify( +TXHASH_3f7c39 = bytes.fromhex( "3f7c395521d38387e7617565fe17628723ef6635a08537ad9c46cfb1619e4c3f" ) -TXHASH_16da18 = unhexlify( +TXHASH_16da18 = bytes.fromhex( "16da185052740d85a630e79c140558215b64e26c500212b90e16b55d13ca06a8" ) diff --git a/trezorlib/tests/device_tests/test_msg_signtx_segwit.py b/trezorlib/tests/device_tests/test_msg_signtx_segwit.py index 00a77076de..09ea2fc16e 100644 --- a/trezorlib/tests/device_tests/test_msg_signtx_segwit.py +++ b/trezorlib/tests/device_tests/test_msg_signtx_segwit.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify, unhexlify - import pytest from trezorlib import btc, messages as proto @@ -37,7 +35,7 @@ class TestMsgSigntxSegwit(TrezorTest): address_n=parse_path("49'/1'/0'/1/0"), # 2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX amount=123456789, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "20912f98ea3ed849042efed0fdac8cb4fc301961c5988cba56902d8ffb61c337" ), prev_index=0, @@ -95,8 +93,8 @@ class TestMsgSigntxSegwit(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000000010137c361fb8f2d9056ba8c98c5611930fcb48cacfdd0fe2e0449d83eea982f91200000000017160014d16b8c0680c61fc6ed2e407455715055e41052f5ffffffff02e0aebb00000000001976a91414fdede0ddc3be652a0ce1afbc1b509a55b6b94888ac3df39f060000000017a91458b53ea7f832e8f096e896b8713a8c6df0e892ca8702483045022100ccd253bfdf8a5593cd7b6701370c531199f0f05a418cd547dfc7da3f21515f0f02203fa08a0753688871c220648f9edadbdb98af42e5d8269364a326572cf703895b012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7900000000" + serialized_tx.hex() + == "0100000000010137c361fb8f2d9056ba8c98c5611930fcb48cacfdd0fe2e0449d83eea982f91200000000017160014d16b8c0680c61fc6ed2e407455715055e41052f5ffffffff02e0aebb00000000001976a91414fdede0ddc3be652a0ce1afbc1b509a55b6b94888ac3df39f060000000017a91458b53ea7f832e8f096e896b8713a8c6df0e892ca8702483045022100ccd253bfdf8a5593cd7b6701370c531199f0f05a418cd547dfc7da3f21515f0f02203fa08a0753688871c220648f9edadbdb98af42e5d8269364a326572cf703895b012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7900000000" ) def test_send_p2sh_change(self): @@ -106,7 +104,7 @@ class TestMsgSigntxSegwit(TrezorTest): address_n=parse_path("49'/1'/0'/1/0"), # 2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX amount=123456789, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "20912f98ea3ed849042efed0fdac8cb4fc301961c5988cba56902d8ffb61c337" ), prev_index=0, @@ -163,8 +161,8 @@ class TestMsgSigntxSegwit(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000000010137c361fb8f2d9056ba8c98c5611930fcb48cacfdd0fe2e0449d83eea982f91200000000017160014d16b8c0680c61fc6ed2e407455715055e41052f5ffffffff02e0aebb00000000001976a91414fdede0ddc3be652a0ce1afbc1b509a55b6b94888ac3df39f060000000017a91458b53ea7f832e8f096e896b8713a8c6df0e892ca8702483045022100ccd253bfdf8a5593cd7b6701370c531199f0f05a418cd547dfc7da3f21515f0f02203fa08a0753688871c220648f9edadbdb98af42e5d8269364a326572cf703895b012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7900000000" + serialized_tx.hex() + == "0100000000010137c361fb8f2d9056ba8c98c5611930fcb48cacfdd0fe2e0449d83eea982f91200000000017160014d16b8c0680c61fc6ed2e407455715055e41052f5ffffffff02e0aebb00000000001976a91414fdede0ddc3be652a0ce1afbc1b509a55b6b94888ac3df39f060000000017a91458b53ea7f832e8f096e896b8713a8c6df0e892ca8702483045022100ccd253bfdf8a5593cd7b6701370c531199f0f05a418cd547dfc7da3f21515f0f02203fa08a0753688871c220648f9edadbdb98af42e5d8269364a326572cf703895b012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7900000000" ) def test_send_multisig_1(self): @@ -191,7 +189,7 @@ class TestMsgSigntxSegwit(TrezorTest): inp1 = proto.TxInputType( address_n=parse_path("999'/1'/1'/2/0"), - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "9c31922be756c06d02167656465c8dc83bb553bf386a3f478ae65b5c021002be" ), prev_index=1, @@ -271,8 +269,8 @@ class TestMsgSigntxSegwit(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"01000000000101be0210025c5be68a473f6a38bf53b53bc88d5c46567616026dc056e72b92319c01000000232200201e8dda334f11171190b3da72e526d441491464769679a319a2f011da5ad312a1ffffffff01887d1800000000001976a91414fdede0ddc3be652a0ce1afbc1b509a55b6b94888ac040047304402205b44c20cf2681690edaaf7cd2e30d4704124dd8b7eb1fb7f459d3906c3c374a602205ca359b6544ce2c101c979899c782f7d141c3b0454ea69202b1fb4c09d3b715701473044022052fafa64022554ae436dbf781e550bf0d326fef31eea1438350b3ff1940a180102202851bd19203b7fe8582a9ef52e82aa9f61cd52d4bcedfe6dcc0cf782468e6a8e01695221038e81669c085a5846e68e03875113ddb339ecbb7cb11376d4163bca5dc2e2a0c1210348c5c3be9f0e6cf1954ded1c0475beccc4d26aaa9d0cce2dd902538ff1018a112103931140ebe0fbbb7df0be04ed032a54e9589e30339ba7bbb8b0b71b15df1294da53ae00000000" + serialized_tx.hex() + == "01000000000101be0210025c5be68a473f6a38bf53b53bc88d5c46567616026dc056e72b92319c01000000232200201e8dda334f11171190b3da72e526d441491464769679a319a2f011da5ad312a1ffffffff01887d1800000000001976a91414fdede0ddc3be652a0ce1afbc1b509a55b6b94888ac040047304402205b44c20cf2681690edaaf7cd2e30d4704124dd8b7eb1fb7f459d3906c3c374a602205ca359b6544ce2c101c979899c782f7d141c3b0454ea69202b1fb4c09d3b715701473044022052fafa64022554ae436dbf781e550bf0d326fef31eea1438350b3ff1940a180102202851bd19203b7fe8582a9ef52e82aa9f61cd52d4bcedfe6dcc0cf782468e6a8e01695221038e81669c085a5846e68e03875113ddb339ecbb7cb11376d4163bca5dc2e2a0c1210348c5c3be9f0e6cf1954ded1c0475beccc4d26aaa9d0cce2dd902538ff1018a112103931140ebe0fbbb7df0be04ed032a54e9589e30339ba7bbb8b0b71b15df1294da53ae00000000" ) def test_attack_change_input_address(self): @@ -285,7 +283,7 @@ class TestMsgSigntxSegwit(TrezorTest): address_n=parse_path("49'/1'/0'/1/0"), # 2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX amount=123456789, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "20912f98ea3ed849042efed0fdac8cb4fc301961c5988cba56902d8ffb61c337" ), prev_index=0, @@ -367,8 +365,8 @@ class TestMsgSigntxSegwit(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000000010137c361fb8f2d9056ba8c98c5611930fcb48cacfdd0fe2e0449d83eea982f91200000000017160014d16b8c0680c61fc6ed2e407455715055e41052f5ffffffff02e0aebb00000000001976a91414fdede0ddc3be652a0ce1afbc1b509a55b6b94888ac3df39f060000000017a914dae9e09a7fc3bbe5a716fffec1bbb340b82a4fb9870248304502210099b5c4f8fd4402c9c0136fee5f711137d64fc9f14587e01bfa7798f5428f845d0220253e21c98f5b1b64efae69bc2ea9799c5620a43450baa6762a0c3cf4fdc886e5012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7900000000" + serialized_tx.hex() + == "0100000000010137c361fb8f2d9056ba8c98c5611930fcb48cacfdd0fe2e0449d83eea982f91200000000017160014d16b8c0680c61fc6ed2e407455715055e41052f5ffffffff02e0aebb00000000001976a91414fdede0ddc3be652a0ce1afbc1b509a55b6b94888ac3df39f060000000017a914dae9e09a7fc3bbe5a716fffec1bbb340b82a4fb9870248304502210099b5c4f8fd4402c9c0136fee5f711137d64fc9f14587e01bfa7798f5428f845d0220253e21c98f5b1b64efae69bc2ea9799c5620a43450baa6762a0c3cf4fdc886e5012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7900000000" ) # Now run the attack, must trigger the exception 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 470a9ac549..280b5789ac 100644 --- a/trezorlib/tests/device_tests/test_msg_signtx_segwit_native.py +++ b/trezorlib/tests/device_tests/test_msg_signtx_segwit_native.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify, unhexlify - from trezorlib import btc, messages as proto from trezorlib.tools import H_, parse_path from trezorlib.tx_api import TxApiInsight @@ -34,7 +32,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): address_n=parse_path("49'/1'/0'/1/0"), # 2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX amount=123456789, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "20912f98ea3ed849042efed0fdac8cb4fc301961c5988cba56902d8ffb61c337" ), prev_index=0, @@ -92,8 +90,8 @@ class TestMsgSigntxSegwitNative(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000000010137c361fb8f2d9056ba8c98c5611930fcb48cacfdd0fe2e0449d83eea982f91200000000017160014d16b8c0680c61fc6ed2e407455715055e41052f5ffffffff02e0aebb00000000001600140099a7ecbd938ed1839f5f6bf6d50933c6db9d5c3df39f060000000017a91458b53ea7f832e8f096e896b8713a8c6df0e892ca8702483045022100bd3d8b8ad35c094e01f6282277300e575f1021678fc63ec3f9945d6e35670da3022052e26ef0dd5f3741c9d5939d1dec5464c15ab5f2c85245e70a622df250d4eb7c012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7900000000" + serialized_tx.hex() + == "0100000000010137c361fb8f2d9056ba8c98c5611930fcb48cacfdd0fe2e0449d83eea982f91200000000017160014d16b8c0680c61fc6ed2e407455715055e41052f5ffffffff02e0aebb00000000001600140099a7ecbd938ed1839f5f6bf6d50933c6db9d5c3df39f060000000017a91458b53ea7f832e8f096e896b8713a8c6df0e892ca8702483045022100bd3d8b8ad35c094e01f6282277300e575f1021678fc63ec3f9945d6e35670da3022052e26ef0dd5f3741c9d5939d1dec5464c15ab5f2c85245e70a622df250d4eb7c012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7900000000" ) def test_send_p2sh_change(self): @@ -103,7 +101,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): address_n=parse_path("49'/1'/0'/1/0"), # 2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX amount=123456789, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "20912f98ea3ed849042efed0fdac8cb4fc301961c5988cba56902d8ffb61c337" ), prev_index=0, @@ -160,8 +158,8 @@ class TestMsgSigntxSegwitNative(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000000010137c361fb8f2d9056ba8c98c5611930fcb48cacfdd0fe2e0449d83eea982f91200000000017160014d16b8c0680c61fc6ed2e407455715055e41052f5ffffffff02e0aebb00000000001600140099a7ecbd938ed1839f5f6bf6d50933c6db9d5c3df39f060000000017a91458b53ea7f832e8f096e896b8713a8c6df0e892ca8702483045022100bd3d8b8ad35c094e01f6282277300e575f1021678fc63ec3f9945d6e35670da3022052e26ef0dd5f3741c9d5939d1dec5464c15ab5f2c85245e70a622df250d4eb7c012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7900000000" + serialized_tx.hex() + == "0100000000010137c361fb8f2d9056ba8c98c5611930fcb48cacfdd0fe2e0449d83eea982f91200000000017160014d16b8c0680c61fc6ed2e407455715055e41052f5ffffffff02e0aebb00000000001600140099a7ecbd938ed1839f5f6bf6d50933c6db9d5c3df39f060000000017a91458b53ea7f832e8f096e896b8713a8c6df0e892ca8702483045022100bd3d8b8ad35c094e01f6282277300e575f1021678fc63ec3f9945d6e35670da3022052e26ef0dd5f3741c9d5939d1dec5464c15ab5f2c85245e70a622df250d4eb7c012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7900000000" ) def test_send_native(self): @@ -171,7 +169,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): address_n=parse_path("49'/1'/0'/0/0"), # tb1qqzv60m9ajw8drqulta4ld4gfx0rdh82un5s65s amount=12300000, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "09144602765ce3dd8f4329445b20e3684e948709c5cdcaf12da3bb079c99448a" ), prev_index=0, @@ -229,8 +227,8 @@ class TestMsgSigntxSegwitNative(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"010000000001018a44999c07bba32df1cacdc50987944e68e3205b4429438fdde35c76024614090000000000ffffffff02404b4c000000000017a9147a55d61848e77ca266e79a39bfc85c580a6426c987a8386f0000000000160014d16b8c0680c61fc6ed2e407455715055e41052f502483045022100a7ca8f097525f9044e64376dc0a0f5d4aeb8d15d66808ba97979a0475b06b66502200597c8ebcef63e047f9aeef1a8001d3560470cf896c12f6990eec4faec599b950121033add1f0e8e3c3136f7428dd4a4de1057380bd311f5b0856e2269170b4ffa65bf00000000" + serialized_tx.hex() + == "010000000001018a44999c07bba32df1cacdc50987944e68e3205b4429438fdde35c76024614090000000000ffffffff02404b4c000000000017a9147a55d61848e77ca266e79a39bfc85c580a6426c987a8386f0000000000160014d16b8c0680c61fc6ed2e407455715055e41052f502483045022100a7ca8f097525f9044e64376dc0a0f5d4aeb8d15d66808ba97979a0475b06b66502200597c8ebcef63e047f9aeef1a8001d3560470cf896c12f6990eec4faec599b950121033add1f0e8e3c3136f7428dd4a4de1057380bd311f5b0856e2269170b4ffa65bf00000000" ) def test_send_native_change(self): @@ -240,7 +238,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): address_n=parse_path("49'/1'/0'/0/0"), # tb1qqzv60m9ajw8drqulta4ld4gfx0rdh82un5s65s amount=12300000, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "09144602765ce3dd8f4329445b20e3684e948709c5cdcaf12da3bb079c99448a" ), prev_index=0, @@ -297,8 +295,8 @@ class TestMsgSigntxSegwitNative(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"010000000001018a44999c07bba32df1cacdc50987944e68e3205b4429438fdde35c76024614090000000000ffffffff02404b4c000000000017a9147a55d61848e77ca266e79a39bfc85c580a6426c987a8386f0000000000160014d16b8c0680c61fc6ed2e407455715055e41052f502483045022100a7ca8f097525f9044e64376dc0a0f5d4aeb8d15d66808ba97979a0475b06b66502200597c8ebcef63e047f9aeef1a8001d3560470cf896c12f6990eec4faec599b950121033add1f0e8e3c3136f7428dd4a4de1057380bd311f5b0856e2269170b4ffa65bf00000000" + serialized_tx.hex() + == "010000000001018a44999c07bba32df1cacdc50987944e68e3205b4429438fdde35c76024614090000000000ffffffff02404b4c000000000017a9147a55d61848e77ca266e79a39bfc85c580a6426c987a8386f0000000000160014d16b8c0680c61fc6ed2e407455715055e41052f502483045022100a7ca8f097525f9044e64376dc0a0f5d4aeb8d15d66808ba97979a0475b06b66502200597c8ebcef63e047f9aeef1a8001d3560470cf896c12f6990eec4faec599b950121033add1f0e8e3c3136f7428dd4a4de1057380bd311f5b0856e2269170b4ffa65bf00000000" ) def test_send_both(self): @@ -308,7 +306,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): address_n=parse_path("49'/1'/0'/1/0"), # 2N1LGaGg836mqSQqiuUBLfcyGBhyZbremDX amount=111145789, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "09144602765ce3dd8f4329445b20e3684e948709c5cdcaf12da3bb079c99448a" ), prev_index=1, @@ -318,7 +316,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): address_n=parse_path("49'/1'/0'/1/0"), # tb1q694ccp5qcc0udmfwgp692u2s2hjpq5h407urtu amount=7289000, - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "65b811d3eca0fe6915d9f2d77c86c5a7f19bf66b1b1253c2c51cb4ae5f0c017b" ), prev_index=1, @@ -406,8 +404,8 @@ class TestMsgSigntxSegwitNative(TrezorTest): # 0e480a97c7a545c85e101a2f13c9af0e115d43734e1448f0cac3e55fe8e7399d assert ( - hexlify(serialized_tx) - == b"010000000001028a44999c07bba32df1cacdc50987944e68e3205b4429438fdde35c76024614090100000017160014d16b8c0680c61fc6ed2e407455715055e41052f5ffffffff7b010c5faeb41cc5c253121b6bf69bf1a7c5867cd7f2d91569fea0ecd311b8650100000000ffffffff03e0aebb0000000000160014a579388225827d9f2fe9014add644487808c695d00cdb7020000000017a91491233e24a9bf8dbb19c1187ad876a9380c12e787870d859b03000000001976a914a579388225827d9f2fe9014add644487808c695d88ac02483045022100ead79ee134f25bb585b48aee6284a4bb14e07f03cc130253e83450d095515e5202201e161e9402c8b26b666f2b67e5b668a404ef7e57858ae9a6a68c3837e65fdc69012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7902483045022100b4099ec4c7b3123795b3c080a86f4b745f3784eb3f77de79bef1d8da319cbee5022039766865d448a4a3e435a95d0df3ff56ebc6532bf538988a7e8a679b40ec41b6012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7900000000" + serialized_tx.hex() + == "010000000001028a44999c07bba32df1cacdc50987944e68e3205b4429438fdde35c76024614090100000017160014d16b8c0680c61fc6ed2e407455715055e41052f5ffffffff7b010c5faeb41cc5c253121b6bf69bf1a7c5867cd7f2d91569fea0ecd311b8650100000000ffffffff03e0aebb0000000000160014a579388225827d9f2fe9014add644487808c695d00cdb7020000000017a91491233e24a9bf8dbb19c1187ad876a9380c12e787870d859b03000000001976a914a579388225827d9f2fe9014add644487808c695d88ac02483045022100ead79ee134f25bb585b48aee6284a4bb14e07f03cc130253e83450d095515e5202201e161e9402c8b26b666f2b67e5b668a404ef7e57858ae9a6a68c3837e65fdc69012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7902483045022100b4099ec4c7b3123795b3c080a86f4b745f3784eb3f77de79bef1d8da319cbee5022039766865d448a4a3e435a95d0df3ff56ebc6532bf538988a7e8a679b40ec41b6012103e7bfe10708f715e8538c92d46ca50db6f657bbc455b7494e6a0303ccdb868b7900000000" ) def test_send_multisig_1(self): @@ -432,7 +430,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): inp1 = proto.TxInputType( address_n=parse_path("999'/1'/1'/2/0"), - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "9c31922be756c06d02167656465c8dc83bb553bf386a3f478ae65b5c021002be" ), prev_index=1, @@ -513,8 +511,8 @@ class TestMsgSigntxSegwitNative(TrezorTest): # f41cbedd8becee05a830f418d13aa665125464547db5c7a6cd28f21639fe1228 assert ( - hexlify(serialized_tx) - == b"01000000000101be0210025c5be68a473f6a38bf53b53bc88d5c46567616026dc056e72b92319c01000000232200201e8dda334f11171190b3da72e526d441491464769679a319a2f011da5ad312a1ffffffff01887d180000000000220020c5f4a0a4ea7c0392efe0a9670a73264cffa90b19107cd8a8e9750ff93c77fdfb0400483045022100a9b681f324ff4cf419ab06820d07248cc4e359c77334bf448ae7b5cdf3995ddf022039811f91f55b602368b4ba08a217b82bfd62d1a97dc635deb1457e7cfcc1550b0147304402201ad86a795c3d26881d696fa0a0619c24c4d505718132a82965cc2a609c9d8798022067cd490ce1366cde77e307ced5b13040bbc04991619ea6f49e06cece9a83268b01695221038e81669c085a5846e68e03875113ddb339ecbb7cb11376d4163bca5dc2e2a0c1210348c5c3be9f0e6cf1954ded1c0475beccc4d26aaa9d0cce2dd902538ff1018a112103931140ebe0fbbb7df0be04ed032a54e9589e30339ba7bbb8b0b71b15df1294da53ae00000000" + serialized_tx.hex() + == "01000000000101be0210025c5be68a473f6a38bf53b53bc88d5c46567616026dc056e72b92319c01000000232200201e8dda334f11171190b3da72e526d441491464769679a319a2f011da5ad312a1ffffffff01887d180000000000220020c5f4a0a4ea7c0392efe0a9670a73264cffa90b19107cd8a8e9750ff93c77fdfb0400483045022100a9b681f324ff4cf419ab06820d07248cc4e359c77334bf448ae7b5cdf3995ddf022039811f91f55b602368b4ba08a217b82bfd62d1a97dc635deb1457e7cfcc1550b0147304402201ad86a795c3d26881d696fa0a0619c24c4d505718132a82965cc2a609c9d8798022067cd490ce1366cde77e307ced5b13040bbc04991619ea6f49e06cece9a83268b01695221038e81669c085a5846e68e03875113ddb339ecbb7cb11376d4163bca5dc2e2a0c1210348c5c3be9f0e6cf1954ded1c0475beccc4d26aaa9d0cce2dd902538ff1018a112103931140ebe0fbbb7df0be04ed032a54e9589e30339ba7bbb8b0b71b15df1294da53ae00000000" ) def test_send_multisig_2(self): @@ -539,7 +537,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): inp1 = proto.TxInputType( address_n=parse_path("999'/1'/2'/2/1"), - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "f41cbedd8becee05a830f418d13aa665125464547db5c7a6cd28f21639fe1228" ), prev_index=0, @@ -620,8 +618,8 @@ class TestMsgSigntxSegwitNative(TrezorTest): # c9348040bbc2024e12dcb4a0b4806b0398646b91acf314da028c3f03dd0179fc assert ( - hexlify(serialized_tx) - == b"010000000001012812fe3916f228cda6c7b57d5464541265a63ad118f430a805eeec8bddbe1cf40000000000ffffffff01a0791800000000002200201e8dda334f11171190b3da72e526d441491464769679a319a2f011da5ad312a10400483045022100cc97f21a7cabc543a9b4ac52424e8f7e420622903f2417a1c08a6af68058ec4a02200baca0b222fc825078d94e8e1b55f174c4828bed16697e4281cda2a0c799eecf01473044022009b8058dc30fa7a13310dd8f1a99c4341c4cd95f771c5a41c4381f956e2344c102205e829c560c0184fd4b4db8971f99711e2a87409afa4df0840b4f12a87b2c8afc0169522102740ec30d0af8591a0dd4a3e3b274e57f3f73bdc0638a9603f9ee6ade0475ba57210311aada919974e882abf0c67b5c0fba00000b26997312ca00345027d22359443021029382591271a79d4b12365fa27c67fad3753150d8eaa987e5a12dc5ba1bb2fa1653ae00000000" + serialized_tx.hex() + == "010000000001012812fe3916f228cda6c7b57d5464541265a63ad118f430a805eeec8bddbe1cf40000000000ffffffff01a0791800000000002200201e8dda334f11171190b3da72e526d441491464769679a319a2f011da5ad312a10400483045022100cc97f21a7cabc543a9b4ac52424e8f7e420622903f2417a1c08a6af68058ec4a02200baca0b222fc825078d94e8e1b55f174c4828bed16697e4281cda2a0c799eecf01473044022009b8058dc30fa7a13310dd8f1a99c4341c4cd95f771c5a41c4381f956e2344c102205e829c560c0184fd4b4db8971f99711e2a87409afa4df0840b4f12a87b2c8afc0169522102740ec30d0af8591a0dd4a3e3b274e57f3f73bdc0638a9603f9ee6ade0475ba57210311aada919974e882abf0c67b5c0fba00000b26997312ca00345027d22359443021029382591271a79d4b12365fa27c67fad3753150d8eaa987e5a12dc5ba1bb2fa1653ae00000000" ) def test_send_multisig_3_change(self): @@ -658,7 +656,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): inp1 = proto.TxInputType( address_n=parse_path("999'/1'/1'/2/0"), - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "c9348040bbc2024e12dcb4a0b4806b0398646b91acf314da028c3f03dd0179fc" ), prev_index=0, @@ -739,8 +737,8 @@ class TestMsgSigntxSegwitNative(TrezorTest): # 31bc1c88ce6ae337a6b3057a16d5bad0b561ad1dfc047d0a7fbb8814668f91e5 assert ( - hexlify(serialized_tx) - == b"01000000000101fc7901dd033f8c02da14f3ac916b6498036b80b4a0b4dc124e02c2bb408034c90000000000ffffffff01b87518000000000017a914a8655acf68f785125561158b0f4db9b5d0044047870400473044022057b571986c07f8ccb231811334ad06ee6f87b722495def2e9511c1da46f3433202207b6e95bdd99e7fc7d319486437cb930d40a4af3cd753c4cb960b330badbf7f35014730440220517ecc6d0a2544276921d8fc2077aec4285ab83b1b21f5eb73cdb6187a0583e4022043fb5ab942f8981c04a54c66a57c4d291fad8514d4a8afea09f01f2db7a8f32901695221038e81669c085a5846e68e03875113ddb339ecbb7cb11376d4163bca5dc2e2a0c1210348c5c3be9f0e6cf1954ded1c0475beccc4d26aaa9d0cce2dd902538ff1018a112103931140ebe0fbbb7df0be04ed032a54e9589e30339ba7bbb8b0b71b15df1294da53ae00000000" + serialized_tx.hex() + == "01000000000101fc7901dd033f8c02da14f3ac916b6498036b80b4a0b4dc124e02c2bb408034c90000000000ffffffff01b87518000000000017a914a8655acf68f785125561158b0f4db9b5d0044047870400473044022057b571986c07f8ccb231811334ad06ee6f87b722495def2e9511c1da46f3433202207b6e95bdd99e7fc7d319486437cb930d40a4af3cd753c4cb960b330badbf7f35014730440220517ecc6d0a2544276921d8fc2077aec4285ab83b1b21f5eb73cdb6187a0583e4022043fb5ab942f8981c04a54c66a57c4d291fad8514d4a8afea09f01f2db7a8f32901695221038e81669c085a5846e68e03875113ddb339ecbb7cb11376d4163bca5dc2e2a0c1210348c5c3be9f0e6cf1954ded1c0475beccc4d26aaa9d0cce2dd902538ff1018a112103931140ebe0fbbb7df0be04ed032a54e9589e30339ba7bbb8b0b71b15df1294da53ae00000000" ) def test_send_multisig_4_change(self): @@ -777,7 +775,7 @@ class TestMsgSigntxSegwitNative(TrezorTest): inp1 = proto.TxInputType( address_n=parse_path("999'/1'/1'/1/1"), - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "31bc1c88ce6ae337a6b3057a16d5bad0b561ad1dfc047d0a7fbb8814668f91e5" ), prev_index=0, @@ -858,6 +856,6 @@ class TestMsgSigntxSegwitNative(TrezorTest): # c0bf56060a109624b4635222696d94a7d533cacea1b3f8245417a4348c045829 assert ( - hexlify(serialized_tx) - == b"01000000000101e5918f661488bb7f0a7d04fc1dad61b5d0bad5167a05b3a637e36ace881cbc3100000000232200205b9824093eaf5cdcf8247c00dc0b557a7720957828fcde8384ac11f80a91f403ffffffff01d071180000000000220020e77caf5fbef07b1e461475c02afd4aed877693263d69c81e14617304349b629a040047304402204832553b0da1009da496881e58e8e2e41010cfe5c0161623048093f1b1a817b7022020dad8bf887acf574af80bfe4b39cd24e95019fd5e6b8ae967471e21ddc67354014830450221009e5d60847e7275edcf4619ed8ee462c56a042eef75d17da2d44e6b13d78e50e50220665195492900ef87a5eb8a924fa0ac9afc4fc75ca704ff356dc3a213979970c80169522103f4040006e3561b3e76c6d4113225c84748ab9d55ffd23f9578ab4c18fb0c3b9721020975f2e6922897ff6b80da6412a8d6ebd67e33c9611d081656a53ef967964e5021026b0546f23a6ce6b756c2c30b4176ce6f1c3268744f7aca82668d5116c4f764e453ae00000000" + serialized_tx.hex() + == "01000000000101e5918f661488bb7f0a7d04fc1dad61b5d0bad5167a05b3a637e36ace881cbc3100000000232200205b9824093eaf5cdcf8247c00dc0b557a7720957828fcde8384ac11f80a91f403ffffffff01d071180000000000220020e77caf5fbef07b1e461475c02afd4aed877693263d69c81e14617304349b629a040047304402204832553b0da1009da496881e58e8e2e41010cfe5c0161623048093f1b1a817b7022020dad8bf887acf574af80bfe4b39cd24e95019fd5e6b8ae967471e21ddc67354014830450221009e5d60847e7275edcf4619ed8ee462c56a042eef75d17da2d44e6b13d78e50e50220665195492900ef87a5eb8a924fa0ac9afc4fc75ca704ff356dc3a213979970c80169522103f4040006e3561b3e76c6d4113225c84748ab9d55ffd23f9578ab4c18fb0c3b9721020975f2e6922897ff6b80da6412a8d6ebd67e33c9611d081656a53ef967964e5021026b0546f23a6ce6b756c2c30b4176ce6f1c3268744f7aca82668d5116c4f764e453ae00000000" ) diff --git a/trezorlib/tests/device_tests/test_msg_signtx_zcash.py b/trezorlib/tests/device_tests/test_msg_signtx_zcash.py index bd8c4ccd29..88d95ca170 100644 --- a/trezorlib/tests/device_tests/test_msg_signtx_zcash.py +++ b/trezorlib/tests/device_tests/test_msg_signtx_zcash.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify, unhexlify - import pytest from trezorlib import btc, coins, messages as proto @@ -25,7 +23,7 @@ from .common import TrezorTest TxApiZcashTestnet = coins.tx_api["Zcash Testnet"] -TXHASH_aaf51e = unhexlify( +TXHASH_aaf51e = bytes.fromhex( "aaf51e4606c264e47e5c42c958fe4cf1539c5172684721e38e69f4ef634d75dc" ) @@ -90,6 +88,6 @@ class TestMsgSigntxZcash(TrezorTest): # Accepted by network: tx eda9b772c47f0c29310759960e0081c98707aa67a0a2738bcc71439fcf360675 assert ( - hexlify(serialized_tx) - == b"030000807082c40301dc754d63eff4698ee321476872519c53f14cfe58c9425c7ee464c206461ef5aa010000006a47304402207e45f303b4e42be824513855eb21653e1d2749cd94dcd0f0613d3f85d4efd1e20220699ffbdbcad889af7ede5ce9febf7a5ef8f5619b2464824529974c400cffaebc0121030e669acac1f280d1ddf441cd2ba5e97417bf2689e4bbec86df4f831bf9f7ffd0ffffffff016c9be111000000001976a9145b157a678a10021243307e4bb58f36375aa80e1088ac000000000000000000" + serialized_tx.hex() + == "030000807082c40301dc754d63eff4698ee321476872519c53f14cfe58c9425c7ee464c206461ef5aa010000006a47304402207e45f303b4e42be824513855eb21653e1d2749cd94dcd0f0613d3f85d4efd1e20220699ffbdbcad889af7ede5ce9febf7a5ef8f5619b2464824529974c400cffaebc0121030e669acac1f280d1ddf441cd2ba5e97417bf2689e4bbec86df4f831bf9f7ffd0ffffffff016c9be111000000001976a9145b157a678a10021243307e4bb58f36375aa80e1088ac000000000000000000" ) diff --git a/trezorlib/tests/device_tests/test_msg_stellar_sign_transaction.py b/trezorlib/tests/device_tests/test_msg_stellar_sign_transaction.py index 9d841a5196..42c175e50e 100644 --- a/trezorlib/tests/device_tests/test_msg_stellar_sign_transaction.py +++ b/trezorlib/tests/device_tests/test_msg_stellar_sign_transaction.py @@ -47,7 +47,6 @@ # from base64 import b64encode -from binascii import hexlify import pytest @@ -95,8 +94,8 @@ class TestMsgStellarSignTransaction(TrezorTest): ) assert ( - hexlify(response.public_key) - == b"15d648bfe4d36f196cfb5735ffd8ca54cd4b8233f743f22449de7cf301cdb469" + response.public_key.hex() + == "15d648bfe4d36f196cfb5735ffd8ca54cd4b8233f743f22449de7cf301cdb469" ) assert ( b64encode(response.signature) diff --git a/trezorlib/tests/device_tests/test_msg_tezos_sign_tx.py b/trezorlib/tests/device_tests/test_msg_tezos_sign_tx.py index 9a3990bc5e..d0478b5763 100644 --- a/trezorlib/tests/device_tests/test_msg_tezos_sign_tx.py +++ b/trezorlib/tests/device_tests/test_msg_tezos_sign_tx.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import unhexlify - import pytest from trezorlib import messages, tezos @@ -62,8 +60,9 @@ class TestMsgTezosSignTx(TrezorTest): resp.signature == "edsigtfmAbUJtZMAJRGMppvDzPtiWBBQiZKf7G15dV9tgkHQefwiV4JeSw5Rj57ZK54FHEthpyzCpfGvAjU8YqhHxMwZP9Z2Jmt" ) - assert resp.sig_op_contents == unhexlify( - "f2ae0c72fdd41d7a89bebfe8d6dd6d38e0fcd0782adb8194717176eb70366f64080000001e65c88ae6317cd62a638c8abd1e71c83c847500fdd206c80100904e000004115bce5af2f977acbb900f449c14c53e1d89cf003cce7e6dfe3f79a8bd39f77d738fd79140da1a9e762b7d156eca2cf945aae978436cf68c1ec11889e4f2cf074c9642e05b3d65cc2896809af1fbdab0b126f90c" + assert ( + resp.sig_op_contents.hex() + == "f2ae0c72fdd41d7a89bebfe8d6dd6d38e0fcd0782adb8194717176eb70366f64080000001e65c88ae6317cd62a638c8abd1e71c83c847500fdd206c80100904e000004115bce5af2f977acbb900f449c14c53e1d89cf003cce7e6dfe3f79a8bd39f77d738fd79140da1a9e762b7d156eca2cf945aae978436cf68c1ec11889e4f2cf074c9642e05b3d65cc2896809af1fbdab0b126f90c" ) assert ( resp.operation_hash == "opNeGBdgbM5jN2ykz4o8NdsCuJfqNZ6WBEFVbBUmYH8gp45CJvH" @@ -112,8 +111,9 @@ class TestMsgTezosSignTx(TrezorTest): resp.signature == "edsigtheQQ78dZM9Sir78T3TNdfnyHrbFw8w3hiGMaLD5mPbGrUiD1jvy5fpsNJW9T5o7qrWBe7y7bai6vZ5KhwJ5HKZ8UnoCbh" ) - assert resp.sig_op_contents == unhexlify( - "03cbce9a5ea1fae2566f7f244a01edc5869f5ada9d0bf21c1098017c59be98e0070000001e65c88ae6317cd62a638c8abd1e71c83c847500fbd206c8010000200da2c0200927dd8168b2b62e1322637521fcefb3184e61c1c3123c7c00bb95080000001e65c88ae6317cd62a638c8abd1e71c83c847500fcd206c80100904e000004115bce5af2f977acbb900f449c14c53e1d89cf004b33e241c90b828c31cf44a28c123aee3f161049c3cb4c42ec71dd96fbbf8dae9963bdadb33f51d7c6f11ff0e74f0baad742352d980a1899f69c3c65c70fe40f" + assert ( + resp.sig_op_contents.hex() + == "03cbce9a5ea1fae2566f7f244a01edc5869f5ada9d0bf21c1098017c59be98e0070000001e65c88ae6317cd62a638c8abd1e71c83c847500fbd206c8010000200da2c0200927dd8168b2b62e1322637521fcefb3184e61c1c3123c7c00bb95080000001e65c88ae6317cd62a638c8abd1e71c83c847500fcd206c80100904e000004115bce5af2f977acbb900f449c14c53e1d89cf004b33e241c90b828c31cf44a28c123aee3f161049c3cb4c42ec71dd96fbbf8dae9963bdadb33f51d7c6f11ff0e74f0baad742352d980a1899f69c3c65c70fe40f" ) assert ( resp.operation_hash == "opQHu93L8juNm2VjmsMKioFowWNyMvGzopcuoVcuzFV1bJMhJef" @@ -151,8 +151,9 @@ class TestMsgTezosSignTx(TrezorTest): resp.signature == "edsigu46YtcVthQQQ2FTcuayNwTcYY1Mpo6BmwCu83qGovi4kHM9CL5h4NaV4NQw8RTEP1VgraR6Kiv5J6RQsDLMzG17V6fcYwp" ) - assert resp.sig_op_contents == unhexlify( - "5e556181029c4ce5e54c9ffcbba2fc0966ed4d880ddeb0849bf6387438a7a877090000001e65c88ae6317cd62a638c8abd1e71c83c84750081d306904e6400001e65c88ae6317cd62a638c8abd1e71c83c847580897affffff0049a35041e4be130977d51419208ca1d487cfb2e700e785342fd2258277741f93c17c5022ea1be059f47f3e343600e83c50ca191e8318da9e5ec237be9657d0fc6aba654f476c945430239a3c6dfeca21e06be98706" + assert ( + resp.sig_op_contents.hex() + == "5e556181029c4ce5e54c9ffcbba2fc0966ed4d880ddeb0849bf6387438a7a877090000001e65c88ae6317cd62a638c8abd1e71c83c84750081d306904e6400001e65c88ae6317cd62a638c8abd1e71c83c847580897affffff0049a35041e4be130977d51419208ca1d487cfb2e700e785342fd2258277741f93c17c5022ea1be059f47f3e343600e83c50ca191e8318da9e5ec237be9657d0fc6aba654f476c945430239a3c6dfeca21e06be98706" ) assert ( resp.operation_hash == "onuKkBtP4K2JMGg7YMv7qs869B8aHCEUQecvuiL71aKkY8iPCb6" @@ -186,8 +187,9 @@ class TestMsgTezosSignTx(TrezorTest): resp.signature == "edsigu3qGseaB2MghcGQWNWUhPtWgM9rC62FTEVrYWGtzFTHShDxGGmLFfEpJyToRCeRqcgGm3pyXY3NdyATkjmFTtUvJKvb3rX" ) - assert resp.sig_op_contents == unhexlify( - "9b8b8bc45d611a3ada20ad0f4b6f0bfd72ab395cc52213a57b14d1fb75b37fd00a0000001e65c88ae6317cd62a638c8abd1e71c83c847500ffd206c80100ff0049a35041e4be130977d51419208ca1d487cfb2e7e581d41daf8cab833d5b99151a0303fd04472eb990f7338d7be57afe21c26e779ff4341511694aebd901a0d74d183bbcb726a9be4b873d3b47298f99f2b7e80c" + assert ( + resp.sig_op_contents.hex() + == "9b8b8bc45d611a3ada20ad0f4b6f0bfd72ab395cc52213a57b14d1fb75b37fd00a0000001e65c88ae6317cd62a638c8abd1e71c83c847500ffd206c80100ff0049a35041e4be130977d51419208ca1d487cfb2e7e581d41daf8cab833d5b99151a0303fd04472eb990f7338d7be57afe21c26e779ff4341511694aebd901a0d74d183bbcb726a9be4b873d3b47298f99f2b7e80c" ) assert ( resp.operation_hash == "oocgc3hyKsGHPsw6WFWJpWT8jBwQLtebQAXF27KNisThkzoj635" diff --git a/trezorlib/tests/device_tests/test_msg_verifymessage.py b/trezorlib/tests/device_tests/test_msg_verifymessage.py index 1aceba8880..e017c568f2 100644 --- a/trezorlib/tests/device_tests/test_msg_verifymessage.py +++ b/trezorlib/tests/device_tests/test_msg_verifymessage.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import unhexlify - from trezorlib import btc from .common import TrezorTest @@ -28,7 +26,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bitcoin", "14LmW5k4ssUrtbAB4255zdqv3b4w1TuX9e", - unhexlify( + bytes.fromhex( "205ff795c29aef7538f8b3bdb2e8add0d0722ad630a140b6aefd504a5a895cbd867cbb00981afc50edd0398211e8d7c304bb8efa461181bc0afa67ea4a720a89ed" ), "VeryLongMessage!" * 64, @@ -41,7 +39,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Testnet", "mirio8q3gtv7fhdnmb3TpZ4EuafdzSs7zL", - unhexlify( + bytes.fromhex( "209e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ), "This is an example of a signed message.", @@ -56,7 +54,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bitcoin", "1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T", - unhexlify( + bytes.fromhex( "1ba77e01a9e17ba158b962cfef5f13dfed676ffc2b4bada24e58f784458b52b97421470d001d53d5880cf5e10e76f02be3e80bf21e18398cbd41e8c3b4af74c8c2" ), "This is an example of a signed message.", @@ -68,7 +66,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bitcoin", "1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T", - unhexlify( + bytes.fromhex( "1ba77e01a9e17ba158b962cfef5f13dfed676ffc2b4bada24e58f784458b52b97421470d001d53d5880cf5e10e76f02be3e80bf21e18398cbd41e8c3b4af74c800" ), "This is an example of a signed message.", @@ -80,7 +78,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bitcoin", "1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T", - unhexlify( + bytes.fromhex( "1ba77e01a9e17ba158b962cfef5f13dfed676ffc2b4bada24e58f784458b52b97421470d001d53d5880cf5e10e76f02be3e80bf21e18398cbd41e8c3b4af74c8c2" ), "This is an example of a signed message!", @@ -92,7 +90,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bitcoin", "1C7zdTfnkzmr13HfA2vNm5SJYRK6nEKyq8", - unhexlify( + bytes.fromhex( "1f44e3e461f7ca9f57c472ce1a28214df1de1dadefb6551a32d1907b80c74d5a1fbfd6daaba12dd8cb06699ce3f6941fbe0f3957b5802d13076181046e741eaaaf" ), "This is an example of a signed message.", @@ -104,7 +102,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bitcoin", "1C7zdTfnkzmr13HfA2vNm5SJYRK6nEKyq8", - unhexlify( + bytes.fromhex( "1f44e3e461f7ca9f57c472ce1a28214df1de1dadefb6551a32d1907b80c74d5a1fbfd6daaba12dd8cb06699ce3f6941fbe0f3957b5802d13076181046e741eaa00" ), "This is an example of a signed message.", @@ -116,7 +114,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bitcoin", "1C7zdTfnkzmr13HfA2vNm5SJYRK6nEKyq8", - unhexlify( + bytes.fromhex( "1f44e3e461f7ca9f57c472ce1a28214df1de1dadefb6551a32d1907b80c74d5a1fbfd6daaba12dd8cb06699ce3f6941fbe0f3957b5802d13076181046e741eaaaf" ), "This is an example of a signed message!", @@ -128,7 +126,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bitcoin", "14LmW5k4ssUrtbAB4255zdqv3b4w1TuX9e", - unhexlify( + bytes.fromhex( "209e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ), "This is an example of a signed message.", @@ -140,7 +138,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bitcoin", "14LmW5k4ssUrtbAB4255zdqv3b4w1TuX9e", - unhexlify( + bytes.fromhex( "209e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be00" ), "This is an example of a signed message.", @@ -152,7 +150,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bitcoin", "14LmW5k4ssUrtbAB4255zdqv3b4w1TuX9e", - unhexlify( + bytes.fromhex( "209e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ), "This is an example of a signed message!", @@ -165,7 +163,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bcash", "bitcoincash:qqj22md58nm09vpwsw82fyletkxkq36zxyxh322pru", - unhexlify( + bytes.fromhex( "209e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ), "This is an example of a signed message.", @@ -179,7 +177,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bitcoin", "1KzXE97kV7DrpxCViCN3HbGbiKhzzPM7TQ", - unhexlify( + bytes.fromhex( "1cc694f0f23901dfe3603789142f36a3fc582d0d5c0ec7215cf2ccd641e4e37228504f3d4dc3eea28bbdbf5da27c49d4635c097004d9f228750ccd836a8e1460c0" ), u"\u017elu\u0165ou\u010dk\xfd k\u016f\u0148 \xfap\u011bl \u010f\xe1belsk\xe9 \xf3dy", @@ -197,7 +195,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bitcoin", "14LmW5k4ssUrtbAB4255zdqv3b4w1TuX9e", - unhexlify( + bytes.fromhex( "20d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" ), words_nfkd, @@ -207,7 +205,7 @@ class TestMsgVerifymessage(TrezorTest): self.client, "Bitcoin", "14LmW5k4ssUrtbAB4255zdqv3b4w1TuX9e", - unhexlify( + bytes.fromhex( "20d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" ), words_nfc, diff --git a/trezorlib/tests/device_tests/test_msg_verifymessage_segwit.py b/trezorlib/tests/device_tests/test_msg_verifymessage_segwit.py index 6db9cb3bbb..d59ff9cfa0 100644 --- a/trezorlib/tests/device_tests/test_msg_verifymessage_segwit.py +++ b/trezorlib/tests/device_tests/test_msg_verifymessage_segwit.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import unhexlify - from trezorlib import btc from .common import TrezorTest @@ -28,7 +26,7 @@ class TestMsgVerifymessageSegwit(TrezorTest): self.client, "Bitcoin", "3CwYaeWxhpXXiHue3ciQez1DLaTEAXcKa1", - unhexlify( + bytes.fromhex( "245ff795c29aef7538f8b3bdb2e8add0d0722ad630a140b6aefd504a5a895cbd867cbb00981afc50edd0398211e8d7c304bb8efa461181bc0afa67ea4a720a89ed" ), "VeryLongMessage!" * 64, @@ -41,7 +39,7 @@ class TestMsgVerifymessageSegwit(TrezorTest): self.client, "Testnet", "2N4VkePSzKH2sv5YBikLHGvzUYvfPxV6zS9", - unhexlify( + bytes.fromhex( "249e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ), "This is an example of a signed message.", @@ -56,7 +54,7 @@ class TestMsgVerifymessageSegwit(TrezorTest): self.client, "Bitcoin", "3CwYaeWxhpXXiHue3ciQez1DLaTEAXcKa1", - unhexlify( + bytes.fromhex( "249e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ), "This is an example of a signed message.", @@ -68,7 +66,7 @@ class TestMsgVerifymessageSegwit(TrezorTest): self.client, "Bitcoin", "3CwYaeWxhpXXiHue3ciQez1DLaTEAXcKa1", - unhexlify( + bytes.fromhex( "249e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be00" ), "This is an example of a signed message.", @@ -80,7 +78,7 @@ class TestMsgVerifymessageSegwit(TrezorTest): self.client, "Bitcoin", "3CwYaeWxhpXXiHue3ciQez1DLaTEAXcKa1", - unhexlify( + bytes.fromhex( "249e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ), "This is an example of a signed message!", @@ -97,7 +95,7 @@ class TestMsgVerifymessageSegwit(TrezorTest): self.client, "Bitcoin", "3CwYaeWxhpXXiHue3ciQez1DLaTEAXcKa1", - unhexlify( + bytes.fromhex( "24d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" ), words_nfkd, @@ -107,7 +105,7 @@ class TestMsgVerifymessageSegwit(TrezorTest): self.client, "Bitcoin", "3CwYaeWxhpXXiHue3ciQez1DLaTEAXcKa1", - unhexlify( + bytes.fromhex( "24d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" ), words_nfc, diff --git a/trezorlib/tests/device_tests/test_msg_verifymessage_segwit_native.py b/trezorlib/tests/device_tests/test_msg_verifymessage_segwit_native.py index 0d3758eb82..b463b1f865 100644 --- a/trezorlib/tests/device_tests/test_msg_verifymessage_segwit_native.py +++ b/trezorlib/tests/device_tests/test_msg_verifymessage_segwit_native.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import unhexlify - from trezorlib import btc from .common import TrezorTest @@ -28,7 +26,7 @@ class TestMsgVerifymessageSegwitNative(TrezorTest): self.client, "Bitcoin", "bc1qyjjkmdpu7metqt5r36jf872a34syws33s82q2j", - unhexlify( + bytes.fromhex( "285ff795c29aef7538f8b3bdb2e8add0d0722ad630a140b6aefd504a5a895cbd867cbb00981afc50edd0398211e8d7c304bb8efa461181bc0afa67ea4a720a89ed" ), "VeryLongMessage!" * 64, @@ -41,7 +39,7 @@ class TestMsgVerifymessageSegwitNative(TrezorTest): self.client, "Testnet", "tb1qyjjkmdpu7metqt5r36jf872a34syws336p3n3p", - unhexlify( + bytes.fromhex( "289e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ), "This is an example of a signed message.", @@ -56,7 +54,7 @@ class TestMsgVerifymessageSegwitNative(TrezorTest): self.client, "Bitcoin", "bc1qyjjkmdpu7metqt5r36jf872a34syws33s82q2j", - unhexlify( + bytes.fromhex( "289e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ), "This is an example of a signed message.", @@ -68,7 +66,7 @@ class TestMsgVerifymessageSegwitNative(TrezorTest): self.client, "Bitcoin", "bc1qyjjkmdpu7metqt5r36jf872a34syws33s82q2j", - unhexlify( + bytes.fromhex( "289e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be00" ), "This is an example of a signed message.", @@ -80,7 +78,7 @@ class TestMsgVerifymessageSegwitNative(TrezorTest): self.client, "Bitcoin", "bc1qyjjkmdpu7metqt5r36jf872a34syws33s82q2j", - unhexlify( + bytes.fromhex( "289e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ), "This is an example of a signed message!", @@ -97,7 +95,7 @@ class TestMsgVerifymessageSegwitNative(TrezorTest): self.client, "Bitcoin", "bc1qyjjkmdpu7metqt5r36jf872a34syws33s82q2j", - unhexlify( + bytes.fromhex( "28d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" ), words_nfkd, @@ -107,7 +105,7 @@ class TestMsgVerifymessageSegwitNative(TrezorTest): self.client, "Bitcoin", "bc1qyjjkmdpu7metqt5r36jf872a34syws33s82q2j", - unhexlify( + bytes.fromhex( "28d0ec02ed8da8df23e7fe9e680e7867cc290312fe1c970749d8306ddad1a1eda41c6a771b13d495dd225b13b0a9d0f915a984ee3d0703f92287bf8009fbb9f7d6" ), words_nfc, diff --git a/trezorlib/tests/device_tests/test_multisig.py b/trezorlib/tests/device_tests/test_multisig.py index 867f341063..ac0e541c9d 100644 --- a/trezorlib/tests/device_tests/test_multisig.py +++ b/trezorlib/tests/device_tests/test_multisig.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify, unhexlify - import pytest from trezorlib import btc, messages as proto @@ -24,7 +22,7 @@ from trezorlib.tools import CallException from ..support import ckd_public as bip32 from .common import TrezorTest -TXHASH_c6091a = unhexlify( +TXHASH_c6091a = bytes.fromhex( "c6091adf4c0c23982a35899a6e58ae11e703eacd7954f588ed4b9cdefc4dba52" ) @@ -144,8 +142,8 @@ class TestMultisig(TrezorTest): (signatures1, _) = btc.sign_tx(self.client, "Bitcoin", [inp1], [out1]) assert ( - hexlify(signatures1[0]) - == b"3045022100985cc1ba316d140eb4b2d4028d8cd1c451f87bff8ff679858732e516ad04cd3402207af6edda99972af0baa7702a3b7448517c8242e7bca669f6861771cdd16ee058" + signatures1[0].hex() + == "3045022100985cc1ba316d140eb4b2d4028d8cd1c451f87bff8ff679858732e516ad04cd3402207af6edda99972af0baa7702a3b7448517c8242e7bca669f6861771cdd16ee058" ) # --------------------------------------- @@ -229,14 +227,14 @@ class TestMultisig(TrezorTest): ) assert ( - hexlify(signatures2[0]) - == b"3045022100f5428fe0531b3095675b40d87cab607ee036fac823b22e8dcec35b65aff6e52b022032129b4577ff923d321a1c70db5a6cec5bcc142cb2c51901af8b989cced23e0d" + signatures2[0].hex() + == "3045022100f5428fe0531b3095675b40d87cab607ee036fac823b22e8dcec35b65aff6e52b022032129b4577ff923d321a1c70db5a6cec5bcc142cb2c51901af8b989cced23e0d" ) # Accepted by network: tx 8382a2b2e3ec8788800c1d46d285dfa9dd4051edddd75982fad166b9273e5ac6 assert ( - hexlify(serialized_tx) - == b"010000000152ba4dfcde9c4bed88f55479cdea03e711ae586e9a89352a98230c4cdf1a09c601000000fdfe0000483045022100985cc1ba316d140eb4b2d4028d8cd1c451f87bff8ff679858732e516ad04cd3402207af6edda99972af0baa7702a3b7448517c8242e7bca669f6861771cdd16ee05801483045022100f5428fe0531b3095675b40d87cab607ee036fac823b22e8dcec35b65aff6e52b022032129b4577ff923d321a1c70db5a6cec5bcc142cb2c51901af8b989cced23e0d014c6952210338d78612e990f2eea0c426b5e48a8db70b9d7ed66282b3b26511e0b1c75515a621038caebd6f753bbbd2bb1f3346a43cd32140648583673a31d62f2dfb56ad0ab9e32103477b9f0f34ae85434ce795f0c5e1e90c9420e5b5fad084d7cce9a487b94a790253aeffffffff01a0860100000000001976a91412e8391ad256dcdc023365978418d658dfecba1c88ac00000000" + serialized_tx.hex() + == "010000000152ba4dfcde9c4bed88f55479cdea03e711ae586e9a89352a98230c4cdf1a09c601000000fdfe0000483045022100985cc1ba316d140eb4b2d4028d8cd1c451f87bff8ff679858732e516ad04cd3402207af6edda99972af0baa7702a3b7448517c8242e7bca669f6861771cdd16ee05801483045022100f5428fe0531b3095675b40d87cab607ee036fac823b22e8dcec35b65aff6e52b022032129b4577ff923d321a1c70db5a6cec5bcc142cb2c51901af8b989cced23e0d014c6952210338d78612e990f2eea0c426b5e48a8db70b9d7ed66282b3b26511e0b1c75515a621038caebd6f753bbbd2bb1f3346a43cd32140648583673a31d62f2dfb56ad0ab9e32103477b9f0f34ae85434ce795f0c5e1e90c9420e5b5fad084d7cce9a487b94a790253aeffffffff01a0860100000000001976a91412e8391ad256dcdc023365978418d658dfecba1c88ac00000000" ) def test_15_of_15(self): @@ -245,7 +243,7 @@ class TestMultisig(TrezorTest): """ pubs = [] for x in range(15): - pubs.append(hexlify(self.client.get_public_node([x]).node.public_key)) + pubs.append(self.client.get_public_node([x]).node.public_key.hex())) """ # xpub: @@ -280,7 +278,7 @@ class TestMultisig(TrezorTest): inp1 = proto.TxInputType( address_n=[x], - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "6189e3febb5a21cee8b725aa1ef04ffce7e609448446d3a8d6f483c634ef5315" ), prev_index=1, @@ -296,8 +294,8 @@ class TestMultisig(TrezorTest): # Accepted as tx id dd320786d1f58c095be0509dc56b277b6de8f2fb5517f519c6e6708414e3300b assert ( - hexlify(serialized_tx) - == b"01000000011553ef34c683f4d6a8d346844409e6e7fc4ff01eaa25b7e8ce215abbfee3896101000000fd43060048304502210098e23085ad7282de988bf98afa1e9add9c9830009132f8902a9fa4624d5dc98b0220733216e70ab67791aa64be5c83d2050cb4ed9ff7eda2a1acc35da024d2ab2a670147304402201f8c11fb6e90fd616e484986e9451929797eba039882a9abcc203210948060b9022044da031530de7d9747d3c5a8e7cec04b04b7af495c9120b854ce7362af7fa05a01483045022100ea67c70186acef019bdf1551881bf38e6f88186501b64d3a756a2ce18e4ba18002201c35110325653e21e448b60053a4b5dda46b61096faf701a1faca61fcde91f00014730440220315598992f156d2f9d7b4275395fa067aa61ea95829fa17730885c86df4de70d02203eda9ade1656e2198c668603b17e197acb0969ed183ab0841303ea261205618901473044022060fdd6621edde9b8cf6776bc4eef26ace9b57514d725b7214ba11d333520a30e022044c30744f94484aec0f896233c5613a3256878ec0379f566226906b6d1b6061401483045022100b1d907e3574f60f7834c7e9f2e367998ce0461dad7d742d84ef8917d713f41f902203b3ac54f7bb2f7fb8685f582d2a94f7213a37cb508acffe29090cc06ae01588b01483045022100e3bf90ff3ad6395e42f46002f253f94ca0e8ffaa0620f2ceb4fa21493abdca4d02201d4c28b10b740bb2dc4b3695b4205c18f8c0dad2bb69540eb8a36576463cd5280147304402202cfaf9fab7dc1c9f0c3c23bd46bd6d5cea0664d914139fc9add80766ce998808022012db2802c07853e4cbe147afdf0b47e60bdcbcd31f9df19e04c177ed9aa66c6d0147304402207cbc2d83f351eee5ee91df26bb0c7e1cb07fe328cbbcdb0bb9656d37922c497302201b3435d4c71ffd1b34d45892f2a487bd79c8c7f57cc04373287642bb9610cb840147304402202dc3eab30ccb06553703e794212f43ee9a659f5e787a8374e9ea0bf6de0def7402201a70e970c21a807783313ed102bf4f0a3406ac7c84f94bc8194c5e209464d7230147304402206b04530c190c46a879d7771a6ad53acd33547e0d7fd320d5ad0b5b1fdeb5d4c202207b812be81c3419daadc942cca0c55aa32c7759fa7566c6dc35f030ca87a1c5be01483045022100ce523dddd6eef73d5ae7c44c870466e1ac5a7a77d43475e8def024af68977a1e022028be0276435bfa2ea887d6cf89fa829f96c1c7a55edc57bb3fd667d523fd3bf601473044022019410b20ebcd8eb3ee7ec1eff6bf0f9cbfaea82116811c61f3cf24af7e4434b1022009e5823f3349f695be09ae40754185300d8442a22715ddb5ffa17c4213140e7201483045022100964ef26a9074c3cdafffcfbe4bd445933f8c842ba11fd887922adcf7fabe0c82022023055d94c75ab223c767fbaa825c917e9beecbc7d5758cccf20d886c63d4b72a0147304402207aa3a98197697d258a8baae681f0b4c0ee682982f4205534e6c95a37dabaddd60220517a7ed5c03da2f242e17ccfdae0d81d6f454d7f9ea931fc62df6c0eab922186014d01025f21023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43d210338d78612e990f2eea0c426b5e48a8db70b9d7ed66282b3b26511e0b1c75515a621038caebd6f753bbbd2bb1f3346a43cd32140648583673a31d62f2dfb56ad0ab9e32103477b9f0f34ae85434ce795f0c5e1e90c9420e5b5fad084d7cce9a487b94a79022103fe91eca10602d7dad4c9dab2b2a0858f71e25a219a6940749ce7a48118480dae210234716c01c2dd03fa7ee302705e2b8fbd1311895d94b1dca15e62eedea9b0968f210341fb2ead334952cf60f4481ba435c4693d0be649be01d2cfe9b02018e483e7bd2102dad8b2bce360a705c16e74a50a36459b4f8f4b78f9cd67def29d54ef6f7c7cf9210222dbe3f5f197a34a1d50e2cbe2a1085cac2d605c9e176f9a240e0fd0c669330d2103fb41afab56c9cdb013fda63d777d4938ddc3cb2ad939712da688e3ed333f95982102435f177646bdc717cb3211bf46656ca7e8d642726144778c9ce816b8b8c36ccf2102158d8e20095364031d923c7e9f7f08a14b1be1ddee21fe1a5431168e31345e5521026259794892428ca0818c8fb61d2d459ddfe20e57f50803c7295e6f4e2f5586652102815f910a8689151db627e6e262e0a2075ad5ec2993a6bc1b876a9d420923d681210318f54647f645ff01bd49fedc0219343a6a22d3ea3180a3c3d3097e4b888a8db45faeffffffff0110270000000000001976a9144a087d89f8ad16ca029c675b037c02fd1c5f9aec88ac00000000" + serialized_tx.hex() + == "01000000011553ef34c683f4d6a8d346844409e6e7fc4ff01eaa25b7e8ce215abbfee3896101000000fd43060048304502210098e23085ad7282de988bf98afa1e9add9c9830009132f8902a9fa4624d5dc98b0220733216e70ab67791aa64be5c83d2050cb4ed9ff7eda2a1acc35da024d2ab2a670147304402201f8c11fb6e90fd616e484986e9451929797eba039882a9abcc203210948060b9022044da031530de7d9747d3c5a8e7cec04b04b7af495c9120b854ce7362af7fa05a01483045022100ea67c70186acef019bdf1551881bf38e6f88186501b64d3a756a2ce18e4ba18002201c35110325653e21e448b60053a4b5dda46b61096faf701a1faca61fcde91f00014730440220315598992f156d2f9d7b4275395fa067aa61ea95829fa17730885c86df4de70d02203eda9ade1656e2198c668603b17e197acb0969ed183ab0841303ea261205618901473044022060fdd6621edde9b8cf6776bc4eef26ace9b57514d725b7214ba11d333520a30e022044c30744f94484aec0f896233c5613a3256878ec0379f566226906b6d1b6061401483045022100b1d907e3574f60f7834c7e9f2e367998ce0461dad7d742d84ef8917d713f41f902203b3ac54f7bb2f7fb8685f582d2a94f7213a37cb508acffe29090cc06ae01588b01483045022100e3bf90ff3ad6395e42f46002f253f94ca0e8ffaa0620f2ceb4fa21493abdca4d02201d4c28b10b740bb2dc4b3695b4205c18f8c0dad2bb69540eb8a36576463cd5280147304402202cfaf9fab7dc1c9f0c3c23bd46bd6d5cea0664d914139fc9add80766ce998808022012db2802c07853e4cbe147afdf0b47e60bdcbcd31f9df19e04c177ed9aa66c6d0147304402207cbc2d83f351eee5ee91df26bb0c7e1cb07fe328cbbcdb0bb9656d37922c497302201b3435d4c71ffd1b34d45892f2a487bd79c8c7f57cc04373287642bb9610cb840147304402202dc3eab30ccb06553703e794212f43ee9a659f5e787a8374e9ea0bf6de0def7402201a70e970c21a807783313ed102bf4f0a3406ac7c84f94bc8194c5e209464d7230147304402206b04530c190c46a879d7771a6ad53acd33547e0d7fd320d5ad0b5b1fdeb5d4c202207b812be81c3419daadc942cca0c55aa32c7759fa7566c6dc35f030ca87a1c5be01483045022100ce523dddd6eef73d5ae7c44c870466e1ac5a7a77d43475e8def024af68977a1e022028be0276435bfa2ea887d6cf89fa829f96c1c7a55edc57bb3fd667d523fd3bf601473044022019410b20ebcd8eb3ee7ec1eff6bf0f9cbfaea82116811c61f3cf24af7e4434b1022009e5823f3349f695be09ae40754185300d8442a22715ddb5ffa17c4213140e7201483045022100964ef26a9074c3cdafffcfbe4bd445933f8c842ba11fd887922adcf7fabe0c82022023055d94c75ab223c767fbaa825c917e9beecbc7d5758cccf20d886c63d4b72a0147304402207aa3a98197697d258a8baae681f0b4c0ee682982f4205534e6c95a37dabaddd60220517a7ed5c03da2f242e17ccfdae0d81d6f454d7f9ea931fc62df6c0eab922186014d01025f21023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43d210338d78612e990f2eea0c426b5e48a8db70b9d7ed66282b3b26511e0b1c75515a621038caebd6f753bbbd2bb1f3346a43cd32140648583673a31d62f2dfb56ad0ab9e32103477b9f0f34ae85434ce795f0c5e1e90c9420e5b5fad084d7cce9a487b94a79022103fe91eca10602d7dad4c9dab2b2a0858f71e25a219a6940749ce7a48118480dae210234716c01c2dd03fa7ee302705e2b8fbd1311895d94b1dca15e62eedea9b0968f210341fb2ead334952cf60f4481ba435c4693d0be649be01d2cfe9b02018e483e7bd2102dad8b2bce360a705c16e74a50a36459b4f8f4b78f9cd67def29d54ef6f7c7cf9210222dbe3f5f197a34a1d50e2cbe2a1085cac2d605c9e176f9a240e0fd0c669330d2103fb41afab56c9cdb013fda63d777d4938ddc3cb2ad939712da688e3ed333f95982102435f177646bdc717cb3211bf46656ca7e8d642726144778c9ce816b8b8c36ccf2102158d8e20095364031d923c7e9f7f08a14b1be1ddee21fe1a5431168e31345e5521026259794892428ca0818c8fb61d2d459ddfe20e57f50803c7295e6f4e2f5586652102815f910a8689151db627e6e262e0a2075ad5ec2993a6bc1b876a9d420923d681210318f54647f645ff01bd49fedc0219343a6a22d3ea3180a3c3d3097e4b888a8db45faeffffffff0110270000000000001976a9144a087d89f8ad16ca029c675b037c02fd1c5f9aec88ac00000000" ) def test_missing_pubkey(self): diff --git a/trezorlib/tests/device_tests/test_multisig_change.py b/trezorlib/tests/device_tests/test_multisig_change.py index 49f0a56996..f86f4df61b 100644 --- a/trezorlib/tests/device_tests/test_multisig_change.py +++ b/trezorlib/tests/device_tests/test_multisig_change.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify, unhexlify - from trezorlib import btc, messages as proto from trezorlib.tools import H_, parse_path from trezorlib.tx_api import TxApiInsight @@ -106,7 +104,7 @@ class TestMultisigChange(TrezorTest): # 2N9W4z9AhAPaHghtqVQPbaTAGHdbrhKeBQw inp1 = proto.TxInputType( address_n=[H_(45), 0, 0, 0], - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "16c6c8471b8db7a628f2b2bb86bfeefae1766463ce8692438c7fd3fce3f43ce5" ), prev_index=1, @@ -117,7 +115,7 @@ class TestMultisigChange(TrezorTest): # 2NDBG6QXQLtnQ3jRGkrqo53BiCeXfQXLdj4 inp2 = proto.TxInputType( address_n=[H_(45), 0, 0, 1], - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "d80c34ee14143a8bf61125102b7ef594118a3796cad670fa8ee15080ae155318" ), prev_index=0, @@ -128,7 +126,7 @@ class TestMultisigChange(TrezorTest): # 2MvwPWfp2XPU3S1cMwgEMKBPUw38VP5SBE4 inp3 = proto.TxInputType( address_n=[H_(45), 0, 0, 1], - prev_hash=unhexlify( + prev_hash=bytes.fromhex( "b0946dc27ba308a749b11afecc2018980af18f79e89ad6b080b58220d856f739" ), prev_index=0, @@ -274,8 +272,8 @@ class TestMultisigChange(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b400473044022064f13801744a6c21b694f62cdb5d834e852f13ecf85ed4d0a56ba279571c24e3022010fab4cb05bdd7b24c8376dda4f62a418548eea6eb483e58675fa06e0d5c642c014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b4004730440220727b2522268f913acd213c507d7801b146e5b6cef666ad44b769c26d6c762e4d022021c0c2e9e8298dee2a490d956f7ab1b2d3160c1e37a50cc6d19a5e62eb484fc9014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a6202000000001976a9149b139230e4fe91c05a37ec334dc8378f3dbe377088ac00639f02000000001976a914b0d05a10926a7925508febdbab9a5bd4cda8c8f688ac00000000" + serialized_tx.hex() + == "0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b400473044022064f13801744a6c21b694f62cdb5d834e852f13ecf85ed4d0a56ba279571c24e3022010fab4cb05bdd7b24c8376dda4f62a418548eea6eb483e58675fa06e0d5c642c014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b4004730440220727b2522268f913acd213c507d7801b146e5b6cef666ad44b769c26d6c762e4d022021c0c2e9e8298dee2a490d956f7ab1b2d3160c1e37a50cc6d19a5e62eb484fc9014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a6202000000001976a9149b139230e4fe91c05a37ec334dc8378f3dbe377088ac00639f02000000001976a914b0d05a10926a7925508febdbab9a5bd4cda8c8f688ac00000000" ) # first external, second internal @@ -303,8 +301,8 @@ class TestMultisigChange(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b400473044022064f13801744a6c21b694f62cdb5d834e852f13ecf85ed4d0a56ba279571c24e3022010fab4cb05bdd7b24c8376dda4f62a418548eea6eb483e58675fa06e0d5c642c014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b4004730440220727b2522268f913acd213c507d7801b146e5b6cef666ad44b769c26d6c762e4d022021c0c2e9e8298dee2a490d956f7ab1b2d3160c1e37a50cc6d19a5e62eb484fc9014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a6202000000001976a9149b139230e4fe91c05a37ec334dc8378f3dbe377088ac00639f02000000001976a914b0d05a10926a7925508febdbab9a5bd4cda8c8f688ac00000000" + serialized_tx.hex() + == "0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b400473044022064f13801744a6c21b694f62cdb5d834e852f13ecf85ed4d0a56ba279571c24e3022010fab4cb05bdd7b24c8376dda4f62a418548eea6eb483e58675fa06e0d5c642c014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b4004730440220727b2522268f913acd213c507d7801b146e5b6cef666ad44b769c26d6c762e4d022021c0c2e9e8298dee2a490d956f7ab1b2d3160c1e37a50cc6d19a5e62eb484fc9014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a6202000000001976a9149b139230e4fe91c05a37ec334dc8378f3dbe377088ac00639f02000000001976a914b0d05a10926a7925508febdbab9a5bd4cda8c8f688ac00000000" ) # first internal, second external @@ -332,8 +330,8 @@ class TestMultisigChange(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b400473044022064f13801744a6c21b694f62cdb5d834e852f13ecf85ed4d0a56ba279571c24e3022010fab4cb05bdd7b24c8376dda4f62a418548eea6eb483e58675fa06e0d5c642c014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b4004730440220727b2522268f913acd213c507d7801b146e5b6cef666ad44b769c26d6c762e4d022021c0c2e9e8298dee2a490d956f7ab1b2d3160c1e37a50cc6d19a5e62eb484fc9014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a6202000000001976a9149b139230e4fe91c05a37ec334dc8378f3dbe377088ac00639f02000000001976a914b0d05a10926a7925508febdbab9a5bd4cda8c8f688ac00000000" + serialized_tx.hex() + == "0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b400473044022064f13801744a6c21b694f62cdb5d834e852f13ecf85ed4d0a56ba279571c24e3022010fab4cb05bdd7b24c8376dda4f62a418548eea6eb483e58675fa06e0d5c642c014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b4004730440220727b2522268f913acd213c507d7801b146e5b6cef666ad44b769c26d6c762e4d022021c0c2e9e8298dee2a490d956f7ab1b2d3160c1e37a50cc6d19a5e62eb484fc9014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a6202000000001976a9149b139230e4fe91c05a37ec334dc8378f3dbe377088ac00639f02000000001976a914b0d05a10926a7925508febdbab9a5bd4cda8c8f688ac00000000" ) # both outputs are external @@ -359,8 +357,8 @@ class TestMultisigChange(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b400473044022059394e0dfcb2d2f4a6108703f801545ca5a820c0ac6a1859d0a3854813de55fa02207b6a57d70b82932ff58163336c461653a2dc82c78ed8157159e5178ac7325390014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b40047304402205a911685f5b974b2fc4a19d5ce056218773a4d20b5eaae2c2f9594929308182002201e03449f5a8813ec19f408bf1b6f4f334886d6fcf9920e300fd7678ef0724f81014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a62020000000017a91466528dd543f94d162c8111d2ec248d25ba9b90948700639f020000000017a914f1fc92c0aed1712911c70a2e09ac15ff0922652f8700000000" + serialized_tx.hex() + == "0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b400473044022059394e0dfcb2d2f4a6108703f801545ca5a820c0ac6a1859d0a3854813de55fa02207b6a57d70b82932ff58163336c461653a2dc82c78ed8157159e5178ac7325390014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b40047304402205a911685f5b974b2fc4a19d5ce056218773a4d20b5eaae2c2f9594929308182002201e03449f5a8813ec19f408bf1b6f4f334886d6fcf9920e300fd7678ef0724f81014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a62020000000017a91466528dd543f94d162c8111d2ec248d25ba9b90948700639f020000000017a914f1fc92c0aed1712911c70a2e09ac15ff0922652f8700000000" ) # inputs match, change matches (first is change) @@ -399,8 +397,8 @@ class TestMultisigChange(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b400473044022059394e0dfcb2d2f4a6108703f801545ca5a820c0ac6a1859d0a3854813de55fa02207b6a57d70b82932ff58163336c461653a2dc82c78ed8157159e5178ac7325390014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b40047304402205a911685f5b974b2fc4a19d5ce056218773a4d20b5eaae2c2f9594929308182002201e03449f5a8813ec19f408bf1b6f4f334886d6fcf9920e300fd7678ef0724f81014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a62020000000017a91466528dd543f94d162c8111d2ec248d25ba9b90948700639f020000000017a914f1fc92c0aed1712911c70a2e09ac15ff0922652f8700000000" + serialized_tx.hex() + == "0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b400473044022059394e0dfcb2d2f4a6108703f801545ca5a820c0ac6a1859d0a3854813de55fa02207b6a57d70b82932ff58163336c461653a2dc82c78ed8157159e5178ac7325390014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b40047304402205a911685f5b974b2fc4a19d5ce056218773a4d20b5eaae2c2f9594929308182002201e03449f5a8813ec19f408bf1b6f4f334886d6fcf9920e300fd7678ef0724f81014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a62020000000017a91466528dd543f94d162c8111d2ec248d25ba9b90948700639f020000000017a914f1fc92c0aed1712911c70a2e09ac15ff0922652f8700000000" ) # inputs match, change matches (second is change) @@ -439,8 +437,8 @@ class TestMultisigChange(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b400473044022059394e0dfcb2d2f4a6108703f801545ca5a820c0ac6a1859d0a3854813de55fa02207b6a57d70b82932ff58163336c461653a2dc82c78ed8157159e5178ac7325390014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b40047304402205a911685f5b974b2fc4a19d5ce056218773a4d20b5eaae2c2f9594929308182002201e03449f5a8813ec19f408bf1b6f4f334886d6fcf9920e300fd7678ef0724f81014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a62020000000017a91466528dd543f94d162c8111d2ec248d25ba9b90948700639f020000000017a914f1fc92c0aed1712911c70a2e09ac15ff0922652f8700000000" + serialized_tx.hex() + == "0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b400473044022059394e0dfcb2d2f4a6108703f801545ca5a820c0ac6a1859d0a3854813de55fa02207b6a57d70b82932ff58163336c461653a2dc82c78ed8157159e5178ac7325390014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b40047304402205a911685f5b974b2fc4a19d5ce056218773a4d20b5eaae2c2f9594929308182002201e03449f5a8813ec19f408bf1b6f4f334886d6fcf9920e300fd7678ef0724f81014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a62020000000017a91466528dd543f94d162c8111d2ec248d25ba9b90948700639f020000000017a914f1fc92c0aed1712911c70a2e09ac15ff0922652f8700000000" ) # inputs match, change mismatches (second tries to be change but isn't) @@ -477,8 +475,8 @@ class TestMultisigChange(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b40047304402207f9992cc0230527faf54ec6bd233307db82bc8fac039dcee418bc6feb4e96a3a02206bb4cb157ad27c123277328a877572563a45d70b844d9ab07cc42238112f8c2a014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b400473044022078a41bfa87d72d6ba810d84bf568b5a29acf8b851ba6c3a8dbff079b34a7feb0022037b770c776db0b6c883c38a684a121b90a59ed1958774cbf64de70e53e29639f014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a62020000000017a91466528dd543f94d162c8111d2ec248d25ba9b90948700639f020000000017a914e6a3e2fbadb7f559f8d20c46aceae78c96fcf1d18700000000" + serialized_tx.hex() + == "0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b40047304402207f9992cc0230527faf54ec6bd233307db82bc8fac039dcee418bc6feb4e96a3a02206bb4cb157ad27c123277328a877572563a45d70b844d9ab07cc42238112f8c2a014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff185315ae8050e18efa70d6ca96378a1194f57e2b102511f68b3a1414ee340cd800000000b400473044022078a41bfa87d72d6ba810d84bf568b5a29acf8b851ba6c3a8dbff079b34a7feb0022037b770c776db0b6c883c38a684a121b90a59ed1958774cbf64de70e53e29639f014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103ed1fd93989595d7ad4b488efd05a22c0239482c9a20923f2f214a38e54f6c41a2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a62020000000017a91466528dd543f94d162c8111d2ec248d25ba9b90948700639f020000000017a914e6a3e2fbadb7f559f8d20c46aceae78c96fcf1d18700000000" ) # inputs mismatch, change matches with first input @@ -515,6 +513,6 @@ class TestMultisigChange(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b500483045022100d907b9339951c96ef4515ef7aff8b3c28c4c8c5875d7421aa1de9f3a94e3508302205cdc311a6c91dfbb74f1a9a940a994a65dbfb0cf6dedcaaaeee839e0b8fd016d014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff39f756d82082b580b0d69ae8798ff10a981820ccfe1ab149a708a37bc26d94b000000000b500483045022100fdad4a47d15f47cc364fe0cbed11b1ced1f9ef210bc1bd413ec4384f630c63720220752e4f09ea4e5e6623f5ebe89b3983ec6e5702f63f9bce696f10b2d594d23532014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103b6321a1194e5cc47b6b7edc3f67a096e6f71ccb72440f84f390b6e98df0ea8ec2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a62020000000017a91466528dd543f94d162c8111d2ec248d25ba9b90948740d2df030000000017a914f1fc92c0aed1712911c70a2e09ac15ff0922652f8700000000" + serialized_tx.hex() + == "0100000002e53cf4e3fcd37f8c439286ce636476e1faeebf86bbb2f228a6b78d1b47c8c61601000000b500483045022100d907b9339951c96ef4515ef7aff8b3c28c4c8c5875d7421aa1de9f3a94e3508302205cdc311a6c91dfbb74f1a9a940a994a65dbfb0cf6dedcaaaeee839e0b8fd016d014c69522103dc07026aacb5918dac4e09f9da8290d0ae22161699636c22cace78082116a7792103e70db185fad69c2971f0107a42930e5d82a9ed3a11b922a96fdfc4124b63e54c2103f3fe007a1e34ac76c1a2528e9149f90f9f93739929797afab6a8e18d682fa71053aeffffffff39f756d82082b580b0d69ae8798ff10a981820ccfe1ab149a708a37bc26d94b000000000b500483045022100fdad4a47d15f47cc364fe0cbed11b1ced1f9ef210bc1bd413ec4384f630c63720220752e4f09ea4e5e6623f5ebe89b3983ec6e5702f63f9bce696f10b2d594d23532014c6952210297ad8a5df42f9e362ef37d9a4ddced89d8f7a143690649aa0d0ff049c7daca842103b6321a1194e5cc47b6b7edc3f67a096e6f71ccb72440f84f390b6e98df0ea8ec2103f91460d79e4e463d7d90cb75254bcd62b515a99a950574c721efdc5f711dff3553aeffffffff02005a62020000000017a91466528dd543f94d162c8111d2ec248d25ba9b90948740d2df030000000017a914f1fc92c0aed1712911c70a2e09ac15ff0922652f8700000000" ) diff --git a/trezorlib/tests/device_tests/test_op_return.py b/trezorlib/tests/device_tests/test_op_return.py index 4bd77124d4..3affb335cf 100644 --- a/trezorlib/tests/device_tests/test_op_return.py +++ b/trezorlib/tests/device_tests/test_op_return.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import hexlify, unhexlify - import pytest from trezorlib import btc, messages as proto @@ -24,7 +22,7 @@ from trezorlib.tools import CallException from .common import TrezorTest from .conftest import TREZOR_VERSION -TXHASH_d5f65e = unhexlify( +TXHASH_d5f65e = bytes.fromhex( "d5f65ee80147b4bcc70b75e4bbf2d7382021b871bd8867ef8fa525ef50864882" ) @@ -123,8 +121,8 @@ class TestOpReturn(TrezorTest): ) assert ( - hexlify(serialized_tx) - == b"010000000182488650ef25a58fef6788bd71b8212038d7f2bbe4750bc7bcb44701e85ef6d5000000006a4730440220187b7b9c340a32fc8445418ad11fb3827d2e8bac7d730e1c9ad800353e7ba62f02206c0c5820ba8882c82923a39aee8d36d6d32e13daed73f7a3d6199de5f8e7ddfd0121023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43dffffffff0260cc0500000000001976a914de9b2a8da088824e8fe51debea566617d851537888ac00000000000000001c6a1a74657374206f6620746865206f705f72657475726e206461746100000000" + serialized_tx.hex() + == "010000000182488650ef25a58fef6788bd71b8212038d7f2bbe4750bc7bcb44701e85ef6d5000000006a4730440220187b7b9c340a32fc8445418ad11fb3827d2e8bac7d730e1c9ad800353e7ba62f02206c0c5820ba8882c82923a39aee8d36d6d32e13daed73f7a3d6199de5f8e7ddfd0121023230848585885f63803a0a8aecdd6538792d5c539215c91698e315bf0253b43dffffffff0260cc0500000000001976a914de9b2a8da088824e8fe51debea566617d851537888ac00000000000000001c6a1a74657374206f6620746865206f705f72657475726e206461746100000000" ) def test_nonzero_opreturn(self): diff --git a/trezorlib/tests/device_tests/test_protection_levels.py b/trezorlib/tests/device_tests/test_protection_levels.py index 63e65f93cc..353872347b 100644 --- a/trezorlib/tests/device_tests/test_protection_levels.py +++ b/trezorlib/tests/device_tests/test_protection_levels.py @@ -14,15 +14,13 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import unhexlify - import pytest from trezorlib import btc, debuglink, device, messages as proto, misc from .common import TrezorTest -TXHASH_d5f65e = unhexlify( +TXHASH_d5f65e = bytes.fromhex( "d5f65ee80147b4bcc70b75e4bbf2d7382021b871bd8867ef8fa525ef50864882" ) @@ -183,7 +181,7 @@ class TestProtectionLevels(TrezorTest): self.client, "Bitcoin", "14LmW5k4ssUrtbAB4255zdqv3b4w1TuX9e", - unhexlify( + bytes.fromhex( "209e23edf0e4e47ff1dec27f32cd78c50e74ef018ee8a6adf35ae17c7a9b0dd96f48b493fd7dbab03efb6f439c6383c9523b3bbc5f1a7d158a6af90ab154e9be80" ), "This is an example of a signed message.", diff --git a/trezorlib/tests/device_tests/test_zerosig.py b/trezorlib/tests/device_tests/test_zerosig.py index ccd49a0e7d..186b458cd3 100644 --- a/trezorlib/tests/device_tests/test_zerosig.py +++ b/trezorlib/tests/device_tests/test_zerosig.py @@ -14,13 +14,11 @@ # You should have received a copy of the License along with this library. # If not, see . -from binascii import unhexlify - from trezorlib import btc, messages as proto from .common import TrezorTest -TXHASH_d5f65e = unhexlify( +TXHASH_d5f65e = bytes.fromhex( "d5f65ee80147b4bcc70b75e4bbf2d7382021b871bd8867ef8fa525ef50864882" ) @@ -56,7 +54,7 @@ class TestZerosig(TrezorTest): print(siglen) if siglen < 67: print("!!!!", n) - print(hexlify(tx.serialized_tx)) + print(tx.serialized_tx.hex()) return """ diff --git a/trezorlib/tests/unit_tests/test_cosi.py b/trezorlib/tests/unit_tests/test_cosi.py index 73288a80e1..8c91e2d9f2 100644 --- a/trezorlib/tests/unit_tests/test_cosi.py +++ b/trezorlib/tests/unit_tests/test_cosi.py @@ -14,7 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -import binascii import hashlib import pytest @@ -39,78 +38,78 @@ if "slow_cosi" not in pytest.config.getoption("-m"): RFC8032_VECTORS = ( ( # test 1 # privkey - binascii.unhexlify( + bytes.fromhex( "9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60" ), # pubkey - binascii.unhexlify( + bytes.fromhex( "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a" ), # message - binascii.unhexlify(""), + bytes.fromhex(""), # signature - binascii.unhexlify( + bytes.fromhex( "e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e06522490155" "5fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b" ), ), ( # test 2 # privkey - binascii.unhexlify( + bytes.fromhex( "4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb" ), # pubkey - binascii.unhexlify( + bytes.fromhex( "3d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c" ), # message - binascii.unhexlify("72"), + bytes.fromhex("72"), # signature - binascii.unhexlify( + bytes.fromhex( "92a009a9f0d4cab8720e820b5f642540a2b27b5416503f8fb3762223ebdb69da" "085ac1e43e15996e458f3613d0f11d8c387b2eaeb4302aeeb00d291612bb0c00" ), ), ( # test 3 # privkey - binascii.unhexlify( + bytes.fromhex( "c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7" ), # pubkey - binascii.unhexlify( + bytes.fromhex( "fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025" ), # message - binascii.unhexlify("af82"), + bytes.fromhex("af82"), # signature - binascii.unhexlify( + bytes.fromhex( "6291d657deec24024827e69c3abe01a30ce548a284743a445e3680d7db5ac3ac" "18ff9b538d16f290ae67f760984dc6594a7c15e9716ed28dc027beceea1ec40a" ), ), ( # test SHA(abc) # privkey - binascii.unhexlify( + bytes.fromhex( "833fe62409237b9d62ec77587520911e9a759cec1d19755b7da901b96dca3d42" ), # pubkey - binascii.unhexlify( + bytes.fromhex( "ec172b93ad5e563bf4932c70e1245034c35467ef2efd4d64ebf819683467e2bf" ), # message hashlib.sha512(b"abc").digest(), # signature - binascii.unhexlify( + bytes.fromhex( "dc2a4459e7369633a52b1bf277839a00201009a3efbf3ecb69bea2186c26b589" "09351fc9ac90b3ecfdfbc7c66431e0303dca179c138ac17ad9bef1177331a704" ), ), ) -COMBINED_KEY = binascii.unhexlify( +COMBINED_KEY = bytes.fromhex( "283967b1c19ff93d2924cdcba95e586547cafef509ea402963ceefe96ccb44f2" ) -GLOBAL_COMMIT = binascii.unhexlify( +GLOBAL_COMMIT = bytes.fromhex( "75bd5806c6366e0374a1c6e020c53feb0791d6cc07560d27d8c158f886ecf389" ) diff --git a/trezorlib/tests/unit_tests/test_nem.py b/trezorlib/tests/unit_tests/test_nem.py index d3818664ec..e282344939 100644 --- a/trezorlib/tests/unit_tests/test_nem.py +++ b/trezorlib/tests/unit_tests/test_nem.py @@ -14,8 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -import binascii - from trezorlib import nem @@ -28,7 +26,7 @@ def test_nem_basic(): "type": nem.TYPE_TRANSACTION_TRANSFER, "deadline": 76895615, "version": (0x98 << 24), - "message": {"payload": binascii.hexlify(b"hello world"), "type": 1}, + "message": {"payload": b"hello world".hex(), "type": 1}, "mosaics": [ {"mosaicId": {"namespaceId": "nem", "name": "xem"}, "quantity": 1000000} ], diff --git a/trezorlib/tests/unit_tests/test_tx_api.py b/trezorlib/tests/unit_tests/test_tx_api.py index 86ba294856..a92c4589e6 100644 --- a/trezorlib/tests/unit_tests/test_tx_api.py +++ b/trezorlib/tests/unit_tests/test_tx_api.py @@ -14,7 +14,6 @@ # You should have received a copy of the License along with this library. # If not, see . -import binascii import os from trezorlib import coins, tx_api @@ -78,6 +77,6 @@ def test_tx_api_current_block(): def test_tx_api_get_block_hash(): hash = TxApiZencash.get_block_hash(110000) - assert hash == binascii.unhexlify( - "000000003f5d6ba1385c6cd2d4f836dfc5adf7f98834309ad67e26faef462454" + assert ( + hash.hex() == "000000003f5d6ba1385c6cd2d4f836dfc5adf7f98834309ad67e26faef462454" )