feat(core): Improve message signing UI.

- Add "Confirm message" subheader to SignMessage and VerifyMessage.
- Unify font for SignMessage and VerifyMessage to fixed-width font.
- Fix device tests.
pull/1911/head
Andrew Kozlik 3 years ago committed by Andrew Kozlik
parent c60305d8f0
commit bec0634bae

@ -25,7 +25,6 @@ from ...components.tt.scroll import (
AskPaginated,
Paginated,
paginate_paragraphs,
paginate_text,
)
from ...components.tt.text import LINE_WIDTH_PAGINATED, Span, Text
from ...constants.tt import (
@ -987,11 +986,9 @@ async def confirm_signverify(
) -> None:
if verify:
header = f"Verify {coin} message"
font = ui.MONO
br_type = "verify_message"
else:
header = f"Sign {coin} message"
font = ui.NORMAL
br_type = "sign_message"
text = Text(header, new_lines=False)
@ -1001,14 +998,9 @@ async def confirm_signverify(
interact(ctx, Confirm(text), br_type, ButtonRequestType.Other)
)
await raise_if_cancelled(
interact(
ctx,
paginate_text(message, header, font=font),
br_type,
ButtonRequestType.Other,
)
)
para = [(ui.BOLD, "Confirm message:"), (ui.MONO, message)]
content = paginate_paragraphs(para, header)
await raise_if_cancelled(interact(ctx, content, br_type, ButtonRequestType.Other))
async def show_popup(

@ -326,12 +326,12 @@ def test_signmessage_pagination(client, message):
n=parse_path("m/44h/0h/0h/0/0"),
message=message,
)
assert message.replace("\n", " ") == message_read
assert "Confirm message: " + message.replace("\n", " ") == message_read
@pytest.mark.skip_t1
def test_signmessage_pagination_trailing_newline(client):
message = "THIS\nMUST\nNOT\nBE\nPAGINATED\n"
message = "THIS\nMUST NOT\nBE\nPAGINATED\n"
# The trailing newline must not cause a new paginated screen to appear.
# The UI must be a single dialog without pagination.
with client:

@ -209,23 +209,23 @@
"ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data[struct_list_v4]": "b7e3475d4906942bc0e8d62203ae91a13ea0d702c3a7a53b9777bea670c4a7f7",
"ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_cancel": "08712efae2d007610289bbfb3a8fe6800547e884636c83c5bf0e25f33728789e",
"ethereum-test_sign_typed_data.py::test_ethereum_sign_typed_data_show_more_button": "1adbea797586685ce09aae58b0a2b89e1617e4eaad23a8c1ac6fc10b041e57a5",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters0-result0]": "f1e6c101dd906123b07046f88989411a33946aa28d6c0cee1ff5d3a4aab0153f",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters1-result1]": "3e5245efed8b3a1fa68eaa6d4af94b34efd5e7a9e7b31a844e31e7f29c068391",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters2-result2]": "4d93e2556462e677729551ee0aa74ef23d9265eac03644140a84a162a890c9c0",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters3-result3]": "86720fcf876c34999ff4c39624a8cd14061a30c660dbaa37a992a3fbd6b6f0d0",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters4-result4]": "7ecf677cb4b266b20a096900d8521c1e2c848db6e316f79305a215a8549f9e9b",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters5-result5]": "a51bbb9a07cbd0e4cde50ecab1606a291a2cc2bf418704c643daf77bcc459c06",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters6-result6]": "a0f6ea77dade299d9d04c47c417154266ff8f4926c1181d960a4f8ab5067ba75",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters7-result7]": "eb86c06357d5076cfbd8ebf7a963f00b88f7ae5a9ead75c5e4aa7a7b9c5e54ef",
"ethereum-test_sign_verify_message.py::test_verify[parameters0-result0]": "7e83f210ce98fee92e34bcc95d311701ec79702f8430239921efa72ff7759af6",
"ethereum-test_sign_verify_message.py::test_verify[parameters1-result1]": "6695a0f1762c5b2b591d3b11df5e94ccafd9b7690fcb7a4eb86eeb993e935900",
"ethereum-test_sign_verify_message.py::test_verify[parameters2-result2]": "13cdad44a69c985c7680f2e963edd151f382a0895fb7d5f2767da21d953c292d",
"ethereum-test_sign_verify_message.py::test_verify[parameters3-result3]": "aafb7c1fabbf46436848a192c80207cc151c9422be510aebbd5feac500151c2f",
"ethereum-test_sign_verify_message.py::test_verify[parameters4-result4]": "fa639fabbd3cf543736d88384ad0522f2546a2ee576232b608e80c207d75569f",
"ethereum-test_sign_verify_message.py::test_verify[parameters5-result5]": "3abbabc6ed8aa2a95d2a5a0a3fcf21010911a8f79d653cc67f1c63e5f8da72bf",
"ethereum-test_sign_verify_message.py::test_verify[parameters6-result6]": "3a8312fc9f26f2bdf6569d44b4c6f103ea6300da84d4353678ec9a66b42aa05d",
"ethereum-test_sign_verify_message.py::test_verify[parameters7-result7]": "8fb2aeb728da4fb973a8cf058d975a78214c3aea7cf09280155fb167077f8951",
"ethereum-test_sign_verify_message.py::test_verify_invalid": "7e83f210ce98fee92e34bcc95d311701ec79702f8430239921efa72ff7759af6",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters0-result0]": "7aa14b29e5005d8fdc0a8b497ed5d3ebea15c7017f9c457d09214f2d05fbc532",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters1-result1]": "c5fb9393267c3d9b9bf5839aab6c641d3931286411f291cd1d8e937cb224ae2d",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters2-result2]": "8499b87474becc06010e9b4356398a3e29ee2ef152e04653f15dcc227fc486d6",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters3-result3]": "19357e0a59d6cac9af69fe7099360e6789e3a25b646075bbcf4afd542a7edaa7",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters4-result4]": "a3f8ac9d46ddd57ac4172606f69e8ef5e0005be17a04e5fda0b91fef8727d1c1",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters5-result5]": "f37e3cbb718493c0abe9ec76c297594e1ac87253b46273cca74fa498ca7f2703",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters6-result6]": "f6a32113e2edbd33648a8fda20e2cf8c7cfff53d3cf765ff2b945990733a696e",
"ethereum-test_sign_verify_message.py::test_signmessage[parameters7-result7]": "5127f94dd3eec514faec78eedfb22151eef1fd787ea26b4da718a85adb4f8523",
"ethereum-test_sign_verify_message.py::test_verify[parameters0-result0]": "10ec761b50bf9557aac79d885b4dbc64f57b8367e66838f169c86fcbeaba9b50",
"ethereum-test_sign_verify_message.py::test_verify[parameters1-result1]": "1dfc74e93def641c35c7670ffdefc23f9fb0ab6c10e1c208e1c00817f071028c",
"ethereum-test_sign_verify_message.py::test_verify[parameters2-result2]": "2fd7c36a17e41a9a55e92431e3040f569534153d8c2f51e77fc212da283fa0c3",
"ethereum-test_sign_verify_message.py::test_verify[parameters3-result3]": "748d7b99b54d47128ec15291caa7369d0044e629ca294e4560c3a9a092188ca0",
"ethereum-test_sign_verify_message.py::test_verify[parameters4-result4]": "771052d14c6f55be5e054c365b41f83d86e7e8cd02331258c0dba4288253818a",
"ethereum-test_sign_verify_message.py::test_verify[parameters5-result5]": "8cf46785319de4cb4e8112878db17e483e05814479637138dc2b005c8c873fa4",
"ethereum-test_sign_verify_message.py::test_verify[parameters6-result6]": "53034f00e1cbe4bdd3a1ec7bb190ff19c3f913e39cdbb26a2ea1bf7c4d89e09c",
"ethereum-test_sign_verify_message.py::test_verify[parameters7-result7]": "328fd3be37dc09ec3716557d4b70eda5a7cf3f7852e52c5a07950aec9cae80a4",
"ethereum-test_sign_verify_message.py::test_verify_invalid": "10ec761b50bf9557aac79d885b4dbc64f57b8367e66838f169c86fcbeaba9b50",
"ethereum-test_signtx.py::test_data_streaming": "e0e6179a08c7a96958814d95ddfe09996a96aefeec3f538acfa58844c664d90f",
"ethereum-test_signtx.py::test_sanity_checks": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"ethereum-test_signtx.py::test_sanity_checks_eip1559": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
@ -537,34 +537,34 @@
"test_msg_sd_protect.py::test_refresh": "19d6d1a7bfa9a6dcf7da2c320d01ba03152d08faa08a11ea2b3dc28ad57b1b91",
"test_msg_sd_protect.py::test_wipe": "9e4b9968e7967e93f19d669acadd53c128a857b72afd7e354a1a350274b8aeba",
"test_msg_signidentity.py-test_sign": "60cec9c50d0456731be185a29f8b06f7dfc8a2fff16db21e7b619a4078543f0f",
"test_msg_signmessage.py::test_signmessage[NFC message]": "ada02192053a4ab778bb9a71a20dffce12683191002b00c250a23431258d457a",
"test_msg_signmessage.py::test_signmessage[NFKD message]": "ada02192053a4ab778bb9a71a20dffce12683191002b00c250a23431258d457a",
"test_msg_signmessage.py::test_signmessage[bcash]": "3f1947b00ba9320aba41005811a9a4b1d93b65f7892bf5fca159c8c9428cad93",
"test_msg_signmessage.py::test_signmessage[decred-empty]": "fda0bc81d2b6db2bafa0dee4bf4dfbec77812b3982f1d56ea196b2d2cd3aaa0e",
"test_msg_signmessage.py::test_signmessage[decred]": "e4e09254391a5f708b179990688d9fd9a71777609a7fe7cc2058999bc52fbcb0",
"test_msg_signmessage.py::test_signmessage[grs-p2pkh]": "b7e9a8802649e96a13586506c585f6f33899615454bbe55c3a37af13fcbd448b",
"test_msg_signmessage.py::test_signmessage[grs-segwit-native]": "b79bbaad7786b0022cea1568108cb55488744b1d6b66cc622bc2d9711a04fbc1",
"test_msg_signmessage.py::test_signmessage[grs-segwit-p2sh]": "dec60209eca0a796c5051b8df421cf0727685c753a6161e3d35900cb84ca34ae",
"test_msg_signmessage.py::test_signmessage[p2pkh long message]": "52f5fc9c34945563a64dff58d9b78461657288a8632bc706672918ae41252ce1",
"test_msg_signmessage.py::test_signmessage[p2pkh0]": "9106fd70d8d577dc1802b7cbe42476d5dc27b2bc13d4a7c6e7977450ff721291",
"test_msg_signmessage.py::test_signmessage[p2pkh1]": "9106fd70d8d577dc1802b7cbe42476d5dc27b2bc13d4a7c6e7977450ff721291",
"test_msg_signmessage.py::test_signmessage[p2pkh2]": "9033a500500b12f396307d805f28f40b15b6fa5d3488275b5698ff9519b1cfda",
"test_msg_signmessage.py::test_signmessage[segwit-native long message]": "9774fc928d687b997ce308d6efbdce4033b178ddcc75857a9068c42e308f65e6",
"test_msg_signmessage.py::test_signmessage[segwit-native0]": "1ea020642e717986dae8a28292bdd559b0b8c6db1516a4c8721acdc3ad9a4054",
"test_msg_signmessage.py::test_signmessage[segwit-native1]": "1ea020642e717986dae8a28292bdd559b0b8c6db1516a4c8721acdc3ad9a4054",
"test_msg_signmessage.py::test_signmessage[segwit-native2]": "1c255b6a5d49a7d962d1c6d3bd008c6feecdfeb7a12c18bbf84bff4d1c84ec20",
"test_msg_signmessage.py::test_signmessage[segwit-p2sh long message]": "483345387e80f95493b93a16df9361fcf7f7e4251fe178bbb5fbd43fa348beb1",
"test_msg_signmessage.py::test_signmessage[segwit-p2sh0]": "95ffa70d0a38db3a2ae67975797a0b8ce46cb32ee2d66ae7b8466ac79e906dee",
"test_msg_signmessage.py::test_signmessage[segwit-p2sh1]": "95ffa70d0a38db3a2ae67975797a0b8ce46cb32ee2d66ae7b8466ac79e906dee",
"test_msg_signmessage.py::test_signmessage[segwit-p2sh2]": "b3fdf06d5dc5553c4ac320656f32518c95a197718c99bbbdad51373598a4fe57",
"test_msg_signmessage.py::test_signmessage_pagination[long_words]": "8f694de7a448527f26bdbcc630148cc235871b03a91d5b0fb8fa105c3eb42655",
"test_msg_signmessage.py::test_signmessage_pagination[newlines]": "19b13aff4821db18c5ace2f7679882c93c26a67c3e36bd7a80d7132a6c2341ae",
"test_msg_signmessage.py::test_signmessage_pagination[no_spaces]": "43ba478ea5edcf1eee0c65db06c0378a32083a4143f7f104c10f66f5a2125413",
"test_msg_signmessage.py::test_signmessage_pagination[normal_text]": "d415a269b781527981a6457481c5f669ba17757c387597781979c2bfadd242d7",
"test_msg_signmessage.py::test_signmessage_pagination[single_line_over]": "59e7e7a534cdf011040327bd549450cddbaa2aa3ef3f51bf2e103f63db54a4ab",
"test_msg_signmessage.py::test_signmessage_pagination[utf_nospace]": "97d516b54b1ea715eeeee35eff5beadb5eaf6793032270dd3790c03693ed77fb",
"test_msg_signmessage.py::test_signmessage_pagination[utf_text]": "bc0be22538e591e5f2ed432c7ec5c4ece527ee8665b09f8822772dafcc0ba768",
"test_msg_signmessage.py::test_signmessage_pagination_trailing_newline": "d88d6ec3c7e1bbe32bf1bc4a826f2224bb2dcb030663fd6b562cf67c3ead23e5",
"test_msg_signmessage.py::test_signmessage[NFC message]": "4c41515a7f5fe9ffd5805ed060cb9e3ca8e578c92fefa79479df738ca1636235",
"test_msg_signmessage.py::test_signmessage[NFKD message]": "4c41515a7f5fe9ffd5805ed060cb9e3ca8e578c92fefa79479df738ca1636235",
"test_msg_signmessage.py::test_signmessage[bcash]": "096a2d5f0c75af22be673fd1550e86987a61bb348b0102eec4913fe9cc8fbcf7",
"test_msg_signmessage.py::test_signmessage[decred-empty]": "6ba13378ae58cc21e899764f521939b9446fd18581bbfec7f4a1438129e4c18b",
"test_msg_signmessage.py::test_signmessage[decred]": "992473cf8731a3ef5dabea09d88439aded159a537fce9e976b8923177eb73a77",
"test_msg_signmessage.py::test_signmessage[grs-p2pkh]": "74c8d5bf71dfc718e4e0225230b21a8c2976d8f7700023909d3827b71732a51b",
"test_msg_signmessage.py::test_signmessage[grs-segwit-native]": "f12f76355d0988213c1087b2bb1f77a7a125a4f0ea87ef6a8742c835f8b869f9",
"test_msg_signmessage.py::test_signmessage[grs-segwit-p2sh]": "f4986d7c9c353c3d5fefac9b9800bf577d8cc45b9f2df7b11e984274290e10ff",
"test_msg_signmessage.py::test_signmessage[p2pkh long message]": "458a09cc5a36df6e6ebf9f26b349008c536549b32ced686a9a5730afa6d7c046",
"test_msg_signmessage.py::test_signmessage[p2pkh0]": "aafdfaea9121deb76494339d07df0c306c6cc529c265926a45a1b8734b290b7a",
"test_msg_signmessage.py::test_signmessage[p2pkh1]": "aafdfaea9121deb76494339d07df0c306c6cc529c265926a45a1b8734b290b7a",
"test_msg_signmessage.py::test_signmessage[p2pkh2]": "790387a4949fce238116732fc91d317cff51736fc34faae91e4739376a9754dd",
"test_msg_signmessage.py::test_signmessage[segwit-native long message]": "171b18768d897b3fd80d8667ae70fe7bdbc2c48bbb602d33be1aeff27e58de26",
"test_msg_signmessage.py::test_signmessage[segwit-native0]": "8ec78e680c7881afc9e0d67398975d9ec0e8c930f77c33abb70a648ae3a65630",
"test_msg_signmessage.py::test_signmessage[segwit-native1]": "8ec78e680c7881afc9e0d67398975d9ec0e8c930f77c33abb70a648ae3a65630",
"test_msg_signmessage.py::test_signmessage[segwit-native2]": "22cbc418d6b71a6294fadec30b0fc867af6d33c5c4064ce9fa3947ce30004976",
"test_msg_signmessage.py::test_signmessage[segwit-p2sh long message]": "1148f799b7251e8b80b1d542a58285eed7e735183144870e562835b0cc43360b",
"test_msg_signmessage.py::test_signmessage[segwit-p2sh0]": "324709c25d73c33379c80524a48cfc396890095fd78fb68f733a897aec9acd57",
"test_msg_signmessage.py::test_signmessage[segwit-p2sh1]": "324709c25d73c33379c80524a48cfc396890095fd78fb68f733a897aec9acd57",
"test_msg_signmessage.py::test_signmessage[segwit-p2sh2]": "1a26c0061ea5780c87b91e40dcb84ce23b25359c980bc52a6316a62774f20dfb",
"test_msg_signmessage.py::test_signmessage_pagination[long_words]": "8d413ae4f9b1d11bf213d23f949bce5b24bfb2267bea1e0c037b7b25a2164ae3",
"test_msg_signmessage.py::test_signmessage_pagination[newlines]": "ce6b27448dfdadc90d864a5733ffd3d864ce853c07f67eb443acb30b67adffed",
"test_msg_signmessage.py::test_signmessage_pagination[no_spaces]": "22abfcdac7583a5dd6c88af8801aec2ba1acee29197164e050a780478ac0998b",
"test_msg_signmessage.py::test_signmessage_pagination[normal_text]": "9e51a59dfd677cfaa1cd7de0c7fc43fb95c7143e8872b06dba45015e7a73298c",
"test_msg_signmessage.py::test_signmessage_pagination[single_line_over]": "3920f85a9833cc564b56c8810c41492c37e12d5029dcff7346ee36bc8133a99d",
"test_msg_signmessage.py::test_signmessage_pagination[utf_nospace]": "9a36cae6e21029e403b4f30ec88fc6da92ac8643b2c63ad7da7b7bc57ecc106b",
"test_msg_signmessage.py::test_signmessage_pagination[utf_text]": "4ac1d8e2491164d442b700ea65e430867d74a941ac0d0dc8d4f51f4494fd0bb0",
"test_msg_signmessage.py::test_signmessage_pagination_trailing_newline": "3ecd60468981b8c59cae21ae1189ad42b9d69b87e86c17e51b40185e31a5c52d",
"test_msg_signtx.py-test_attack_change_input_address": "5f230e46301f0af85b5c40944cae1a8e4d3fc576fb19d7b7374decb463c8be62",
"test_msg_signtx.py-test_attack_change_outputs": "2e8e05aa366da0ce2990a2b8b76f13973af8eaa11ec0cb5591412a9a5ba48da4",
"test_msg_signtx.py-test_attack_modify_change_address": "72b96c639ac76ecccbe5d710a1c84eba6711879c329952b18ffab385ca79bafd",
@ -725,21 +725,21 @@
"test_msg_tezos_sign_tx.py-test_tezos_smart_contract_delegation": "a77ff1f39fa92ef310e3a69263a86cda7e01d18b22955f55e12f4ff3a33e0489",
"test_msg_tezos_sign_tx.py-test_tezos_smart_contract_transfer": "f4c0775f55db8718ef56e684f376d5326afa4ee97b0ea85c42820a356ebff0d4",
"test_msg_tezos_sign_tx.py-test_tezos_smart_contract_transfer_to_contract": "cadca03c9ce7db592663bc0224364c0d4bf99fcae60e0982b4a844ce629e500c",
"test_msg_verifymessage.py-test_message_grs": "e941c841a24c59587c4dcffa35cab4b37d4b2485497b6574d18d96f6853a8939",
"test_msg_verifymessage.py-test_message_long": "b3dfb293684ff4d6d61ea37cd18f39486d5c63e0bc7e40ba03c344e2ab92c85c",
"test_msg_verifymessage.py-test_message_testnet": "99f5553a7b7d746012c1b17989de910071e088f419632a5e76231b6c1b70f1c5",
"test_msg_verifymessage.py-test_message_verify": "43ff8a53d1c825446a3e29c1dde89608112a8c4a57d420f227ad42aba7d5e388",
"test_msg_verifymessage.py-test_message_verify_bcash": "20226a69debcc0fc1cc7ca6365ff6c346117b7871fa047cfa429c8699c30aea4",
"test_msg_verifymessage.py-test_verify_bitcoind": "26194cf36587b54a25251b36dafc33cd8ab243e820f30c8a13b5087a543b2f83",
"test_msg_verifymessage.py-test_verify_utf": "c803737c4ccf74484f67369edebb28cf1c5d960e0bdd7cc19e25383edb3bf608",
"test_msg_verifymessage_segwit.py-test_message_long": "3f16291f542a118abe21f69e7f191b649975814c9da92777acba95bea58b13a4",
"test_msg_verifymessage_segwit.py-test_message_testnet": "bedfb0ba558bfdf53aa21f05973a91d3ae9b82bb76ce8b6ffa69011301d0279a",
"test_msg_verifymessage_segwit.py-test_message_verify": "c0e4858996fe06fc14efd9640d2a22483c67f0cd79ce4f122dacd3b73e789071",
"test_msg_verifymessage_segwit.py-test_verify_utf": "2dcdff7a9b6bde6e97e5978e5bc81d611a99ee18a965e9c9e0280d35b84a1f08",
"test_msg_verifymessage_segwit_native.py-test_message_long": "76fbe665450c7675dd622446d5b7f1b0f1591e184ff24eff61ce88c7e4bd896a",
"test_msg_verifymessage_segwit_native.py-test_message_testnet": "28e0a91c31c6bdcee76b98064efe0097631bc77c3f59a263e71989bd66ccbc2e",
"test_msg_verifymessage_segwit_native.py-test_message_verify": "e4565794ed49fc946fb7b7c11737f400b6870458e55c79335e5725635bdb3006",
"test_msg_verifymessage_segwit_native.py-test_verify_utf": "d4e56561eca643eab79dfb7cc43c6d7fded5e5c3297e42aa018186a762823630",
"test_msg_verifymessage.py-test_message_grs": "a927ec214a2ac0a8e0d6d13bde6f20d9cf3847367bf48795dfe43d8b2402d40f",
"test_msg_verifymessage.py-test_message_long": "8dc8c73c4c91bdd98709585ed6df8ffc321845eb29a2e72b7bc6c13d90a42123",
"test_msg_verifymessage.py-test_message_testnet": "fc8de2115ecb5da834a4b8cf9444a98fc4af095e1f0d2c28e9904761ff25924c",
"test_msg_verifymessage.py-test_message_verify": "adc89f7a24565c2fb0cd00ba9b3fdf923268d70f2413df9afaf757a6d2da75c7",
"test_msg_verifymessage.py-test_message_verify_bcash": "a4b2355a8b7649515c67aee5a6a1438ecc94f4c772dc001e624a80f80f719cb7",
"test_msg_verifymessage.py-test_verify_bitcoind": "aa53ce95442a3c78e6a3f559237e1fce2e1c4eba124e32a374a8017ee7a35ab5",
"test_msg_verifymessage.py-test_verify_utf": "5a21d0ce4f5622001a6d54280c10424045a5b4a295dc943b7aa5509e15e3c1cb",
"test_msg_verifymessage_segwit.py-test_message_long": "5a6dbb32d55989eae02b6e6b69b1980172b17c100c3f61175ebd08d3425d8c8f",
"test_msg_verifymessage_segwit.py-test_message_testnet": "9b3605d74cf4787c3d22aa847e2a9009a6a49cd18fd704801b6592972fad09c9",
"test_msg_verifymessage_segwit.py-test_message_verify": "26b96652d888fb9ea63f1f6cdd8e55b81fdb22240952837364df1d56c403d24e",
"test_msg_verifymessage_segwit.py-test_verify_utf": "65509f8958bd561e7a35b33e82ebb74bceca54f4108c2ee10f04f4e491248204",
"test_msg_verifymessage_segwit_native.py-test_message_long": "3939f3b0c021f7116d5c9e34c0f7de7f8358a52af7a24fef27469ee0a62326d6",
"test_msg_verifymessage_segwit_native.py-test_message_testnet": "fafb5d434ce0c8df8b2913253cfc9a6458c83edcf103bfa44168d7911a16e83d",
"test_msg_verifymessage_segwit_native.py-test_message_verify": "b05637d691ee73f2178a85575335559512b038fa779c3476eebeec1f8ef4e63a",
"test_msg_verifymessage_segwit_native.py-test_verify_utf": "eb411fa9e3adfa39c7e801b1917babb7ff1f0a939172b907b686f4b3e5e44d04",
"test_msg_webauthn.py::test_add_remove": "3219e5ad2719319e74b5c75b1096ca7e3d30467215c15f57e57e475afdaa188f",
"test_msg_wipedevice.py::test_autolock_not_retained": "c18d2809f505e79bf61aef073a33897b251a3dadab7db9c890f5baaaa4412f4c",
"test_msg_wipedevice.py::test_wipe_device": "365729fd052a9765fb68444b0ec0661037db712bf077d2e2126d6a4e892710bd",
@ -772,11 +772,11 @@
"test_nonstandard_paths.py::test_getpublicnode[m-3'-100'-4-255-script_types1]": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"test_nonstandard_paths.py::test_getpublicnode[m-4-255-script_types0]": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"test_nonstandard_paths.py::test_getpublicnode[m-49-0-63-0-255-script_types4]": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"test_nonstandard_paths.py::test_signmessage[m-1195487518-6-255-script_types3]": "64b63aca6ff2fd15e10c64b3f89519c0f740c4bf5cae3aa525fabff346828448",
"test_nonstandard_paths.py::test_signmessage[m-1195487518-script_types2]": "3428f8015ebe9dfb9e29323bec319bf45e33c954e60390b9cdd68b9633a5d7aa",
"test_nonstandard_paths.py::test_signmessage[m-3'-100'-4-255-script_types1]": "d00b3b6b19969b407f4e6659899f8f31f25d59efc0126f824ac73513b9bb4dbd",
"test_nonstandard_paths.py::test_signmessage[m-4-255-script_types0]": "89b2bc6dd1a6f854b5f58a111b9079478db0aed46ddbad122779d9f9ff22030f",
"test_nonstandard_paths.py::test_signmessage[m-49-0-63-0-255-script_types4]": "b7106ad62f090657166c8d2656c748ae74c6b05b4599ddc5b0ea3d3fd80701ba",
"test_nonstandard_paths.py::test_signmessage[m-1195487518-6-255-script_types3]": "da9682c495ea2cdc7513404ed533461de199d5abde5e2d269acb99c013debfb3",
"test_nonstandard_paths.py::test_signmessage[m-1195487518-script_types2]": "4a625dc911357f101240d0a39c8e7091a0f0ae684ff3796ef32a36021f5c9d45",
"test_nonstandard_paths.py::test_signmessage[m-3'-100'-4-255-script_types1]": "4f73135d2ec9add695e0a22d855816558b4ba9329a2828f9c9930be6245bdc2d",
"test_nonstandard_paths.py::test_signmessage[m-4-255-script_types0]": "0988cc8bdc5879744bd33190fddc5b5aa137fdd7214abb003c8000a871d98f14",
"test_nonstandard_paths.py::test_signmessage[m-49-0-63-0-255-script_types4]": "540df94c73a4eed8fe88cdb475e2b31df752dca9e47b102792c01064ee432752",
"test_nonstandard_paths.py::test_signtx[m-1195487518-6-255-script_types3]": "37cfe119620536464ae42b3fbcae7b89d9272ad904da2bd8e8ae47b1024b4007",
"test_nonstandard_paths.py::test_signtx[m-1195487518-script_types2]": "27a03a5be542d1f5f76a839e65daec766c1d7de8ae4637404ffcfea8267ea0ec",
"test_nonstandard_paths.py::test_signtx[m-3'-100'-4-255-script_types1]": "efbe785820901471b0e55f9fd743c84a29fe719c2e1c8e6b2f87b0a20ce43cb2",
@ -810,10 +810,10 @@
"test_protection_levels.py::test_passphrase_reporting[False]": "233f8978b159ec8fb4092599d63f001c8059222ca14a9e84d185560d3c32ce24",
"test_protection_levels.py::test_passphrase_reporting[True]": "d9e9bdb39d15d6737ed6234f16c36bb7ad95ca54067ff8f10cffccaa3caa96cb",
"test_protection_levels.py::test_ping": "5551c263e8e09c8ae683f4dec3dd9d7ecc05ebbd3f2556604b27479c8f1fbc82",
"test_protection_levels.py::test_sign_message": "ffebfda06e622cda3b4504f3e15b451d8a4ea9d0a568a2035893466811986dc6",
"test_protection_levels.py::test_sign_message": "045d2faee841a79441683a6fdc912c3c69ecc0289b6c9801580942d47af7f0de",
"test_protection_levels.py::test_signtx": "f13f1687e062bd407dc781ae93ebb6619eee5ea3d37ee031ffdc98d5bd7aea33",
"test_protection_levels.py::test_unlocked": "f2be4c8c13c6a201770966438ffa9bcfe0eb031683920f93a55fa92921a28b51",
"test_protection_levels.py::test_verify_message_t2": "c258650c3697a46c61b67306b89cec1d67900095aeed05d4a691600a2cc12c2f",
"test_protection_levels.py::test_verify_message_t2": "794f6cad5b4903944061e49e6d0fb74a35786b29b399384736c19ee5ebacd85f",
"test_protection_levels.py::test_wipe_device": "a30d958dda50b06e8bfc1c861c0ff2c0eb4acd0656bdf1dcd6474660882e3cd5",
"test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "cad035eb013b620849f10638ca8559f1734bcc9a2242873b64cf98267d037d14",
"test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced-backup_flow_slip39-799d9907": "cfdd178988740145a245f90cd6c66e425779ddf239f77a48fa4c1eec24e1f407",

Loading…
Cancel
Save