chore(core): modify Shamir backup flow design

[no changelog]
pull/3064/head
grdddj 1 year ago committed by Jiří Musil
parent 732e2cc9b5
commit 5efafce856

@ -82,15 +82,15 @@ where
fn get_first_text(&self) -> String<100> {
build_string!(
100,
"Write all ",
"Write down all ",
inttostr!(self.share_words.len() as u8),
" words in order on recovery seed card."
" words in order."
)
}
/// Display the first page with user information.
fn paint_entry_page(&mut self) {
self.render_text_on_screen(&self.get_first_text(), Font::BOLD);
self.render_text_on_screen(&self.get_first_text(), Font::MONO);
}
fn get_second_text(&self) -> String<100> {

@ -412,6 +412,7 @@ extern "C" fn new_confirm_reset_device(n_args: usize, args: *const Obj, kwargs:
let ops = OpTextLayout::<StrBuffer>::new(theme::TEXT_MONO)
.text_mono("By continuing you agree to Trezor Company's terms and conditions.".into())
.newline()
.newline()
.text_mono("More info at".into())
.newline()
.text_bold("trezor.io/tos".into());

@ -24,7 +24,7 @@ _DEFAULT_BACKUP_TYPE = BAK_T_BIP39
async def reset_device(ctx: Context, msg: ResetDevice) -> Success:
from trezor import config
from trezor import config, utils
from apps.common.request_pin import request_pin_confirm
from trezor.ui.layouts import (
confirm_backup,
@ -39,13 +39,16 @@ async def reset_device(ctx: Context, msg: ResetDevice) -> Success:
# validate parameters and device state
_validate_reset_device(msg)
# TR only has one-line title, TT can show more lines
delimiter = "\n" if utils.MODEL == "T" else " "
# make sure user knows they're setting up a new wallet
if backup_type == BAK_T_SLIP39_BASIC:
title = "Wallet creation\n(Shamir)"
title = f"Create wallet{delimiter}(Shamir)"
elif backup_type == BAK_T_SLIP39_ADVANCED:
title = "Wallet creation\n(Super Shamir)"
title = f"Create wallet{delimiter}(Super Shamir)"
else:
title = "Wallet creation"
title = "Create wallet"
await confirm_reset_device(ctx, title)
# Rendering empty loader so users do not feel a freezing screen

@ -373,19 +373,12 @@ async def confirm_reset_device(
else:
button = "CREATE WALLET"
# Title sent from general code would be too long
# TODO: support two lines title for TR
if recovery:
title = "WALLET RECOVERY"
else:
title = "WALLET CREATION"
await raise_if_not_confirmed(
interact(
ctx,
RustLayout(
trezorui2.confirm_reset_device(
title=title,
title=title.upper(),
button=button,
)
),

@ -6,7 +6,7 @@ from trezor.wire import ActionCancelled
import trezorui2
from ..common import interact
from . import RustLayout, confirm_action
from . import RustLayout, confirm_action, raise_if_not_confirmed
CONFIRMED = trezorui2.CONFIRMED # global_import_cache
@ -22,19 +22,20 @@ async def show_share_words(
share_index: int | None = None,
group_index: int | None = None,
) -> None:
from . import get_bool
# Showing words, asking for write down confirmation and preparing for check
if share_index is None:
title = "RECOVERY SEED"
check_title = "CHECK BACKUP"
elif group_index is None:
title = f"SHARE #{share_index + 1}"
check_title = f"CHECK SHARE #{share_index + 1}"
else:
title = f"G{group_index + 1} - SHARE {share_index + 1}"
check_title = f"GROUP {group_index + 1} - SHARE {share_index + 1}"
# Showing words, asking for write down confirmation and preparing for check
# until user accepts everything.
while True:
result = await interact(
await raise_if_not_confirmed(
interact(
ctx,
RustLayout(
trezorui2.show_share_words( # type: ignore [Argument missing for parameter "pages"]
@ -45,28 +46,17 @@ async def show_share_words(
"backup_words",
ButtonRequestType.ResetDevice,
)
if result is not CONFIRMED:
raise ActionCancelled
if share_index is None:
check_title = "CHECK BACKUP"
elif group_index is None:
check_title = f"CHECK SHARE #{share_index + 1}"
else:
check_title = f"GROUP {group_index + 1} - SHARE {share_index + 1}"
)
if await get_bool(
ctx,
"backup_words",
check_title,
None,
"Select correct word for each position.",
verb_cancel="SEE AGAIN",
verb="BEGIN",
br_code=ButtonRequestType.ResetDevice,
):
# All went well, we can break the loop.
break
await confirm_action(
ctx,
"backup_words",
check_title,
description="Select the correct word for each position.",
verb="CONTINUE",
verb_cancel=None,
br_code=ButtonRequestType.ResetDevice,
)
async def select_word(
@ -173,8 +163,8 @@ async def slip39_prompt_threshold(
ctx,
"slip39_prompt_threshold",
"Threshold",
description="= number of shares needed for recovery",
verb="BEGIN",
description="= minimum number of unique words used for recovery.",
verb="CONTINUE",
verb_cancel=None,
)
@ -187,7 +177,7 @@ async def slip39_prompt_threshold(
if group_id is not None:
title = f"THRESHOLD - GROUP {group_id + 1}"
else:
title = "SET THRESHOLD"
title = "THRESHOLD"
return await _prompt_number(
ctx,
@ -206,8 +196,8 @@ async def slip39_prompt_number_of_shares(
ctx,
"slip39_shares",
"Number of shares",
description="= total number of unique word lists used for wallet backup",
verb="BEGIN",
description="= total number of unique word lists used for wallet backup.",
verb="CONTINUE",
verb_cancel=None,
)

@ -12,11 +12,10 @@ if TYPE_CHECKING:
def confirm_new_wallet(debug: "DebugLink") -> None:
layout = debug.wait_layout()
assert layout.title().startswith("CREATE WALLET")
if debug.model == "T":
assert layout.title().startswith("WALLET CREATION")
debug.click(buttons.OK, wait=True)
elif debug.model == "R":
assert layout.title() == "WALLET CREATION"
debug.press_right(wait=True)
debug.press_right(wait=True)
@ -141,7 +140,7 @@ def confirm_words(debug: "DebugLink", words: list[str]) -> None:
button_pos = btn_texts.index(wanted_word)
layout = debug.click(buttons.RESET_WORD_CHECK[button_pos], wait=True)
elif debug.model == "R":
assert "Select correct word" in layout.text_content()
assert "Select the correct word" in layout.text_content()
layout = debug.press_right(wait=True)
for _ in range(3):
# "SELECT 2ND WORD"

@ -726,13 +726,13 @@
"TR_test_pin.py::test_pin_short": "1eed6ee2abd70ea907b6bc27a025881524c16042aa463e131f3fbd1ece3bb212",
"TR_test_pin.py::test_wipe_code_same_as_pin": "f7be6478cf07bc3ee2f3bdb8e31f14d71b585a9016e9421af923d918d3c0e167",
"TR_test_pin.py::test_wipe_code_setup": "eb2543665a66bda19752c9167207ac09cb34bb0bafbdc1e52348da16605524c1",
"TR_test_recovery.py::test_recovery_bip39": "646ea1457ab7fd6b5b57a239375919704ea2acda9280e9fbbd417bee87e6d14b",
"TR_test_recovery.py::test_recovery_slip39_basic": "c2a757d49110010126a6c7f58331db7efc98cf23963a39eeb77e5949fcc571a4",
"TR_test_reset_bip39.py::test_reset_bip39": "9f37a9da48fc78aa8f242a6f71309048aab79d1e170fec8564a9c4d6a8770553",
"TR_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "b0fd211446727625e5d6be588affdfc58e3295d14607b10b6c4fe5f81688f5f1",
"TR_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "870b26c54d6647661e1934f916886780db44bc38c5e72a078c8b402795af9b67",
"TR_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "7a9a400803fc5e8f50382e4318ea7de3822da071e010a2ce3030b8ae4205eec3",
"TR_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "f098623d169088cf53ccd63a4f07cf661fbb2ebd231eb272ef8c4da894353da6",
"TR_test_recovery.py::test_recovery_bip39": "535854369a009068d9df13c85e82ef483032c31940da1f612f756c0961e33723",
"TR_test_recovery.py::test_recovery_slip39_basic": "d0cfe8cb679c48810be165e628ca4df0ad444743b65051bf022c583c8cdd8a32",
"TR_test_reset_bip39.py::test_reset_bip39": "e1efe94a9ef024dc7776ed881d088a0aa417166beb178f0a37ebb078636f949b",
"TR_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "38a367d14cd6c04b118cad498f30128c2a0da3f08421f2b64619a11c07b874e6",
"TR_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "7e2e1e4e231295be77e84de8ede293e8979f1421aa173f5bf72abb25a546589b",
"TR_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "c905e380de30a118b2e47d069a98d15319eded93446f2cc75b68a942d55c50fc",
"TR_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "ab621ed9a1a550777a6562f3ee3219957d9c4684b654026c30a5b3e361bafe5a",
"TR_test_tutorial.py::test_tutorial_again_and_skip": "1b6c44532ea2c4eb078e369690908a4cee6e969fd0246d58e919288964a0caa5",
"TR_test_tutorial.py::test_tutorial_finish": "a4c624e30123c3dbd21bee62342532a6efd73c5aaa5bb38da045414a7929e94a",
"TR_test_tutorial.py::test_tutorial_skip": "c5343d06a573f7603f4b04b773d203ee33b6ca866d24be79e9dd75d4a3da3896"
@ -1657,7 +1657,7 @@
"TR_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "f49c8d846c2d56a575f0ad49463845ba641b02656783e4fcfc67d74e8fa671dd",
"TR_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "57e3aa5a6a55926dcc95ca290bf1b2826bbc86b535e0baa162f7c79b1784c96b",
"TR_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "1fffe2654fd7141a1114f76f0e87d5cddd5f1bac2abbbbda7613adf24b2b67b0",
"TR_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "d573f060b51f2c3207e3eb5246bafe64c871be2157971bb2f5c762594ed118e8",
"TR_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "e0998952f5c4ab95bc38150de00777d8bd19ef9bd5aeb436c3c4a4fc9004c123",
"TR_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "830e0d32e08eeb5dc579e34d4f447ec9bc14f3ba6f44f0f9acad24b4f14f5eab",
"TR_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "b1d3b8444649dbec849c4b5484fda6d32cd91c2bce55592b9925ccfba2f712e3",
"TR_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "69a9336e2c8e8449a8749dfa7ff279f12abf60c6f33fcfdbfe5f61f332ad3910",
@ -1674,32 +1674,32 @@
"TR_reset_recovery-test_recovery_slip39_basic.py::test_ask_word_number": "f49c8d846c2d56a575f0ad49463845ba641b02656783e4fcfc67d74e8fa671dd",
"TR_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "61312d7b86c52c105eaa526607018b20a55e81d0fce47441659f3fea0280aa4d",
"TR_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "7e364cea90d171b03058d95da2e237b5dec503476335f64b6d369d30f35c71c6",
"TR_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "1efbfbb53e4489b6f157313ec7c2e75a8fe68b05bf72221297e04af1272d9ad3",
"TR_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "9b1ae0f94e16678daa8f08eba33ae95374dd6042fe9dc7a26b883a9e5f0e3ee8",
"TR_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fbc98c8fc]": "2a85edf485d59e912296112b5b61041824397238cde5ec5349a5e189e4cbdc14",
"TR_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-b770e0da1363247652de97a39-a50896b7": "1f6dd08a50e61584129aa083ea07392302f4e839312853a2eb8fa12d988feb93",
"TR_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "facf3f7e0e12e85524fb620d2003cca2523c04d70b225e58e63937869384045d",
"TR_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "facf3f7e0e12e85524fb620d2003cca2523c04d70b225e58e63937869384045d",
"TR_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "facf3f7e0e12e85524fb620d2003cca2523c04d70b225e58e63937869384045d",
"TR_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "25c70500ec1d71be498b725b1787799307e61accd8c41790d4e3dc284b6e3bcf",
"TR_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "25c70500ec1d71be498b725b1787799307e61accd8c41790d4e3dc284b6e3bcf",
"TR_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "25c70500ec1d71be498b725b1787799307e61accd8c41790d4e3dc284b6e3bcf",
"TR_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "0b92152c9c5f6aa9293e5373e992f822e3ca7d4abcc013491149e4a23fc74e47",
"TR_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "d020cf43260d1ea57027f85a0652b0e253cb464a465ef3a8225b933d3d90d121",
"TR_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "b77e368c763e622b8c2a74d249941dd6edbe1059400f0cca98525c9843bdd3bf",
"TR_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced-bac-f67baa1c": "7450dac1edbe2f013a33a649836557e08d41d803d5e95a7f408f9188a204d146",
"TR_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic-backup-6348e7fe": "3cc3a49fb4f09d3d7b6b49b6f5bd3b50dce1032ad2c419748008caf36deeea8e",
"TR_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "ea1330543afacfc05fa27a10e0e23eae0e288208fafb641f3bc25d7003c8be2e",
"TR_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced-backup-dcbda5cf": "4467f01666706ae2f38a5ef0e2259c7df79a84e7b4eb652685a35847eb8caccd",
"TR_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic-backup_fl-1577de4d": "0d5a1a5b7c326c6bbbf74ae4b8fe21afb7efb24256a5649b5927f3f52f8ed135",
"TR_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "4a036efd7c646371496be0cf692c47f0fbb23c2e7bf40280ec64277d48105666",
"TR_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced-bac-f67baa1c": "d8e34d856a5775aacf108ccb1dbaa46d0a45266c5077853511a1e9b6f0b78d5a",
"TR_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic-backup-6348e7fe": "2b8a71b0312237e7cc542bde5936fbef4d2d727940e38cead0a008a1cc221a67",
"TR_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "36b709c35d2028a0fc9770d822d4566d5c6b6efa9fc17e0b5da4f06a034999b6",
"TR_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced-backup-dcbda5cf": "25f6db5344417661c7e5bfda2a5df8f1dcfee39378c4d486bb89e928b71773cc",
"TR_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic-backup_fl-1577de4d": "14683a62c7b4d335e8a3c45b5827cda91fb59bae68d97b51d0126bc103cdd16a",
"TR_reset_recovery-test_reset_bip39_t2.py::test_already_initialized": "57e3aa5a6a55926dcc95ca290bf1b2826bbc86b535e0baa162f7c79b1784c96b",
"TR_reset_recovery-test_reset_bip39_t2.py::test_failed_pin": "8d7fc7fa6ece46b3dc97f01975fb03ff5bc3155a0f2df90e9c80b71066fe905a",
"TR_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "55d6779290ef0899c10bbc548eb2830b2411dc0da49198841426b88da772b2e9",
"TR_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "82c285dbc38c690a46e81502790e38d2216e3790d0c14351f2884af6613fe756",
"TR_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "eed250af6baa043ebede525b093edac8ee1880b145d27f6cc36bd6a8768b79d2",
"TR_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "025bf8627224b88fe49d39b48cf6531a69c64ae8e56d99b99288c8a1d08c51a5",
"TR_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "79c9b4d88ba879362c6cde9acc8a019a3f2b3bda6c738c4262c811bc0aed1321",
"TR_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "ff9ba316486111bf849ee600dcb8c84db9691c46fcab75386b8dc527f7c55726",
"TR_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "84a10689c55887875846d3f461a49495c5df8f3b04b0057f9bd18c8d86f78cb0",
"TR_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "2cb19f33bf37ca45a7fa6edb35417727ba88360b8428d962673d9d3fe8ea3294",
"TR_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "9c9566df6b210cb714969332ef813cc99cbdc24b3f701aba2b3529dcbc792f9c",
"TR_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "56e0928f7fd9b72a2e0583abe94a88e33b53720d97cc771c53d4d390661da881",
"TR_reset_recovery-test_reset_bip39_t2.py::test_failed_pin": "797740b6b2c21ae946d0281ea7990eb3a6a7d6eff82a3af19ebe406769a7edc5",
"TR_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "3f7eab1811a19472a2ae4194c991d2e2bf547dc928752e7b870f59195eaa41d7",
"TR_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "9bee1890b07841852b5eaa4f30f9dad1a56181a9884147ca96b165dd02dedd7c",
"TR_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "214b368d8caba2239fd0c1d67db69fdd11891d07d4feb1acc080aa209d4e5c10",
"TR_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "0b727338ae517e5fe6636534aa6addd1cc1120c5cda1661c6cea77d263c6dc6d",
"TR_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "90954344b407d1260954d065feda425af44fcd2d8da48338926a17e0a90c51de",
"TR_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "9482ca305ba1ed598e2ab30f0f4226e23d3e9554fd955b69967d61d5e9c1733c",
"TR_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "2f730575ee9443fb888a5195dfa9c3df041da3c0114151f44a6d5991a9d2096f",
"TR_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "680f86a8f05f50cce4d8676d458550a7dfb97f94e7f1af123e3c3ce7f5f50750",
"TR_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "db7e2227022d42233d7626ec22ef1275d08a7e40d5383c2ccfe70187c81c0f0f",
"TR_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "23f64874ed9bf7a3adb8039419ef81572e2c5c22d86ddd5e087f964309b250ab",
"TR_ripple-test_get_address.py::test_ripple_get_address": "57e3aa5a6a55926dcc95ca290bf1b2826bbc86b535e0baa162f7c79b1784c96b",
"TR_ripple-test_get_address.py::test_ripple_get_address_other": "57e3aa5a6a55926dcc95ca290bf1b2826bbc86b535e0baa162f7c79b1784c96b",
"TR_ripple-test_sign_tx.py::test_ripple_sign_invalid_fee": "57e3aa5a6a55926dcc95ca290bf1b2826bbc86b535e0baa162f7c79b1784c96b",
@ -1786,11 +1786,11 @@
"TR_test_msg_applysettings.py::test_experimental_features": "704835bd36c57634d2067dcc8a7709ff13e771f9396cb615f428b2a5f1eaa6f6",
"TR_test_msg_applysettings.py::test_label_too_long": "57e3aa5a6a55926dcc95ca290bf1b2826bbc86b535e0baa162f7c79b1784c96b",
"TR_test_msg_applysettings.py::test_safety_checks": "b57e1cd411e548649dd58583a430a8fcd8ff2b5c72587fd14ec463014d251d01",
"TR_test_msg_backup_device.py::test_backup_bip39": "4ce2bdcad16df7a5d3993044191f514c41a9370c460a749a81219e682e36b19d",
"TR_test_msg_backup_device.py::test_backup_bip39": "b6ceb864499ac086b3c4292de1e0bb019cb5c06d6c52f439bdc1a6848f78671f",
"TR_test_msg_backup_device.py::test_backup_slip39_advanced[click_info]": "f6285c644035097bc5d828c52068b42edced80dd6372fa12cfb8e126d1b82455",
"TR_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "319c6aaa27f5a903c1f8d69bc216176d2fbee2128229bb73e295608cb2e8f217",
"TR_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "4e60f028cdf8d1010a71bb81835102dbc5327a5dd2140aa6d5fa8afe8025264c",
"TR_test_msg_backup_device.py::test_backup_slip39_basic[click_info]": "f6285c644035097bc5d828c52068b42edced80dd6372fa12cfb8e126d1b82455",
"TR_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "c4683ab366f428aa6d657d50d8f03bab4b336e8acb1974bff27fa17de4f946fa",
"TR_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "0c33eaf518de7f3c346dd8c711010c76bd2ec97b426dcf7f2b056d18524b0323",
"TR_test_msg_backup_device.py::test_interrupt_backup_fails": "37d014442e3151b01deabad623c6305bb1ef6d3162df7af34927cceeb4861257",
"TR_test_msg_backup_device.py::test_no_backup_fails": "804e49b88c36bb401f14d0f9e120f870580ef2a68b5e917b8108524fa1aa4fca",
"TR_test_msg_backup_device.py::test_no_backup_show_entropy_fails": "f49c8d846c2d56a575f0ad49463845ba641b02656783e4fcfc67d74e8fa671dd",
@ -1810,7 +1810,7 @@
"TR_test_msg_loaddevice.py::test_load_device_slip39_basic": "5b94292bda41b70e07033ef9c82b188878b58397362b40d7976e7f8facc25a4a",
"TR_test_msg_loaddevice.py::test_load_device_utf": "87daa136eb012cffdce488493f6ae3e029a8380065d735e4782bc18e32d1ac95",
"TR_test_msg_ping.py::test_ping": "e5f42ea39c37305bd7c5096ff40cb641ee8574dc536bdd8d919898a8d58d21e3",
"TR_test_msg_wipedevice.py::test_autolock_not_retained": "7a8ae74bf2ebca70eddf6c0727cffb3ecf894172ce9221228e5b895d9e07f285",
"TR_test_msg_wipedevice.py::test_autolock_not_retained": "906f2c7fe54cf90a62b4fb612058065a2289c6f9216ef66a16367c2d62cd981b",
"TR_test_msg_wipedevice.py::test_wipe_device": "30a09bff445999b891a8f11b239226ab34b7e8924554f0a6d16d5c75e7b0a7f9",
"TR_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "815efae2f2acaf1406b5c372987b29bb1354eae36de5b471fae67b3a55fd9d6c",
"TR_test_passphrase_slip39_advanced.py::test_256bit_passphrase": "815efae2f2acaf1406b5c372987b29bb1354eae36de5b471fae67b3a55fd9d6c",
@ -1921,11 +1921,11 @@
"TT_test_pin.py::test_wipe_code_setup": "353855511c20bcf4f8ec01d141c11a108472dc64e3dac06c5f567b42bddbaba9",
"TT_test_recovery.py::test_recovery_bip39": "6ff84bfab19bec7db2d5672a2059a69dbae56cc1e06464700024e431c9a1349f",
"TT_test_recovery.py::test_recovery_slip39_basic": "e038348233dc15169cd2678482f4512ed863fedca5cd70d94e571d88fa40c0a7",
"TT_test_reset_bip39.py::test_reset_bip39": "1c89472bdb4a764d0340a7613ae708be1e539b7c4c6cbcc3e08cdf64436d544d",
"TT_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "1d84f6525969fc44b4dbc271680b52774e9431dfbc6137bdc047565e08910d28",
"TT_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "e07555e9c3023186d19a31cffb3d2e9260035371112cacd9be058b2e0fcb8a0a",
"TT_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "62451c768fcff13e6649db3325bf12e38e5610b9792aafac9f7cebb5389f24ee",
"TT_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "27fbf92592f9598da2ed037e76698eb93452f7b758c841510add5c42d15a250b"
"TT_test_reset_bip39.py::test_reset_bip39": "051b6ef646f9c8106dd2810bde45ab23ecfdf8f74da86be8c0aa60e1998bab9f",
"TT_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "b98ddb1f165eba2aae06fb6523375c0c18663d0e711cd1c45052956c18bc8072",
"TT_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "19466c0974e2a7f8f50509d9292446bf5448c262a9c2f8053ff417bcf1bdad8a",
"TT_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "4eefcb4dbcdeddc9e9c702fb0608447d768aaea099b32c8f4e7fe1aa892eb34b",
"TT_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "157417672a145c227d931e81cba21c15aa52b45b2b7088e343c1f9c07ff91028"
},
"device_tests": {
"TT_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-0-bnb1hgm0p7khfk85zpz-68e2cb5a": "483ff25f0ff24de80631dfb202ac681c38dfbf44c5905505281c2d0719a94fc6",
@ -2877,24 +2877,24 @@
"TT_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "be1dd4ecbfc29a767dd3f1faf6ee12282422f0504175b996afa352b39a7f540b",
"TT_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "87718399c69d11e8656d4af3af448f542970fbfca524a53955adcd911903efd0",
"TT_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "0fbabbe652adc6a4e0d7285b165687dce0ad617762ed228f6a21d56de409d799",
"TT_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "41e7e16005c3697e31a2388ca7d2fc163ef21ba27edd46a300e0d18b4b22242e",
"TT_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced-bac-f67baa1c": "5c695d69a56f3d03989d363225dba2bd916ca451b52443515ba5ae7d5d913318",
"TT_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic-backup-6348e7fe": "8dfd052239416b598e101016c1a2bbdb992c8c4d929b47c1dd78b3e8637e7bd5",
"TT_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "eb33b00cc41e24b02664d2d638b00afdb5b9d9af90ce32540875ec47b97e76c9",
"TT_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced-backup-dcbda5cf": "4c31ebedbaa5eccf55ad8f3be4497f8d5fa0f66f56bccb4de40e44f20fc09758",
"TT_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic-backup_fl-1577de4d": "9a24be56fac80c9b5b26a50065de1ca3bfafbcec404aabf43b2523755db5dc6e",
"TT_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "311ef265835c57421a66cce3c2bd5031cfc57979ea1afdf94257a758d300de90",
"TT_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced-bac-f67baa1c": "b747b209ab566b6daccb16579cfb42ee38701eb6f54b00717dde1ad2060e58c7",
"TT_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic-backup-6348e7fe": "c1169c0c591583ecfbfd79a432040f32b2a32acfc29e9ec2b338eae9d5f37644",
"TT_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "c13548265cc8a97db3d376def555781724710f515241352d73e30f984060d08f",
"TT_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced-backup-dcbda5cf": "568833f2071c8fb0c382d133c27072f560d1f9ae7f7f5f781c05cd290dd52023",
"TT_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic-backup_fl-1577de4d": "a31cba5a527c0a797ab5109d3da1e68a403a3c3f654348c6458aeb0d323819f0",
"TT_reset_recovery-test_reset_bip39_t2.py::test_already_initialized": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3",
"TT_reset_recovery-test_reset_bip39_t2.py::test_failed_pin": "cb7f55d17ebf06888ff02ab3db0a5bd2b5355dcc465eab5fc009089845623c72",
"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "24c1a604c673a7c2abf5866cd1fc901d1914016148eef97a8f1f67109353b716",
"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "b1c25566ed19c2f4cc209a56d61fda0971d1948b65a3357e0f6ef2af1bdc9a83",
"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "31b0231ab0fc31b06d86a33a0ed7b4b5c625248b0d5ccb424639e89088f7428b",
"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "fb9014674746b338c81d86e535cf01842e82dedd948ee98716817a564ed76647",
"TT_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "bd23df987d673737e9e2043ede65bc81beae39aa858b365cd714cf0c0351ab5b",
"TT_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "f1302f5123557c8da866fa51c0b5eaaa65c97137bd974bcb46b0b6339db6546e",
"TT_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "ea6be44f6cc20ba0346577b8cabd9cda53371898d5ebe4be3befe2a9b1c98caf",
"TT_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "638b810871d71d89ebef46b7a909b2927a3944fe0c306c54452686f88af89b43",
"TT_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "a42f8f2562f6dcc9da8028ecd9ff50afcd73e1ffce67ef8116d7f33a8f52a93c",
"TT_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "e7b439dca8fb355eebe7c6ead8f58f100f6ddfa5dd7b41ec22d47ad000cf5520",
"TT_reset_recovery-test_reset_bip39_t2.py::test_failed_pin": "54a186475fd7c0153642d312eceb1756480ab6c0960e01665230547c092fd263",
"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "1052080e08c12447aa0ef691c4555dcb49609013f69fec1c8ec72a5c386d197f",
"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "745840b8f3f18277dc7e81782e38bd1670e535eca2d906547cf51d05b867d88c",
"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "a3fefc4061f60ba6e380d9a805f96b57e843f1b7d8d57de866dcb7008169daab",
"TT_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "348b35224054352e047a6532ecc02e80e7c45aa300e7e5e91be8e84c9380bd81",
"TT_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "d0d0e80dfb47288b3a8e69e72b84048d84ee55e829b71300cabf760feacc0a67",
"TT_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "391cf4a2e8184d10693c4603aa45d5b07fbf2e02ed9212b5f778f9402dcda9cc",
"TT_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "609c11866550256ced971ced9087c8483063f2ff26de76858f611c397dd7f27c",
"TT_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "fd4044fc1404da27fbb5aa37c38db1448736754a54ce1076d1c74fca2cb52bcd",
"TT_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "db6074a519d4522e68f7153fea65a87a46ff49087a53529cc1ffb05dd8e82495",
"TT_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "50bab05aeab36ea8de44555d16a2f41794b92d6d9eef7ac224f34abccc60d292",
"TT_ripple-test_get_address.py::test_ripple_get_address": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3",
"TT_ripple-test_get_address.py::test_ripple_get_address_other": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3",
"TT_ripple-test_sign_tx.py::test_ripple_sign_invalid_fee": "80a6e289138a604cf351a29511cf6f85e2243591317894703152787e1351a1a3",
@ -3006,7 +3006,7 @@
"TT_test_msg_sd_protect.py::test_enable_disable": "0f1bde609b1b5b7521d7560673ee8d287c3c8fe61982bcc6931282b20ad1cd7b",
"TT_test_msg_sd_protect.py::test_refresh": "48ae62a7db380712cebdbb52672031eaf65de1eae404c2f4d146831c069269d9",
"TT_test_msg_sd_protect.py::test_wipe": "9e2cbe6146e1d06c4ca6f52a815a34dadbe2798874dc52dc7fa500db6b0cf66a",
"TT_test_msg_wipedevice.py::test_autolock_not_retained": "51afe39ffb390df772c7032fb71f2ab6e06e6098c19e90a00f4d6b7ced3c3dca",
"TT_test_msg_wipedevice.py::test_autolock_not_retained": "6b137844ca9df7a22feb05d6b1c2e7b0caf8c461521f2d2b2e30c149483ee5f2",
"TT_test_msg_wipedevice.py::test_wipe_device": "6f8d7ba4ef109b2c20d09689d1fa329e23d5a11d21ce47a91339aeb21ffcf1ad",
"TT_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "1bd915d8dd1b00fcf945b46053ad73f6471f29c5af7fc437090c755e176810c3",
"TT_test_passphrase_slip39_advanced.py::test_256bit_passphrase": "1bd915d8dd1b00fcf945b46053ad73f6471f29c5af7fc437090c755e176810c3",

Loading…
Cancel
Save