feat(core/strings): use thousands separator (fixes #2394)

pull/2434/head
matejcik 2 years ago committed by matejcik
parent e37ce2b186
commit 114376f734

@ -0,0 +1 @@
Show thousands separator when displaying large amounts.

@ -190,7 +190,12 @@ async def confirm_total(
fee_rate_str: str | None = None
if fee_rate >= 0:
fee_rate_str = f"({fee_rate:.1f} sat/{'v' if coin.segwit else ''}B)"
# Use format_amount to get correct thousands separator -- micropython's built-in
# formatting doesn't add thousands sep to floating point numbers.
# We multiply by 10 to get a fixed-point integer with one decimal place,
# and add 0.5 to round to the nearest integer.
fee_rate_formatted = format_amount(int(fee_rate * 10 + 0.5), 1)
fee_rate_str = f"({fee_rate_formatted} sat/{'v' if coin.segwit else ''}B)"
await layouts.confirm_total(
ctx,

@ -10,8 +10,14 @@ def format_amount(amount: int, decimals: int) -> str:
sign = "-"
else:
sign = ""
d = pow(10, decimals)
s = f"{sign}{amount // d}.{amount % d:0{decimals}}".rstrip("0").rstrip(".")
d = 10**decimals
integer = amount // d
decimal = amount % d
# TODO: bug in mpz: https://github.com/micropython/micropython/issues/8984
grouped_integer = f"{integer:,}".lstrip(",")
s = f"{sign}{grouped_integer}.{decimal:0{decimals}}".rstrip("0").rstrip(".")
return s

@ -22,8 +22,8 @@ class TestSignTxOmni(unittest.TestCase):
VECTORS = {
"6f6d6e69000000000000001f000000002b752ee0": "Simple send of 7.291 USDT",
"6f6d6e69000000000000001f0000000020c85580": "Simple send of 5.5 USDT",
"6f6d6e690000000000000003000000002b752ee0": "Simple send of 729100000 MAID",
"6f6d6e690000000000000000000000002b752ee0": "Simple send of 729100000 UNKN",
"6f6d6e690000000000000003000000002b752ee0": "Simple send of 729,100,000 MAID",
"6f6d6e690000000000000000000000002b752ee0": "Simple send of 729,100,000 UNKN",
"6f6d6e6901000000": "Unknown transaction",
}
for k, v in VECTORS.items():

@ -12,13 +12,13 @@ class TestFormatEthereumAmount(unittest.TestCase):
text = format_ethereum_amount(1, None, 1)
self.assertEqual(text, '1 Wei ETH')
text = format_ethereum_amount(1000, None, 1)
self.assertEqual(text, '1000 Wei ETH')
self.assertEqual(text, '1,000 Wei ETH')
text = format_ethereum_amount(1000000, None, 1)
self.assertEqual(text, '1000000 Wei ETH')
self.assertEqual(text, '1,000,000 Wei ETH')
text = format_ethereum_amount(10000000, None, 1)
self.assertEqual(text, '10000000 Wei ETH')
self.assertEqual(text, '10,000,000 Wei ETH')
text = format_ethereum_amount(100000000, None, 1)
self.assertEqual(text, '100000000 Wei ETH')
self.assertEqual(text, '100,000,000 Wei ETH')
text = format_ethereum_amount(1000000000, None, 1)
self.assertEqual(text, '0.000000001 ETH')
text = format_ethereum_amount(10000000000, None, 1)
@ -44,7 +44,7 @@ class TestFormatEthereumAmount(unittest.TestCase):
text = format_ethereum_amount(100000000000000000000, None, 1)
self.assertEqual(text, '100 ETH')
text = format_ethereum_amount(1000000000000000000000, None, 1)
self.assertEqual(text, '1000 ETH')
self.assertEqual(text, '1,000 ETH')
text = format_ethereum_amount(1000000000000000000, None, 61)
self.assertEqual(text, '1 ETC')
@ -97,7 +97,7 @@ class TestFormatEthereumAmount(unittest.TestCase):
self.assertEqual(text, '0 Wei UNKN')
# unknown token has 0 decimals so is always wei
text = format_ethereum_amount(1000000000000000000, unknown_token, 1)
self.assertEqual(text, '1000000000000000000 Wei UNKN')
self.assertEqual(text, '1,000,000,000,000,000,000 Wei UNKN')
if __name__ == '__main__':

@ -4,13 +4,20 @@ from trezor import strings
class TestStrings(unittest.TestCase):
def test_format_amount(self):
VECTORS = [
(123456, 3, "123.456"),
(4242, 7, "0.0004242"),
(-123456, 3, "-123.456"),
(-4242, 7, "-0.0004242"),
(123, 5, "0.00123"),
(100, 5, "0.001"),
(123456789, 0, "123,456,789"),
(100000000, 5, "1,000"),
(100000001, 5, "1,000.00001"),
(100001000, 5, "1,000.01"),
(-100001000, 5, "-1,000.01"),
(123_456_789_123_456_789_123_456_789, 18, "123,456,789.123456789123456789"),
]
for v in VECTORS:
self.assertEqual(strings.format_amount(v[0], v[1]), v[2])
@ -151,5 +158,5 @@ class TestStrings(unittest.TestCase):
strings.format_timestamp(1616057224)
if __name__ == '__main__':
if __name__ == "__main__":
unittest.main()

@ -634,8 +634,8 @@
"TT_bitcoin-test_dash.py::test_send_dash_dip2_input": "d27291f1e3e712fdc60df170dc1a78b42f70551885b613e822430b1b9a185835",
"TT_bitcoin-test_decred.py::test_decred_multisig_change": "4de82f12102539c4deebef75899ae6e1599ad5e96586180af317d68a98b6b56e",
"TT_bitcoin-test_decred.py::test_purchase_ticket_decred": "16b7fd6d4b88711b0932768432288df5357d16030de45c8520238322ab1d6a66",
"TT_bitcoin-test_decred.py::test_send_decred": "7aac07b8fb2dd0d18ae22de8f35623819df32c1d82b1d603e0109d61abbe0a51",
"TT_bitcoin-test_decred.py::test_send_decred_change": "1c450b76db5e0f4aa09bc078a9a6cc4a2f96851b7dfa81a5961df9e5a67833ec",
"TT_bitcoin-test_decred.py::test_send_decred": "3e0a562192cd7bd1222ba4d54e33233684c35b02f3fc8bd238b33bbee82d4318",
"TT_bitcoin-test_decred.py::test_send_decred_change": "c003198e37dfdaaf1c6f61cb1cea1db9757adf452df77cc4f6c24b0fa6850c6d",
"TT_bitcoin-test_decred.py::test_spend_from_stake_generation_and_revocation_decred": "884f24d36e2ddf4637c8c6011d5a2f339614b8b3047c32a3fd6342d2b1e7577a",
"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-InputScriptType.SPENDADDRESS-pkh([5-7a80e3db": "24290396b20f26b49204a5551676d6f3c831009e30582d92d5b44fcc3c12fdb7",
"TT_bitcoin-test_descriptors.py::test_descriptors[Bitcoin-0-InputScriptType.SPENDP2SHWITNESS-sh-03d56ac2": "8977c539f5680a5196ad0a4c6e16c44ca1bbdb79235dbf97e33aad8d47fe5d0c",
@ -654,7 +654,7 @@
"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-InputScriptType.SPENDTAPROOT-tr([5c-ddc924d3": "fe4691af27c7221ac650927a4ee64aeb17ba323f746a03763d053a8311f6633b",
"TT_bitcoin-test_descriptors.py::test_descriptors[Testnet-1-InputScriptType.SPENDWITNESS-wpkh([-996ae319": "3181b25e844eb1047d2904abb1099029c5f5ae4ba4d333be21336d1a745aafe0",
"TT_bitcoin-test_firo.py::test_spend_lelantus": "d3e199cfa46acba5a956d2c04eb020d89d076297962a4fad3165d1500b6de7c8",
"TT_bitcoin-test_fujicoin.py::test_send_p2tr": "858a93194a06ccbd0a287cbb107df13ecaa1a6afda922ac5342d35165ea78db3",
"TT_bitcoin-test_fujicoin.py::test_send_p2tr": "ab2358502425ae446202ff00b52f31d692c3c7f3a9bf77e549406991aba19d36",
"TT_bitcoin-test_getaddress.py::test_address_mac": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_bitcoin-test_getaddress.py::test_altcoin_address_mac": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_bitcoin-test_getaddress.py::test_bch": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
@ -761,8 +761,8 @@
"TT_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path3-03b93f7e6c777143ad-2d6b178b": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path0-02f65ce170451f66f4-9c982c22": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path1-0212f4629f4f224db0-0209bb73": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_bitcoin-test_grs.py::test_legacy": "9d6920a2a462f2337fd5cd7ad39ed0c982aa846ea06fddc1f610c9e2263530b9",
"TT_bitcoin-test_grs.py::test_legacy_change": "90a3957efde621651ad22c74fa35a85010546ffac98ce0bd6b5ebb4937228104",
"TT_bitcoin-test_grs.py::test_legacy": "0684f69e7dcee2df0638164fd8572a4229ebdc04f50a749b7d7f8c76be030fc3",
"TT_bitcoin-test_grs.py::test_legacy_change": "03137135974aa423ab0c108fa8b4061c13709ee98f5df839ff7cdb21e4010e5b",
"TT_bitcoin-test_grs.py::test_send_p2tr": "4851eddc91dcd4ff8bdf8558e17949bb3152d5a5d2144659abe36c92c183a942",
"TT_bitcoin-test_grs.py::test_send_segwit_native": "dc549670e2abdc0a78cde4582a13e08903f97380f1acaa1515c2ff866aa79afc",
"TT_bitcoin-test_grs.py::test_send_segwit_native_change": "2a4d434501a4855568999f16a2cf0b4f0b69f08212d929d50eef838c35ca417a",
@ -772,11 +772,11 @@
"TT_bitcoin-test_komodo.py::test_one_one_rewards_claim": "b3c056df25d639927faaf16dc18c281c1a36b790ea4e77f954f681fb27d3fa1a",
"TT_bitcoin-test_multisig.py::test_15_of_15": "616d7fd025485963d63ec993db335f5e06ccb0bfcafa094d164a56918796e0bf",
"TT_bitcoin-test_multisig.py::test_2_of_3": "7b7ed7e08fba2bd40ad04addd3f8e95c705c9d9fbc0b03e0cabcdbdb9e6d270e",
"TT_bitcoin-test_multisig.py::test_attack_change_input": "4f3191c15d14eaec415eed2ad7127026f62a150a89381be5e6dba2e1e3596a2e",
"TT_bitcoin-test_multisig.py::test_attack_change_input": "b3a4625a34db37d389f17ff48f721604ab26775a9fca8bf94c81a90c18bc56a0",
"TT_bitcoin-test_multisig.py::test_missing_pubkey": "1c100ce4b7c1e47e72428f390de0846c1ff933e9f07894872644a369a9422738",
"TT_bitcoin-test_multisig_change.py::test_external_external": "f14e44e6eaf76dc236b982abad1b8857087c2ff441c063223d5280414241e60a",
"TT_bitcoin-test_multisig_change.py::test_external_internal": "ed4ce5c8394f9b74d0d5dfc34eba32993805b7f910a55b4322937c837f60981a",
"TT_bitcoin-test_multisig_change.py::test_internal_external": "9252b732e3645f3640efef901b602d9a3512943048ce87f545b9cba0349d85f4",
"TT_bitcoin-test_multisig_change.py::test_external_external": "11875600f905bca2579e623a6bb53af89b5a4cc14fd1ac2f40ecd59b9b23ce9b",
"TT_bitcoin-test_multisig_change.py::test_external_internal": "9f5f44cfdf61caa01f818bf5883693ce3a3bf9798a0c977acc17c655a0cd4b03",
"TT_bitcoin-test_multisig_change.py::test_internal_external": "bb737da554fae8e4702138104c40019cbeb3af895568995204740b1c830af18c",
"TT_bitcoin-test_multisig_change.py::test_multisig_change_match_first": "b26b6e6ce81c7a993a364d56e00cb82971773850f53e1689944ac7c2e4bc63d8",
"TT_bitcoin-test_multisig_change.py::test_multisig_change_match_second": "9414230d0402801e45696d75c5e94583d026fd151f8c5c44bfb95d778d0f8687",
"TT_bitcoin-test_multisig_change.py::test_multisig_external_external": "c5e72c7a393a1bdf0d00d5224ac428a03618065e7ee08de1abe9e030c8c17bba",
@ -855,8 +855,8 @@
"TT_bitcoin-test_signtx.py::test_attack_change_outputs": "91933db014c3507d75bf76435c2489607ec13be79c8592fec66f80dce08ac3f6",
"TT_bitcoin-test_signtx.py::test_attack_modify_change_address": "20aaa67271db158f34f5dce1c07649de0a26b40b3b260074f5aa002a09d3f04f",
"TT_bitcoin-test_signtx.py::test_change_on_main_chain_allowed": "20aaa67271db158f34f5dce1c07649de0a26b40b3b260074f5aa002a09d3f04f",
"TT_bitcoin-test_signtx.py::test_fee_high_hardfail": "f29c99a8db8feebb5bf13504747fec139cce3f2d14cfb3d031bbf8f1342adee5",
"TT_bitcoin-test_signtx.py::test_fee_high_warning": "0924f32ac50d6c35c2cc30b089830184a2710d76d17d1c25496a1cecdf5dea31",
"TT_bitcoin-test_signtx.py::test_fee_high_hardfail": "0ea1fed8f24b3b89c85f60185b56a1f1800335a07c441e485de8a11278091410",
"TT_bitcoin-test_signtx.py::test_fee_high_warning": "25a6ec724f5546ee398aa80eed194468753a0d24f8f5abf10573d4bf1bfb63eb",
"TT_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.EXTERNAL]": "1c100ce4b7c1e47e72428f390de0846c1ff933e9f07894872644a369a9422738",
"TT_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.SPENDADDRESS]": "1c100ce4b7c1e47e72428f390de0846c1ff933e9f07894872644a369a9422738",
"TT_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOADDRESS]": "1c100ce4b7c1e47e72428f390de0846c1ff933e9f07894872644a369a9422738",
@ -868,7 +868,7 @@
"TT_bitcoin-test_signtx.py::test_lock_time_datetime[1985-11-05 00:53:20]": "0065b5cc304b1dd5d341a18f88e711b80fd6a37bbcb0d5838a7403a07a554578",
"TT_bitcoin-test_signtx.py::test_lock_time_datetime[2048-08-16 22:14:00]": "a664f25807e1d04f84bf1d61356735765943aa19797bb3ad1a4e5f1767e6d272",
"TT_bitcoin-test_signtx.py::test_lots_of_change": "ec231e92089a1639c4e4a0f8babd43b5507f13e42f3ff1c847388b3e6d2ad8ad",
"TT_bitcoin-test_signtx.py::test_lots_of_inputs": "4743bde5056d045cfbb2752a36ec4a1c683092c8edcb752ff08a909eabd70658",
"TT_bitcoin-test_signtx.py::test_lots_of_inputs": "289d00f71c895bf7aa3d5a8d83627e19ab05bb0c3f39d777380f4e77a4eebe19",
"TT_bitcoin-test_signtx.py::test_lots_of_outputs": "9ad0f1a4f6202c95e1fc42e434c1f8542426c76f8b94a8ae016fb0f6bd18a734",
"TT_bitcoin-test_signtx.py::test_not_enough_funds": "615ee88f8293754c8c58d2ce021d534045e8583628e8270baf41e7124c29c4cb",
"TT_bitcoin-test_signtx.py::test_not_enough_vouts": "204ad9ea7dbba119f568e50fed75a773024645ec18efe030f2e651df36c597f8",
@ -887,14 +887,14 @@
"TT_bitcoin-test_signtx.py::test_signtx_forbidden_fields[version_group_id-69]": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_bitcoin-test_signtx.py::test_spend_coinbase": "bb8bd077d0db0bc1a5650c21448d72a6de8a79ad95b6a5a80b85675e152d64ab",
"TT_bitcoin-test_signtx.py::test_testnet_big_amount": "8fa6fecd81d8e0a1f5c8c5ed985eb381ab6c773d904b28ce7ef3053d1f8a6449",
"TT_bitcoin-test_signtx.py::test_testnet_fee_high_warning": "ce56e4d93a2fdd19e5e79ff65cbbaaca8adc6137538b3fc4625ae7bb5fa9b109",
"TT_bitcoin-test_signtx.py::test_testnet_fee_high_warning": "4a7e69a8b1d4aa14a199cc6e7be0c07e81ca71377573a83aebc19309d01fa70c",
"TT_bitcoin-test_signtx.py::test_testnet_one_two_fee": "20aaa67271db158f34f5dce1c07649de0a26b40b3b260074f5aa002a09d3f04f",
"TT_bitcoin-test_signtx.py::test_two_changes": "736e1628cf9bc4e8f554fd049a07f82064e6094108f01490a5a9b24311dc3a10",
"TT_bitcoin-test_signtx.py::test_two_changes": "0b9072f425c58bb12f7eb96bf99da624fc1fb0bca4927385489fe93717c52b1b",
"TT_bitcoin-test_signtx.py::test_two_two": "98a1b7b73f9cd065bdc0a1ddef0124f1d109964fda9c0b57173ba888d061fbe6",
"TT_bitcoin-test_signtx_amount_unit.py::test_signtx[AmountUnit.BITCOIN]": "9b3479412158ee07f6592a637244698fc7e1a4468eba944ce4d329e3a9bcd355",
"TT_bitcoin-test_signtx_amount_unit.py::test_signtx[AmountUnit.MICROBITCOIN]": "18075fa09b5150581a23c17d09443cff70069f7ee6c2ec4fa09250091506523c",
"TT_bitcoin-test_signtx_amount_unit.py::test_signtx[AmountUnit.MICROBITCOIN]": "4b07e39773495c105dfc512bcfc1bd392187e7de541bf83205691113ae7120f3",
"TT_bitcoin-test_signtx_amount_unit.py::test_signtx[AmountUnit.MILLIBITCOIN]": "1afbc7be1095d12f9786a467564df062ed623305a369cefb931cb6052cb2f2e6",
"TT_bitcoin-test_signtx_amount_unit.py::test_signtx[AmountUnit.SATOSHI]": "fe50925aef800f1c076c8648bfb009c4f9562760442bbd2d8c6f961fb5eca646",
"TT_bitcoin-test_signtx_amount_unit.py::test_signtx[AmountUnit.SATOSHI]": "9353d4905d538319b71f456abf1f4d8baa6ccc646c8822654fe2439da6d19c51",
"TT_bitcoin-test_signtx_amount_unit.py::test_signtx[None]": "9b3479412158ee07f6592a637244698fc7e1a4468eba944ce4d329e3a9bcd355",
"TT_bitcoin-test_signtx_external.py::test_p2pkh_presigned": "8dd8089941ceb0d82c9425c69d54240f99e3ae7932ef24acd49313d28389b683",
"TT_bitcoin-test_signtx_external.py::test_p2pkh_with_proof": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
@ -937,10 +937,10 @@
"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[hello world]": "71b03f0f2cdf1a3d3f330a7051a32642bd8f57387e0d8e5a5f7c123c7f3e704b",
"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[x]": "71b03f0f2cdf1a3d3f330a7051a32642bd8f57387e0d8e5a5f7c123c7f3e704b",
"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "71b03f0f2cdf1a3d3f330a7051a32642bd8f57387e0d8e5a5f7c123c7f3e704b",
"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[]": "9bde644b5c91702f3926da3d2e29ea27bb6537d07fd1b904d6f3c4c48633f3a5",
"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[hello world]": "9bde644b5c91702f3926da3d2e29ea27bb6537d07fd1b904d6f3c4c48633f3a5",
"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[x]": "9bde644b5c91702f3926da3d2e29ea27bb6537d07fd1b904d6f3c4c48633f3a5",
"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "9bde644b5c91702f3926da3d2e29ea27bb6537d07fd1b904d6f3c4c48633f3a5",
"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[]": "8744a5ad4b15ffa76652c9d2df287f10c1909b51833405ee18fc717479e357e3",
"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[hello world]": "8744a5ad4b15ffa76652c9d2df287f10c1909b51833405ee18fc717479e357e3",
"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[x]": "8744a5ad4b15ffa76652c9d2df287f10c1909b51833405ee18fc717479e357e3",
"TT_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "8744a5ad4b15ffa76652c9d2df287f10c1909b51833405ee18fc717479e357e3",
"TT_bitcoin-test_signtx_replacement.py::test_attack_fake_ext_input_amount": "1c100ce4b7c1e47e72428f390de0846c1ff933e9f07894872644a369a9422738",
"TT_bitcoin-test_signtx_replacement.py::test_attack_fake_int_input_amount": "1c100ce4b7c1e47e72428f390de0846c1ff933e9f07894872644a369a9422738",
"TT_bitcoin-test_signtx_replacement.py::test_attack_false_internal": "1c100ce4b7c1e47e72428f390de0846c1ff933e9f07894872644a369a9422738",
@ -960,16 +960,16 @@
"TT_bitcoin-test_signtx_replacement.py::test_p2wpkh_payjoin[19909859-89859-02483045022100eb74ab-881c7bef": "da3ec44de0435cca3828752a0ba44483b2f087d1ae02c99530be4bcd01b80e57",
"TT_bitcoin-test_signtx_replacement.py::test_tx_meld": "1a5221c169069689cd038a1b493932e42f0c740efad52e3c77bb636786af594e",
"TT_bitcoin-test_signtx_segwit.py::test_attack_change_input_address": "f3398d5814422383b9a6fa8cce53948af05e985616c20e7f3aed649a9d3fe1a6",
"TT_bitcoin-test_signtx_segwit.py::test_attack_mixed_inputs": "d389f4ac1da44a6c0e66dd5977d806b171c47b511486fdb0c08823ba61bf0eed",
"TT_bitcoin-test_signtx_segwit.py::test_attack_mixed_inputs": "a06e89d99c1e218fba7ceff794cb9dab98bbae666b397996e067fe9f0bd8a009",
"TT_bitcoin-test_signtx_segwit.py::test_send_multisig_1": "cfd3b3e882067b1e42a36623da3523829bf579399b14f8711e09f7e89aa82d65",
"TT_bitcoin-test_signtx_segwit.py::test_send_p2sh": "0cc9cebfc8e5f644a54abf5c548eb93ac5a7e735a335c653ca782e75c756b355",
"TT_bitcoin-test_signtx_segwit.py::test_send_p2sh_change": "37e4f87d45933d486aafbff196c68024c128f40177974891a0f01cb2cf695d25",
"TT_bitcoin-test_signtx_segwit.py::test_testnet_segwit_big_amount": "67e717ac09fc74745ad2d0051f3f14806db93ac6a2b25f7961818fe861ef61c7",
"TT_bitcoin-test_signtx_segwit.py::test_testnet_segwit_big_amount": "9db6c35162b766dd828aa996473bfb07376a5d9705ac9de65d992d7a4a8108d3",
"TT_bitcoin-test_signtx_segwit_native.py::test_multisig_mismatch_inputs_single": "e0de5489dc73eeb177cc69024386a39812af9ba8fb3730384bed80f7fa76bb1c",
"TT_bitcoin-test_signtx_segwit_native.py::test_send_both": "92c34d2b525768ac5f8fc60566ea7bb7ede1ced30f2ec0c0b0948fcfbb1eb4c4",
"TT_bitcoin-test_signtx_segwit_native.py::test_send_multisig_1": "6f8d1747d41c156a032c141d5108f5572ceddf32fd90ab986fc21ab3f8adb094",
"TT_bitcoin-test_signtx_segwit_native.py::test_send_multisig_2": "c710852ee12bc81aaf395cc4db73d928e93ecaa3a24571a6542d71e94936984a",
"TT_bitcoin-test_signtx_segwit_native.py::test_send_multisig_3_change": "c9700584e560f1cf2c1fb366035d2d85b25dc0552ceded2bc14d4f3ba00af24a",
"TT_bitcoin-test_signtx_segwit_native.py::test_send_multisig_3_change": "31d3a5138fbe39eef57d33fe28a31bf86c0ef3d824466b765175bb5f96a8e3c7",
"TT_bitcoin-test_signtx_segwit_native.py::test_send_multisig_4_change": "f5266e21904d84ccc94a60bb6de289c301193e70bc21e246ad420b3d5c9ad18e",
"TT_bitcoin-test_signtx_segwit_native.py::test_send_native": "9b3479412158ee07f6592a637244698fc7e1a4468eba944ce4d329e3a9bcd355",
"TT_bitcoin-test_signtx_segwit_native.py::test_send_native_change": "fb3ec2531cb07bcc5589034476a35473cec57f075ed36d17d89958f5991d50ae",
@ -981,9 +981,9 @@
"TT_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plllllllllllllllllllllllllllll-aaa668e3": "1c100ce4b7c1e47e72428f390de0846c1ff933e9f07894872644a369a9422738",
"TT_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plycg5qvjtrp3qjf5f7zl382j9x6nr-5447628e": "1c100ce4b7c1e47e72428f390de0846c1ff933e9f07894872644a369a9422738",
"TT_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1zlycg5qvjtrp3qjf5f7zl382j9x6nr-880d4a6b": "1c100ce4b7c1e47e72428f390de0846c1ff933e9f07894872644a369a9422738",
"TT_bitcoin-test_signtx_taproot.py::test_send_mixed": "1aa19217e904d2909796603b7811bd8a8e3c997dae4cc5e159c2c3bae2db566e",
"TT_bitcoin-test_signtx_taproot.py::test_send_mixed": "6e664f837b805f06a329810449af860fc247672bdc637ad67280041944af7b6b",
"TT_bitcoin-test_signtx_taproot.py::test_send_p2tr": "91597e1226f917aa01e0faffa2ba573f3f77521ce6a53fd4f8c4b2a15d8f4b36",
"TT_bitcoin-test_signtx_taproot.py::test_send_two_with_change": "22f2ab9387ba5dfc06f23727fa3332974b70620d813eb61ae37bb482233860c0",
"TT_bitcoin-test_signtx_taproot.py::test_send_two_with_change": "6c09c8bed294c912e4f504ce9ec6d786ca933a6e652b288d9c2140ccbfbe83a3",
"TT_bitcoin-test_verifymessage.py::test_message_grs": "efba87e334f62f3ee18ce6ac2f6e8ba3738fc53434ad8d4027643d2047945620",
"TT_bitcoin-test_verifymessage.py::test_message_long": "ddd376c7ce7731d990f231a81532dfa13d6a03bc88e5a77278d6eef514b496a2",
"TT_bitcoin-test_verifymessage.py::test_message_testnet": "af4598881e7afbfb81313622d7186cd90e8bdcfdada4a0c0f31ca5f0af5f8d5d",
@ -1001,7 +1001,7 @@
"TT_bitcoin-test_verifymessage_segwit_native.py::test_verify_utf": "faf3fddc43290a424243562f3ed7598d5127b71b1680aee40e56f0b01d22664a",
"TT_bitcoin-test_zcash.py::test_external_presigned": "08a22a49793201f8387a085a554f006387d1df1b37ed8a34bef7aa79b363b44b",
"TT_bitcoin-test_zcash.py::test_one_one_fee_sapling": "ad8453495a316a0f01126bf882a5502f51e1ee622e56c7c175ba74fdba5dbc51",
"TT_bitcoin-test_zcash.py::test_spend_old_versions": "1fcfeb604cc82ab9b25ff9402efaac7ac72c90f2f5a43ac6843e9ef247573bc5",
"TT_bitcoin-test_zcash.py::test_spend_old_versions": "a58d7407f20caf14f9075618d09e5329eff592e9e432964487fe90954b9c2b21",
"TT_bitcoin-test_zcash.py::test_v3_not_supported": "1c100ce4b7c1e47e72428f390de0846c1ff933e9f07894872644a369a9422738",
"TT_bitcoin-test_zcash.py::test_version_group_id_missing": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_cardano-test_address_public_key.py::test_cardano_get_address[icarus-derivation]": "61bf57f65a018283d5e314f95f5580fe751eb3f09cd175a8f9e47f677419cbf2",
@ -1088,29 +1088,29 @@
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_with_multiple_inputs]": "c77e3c0415689c335bc5f93e2aeb8bbb97dd33bcb67df3ffc76adbb164428949",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_without_change0]": "c77e3c0415689c335bc5f93e2aeb8bbb97dd33bcb67df3ffc76adbb164428949",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mainnet_transaction_without_change1]": "df3946295831aea335e5acc5b67ad489911f6925d6b85c84ef5ed0c93f4c9e63",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_different_policies_-1dbb1bfb": "c4f0571143d79ae816efb91bdfd65391170eea65030747f90c308c786e42ab35",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_multiasset_output]": "781d92c04e3d9a9cca60fb9ca5b324db8117657ac804db5137ff771f69770e6e",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_different_policies_-1dbb1bfb": "49a1608700f462b463610a62003f2c6a62b345738a83f42f4c7f90652b289ac3",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_multiasset_output]": "a480af45e325847cc9f61ab4ce26c99114236a36e510cca777c97c2182ba8562",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[mary_era_transaction_with_no_ttl-validity_start]": "62a99839b54f92afddbef547cd643ff9651eb5ca7bab83bf1a89ffea8d161b6c",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_a_required_signer]": "54aec87c2101c890cff5221abd554f7ada0fda1b82947d9ff0e90b97888428aa",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_most_elements_fille-29691455": "1a7840abb3af82547a7ac1b32339bc7fab62cfa2435b8b6d52f80fb0c0b6390c",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_most_elements_fille-29691455": "86cf0c59445300f2e555fcac780884f3c2cdc11594fc83dd802c789a204a45e1",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_output_datum_hash]": "0cef29dd17e32a99b8e1682a993a7f5e2ccc4458fae0b8701c023ecf53b03a11",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_script_data_hash]": "b7c43ad51a2a3323d6d2bc62649b218ad33085a76aa2b1076d200dd9eb976915",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_deregistratio-1ab28f77": "227ac1e583e78b8bea39e2a5b12a4d484bc45b45e47384cfc49e8207bf238309",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_deregistration]": "227ac1e583e78b8bea39e2a5b12a4d484bc45b45e47384cfc49e8207bf238309",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_registration_-a144c34c": "e007992f4db7dc705fea9fdf114cccfa4d71e675c290b844d5f2d6e400304842",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_stake_registration_-bf5f9707": "c33ea9fb6d20f53293153be76a42e36c603b4a2cf57c4c5fc1140cb4604976cf",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_token_minting]": "336d330f0a5d2c91d2becf53f338c2743299a7dc438c1a88519d0bed8fc0bf6f",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[multisig_transaction_with_token_minting]": "f5ddbbdd8375b0c449b733bc61408f750280b9e1b363c18814c1f96b4a36e4bf",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_a_required_signer]": "53b24d40fc3ed95b8f102e8c5f2b885836eb5c56dd8aa0fdf3116bfb7187813c",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_both_output_formats]": "07bfba1a88feaefb43b1bd49db6e7aaa8a0ef8b13339dbc2f27c508a3fae8849",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_both_output_formats]": "5986c6b5f01afc41885541beb82ddae07a1a8a54f7435cf48c6c5cf380d20aeb",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_inline_datum,_refer-d1082570": "130274e06e2ead95d12929dd0a9574c1c21ab8335a2d49fc8d0d759fe6d46ad1",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_long_inline_datum,_-1f681aaa": "43365cc88b8a81b7b6571159950914f86e449e93238aef62299ac2978294c13a",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_multiple_correctly_-6545455a": "8a359cbf1ee8ffed867eba7b6c7b5ed3277500fc23709c8e2f1e4aae84499861",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_multiple_correctly_-6545455a": "91d5fea02b413634e01c0553f7cff0e1804eed79f48a28531ba8467e59905215",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_network_id_included-d9df16f9": "c77e3c0415689c335bc5f93e2aeb8bbb97dd33bcb67df3ffc76adbb164428949",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_output_datum_hash]": "130274e06e2ead95d12929dd0a9574c1c21ab8335a2d49fc8d0d759fe6d46ad1",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_output_datum_hash_a-84ad587a": "43365cc88b8a81b7b6571159950914f86e449e93238aef62299ac2978294c13a",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_script_address_but_-b0da7209": "00273e6ff8d318e08a3f715b99f368cbf504d58101d08c98a841d53b25bd0466",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_script_data_hash]": "53b24d40fc3ed95b8f102e8c5f2b885836eb5c56dd8aa0fdf3116bfb7187813c",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_token_minting]": "17b16f49d0f97c03532666fad5799c143980c14dfdb1339a6a528997a77e8988",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[ordinary_transaction_with_token_minting]": "b8c5cfdf5166bf5ff6e6fbd7cc4c47456e3ea75cbdd0a69b32bfd8f6fd1dd327",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_an_ordinary_input]": "5be08858cfda90d26d122878721a9fca615655b289f2d59bd23572c8acb1223f",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_address_device-o-a33e6741": "cab014743844f5e0aeacdcc1cf118cd9ed0650b175ef9d060f0de1099fc2dead",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_base_address_device-o-a6481374": "e15f925910660632f5a0e78b86dc34a3c4d81a45e447abc9a294b96b6f04cddb",
@ -1125,7 +1125,7 @@
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_deregistration_-78f5c748": "0fe3f2f6c42d6e6d7d3701bf34a92305971e8827e0cfde3afedeace4f63b1da6",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_registration_an-4da9385a": "3a22e4667206bbb5963b1ef8686ad6f299c16e98f0cf177419bf89476ce5371b",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_stake_registration_ce-46b0a250": "0a23e6f91cf48f85ec9570f8390c0381ac45bbb5bd14d4a5856bdbb5c2e7cb21",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_token_minting]": "1f65bf2a68776383d6a651f2818a8366739113a3d040f177e07126ad69d27891",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_token_minting]": "660216653ea51bce0e780f58c673e89784a4cb4ef4373287142f6d200a9299a4",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral]": "2b6a74004dad6e60d2486dff949921650818bcf264b6550b3766587f3f1f298a",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral_and_-3f0b305a": "4e832f62ca9d2c6495d33d40b94f23979571f32bef98c94099f3d1a5bb35616e",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[plutus_transaction_with_total_collateral_and_-c92d773b": "cf734dc9b83ee335b92dc886ea521e5fe61f838e27d19c4b3bac0c1b5943a462",
@ -1151,7 +1151,7 @@
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_p-3c7243e1": "54266c3f100fae1303bb579bb3b731a24908eee78c634b1ba92af0dfbcf19d82",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_base_address_change_output_s-20438873": "b616c4005ee1a2728953ceb3a154e578d8ce53a908b6f11e8598290a3842f08a",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_catalyst_registration]": "3abfe7b0f3de4adacf9d07653eb0d3c80eb4c8876dc456f8c88b2e68ba14850c",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_everything_set_except_pool_r-1e1ef130": "2b65970f3b69f38715df07926fb6bdc4dbb72f0275e5163dd5049fe24047307a",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_everything_set_except_pool_r-1e1ef130": "9130bf5c2da6543833a3c841b18e649768f5c27108695a6227b0cb747a34be3d",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration]": "fea08104b2228ba952c9f0ccb64a88fee1c1fc91aa1fca951e812d1a50f7c771",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration_and_withdrawal]": "fea08104b2228ba952c9f0ccb64a88fee1c1fc91aa1fca951e812d1a50f7c771",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx[transaction_with_stake_deregistration_with_ac-9ca046f0": "a05ee17a405d989076f31a3aea3f83ffc9fa0ad266dfcd6e9106b064a7d3279b",
@ -1164,8 +1164,8 @@
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[1854_input_path_in_ordinary_transaction]": "c77e3c0415689c335bc5f93e2aeb8bbb97dd33bcb67df3ffc76adbb164428949",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[additional_witness_requests_in_ordinar-9c4f94c0": "c77e3c0415689c335bc5f93e2aeb8bbb97dd33bcb67df3ffc76adbb164428949",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[all_tx_inputs_must_be_external_(without_path)]": "86b34c2e24d9c2c6bec78c6762f0aef36f9d74fbeec51ffc246865c2cbbb5dc5",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[asset_names_in_mint_token_group_in_wrong_order]": "eaaf57853b26425f900d4454adbb391d3d03763cd45fd3d6eacdaa58e5acf8e3",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[asset_names_in_multiasset_token_group_-7c1351bc": "405290ca7b6cbe0eff75afe34624ef714bdbf74e919bb564d0c22feaed7d842d",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[asset_names_in_mint_token_group_in_wrong_order]": "ddcdaed09c1046c9e98fab4f9f0dcb18fa73e202e80fe89b150f8afbf7de2865",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[asset_names_in_multiasset_token_group_-7c1351bc": "d74a588277b730495f5d126d71c23f8ae34c448cd7a2c3d61faf6c33e971590d",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[auxiliary_data_hash_has_incorrect_length]": "dea77f61fa1f877bbd5ba70d5a4c911f27f7f2d41b35637baa4c5d8e9676a962",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[both_datum_hash_and_inline_datum_present]": "5a608b731c43231bcae0a856e74497612ccfeff809e5022dfb27798863e1bfb1",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[byron_to_shelley_transfer_input_accoun-863fee7d": "f393a074254d08159950790caa5c99b2ba3e2beeb6b2b8209a2aaabeaedf3886",
@ -1204,7 +1204,7 @@
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_1852_multisi-b7679330": "ba9cc5dd31ce59791a6240eb62062aa23aeeca7597a5a3f95a8987f7edc3d012",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_a_collateral_input]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_collateral_return]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_long_token_m-9fb3cfe5": "87ce81d84aecfb57a4f7a6ce290a668dab029313c171a8d087f19ab2f83dccf2",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_long_token_m-9fb3cfe5": "b19ac3dd196737cf2811fbb76addf7e8376449aaedf7c9453b48522edaec8c23",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_output_conta-e3b36436": "bce97ba24f5b1f9ad0959f72b6c7db03aff5d92b146f2f0722926e4072e82063",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_reference_input]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_repeated_withdrawal]": "0a859c5510befbbcf2d81bace32398b2e68dcda4da303559efb78abae674b056",
@ -1219,7 +1219,7 @@
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_withdrawal_c-e98b1f5c": "0a859c5510befbbcf2d81bace32398b2e68dcda4da303559efb78abae674b056",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_with_wthdrawal_ad-3291ee9e": "0a859c5510befbbcf2d81bace32398b2e68dcda4da303559efb78abae674b056",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[multisig_transaction_without_minting_b-da5ba399": "ba9cc5dd31ce59791a6240eb62062aa23aeeca7597a5a3f95a8987f7edc3d012",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_with_long_token_m-350c65f4": "0233daff41c7b3100ff2af7d074ac48666015304902071ddc0a52ebc623b1c5b",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_with_long_token_m-350c65f4": "4b3f6183d1e17da5f156b163f994799b7ff2f48cd0f380b900e1060c82e7e4f3",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_with_token_mintin-bc56f145": "d58c052ea0001cf4225a0b401c2af8cec3f8b1f1bae45ac110c6b208380edd1c",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[ordinary_transaction_without_token_min-a128d577": "ff8aa102716b3552ec2495222e82b3d1ec513ba904469a49f7ec2798e2e55c73",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_has_invalid_crc]": "5a608b731c43231bcae0a856e74497612ccfeff809e5022dfb27798863e1bfb1",
@ -1229,18 +1229,18 @@
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_address_is_too_short]": "5a608b731c43231bcae0a856e74497612ccfeff809e5022dfb27798863e1bfb1",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_datum_hash_has_incorrect_length]": "5a608b731c43231bcae0a856e74497612ccfeff809e5022dfb27798863e1bfb1",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_has_both_address_and_address_pa-2efc280f": "5a608b731c43231bcae0a856e74497612ccfeff809e5022dfb27798863e1bfb1",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_total_is_too_high]": "e68296b4a6d2c45aa4dbf08f679f4df9839ca51d5aaccb1eab63c0c8e7a80718",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_total_is_too_high]": "30455081f2d1a22c391156db145d97fbd880226e17a23dc1ed4da633c423bbe0",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[output_with_reward_address]": "5a608b731c43231bcae0a856e74497612ccfeff809e5022dfb27798863e1bfb1",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[plutus_transaction_with_output_contain-74465253": "75aa26b722556d74bf6d6e8b7b3200bca2fd75cf5653f0f516472f3dd08b7f99",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[policyids_in_mint_in_wrong_order]": "ad69374bf0d0aca9f8477720df268f96a8c31ecb7660cbd9d63483a0b103534f",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[policyids_in_multiasset_output_in_wrong_order]": "3b0a4cfa217c7e96b07d56f3cbc5fc50d1bf8b0a7eb01d48a04bfa99a1c57208",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[policyids_in_mint_in_wrong_order]": "f92e8e57cd92a053a4038d9c2abdf1a2237b61a6583e61f1bc0e2910443b62c8",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[policyids_in_multiasset_output_in_wrong_order]": "6137e061ffe580b5df1c8a8aa7963ef33e4934d47276cad286f0e4f392bb537a",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[pool_reward_address_belongs_to_differe-e79b6855": "f916b9d6d07981967e15e71b71b46c501f0e0280c2ffd5270cf02f456de2cb61",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[pool_reward_address_is_a_base_address]": "f916b9d6d07981967e15e71b71b46c501f0e0280c2ffd5270cf02f456de2cb61",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[reference_input_is_present]": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_asset_name_in_mint_token_group]": "517edcaa3e27366eb86bec17cf7fa07bff72d85bf44a78ffe196f4a813d51778",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_asset_name_in_multiasset_token_group]": "80e37cd07015bc3e3323c221ffe847beed5f6032a430d48bf5c200b16579a2f4",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_policyid_in_mint]": "da1286102ca6870d11b49d5ff8d08fb75a13a4594c9a1711105fe0dfeef972d2",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_policyid_in_multiasset_output]": "b0d9aea49080edc90ee2a094ea44c83fe92219a9a7bce78c71273be605b65300",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_asset_name_in_mint_token_group]": "eded94fcd4fd219e86c066a11caaba1b178a64f2e709a30f6295a99227b0f0f7",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_asset_name_in_multiasset_token_group]": "8a906312d11d8e2ae490411626179d22d8f30f343fa7e29363b4ccc5f2ba7adf",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_policyid_in_mint]": "8c1ee94cf24ffb27eb233b0b298c649db4face4524c7ba501d86b23acba30e63",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[repeated_policyid_in_multiasset_output]": "db51dee226c5f85e3a01e4062eda51796e34c59795c0889abecbe6828ccdacab",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[required_signer_with_both_key_path_and-7d9a3c59": "afcb60ac41dc9b1df008339176cfb974ee47df1d6b3cefe0a2ee0fa51dea7b95",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-02b129f8": "9e1f554bb74f847e8f09201dda808fd1e0cdb68737515f34d6ad435957671c77",
"TT_cardano-test_sign_tx.py::test_cardano_sign_tx_failed[sample_stake_pool_registration_certifi-11c8b442": "53cdf1d9500c6576de5f85dfecba4cd293b84dc0d2449f77fd95ff54126982cd",
@ -1339,7 +1339,7 @@
"TT_ethereum-test_sign_verify_message.py::test_verify[parameters6-result6]": "8a04d5a6b192e5fa20b76574457b6dd8f6a7796949bad7c1df9231eafd0c8dc7",
"TT_ethereum-test_sign_verify_message.py::test_verify[parameters7-result7]": "03c6cc044648959592b297eda1239da7d379385b6483c61abdb6d3db1ecd40f9",
"TT_ethereum-test_sign_verify_message.py::test_verify_invalid": "f56f261951ed30706d692510ea3a8860397bda9abe199f15eaa536d06e8977b1",
"TT_ethereum-test_signtx.py::test_data_streaming": "e0e6179a08c7a96958814d95ddfe09996a96aefeec3f538acfa58844c664d90f",
"TT_ethereum-test_signtx.py::test_data_streaming": "59c3b32d5d89e3e18dc965aced8e701670f788a4673214193df0b530e3744ca0",
"TT_ethereum-test_signtx.py::test_sanity_checks": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_ethereum-test_signtx.py::test_sanity_checks_eip1559": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_ethereum-test_signtx.py::test_signtx[Auxilium]": "d2ba6424ba04e6db899ec33253ce7fd26bbb1850a5e548f1e5628bbb311cc2fc",
@ -1352,21 +1352,21 @@
"TT_ethereum-test_signtx.py::test_signtx[Unknown_chain_id_eth_path]": "e1c268db1580ebbf957eb2912baa747133bf640d886b1339aee7e709494b46a7",
"TT_ethereum-test_signtx.py::test_signtx[Unknown_chain_id_testnet_path]": "e1c268db1580ebbf957eb2912baa747133bf640d886b1339aee7e709494b46a7",
"TT_ethereum-test_signtx.py::test_signtx[data_1]": "277686786f4dee54e641b15850b482480d1de4fd63401b76beb8da085ba27314",
"TT_ethereum-test_signtx.py::test_signtx[data_2_bigdata]": "a728a670736dc4b5a60e1e98ff294f20e0b3c0c97e32e3e032e19140aa040561",
"TT_ethereum-test_signtx.py::test_signtx[data_2_bigdata]": "c3a636db7a09312d215a7cee53ab726bbe67db70bcd8143f1287a8a55a64ccad",
"TT_ethereum-test_signtx.py::test_signtx[known_erc20_token]": "313cacddc8234c92ad18f4c94bbd9da366eb38e8f3a9345521cf4b4af491eac8",
"TT_ethereum-test_signtx.py::test_signtx[max_chain_id]": "e1c268db1580ebbf957eb2912baa747133bf640d886b1339aee7e709494b46a7",
"TT_ethereum-test_signtx.py::test_signtx[max_chain_plus_one]": "e1c268db1580ebbf957eb2912baa747133bf640d886b1339aee7e709494b46a7",
"TT_ethereum-test_signtx.py::test_signtx[max_uint64]": "e1c268db1580ebbf957eb2912baa747133bf640d886b1339aee7e709494b46a7",
"TT_ethereum-test_signtx.py::test_signtx[newcontract]": "251aa9bf7d0febf372a3a9ba9c9a5b988ce02214cead9a768f994ad2a59ecfb3",
"TT_ethereum-test_signtx.py::test_signtx[newcontract]": "0a793ff148a61fa0216528817c8adc08dec422463b5fd68af6fb4e557a25c77e",
"TT_ethereum-test_signtx.py::test_signtx[nodata_1]": "0653c875f9e81fbef050769692c650a62f4d10973fbfc02f3dd7e32d80c89176",
"TT_ethereum-test_signtx.py::test_signtx[nodata_2_bigvalue]": "a5d66260785d02985106b12e21dd96db82b8579d8b09e4135d796d33e31356c1",
"TT_ethereum-test_signtx.py::test_signtx[nodata_2_bigvalue]": "3ace0b955361d9b958738e085699fe25241adc0a79896dacecd5bf6fef9d181b",
"TT_ethereum-test_signtx.py::test_signtx[unknown_erc20_token]": "9663070b464ef7bdd9f41bad540135a46564ee215e5d5d6448e4fa721a137bc8",
"TT_ethereum-test_signtx.py::test_signtx[wanchain]": "feb75d11291435a367479d0f55874a6a276aa760b57b804f2339d4fb4143f5c8",
"TT_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_go_back]": "e0304501e6dd76d08052edd3ef518e4873f2029e8351bc1fb5ed5ba2a99e740a",
"TT_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_scroll_down]": "f707da6726a2ebad6888af490eed2a1441147c795a8b72fb805fd0d3a8b071f9",
"TT_ethereum-test_signtx.py::test_signtx_data_pagination[input_flow_skip]": "5d73d7f8366f4abd3eaf3e666f140ee0fcc0aca4f35483a6be27d96e2b64fd27",
"TT_ethereum-test_signtx.py::test_signtx_eip1559[data_1]": "fcff42ade9344444b345d8f0a707dc57ed7a06a7a208d77aeb2186da4bbb9dca",
"TT_ethereum-test_signtx.py::test_signtx_eip1559[data_2_bigdata]": "983a67f3fc48f03872593ee7b743272efa5c9906c07bd4411285b95813654233",
"TT_ethereum-test_signtx.py::test_signtx_eip1559[data_2_bigdata]": "08de57fed498a07f704f5d90ccd16a476c8258e9c44ed1add287dc3ae55fb187",
"TT_ethereum-test_signtx.py::test_signtx_eip1559[known_erc20]": "a1a6350a0aabe1035e40fed9d8e28f9b9dc737d52814427c64ef00640d3752c7",
"TT_ethereum-test_signtx.py::test_signtx_eip1559[large_chainid]": "a8a8aa0cea41f7534dd6c7953574a28dc923e2414cddde6c2dae2c6af8539c6d",
"TT_ethereum-test_signtx.py::test_signtx_eip1559[nodata]": "5b103f4bf0ed90c0dd6ef8a33cdfa59edfd50e2441dbb4aa3dfec9dc6ba2d4c6",
@ -1414,7 +1414,7 @@
"TT_nem-test_signtx_transfers.py::test_nem_signtx_encrypted_payload": "a62817329e675c9648a3834bf5feb5fea40b5f65aaeeadb115b8f0b55804d245",
"TT_nem-test_signtx_transfers.py::test_nem_signtx_known_mosaic": "61b7a05c0d52483b9e12fe7df81aef46535c89d119f9a11f9d54d224a5be5d2c",
"TT_nem-test_signtx_transfers.py::test_nem_signtx_known_mosaic_with_levy": "fa0fa195b557a27472a1879079faa72a13054f2e0efc8f6e9a3f0daba7384fc2",
"TT_nem-test_signtx_transfers.py::test_nem_signtx_multiple_mosaics": "a1f3ad6744443336ef2c6b42d27a1f06d6d173a50f39d4eda3b8d5cf57becd83",
"TT_nem-test_signtx_transfers.py::test_nem_signtx_multiple_mosaics": "ce7a8514d1de43a2f428596bbf1de9af34163eb8f238f95f56e66feff55e1436",
"TT_nem-test_signtx_transfers.py::test_nem_signtx_simple": "921869434cb375480391bd2e2dd7031975084f0f1e6c57e69f3ab87f24e86d5a",
"TT_nem-test_signtx_transfers.py::test_nem_signtx_unknown_mosaic": "4e1b2be8902129d890f43cb2332cd87c5c017cf0f70f3497886d79a6879e4340",
"TT_nem-test_signtx_transfers.py::test_nem_signtx_xem_as_mosaic": "58c8390a6bae376e7cb0469c976cc55725111c208f3e7b8dddf4352a3ad88263",
@ -1648,7 +1648,7 @@
"TT_zcash-test_sign_tx.py::test_send_to_multisig": "17c0a3118c96052e23cde9b323de1c8249a0f70f59774c0e949aa151de491695",
"TT_zcash-test_sign_tx.py::test_spend_multisig": "1f7cfe70831cffb4c076d0b4778704a982b37be4cc114e2cd9de85ee3173430e",
"TT_zcash-test_sign_tx.py::test_spend_v4_input": "235910c3aa36150bb7012d21d52acdca347a2a216bb09a0588910329e464c8f0",
"TT_zcash-test_sign_tx.py::test_spend_v5_input": "dd9b4f0050836b7d881d9be798d2f4d972e39f460b8acc3e4e1c038ba754ae7c",
"TT_zcash-test_sign_tx.py::test_spend_v5_input": "2ec2223bdd77dc9e4cbfe1c85ed91dec77b7e6f1f37dd1cb160308808db9d9a6",
"TT_zcash-test_sign_tx.py::test_version_group_id_missing": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TTui2_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-0-bnb1hgm0p7khfk85zpz-68e2cb5a": "577553344793d14026b1d3c7f6185a4858378476dafee67a958319bd8d8f58ac",
"TTui2_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-1-bnb1egswqkszzfc2uq7-1adfb691": "9fedc9ad26c5573b264f28f70c83b8baf6503a71f2296de27be6c6c9166d5488",

Loading…
Cancel
Save