chore(core): Allow backup check only when the backup exists
What changed, and why it matters
This commit tightens when a Trezor device lets the user run a 'backup check' (also called a dry-run recovery). Previously, the device allowed the check as long as it was initialized, even if the seed had never been backed up, was marked as not needing a backup, or the backup was unfinished. The change now blocks the backup-check menu item and the RecoveryDevice dry-run command when no real backup exists. This prevents a user from being misled into thinking an unbacked-up seed is safe, and stops a dry-run from being started in states where it has no meaningful purpose.
Treat this as a low-to-moderate hardening fix. Users and integrators should update to a firmware containing this commit if they rely on the backup-check/dry-run behavior, and verify that any custom clients no longer expect dry-run to succeed on no-backup or pending-backup devices. No immediate incident response is indicated by the diff alone.
Security signals we found
State-machine validation hardened: backup check/dry-run is now gated on a completed backup
UI menu item `backup_check_allowed` no longer exposed for unbacked-up or no-backup devices
Protocol-level `RecoveryDevice` dry-run rejects no-backup and pending-backup states with explicit errors
New negative tests assert rejection for `no_backup=True` and `needs_backup=True` setups
Changelog categorizes the change as a fix ('5763.fixed')
Evidence from the diff
The patch changes two things: (1) in the on-device menu, backup_check_allowed is now set to true only when the device is initialized, does not need a backup, does not have an unfinished backup, and is not a no-backup/seedless device. (2) in recovery_device, a RecoveryType.DryRun request now raises wire.ProcessError if storage_device.no_backup() is true or if needs_backup()/unfinished_backup() is true. Tests are added for the no-backup and needs-backup rejection cases, and UI fixtures are updated accordingly. The changelog describes it as a fix.
Changed components
core/src/apps/homescreen/device_menu.pycore/src/apps/management/recovery_device/__init__.pytests/device_tests/reset_recovery/test_recovery_bip39_dryrun.pytests/ui_tests/fixtures.jsonInspect captured patch +105 / −4
diff --git a/core/.changelog.d/5763.fixed b/core/.changelog.d/5763.fixed
new file mode 100644
index 00000000..ce7289ac
--- /dev/null
+++ b/core/.changelog.d/5763.fixed
@@ -0,0 +1 @@
+Allow backup check only when the backup exists.
diff --git a/core/src/apps/homescreen/device_menu.py b/core/src/apps/homescreen/device_menu.py
index 0a6d977d..d595f49a 100644
--- a/core/src/apps/homescreen/device_menu.py
+++ b/core/src/apps/homescreen/device_menu.py
@@ -78,6 +78,12 @@ async def handle_device_menu() -> None:
haptic_configurable = is_initialized and utils.USE_HAPTIC
backup_failed = is_initialized and storage_device.unfinished_backup()
backup_needed = is_initialized and storage_device.needs_backup()
+ backup_finished = (
+ is_initialized
+ and not storage_device.needs_backup()
+ and not storage_device.unfinished_backup()
+ and not storage_device.no_backup()
+ )
bonds = ble.get_bonds()
if __debug__:
@@ -118,7 +124,7 @@ async def handle_device_menu() -> None:
if (is_initialized and config.has_pin())
else None
),
- backup_check_allowed=is_initialized,
+ backup_check_allowed=backup_finished,
device_name=(
(storage_device.get_label() or utils.MODEL_FULL_NAME)
if is_initialized
diff --git a/core/src/apps/management/recovery_device/__init__.py b/core/src/apps/management/recovery_device/__init__.py
index bae159f0..e1c3b03c 100644
--- a/core/src/apps/management/recovery_device/__init__.py
+++ b/core/src/apps/management/recovery_device/__init__.py
@@ -39,14 +39,19 @@ async def recovery_device(msg: RecoveryDevice) -> Success:
# --------------------------------------------------------
# validate
- if recovery_type == RecoveryType.NormalRecovery:
+ if recovery_type is RecoveryType.NormalRecovery:
if storage_device.is_initialized():
raise wire.UnexpectedMessage("Already initialized")
elif recovery_type in (RecoveryType.DryRun, RecoveryType.UnlockRepeatedBackup):
if not storage_device.is_initialized():
raise wire.NotInitialized("Device is not initialized")
- if (
- recovery_type == RecoveryType.UnlockRepeatedBackup
+ elif recovery_type is RecoveryType.DryRun:
+ if storage_device.no_backup():
+ raise wire.ProcessError("Dry-run not available for seedless devices")
+ elif storage_device.needs_backup() or storage_device.unfinished_backup():
+ raise wire.ProcessError("Cannot do dry-run without backed-up seed")
+ elif (
+ recovery_type is RecoveryType.UnlockRepeatedBackup
and mnemonic.get_type() == BackupType.Bip39
):
raise wire.ProcessError("Repeated Backup not available for BIP39 backups")
diff --git a/tests/device_tests/reset_recovery/test_recovery_bip39_dryrun.py b/tests/device_tests/reset_recovery/test_recovery_bip39_dryrun.py
index bb5594de..33ac741d 100644
--- a/tests/device_tests/reset_recovery/test_recovery_bip39_dryrun.py
+++ b/tests/device_tests/reset_recovery/test_recovery_bip39_dryrun.py
@@ -154,3 +154,44 @@ def test_bad_parameters(session: Session, field_name: str, field_value: Any):
match="Forbidden field set in dry-run",
):
session.call(msg)
+
+
+@pytest.mark.setup_client(no_backup=True)
+@pytest.mark.models("core")
+def test_no_backup_fails(session: Session):
+ session.ensure_unlocked()
+ assert session.features.initialized is True
+ assert session.features.no_backup is True
+ assert (
+ session.features.backup_availability == messages.BackupAvailability.NotAvailable
+ )
+
+ msg = messages.RecoveryDevice(
+ type=messages.RecoveryType.DryRun,
+ word_count=12,
+ enforce_wordlist=True,
+ input_method=messages.RecoveryDeviceInputMethod.ScrambledWords,
+ )
+ with pytest.raises(
+ exceptions.TrezorFailure,
+ match="not available for seedless devices",
+ ):
+ session.call(msg)
+
+
+@pytest.mark.setup_client(needs_backup=True)
+@pytest.mark.models("core")
+def test_backup_needed_fails(session: Session):
+ assert session.features.backup_availability == messages.BackupAvailability.Required
+
+ msg = messages.RecoveryDevice(
+ type=messages.RecoveryType.DryRun,
+ word_count=12,
+ enforce_wordlist=True,
+ input_method=messages.RecoveryDeviceInputMethod.ScrambledWords,
+ )
+ with pytest.raises(
+ exceptions.TrezorFailure,
+ match="Cannot do dry-run without backed-up seed",
+ ):
+ session.call(msg)
diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json
index 50ab998a..258c73cf 100644
--- a/tests/ui_tests/fixtures.json
+++ b/tests/ui_tests/fixtures.json
@@ -2235,12 +2235,14 @@
"T2T1_cs_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "32d380b2c0942f8a2ab6a32e0e4c8a2ad2ab6750ee39c6fa4d4f0bacf59a4b7c",
"T2T1_cs_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "d9c6bceebe8bca24bb53968276c07164ad75ee785a40c414875766bc1ebbc708",
"T2T1_cs_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "d9c6bceebe8bca24bb53968276c07164ad75ee785a40c414875766bc1ebbc708",
+"T2T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "365142a583a91fa18fe86f9492640248fe56a3acb735ceecb112bb01c95a0fb7",
"T2T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "32d380b2c0942f8a2ab6a32e0e4c8a2ad2ab6750ee39c6fa4d4f0bacf59a4b7c",
"T2T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "32d380b2c0942f8a2ab6a32e0e4c8a2ad2ab6750ee39c6fa4d4f0bacf59a4b7c",
"T2T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "32d380b2c0942f8a2ab6a32e0e4c8a2ad2ab6750ee39c6fa4d4f0bacf59a4b7c",
"T2T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "32d380b2c0942f8a2ab6a32e0e4c8a2ad2ab6750ee39c6fa4d4f0bacf59a4b7c",
"T2T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "9e2388993cd5936427ee0b046558329ab4179ceb508345ad7a011cff792d661f",
"T2T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "75d5dd7892b5afd49939a04467c02ecc9cd258f8c81d64ff3d205ed8064d1440",
+"T2T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "b41e062c409ab07e1bbf704410aaa8a7eeebcdc82bee83255b732df3b1cef3ac",
"T2T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "a8928f40da129f51ca2499505956e4101b95ecbb3d5f9c20223101279714501f",
"T2T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "250a09e95caa9d3f812f3fde24206f61ab663d622064b815b266b6058a39d415",
"T2T1_cs_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "32d380b2c0942f8a2ab6a32e0e4c8a2ad2ab6750ee39c6fa4d4f0bacf59a4b7c",
@@ -3778,12 +3780,14 @@
"T2T1_de_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "a3edf3ced8fa1fa6b9f67f869a28bc880ce5e214b0adfaf839cd867875845912",
"T2T1_de_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "04c1c0d050c085f405c269aa4006e2dffd86ff183af23e11e09c5e3fa7896a11",
"T2T1_de_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "04c1c0d050c085f405c269aa4006e2dffd86ff183af23e11e09c5e3fa7896a11",
+"T2T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "d9d08ecc4bf8d387c1bf6c3bcb73824bd620dd54160ef9c9df56df1d3da299ab",
"T2T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "a3edf3ced8fa1fa6b9f67f869a28bc880ce5e214b0adfaf839cd867875845912",
"T2T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "a3edf3ced8fa1fa6b9f67f869a28bc880ce5e214b0adfaf839cd867875845912",
"T2T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "a3edf3ced8fa1fa6b9f67f869a28bc880ce5e214b0adfaf839cd867875845912",
"T2T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "a3edf3ced8fa1fa6b9f67f869a28bc880ce5e214b0adfaf839cd867875845912",
"T2T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "7fd9ddbe1adc953fda8d2f2c78ffa815ad83cd6c1ccbc6cb050b3c81fe9c8337",
"T2T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "99c880b897311ac1a7cfcb8627fbeeef86f25bdb1459ff8e63d59e4b46384ed2",
+"T2T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "fbb1bb46e877077aa4a58624eabc31eb8eddddd614dad1f2c9ab82fc93a43ca1",
"T2T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "7d6e99d06449d3ad18279c063c59ec66699cfb4924c07723cbbf0490ce7fa3b2",
"T2T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "250a09e95caa9d3f812f3fde24206f61ab663d622064b815b266b6058a39d415",
"T2T1_de_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "a3edf3ced8fa1fa6b9f67f869a28bc880ce5e214b0adfaf839cd867875845912",
@@ -5321,12 +5325,14 @@
"T2T1_en_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "8b1ccc0dbd6e6e3d02a896650ab90dd332ba4edbbcc4095e0fbb6a96e5256f75",
"T2T1_en_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "6dc1a89b1e94a9219d423b98c640ddb9c87fef445c61011489ba8e109ff8e8a8",
"T2T1_en_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "6dc1a89b1e94a9219d423b98c640ddb9c87fef445c61011489ba8e109ff8e8a8",
+"T2T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "378d6f7abc5c5f0bfe3b44726a1a11256b539c93d250e68ec71587601de3362d",
"T2T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "8b1ccc0dbd6e6e3d02a896650ab90dd332ba4edbbcc4095e0fbb6a96e5256f75",
"T2T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "8b1ccc0dbd6e6e3d02a896650ab90dd332ba4edbbcc4095e0fbb6a96e5256f75",
"T2T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "8b1ccc0dbd6e6e3d02a896650ab90dd332ba4edbbcc4095e0fbb6a96e5256f75",
"T2T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "8b1ccc0dbd6e6e3d02a896650ab90dd332ba4edbbcc4095e0fbb6a96e5256f75",
"T2T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "4a1b41c295cffd98249131b39aeddfd433c4489b0eee9f52d97b82a07a57d1b5",
"T2T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "4eccee18fdf74bd7d276a261245265609fa335a43faf1b2f0d6e5b24caceb246",
+"T2T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "068b76a6436dd51195b719f513e17421c7c41e0bdf9ea10b9f81305ea927cef3",
"T2T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "3bbd02a798ffbd266a70a50a7d9932d239be256bc78088da71279ded9c567e7e",
"T2T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "250a09e95caa9d3f812f3fde24206f61ab663d622064b815b266b6058a39d415",
"T2T1_en_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "8b1ccc0dbd6e6e3d02a896650ab90dd332ba4edbbcc4095e0fbb6a96e5256f75",
@@ -6882,12 +6888,14 @@
"T2T1_es_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "1775658fa541fff7933453c1d346449c492079a39341e07135ac9e7662b3bbd3",
"T2T1_es_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "d62fd109c1824509a9c1f957b2cc1e27f5536db201f42910404e376dbb5ea52a",
"T2T1_es_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "d62fd109c1824509a9c1f957b2cc1e27f5536db201f42910404e376dbb5ea52a",
+"T2T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "a59740995dfa9ccdf37c10ba4917d4b255dc9d364164e3929320eb01b1609f7d",
"T2T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "1775658fa541fff7933453c1d346449c492079a39341e07135ac9e7662b3bbd3",
"T2T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "1775658fa541fff7933453c1d346449c492079a39341e07135ac9e7662b3bbd3",
"T2T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "1775658fa541fff7933453c1d346449c492079a39341e07135ac9e7662b3bbd3",
"T2T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "1775658fa541fff7933453c1d346449c492079a39341e07135ac9e7662b3bbd3",
"T2T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "d845d3d68c892af93c38f34610736648d409af15e3f0b07a7997e88b8290ab32",
"T2T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "0a14cc86c5d3aa35e0d087d279a15b0dd15b356a797bff765a670210118e69e0",
+"T2T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "ce9fb4365a354d655b4512d0acc849c4dfa91c8e22885c6abcba685375034786",
"T2T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "ebce2165bd958a7246046b971d2e26d4f070452d2ce489bc9934016e0ac7065c",
"T2T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "250a09e95caa9d3f812f3fde24206f61ab663d622064b815b266b6058a39d415",
"T2T1_es_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "1775658fa541fff7933453c1d346449c492079a39341e07135ac9e7662b3bbd3",
@@ -8425,12 +8433,14 @@
"T2T1_fr_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "94d3ba1cba15b836e6ebc48ab307aeea71275ef2d9849aaabc8e883df555ce3f",
"T2T1_fr_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "441010d8cb14fa2db49691fb147f23e2149fe4f2d0a00d8a0ada16a0876aad30",
"T2T1_fr_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "441010d8cb14fa2db49691fb147f23e2149fe4f2d0a00d8a0ada16a0876aad30",
+"T2T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "66c997b27912bb251178dd6c5b23cf31d02f8c4803eed876c6572324efd8c376",
"T2T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "94d3ba1cba15b836e6ebc48ab307aeea71275ef2d9849aaabc8e883df555ce3f",
"T2T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "94d3ba1cba15b836e6ebc48ab307aeea71275ef2d9849aaabc8e883df555ce3f",
"T2T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "94d3ba1cba15b836e6ebc48ab307aeea71275ef2d9849aaabc8e883df555ce3f",
"T2T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "94d3ba1cba15b836e6ebc48ab307aeea71275ef2d9849aaabc8e883df555ce3f",
"T2T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "252ce5e73e85be68679b9e8b21f8b8b853317849b8375fe1fafdb7966ae51fa1",
"T2T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "eeb3b270e58187392e7de61f8245a23ab08fdf4cd0ef48ee82a87becaf361b23",
+"T2T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "b5307ef47f268893841f308f4db3d8a4fc4f5099d2deaa513dc0a39ff44d007c",
"T2T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "989a0ed7904bd1ce4f3441506fd15c7b9d4f97a851ecf68bebd36d16d0e16bce",
"T2T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "250a09e95caa9d3f812f3fde24206f61ab663d622064b815b266b6058a39d415",
"T2T1_fr_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "94d3ba1cba15b836e6ebc48ab307aeea71275ef2d9849aaabc8e883df555ce3f",
@@ -9968,12 +9978,14 @@
"T2T1_pt_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "e9e80e1bfd347b598699a7a84deb8932eff90fc5fb8b56771453e06fe3c4c216",
"T2T1_pt_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "741819d9fe118ada84ac447f6fe0e15f744e1a32391e7e467deff511d184f5a5",
"T2T1_pt_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "741819d9fe118ada84ac447f6fe0e15f744e1a32391e7e467deff511d184f5a5",
+"T2T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "e677daf4caabf415733adc981d340f4b497b9a3102e49ac8a2432a9d375224a6",
"T2T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "e9e80e1bfd347b598699a7a84deb8932eff90fc5fb8b56771453e06fe3c4c216",
"T2T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "e9e80e1bfd347b598699a7a84deb8932eff90fc5fb8b56771453e06fe3c4c216",
"T2T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "e9e80e1bfd347b598699a7a84deb8932eff90fc5fb8b56771453e06fe3c4c216",
"T2T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "e9e80e1bfd347b598699a7a84deb8932eff90fc5fb8b56771453e06fe3c4c216",
"T2T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "5a485c98e00aaac5b29434dc6493788cda945c8a1cc231b5f56ca84983ed2a78",
"T2T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "112ab0acffb1cf9ff581a1db045573a03200d4e1aeeb78b0ef5093bf2de7b9b7",
+"T2T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "0104fb92a66a21ec2e5e9e228a0868ba77bd1b5c4e31a3d51e8702ac92fc1ed0",
"T2T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "418ac12bf849b0fd39b7fe3e0d4780ebdc28680bf0aabbbada329501f62c5e93",
"T2T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "250a09e95caa9d3f812f3fde24206f61ab663d622064b815b266b6058a39d415",
"T2T1_pt_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "e9e80e1bfd347b598699a7a84deb8932eff90fc5fb8b56771453e06fe3c4c216",
@@ -11737,12 +11749,14 @@
"T3B1_cs_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "92840d4624bb07440bb1ab5cb4b57251c9950388accbc8334a9a7d609ededb01",
"T3B1_cs_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "7482a5dedf39247bacfac0f2b5b616cd9b6ca13a3c79affe58dc0d7234e4e8b7",
"T3B1_cs_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "7482a5dedf39247bacfac0f2b5b616cd9b6ca13a3c79affe58dc0d7234e4e8b7",
+"T3B1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "6046aac4c49ce417c7571a0d3ba5eef3a74ae31aafbb15b13e132b073e957eb5",
"T3B1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "92840d4624bb07440bb1ab5cb4b57251c9950388accbc8334a9a7d609ededb01",
"T3B1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "92840d4624bb07440bb1ab5cb4b57251c9950388accbc8334a9a7d609ededb01",
"T3B1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "92840d4624bb07440bb1ab5cb4b57251c9950388accbc8334a9a7d609ededb01",
"T3B1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "92840d4624bb07440bb1ab5cb4b57251c9950388accbc8334a9a7d609ededb01",
"T3B1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "02321bac38d5bb921bcfedf38ce3cc0c932748cbd89e617ba535cacdfc4ef488",
"T3B1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "cbc6aac66462a6782886bcf05e7a690e84beb6b9a0ac27fb04108dd01dc80438",
+"T3B1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "9f76d6f38e98c3bfbcf74f074e280c99fbaf95e44b38e10b996a3ba9a89aeceb",
"T3B1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "1c7d466855c183603cff156ec60ecd44adc4ac8c6555a029d81881ae010c4477",
"T3B1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "d44c35f39411ccf9edbfbe892c02c93782d0a604454eef761edd2bcfa3fa10ff",
"T3B1_cs_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "92840d4624bb07440bb1ab5cb4b57251c9950388accbc8334a9a7d609ededb01",
@@ -13197,12 +13211,14 @@
"T3B1_de_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "c92ee4e050daadcfc7cc95657b00deed76bb463d486eefcc66455bdbe60faa33",
"T3B1_de_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "a7dd0931fcb76617db1d45331f78b61449d77a7ee4efd3db518f5cbe1ecae485",
"T3B1_de_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "a7dd0931fcb76617db1d45331f78b61449d77a7ee4efd3db518f5cbe1ecae485",
+"T3B1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "c3131bf4053fd7c273bce72ccd27b99adfcf8f507c8ffe1464c30983fe41e2f1",
"T3B1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "c92ee4e050daadcfc7cc95657b00deed76bb463d486eefcc66455bdbe60faa33",
"T3B1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "c92ee4e050daadcfc7cc95657b00deed76bb463d486eefcc66455bdbe60faa33",
"T3B1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "c92ee4e050daadcfc7cc95657b00deed76bb463d486eefcc66455bdbe60faa33",
"T3B1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "c92ee4e050daadcfc7cc95657b00deed76bb463d486eefcc66455bdbe60faa33",
"T3B1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "77757aabf417061ef2b0454593d6d8a0a548f61253b2896c6bac8502358f4b71",
"T3B1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "421dae03375bf0b5b93c0538daeb264d3f63a89a5d097f37e264945bfc75b668",
+"T3B1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "6fa1a92dbf230cbe4d9e9c989f14202b9c94ae7b3c2dec968c96601c5f7f7ef8",
"T3B1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "294ede4b3816ff3b3db38d4b29ef2e1680ba502b001f03560382de3b5742d787",
"T3B1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "d44c35f39411ccf9edbfbe892c02c93782d0a604454eef761edd2bcfa3fa10ff",
"T3B1_de_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "c92ee4e050daadcfc7cc95657b00deed76bb463d486eefcc66455bdbe60faa33",
@@ -14657,12 +14673,14 @@
"T3B1_en_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "1477d62e338f4d7c1bfac2fc5d2fc231218da5768666c11482dc1f83229506f3",
"T3B1_en_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "fa9da706eda9b4537932076ad2dd93397f8dd0a57051a058b9caff674e7598c6",
"T3B1_en_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "fa9da706eda9b4537932076ad2dd93397f8dd0a57051a058b9caff674e7598c6",
+"T3B1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "dbaf3be9fe785a125923d21caca7882e006318e45d2ac9a95f85bacbc72724d3",
"T3B1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "1477d62e338f4d7c1bfac2fc5d2fc231218da5768666c11482dc1f83229506f3",
"T3B1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "1477d62e338f4d7c1bfac2fc5d2fc231218da5768666c11482dc1f83229506f3",
"T3B1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "1477d62e338f4d7c1bfac2fc5d2fc231218da5768666c11482dc1f83229506f3",
"T3B1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "1477d62e338f4d7c1bfac2fc5d2fc231218da5768666c11482dc1f83229506f3",
"T3B1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "7e251ef1e82e40cdccb63501591207acaa9d1da3235bde1e713fb316cc4976b3",
"T3B1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "18ead74b4428444d1715a134d517369bff093eb9cc00d851e4e3c1bfbd679a76",
+"T3B1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "0484e92a23a5dcbe9b46d0ce7b582a809317177f6ad3d96788b680081d130026",
"T3B1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "4610153ff7784170182e8c070632db60552a5d22070611d57b61a02b20cb1809",
"T3B1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "d44c35f39411ccf9edbfbe892c02c93782d0a604454eef761edd2bcfa3fa10ff",
"T3B1_en_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "1477d62e338f4d7c1bfac2fc5d2fc231218da5768666c11482dc1f83229506f3",
@@ -16117,12 +16135,14 @@
"T3B1_es_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "211e7c3419bd48ceefc570971fc522f809b39614563be948fd1e545366506dee",
"T3B1_es_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "88d98183b25f7b438debc4b17e395fffc7ef0ab7a0f2fc0c5f4a7b9f99a290f5",
"T3B1_es_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "88d98183b25f7b438debc4b17e395fffc7ef0ab7a0f2fc0c5f4a7b9f99a290f5",
+"T3B1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "644efbec91f6e4adb4b1a477d3a6e0d3cb6e943bb14ed97fd00513bec0df0b32",
"T3B1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "211e7c3419bd48ceefc570971fc522f809b39614563be948fd1e545366506dee",
"T3B1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "211e7c3419bd48ceefc570971fc522f809b39614563be948fd1e545366506dee",
"T3B1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "211e7c3419bd48ceefc570971fc522f809b39614563be948fd1e545366506dee",
"T3B1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "211e7c3419bd48ceefc570971fc522f809b39614563be948fd1e545366506dee",
"T3B1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "ae4812db752996f64dadf62ef2271795570ba13478f6aeb51423957ead652cb3",
"T3B1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "27123b46af6ebdbec534ba9a6437cb7f0f0e85cfdb20fdf2422c3a3507a826ad",
+"T3B1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "22c3fb9caf9ebfdb53ecac9edd21ed474cab77d283cec6ab195ffd66c5ef1de6",
"T3B1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "d4ceb0f83db3f29266cdd3fee2c8391aab8a06478519e83532a7b49bad67211a",
"T3B1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "d44c35f39411ccf9edbfbe892c02c93782d0a604454eef761edd2bcfa3fa10ff",
"T3B1_es_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "211e7c3419bd48ceefc570971fc522f809b39614563be948fd1e545366506dee",
@@ -17577,12 +17597,14 @@
"T3B1_fr_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "35c9c9529c59ca5c386ac05856f7452f26cde732203b5b61ec9321230b52df89",
"T3B1_fr_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "7dac371bbe4091482ea1f2ec228ea0e1e3121ef8bf271d17498d8b4704cce68e",
"T3B1_fr_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "7dac371bbe4091482ea1f2ec228ea0e1e3121ef8bf271d17498d8b4704cce68e",
+"T3B1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "ea42afb4d177e21ab33d48dd125fed70668830ac2f29c6fdeb069007582d72ad",
"T3B1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "35c9c9529c59ca5c386ac05856f7452f26cde732203b5b61ec9321230b52df89",
"T3B1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "35c9c9529c59ca5c386ac05856f7452f26cde732203b5b61ec9321230b52df89",
"T3B1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "35c9c9529c59ca5c386ac05856f7452f26cde732203b5b61ec9321230b52df89",
"T3B1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "35c9c9529c59ca5c386ac05856f7452f26cde732203b5b61ec9321230b52df89",
"T3B1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "99dfa894ce0064b38acb252b28c09567b41cc40bd2bd0f0b10f5c1f227c4abb6",
"T3B1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "941c6e199faa8beaa4f4f407a470c48727fbeb1f16d668b5e97ddeb4f47698a0",
+"T3B1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "0c798d1110a4755b5fa69003a987020ad9f83609bb3d471c81d8323c94f635d0",
"T3B1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "14f6c0a95a3dcb04be38d80927595a5ce77b857ce4db156cb803712862f9741f",
"T3B1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "d44c35f39411ccf9edbfbe892c02c93782d0a604454eef761edd2bcfa3fa10ff",
"T3B1_fr_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "35c9c9529c59ca5c386ac05856f7452f26cde732203b5b61ec9321230b52df89",
@@ -19037,12 +19059,14 @@
"T3B1_pt_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "6ba5ca7223cd8ad675e081407f186acdfc8420304eea96de0fde5eda45ef0a57",
"T3B1_pt_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "5f139527d77b519dc504d9a61302a9907e310a7ee78747888d577a00908521ee",
"T3B1_pt_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "5f139527d77b519dc504d9a61302a9907e310a7ee78747888d577a00908521ee",
+"T3B1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "3d5f9143ee5e18457ef91215a72bc6b96345a2cfe9aa077a34122f33f812ac6e",
"T3B1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "6ba5ca7223cd8ad675e081407f186acdfc8420304eea96de0fde5eda45ef0a57",
"T3B1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "6ba5ca7223cd8ad675e081407f186acdfc8420304eea96de0fde5eda45ef0a57",
"T3B1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "6ba5ca7223cd8ad675e081407f186acdfc8420304eea96de0fde5eda45ef0a57",
"T3B1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "6ba5ca7223cd8ad675e081407f186acdfc8420304eea96de0fde5eda45ef0a57",
"T3B1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "8f2a37adf4f6303cd70573a3bb6ed97f4a0b06ed83fc068473e7a293a5f7255e",
"T3B1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "e7213dcf026ea3bc3bc92fce56980747ed5f18b68c075d1418223128f627cc0e",
+"T3B1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "d64cf222c5aa1f13159b5721726717a88d2c97c677b3df24ab973589e024aa13",
"T3B1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "0acc0a0d1c566f2f4a7c5d5ae83ce21b5d75428d9ce03e73f4e7146bc648343c",
"T3B1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "d44c35f39411ccf9edbfbe892c02c93782d0a604454eef761edd2bcfa3fa10ff",
"T3B1_pt_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "6ba5ca7223cd8ad675e081407f186acdfc8420304eea96de0fde5eda45ef0a57",
@@ -20883,12 +20907,14 @@
"T3T1_cs_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "592adf9c06f8f39132298b46037dd524fac99e58237a0c023197bf47df67d632",
"T3T1_cs_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "fc78081690729e382621a6de0afd9942d5732a0331b810142ed8eb0230d59665",
"T3T1_cs_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "fc78081690729e382621a6de0afd9942d5732a0331b810142ed8eb0230d59665",
+"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "871c172199d24bb605a65e2b9e0740a4dcef091023d1ddd1064192929f7b0dbe",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "592adf9c06f8f39132298b46037dd524fac99e58237a0c023197bf47df67d632",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "592adf9c06f8f39132298b46037dd524fac99e58237a0c023197bf47df67d632",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "592adf9c06f8f39132298b46037dd524fac99e58237a0c023197bf47df67d632",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "592adf9c06f8f39132298b46037dd524fac99e58237a0c023197bf47df67d632",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "d1b46aade142251935400a40e4d73290855caf68b891d8089ce46ce918fe8f12",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "3bed30f2490a0e80ecdd9d8d4be28e2ef2bbb8f2fe9895b13af939fd6a527362",
+"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "950aa0290a417326d1056d9434fe31c7e3e938fbc6ac988ba2e5230dd5bb4452",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "8ddef24843205b1ed9b66e2ded50f74e72eb0f835732d9abbb0404302ae36115",
"T3T1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "e25e5cec5f2387fb6cf16b10ee3575de5c5f870c0d6b9bf96938c1df6b2f43a6",
"T3T1_cs_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "592adf9c06f8f39132298b46037dd524fac99e58237a0c023197bf47df67d632",
@@ -22374,12 +22400,14 @@
"T3T1_de_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "f2fcbbd7ad83aff9adc0ee97fe98e7272d8bcfcc4a023798e2ab1c9895fda70f",
"T3T1_de_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "fca22ecd00b2efc4bd6ebf309e7c862127a2c0c11cd24b9df6f6b4ec2146bfde",
"T3T1_de_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "fca22ecd00b2efc4bd6ebf309e7c862127a2c0c11cd24b9df6f6b4ec2146bfde",
+"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "ceff9ab3960e3340b94e85d9b6346254b028609dae7b5fe53bbd351d6c474217",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "f2fcbbd7ad83aff9adc0ee97fe98e7272d8bcfcc4a023798e2ab1c9895fda70f",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "f2fcbbd7ad83aff9adc0ee97fe98e7272d8bcfcc4a023798e2ab1c9895fda70f",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "f2fcbbd7ad83aff9adc0ee97fe98e7272d8bcfcc4a023798e2ab1c9895fda70f",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "f2fcbbd7ad83aff9adc0ee97fe98e7272d8bcfcc4a023798e2ab1c9895fda70f",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "0ca97e5e28d53d9ec0a54977512c520f1a2caf3266502786375c2542d78b98d2",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "81582afc3c5ea1f8c455faed5d1fe0a561632787009af9bc0fdcb01f42dd8d53",
+"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "905c08a2668fcaebd94ed0ef8e6974842203de9f1aa6079ef11da52f9c32eb62",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "fdab4b5af1f1416f9c4c945cce9a6a4ba41baca7d173d795b7dee342cbfdc56a",
"T3T1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "342d6b75c0ed9be41e7a2550cbddd60d884b3514b21722ed781d362fecd56761",
"T3T1_de_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "f2fcbbd7ad83aff9adc0ee97fe98e7272d8bcfcc4a023798e2ab1c9895fda70f",
@@ -23865,12 +23893,14 @@
"T3T1_en_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "cb8641952bec9e793e7d19f281a85a0ca1be2c3397ca5c0cf4ee7ad905429984",
"T3T1_en_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "50edc0b584efd3567d64b06bcc7602c07e43fd274566851ca0b0ffcf132007b3",
"T3T1_en_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "50edc0b584efd3567d64b06bcc7602c07e43fd274566851ca0b0ffcf132007b3",
+"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "affbf5f8968bf14186c9fb47064c9375908e02157ab1852dd58db0f4e17da51c",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "cb8641952bec9e793e7d19f281a85a0ca1be2c3397ca5c0cf4ee7ad905429984",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "cb8641952bec9e793e7d19f281a85a0ca1be2c3397ca5c0cf4ee7ad905429984",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "cb8641952bec9e793e7d19f281a85a0ca1be2c3397ca5c0cf4ee7ad905429984",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "cb8641952bec9e793e7d19f281a85a0ca1be2c3397ca5c0cf4ee7ad905429984",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "c21d500d2f393a231e5bb587051793a127e612e873e51b395d0945f59b58182e",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "cb44ff1d63ce29a91f708acce2ec23d3b966d2d8c099819ec241ef16da089126",
+"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "cd5be6b333b0b90d72462f83884e12743b2b88eb9ffa5578219bf4c741311d5a",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "a7187afda06eef5104fe2ed09dda605385883198da4241947ba120423f625325",
"T3T1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "77632c58bb06a5fee256dcadca4ccfa2b85758230ef60e0cadf2cadd8bb08dfc",
"T3T1_en_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "cb8641952bec9e793e7d19f281a85a0ca1be2c3397ca5c0cf4ee7ad905429984",
@@ -25356,12 +25386,14 @@
"T3T1_es_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "c568b82943d9f63ad6b29b7dee6f5ed9dca78fc9610d4fa7f12bb8a061a6882a",
"T3T1_es_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "98efe9b9ba449003026673353bedf0402e17a5b24686c91d39af73c336aa89af",
"T3T1_es_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "98efe9b9ba449003026673353bedf0402e17a5b24686c91d39af73c336aa89af",
+"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "801a6489f84dc14c58f7142c79332d83aff1e4fa4ba5de78414879ec3f15a95e",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "c568b82943d9f63ad6b29b7dee6f5ed9dca78fc9610d4fa7f12bb8a061a6882a",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "c568b82943d9f63ad6b29b7dee6f5ed9dca78fc9610d4fa7f12bb8a061a6882a",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "c568b82943d9f63ad6b29b7dee6f5ed9dca78fc9610d4fa7f12bb8a061a6882a",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "c568b82943d9f63ad6b29b7dee6f5ed9dca78fc9610d4fa7f12bb8a061a6882a",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "1a07c8c9a7c0bf7c679568d197f8680d071766912e4bb4965f4eb4835fe618f9",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "7342e48c66d5b587c1c70762e4081525f48574622a575bf3f322c23a3af4b509",
+"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "462475ac05aa7f5475dff48752b7726298cb551a22ba352861c1db866464905b",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "3ba91a6ddfea1ce6bd2be95b51df658767804f387d27c2204191d8ba38e5c803",
"T3T1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "4feaf422706aa1fa152dcd578feff8d0ae07206f90ecc9528f24b828f691b69c",
"T3T1_es_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "c568b82943d9f63ad6b29b7dee6f5ed9dca78fc9610d4fa7f12bb8a061a6882a",
@@ -26847,12 +26879,14 @@
"T3T1_fr_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "fdf4909aff89183fa79899fde974115e687a71e0cf09dea210e8aa60ba54c906",
"T3T1_fr_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "1c5bf26cb7ed13b3f0834c703ebb8c596cd4ffcffec26196a6e70203f633e9f1",
"T3T1_fr_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "1c5bf26cb7ed13b3f0834c703ebb8c596cd4ffcffec26196a6e70203f633e9f1",
+"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "b69403662f435c9e2f5dc6f895e4bed761323be5358065fb1139f3bc717b0ae2",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "fdf4909aff89183fa79899fde974115e687a71e0cf09dea210e8aa60ba54c906",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "fdf4909aff89183fa79899fde974115e687a71e0cf09dea210e8aa60ba54c906",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "fdf4909aff89183fa79899fde974115e687a71e0cf09dea210e8aa60ba54c906",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "fdf4909aff89183fa79899fde974115e687a71e0cf09dea210e8aa60ba54c906",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "9c74b5458f2c6ec0274e30419dac26dacd67d1c5a955b5ccc5274816be77bc48",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "6c518e99b64e50917fb1cf09660ac4bdcaa9fc12c02b39247bb64d5f63087a5b",
+"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "87eeccb9d594b1ccad0db294dd9b018d3957c263049ab2fd069f49366e78699b",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "581ab36aba66f3fa47a7d9f8a96e5d9d45b632b9304d3c14a4ffa7dfc20c98d3",
"T3T1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "404c9e25b7b26b4959e00cfdc55059839445028cb8f2dff6e521b912f30cf31e",
"T3T1_fr_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "fdf4909aff89183fa79899fde974115e687a71e0cf09dea210e8aa60ba54c906",
@@ -28338,12 +28372,14 @@
"T3T1_pt_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "c15216b8aa033bd81f0a8fb6415c6728320b0c30fe3150eeb8a1749ae0a1a83c",
"T3T1_pt_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "3467e23bb2df4378327c3624d5fb85fcb13b479ce0a1f51e78c49451088e2e37",
"T3T1_pt_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "3467e23bb2df4378327c3624d5fb85fcb13b479ce0a1f51e78c49451088e2e37",
+"T3T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "938e4a66464e26d364eef6d7ec6d412f4eef185dadf32c977cb8b20ef82091a5",
"T3T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "c15216b8aa033bd81f0a8fb6415c6728320b0c30fe3150eeb8a1749ae0a1a83c",
"T3T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "c15216b8aa033bd81f0a8fb6415c6728320b0c30fe3150eeb8a1749ae0a1a83c",
"T3T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "c15216b8aa033bd81f0a8fb6415c6728320b0c30fe3150eeb8a1749ae0a1a83c",
"T3T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "c15216b8aa033bd81f0a8fb6415c6728320b0c30fe3150eeb8a1749ae0a1a83c",
"T3T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "37f4f0676146425c1bb3540c68712b6340247494789c410ded5b3c546d86e1c5",
"T3T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "90ef3fc940e95a50ee28dcabc6075275dfd9dad4d225cee174e56779f079beed",
+"T3T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "658d92205b0d1d82441f9f9231b8eec4402eec487ad292bee6d53b2b5b23fa0f",
"T3T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "02024955373adecd21490b6ecb8006f160e4211bb3a203d4159ae159b15bcf15",
"T3T1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "5d5db736062b1709d736ee5275e44df98e1fb6e9795c5b88ce362b7f05ff2d8e",
"T3T1_pt_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "c15216b8aa033bd81f0a8fb6415c6728320b0c30fe3150eeb8a1749ae0a1a83c",
@@ -30205,12 +30241,14 @@
"T3W1_cs_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "c24521e569c08e3605b164212c876f8ac57c5eef6cca6f2ca53a635a883ebc4b",
"T3W1_cs_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "7aa778f15c53b70bbc33c8719c7cfce902daf1ded9faadb3f25fa769c6dd4bd4",
"T3W1_cs_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "7aa778f15c53b70bbc33c8719c7cfce902daf1ded9faadb3f25fa769c6dd4bd4",
+"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "13c0e7145d4e402b32f8b11c87e885beb26da0604eb0b022bce3b43f3bf5e23e",
"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "c24521e569c08e3605b164212c876f8ac57c5eef6cca6f2ca53a635a883ebc4b",
"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "c24521e569c08e3605b164212c876f8ac57c5eef6cca6f2ca53a635a883ebc4b",
"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "c24521e569c08e3605b164212c876f8ac57c5eef6cca6f2ca53a635a883ebc4b",
"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "c24521e569c08e3605b164212c876f8ac57c5eef6cca6f2ca53a635a883ebc4b",
"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "a8a94b7ce2cfcc5eb5de7b77a0b49c9d251e7dbd73fb05f4e360a238790a9fec",
"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "749704d8f9413db97a993abaae4324fe0c81c24d4f59b8c3afe82003b7b2d97b",
+"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "d19e7595c0cf0e67ba02f980571b6a2ac492b16326eac379415774139a24d30b",
"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "fdabc3b81f8c210805a1909aaa297a85ddcc30880ac6d9ee4112cbd5a0aff59d",
"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "987d1c62e6576b9cc24373e00df522efdc9736af978d6032f7d319af8daaef5d",
"T3W1_cs_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "c24521e569c08e3605b164212c876f8ac57c5eef6cca6f2ca53a635a883ebc4b",
@@ -31691,12 +31729,14 @@
"T3W1_de_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "98735f888f827501b25c78c6a737c1983a800c620f709c65b1d95f6c8c9a2b90",
"T3W1_de_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "e014e394ca386bfa970e8f831b7c93da9f29ae38f66596709e5fe8c7ecb0ba40",
"T3W1_de_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "e014e394ca386bfa970e8f831b7c93da9f29ae38f66596709e5fe8c7ecb0ba40",
+"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "c94696a52bb66f5a1c5ec8694749b6c5798319df1807a59fd939d67007e97a1a",
"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "98735f888f827501b25c78c6a737c1983a800c620f709c65b1d95f6c8c9a2b90",
"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "98735f888f827501b25c78c6a737c1983a800c620f709c65b1d95f6c8c9a2b90",
"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "98735f888f827501b25c78c6a737c1983a800c620f709c65b1d95f6c8c9a2b90",
"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "98735f888f827501b25c78c6a737c1983a800c620f709c65b1d95f6c8c9a2b90",
"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "b7714b27ad76e69ef806455e8de839ee3873ceec8e79d4060606159145ef0b9d",
"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "d11e21fd85f9e66eb748559a580aae970422e93c42c1dc8cb55c93993df91211",
+"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "32f7ece1a421303cf214be5af0d36255a4ae85750129df37a4862c1e540b00e5",
"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "5cb27895ae1a3824457eba3376ddbe43db103688f058b03fdba876cfc440cbd6",
"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "987d1c62e6576b9cc24373e00df522efdc9736af978d6032f7d319af8daaef5d",
"T3W1_de_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "98735f888f827501b25c78c6a737c1983a800c620f709c65b1d95f6c8c9a2b90",
@@ -33177,12 +33217,14 @@
"T3W1_en_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "931d9afceb0ba1e4faae891775819277242d889644d5c0c5863fc8c9fcf859b1",
"T3W1_en_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "863033f722e7e9e6ea9ce1650c4f814bdf75dfc7dd7999a9093fe2f69f838b02",
"T3W1_en_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "863033f722e7e9e6ea9ce1650c4f814bdf75dfc7dd7999a9093fe2f69f838b02",
+"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "fb3120f1899ceab19654335ed391516b9030737762120bae07161f497deefcb0",
"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "931d9afceb0ba1e4faae891775819277242d889644d5c0c5863fc8c9fcf859b1",
"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "931d9afceb0ba1e4faae891775819277242d889644d5c0c5863fc8c9fcf859b1",
"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "931d9afceb0ba1e4faae891775819277242d889644d5c0c5863fc8c9fcf859b1",
"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "931d9afceb0ba1e4faae891775819277242d889644d5c0c5863fc8c9fcf859b1",
"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "0f2f3ef9c9b177f5934f04d0b32a2b2a89a47172bf24a125a6069066f04541f3",
"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "56c09c0b01e46b0c3789ec64655715fc15a149ade039489f35dc10133ce0e2d2",
+"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "395556180048c5471d78770521fc625d75062b1774b3a64f0e0bb758faae556a",
"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "4cb7de61158616b114e72d31365cce7b6f07bf395fa9091ac8a7f4cb91f6101c",
"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "987d1c62e6576b9cc24373e00df522efdc9736af978d6032f7d319af8daaef5d",
"T3W1_en_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "931d9afceb0ba1e4faae891775819277242d889644d5c0c5863fc8c9fcf859b1",
@@ -34663,12 +34705,14 @@
"T3W1_es_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "56536ae9cd7c4ff8022def4ec3350031d3614064d961f53a2850f2be425af201",
"T3W1_es_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "38f3dc2dd7da86b11c573d79b9bf082fbc6c95f2f6eae63777c4b12eec73c9b7",
"T3W1_es_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "38f3dc2dd7da86b11c573d79b9bf082fbc6c95f2f6eae63777c4b12eec73c9b7",
+"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "3bfddf8b7921ff08a6a9f36a1ef82bca928dca2948d71ca6506cca0aaf0d5455",
"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "56536ae9cd7c4ff8022def4ec3350031d3614064d961f53a2850f2be425af201",
"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "56536ae9cd7c4ff8022def4ec3350031d3614064d961f53a2850f2be425af201",
"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "56536ae9cd7c4ff8022def4ec3350031d3614064d961f53a2850f2be425af201",
"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "56536ae9cd7c4ff8022def4ec3350031d3614064d961f53a2850f2be425af201",
"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "67082af1f2a4001c12a1373d0c4753848b69927d9545dc8ac2fa61c282f1c32d",
"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "a1c60218043bdbdb51a8c396cdd23a96a6b76367a4efae3da01270a00cb4b6c5",
+"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "b793498c5928d31ce35348ef10b92121136c03de9ad435c906ee8091b79aa553",
"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "f2746e89de63971a706258c2c46987bd4222e1ac9c06797b7ef62baf20237f94",
"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "987d1c62e6576b9cc24373e00df522efdc9736af978d6032f7d319af8daaef5d",
"T3W1_es_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "56536ae9cd7c4ff8022def4ec3350031d3614064d961f53a2850f2be425af201",
@@ -36149,12 +36193,14 @@
"T3W1_fr_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "e8156cf4eda1d29060f05b4a18d50032b0b344230609b7de7cababfe0a86b20b",
"T3W1_fr_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "7ecddb27e7cafcf91df1506f1cd9eb98d4e544f442068c0308e9f6b3ccf6aece",
"T3W1_fr_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "7ecddb27e7cafcf91df1506f1cd9eb98d4e544f442068c0308e9f6b3ccf6aece",
+"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "127e600409c0d92ab7ca95ae516b91d97b34aa4d1b8c38271d70b17810188cdc",
"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "e8156cf4eda1d29060f05b4a18d50032b0b344230609b7de7cababfe0a86b20b",
"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "e8156cf4eda1d29060f05b4a18d50032b0b344230609b7de7cababfe0a86b20b",
"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "e8156cf4eda1d29060f05b4a18d50032b0b344230609b7de7cababfe0a86b20b",
"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "e8156cf4eda1d29060f05b4a18d50032b0b344230609b7de7cababfe0a86b20b",
"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "4c8c6a9d951948b12ea9e83e77c80d653b38098cbc1cda73bdcf2a8ec30c286b",
"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "5f610a234a8f1ff57b693997e9a6a6506af9a1498a48153deff91040c113afa8",
+"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "3ca3d8dcf5e57671e92ae1dca97e7766dfbd9e3ffaf9343731d4f06580235fc9",
"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "9c4200c26864bf3f3563cbafdeb3e1261c3552c84b3e09ef6ed2df0d1b508e4b",
"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "987d1c62e6576b9cc24373e00df522efdc9736af978d6032f7d319af8daaef5d",
"T3W1_fr_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "e8156cf4eda1d29060f05b4a18d50032b0b344230609b7de7cababfe0a86b20b",
@@ -37635,12 +37681,14 @@
"T3W1_pt_nostr-test_nostr.py::test_get_pubkey[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-2f9dab71": "1c74667c078e25e7e0d37c7b2aa35f7c8ab02cd88e74695ecb355c82a293b0cc",
"T3W1_pt_nostr-test_nostr.py::test_sign_event[17162c921dc4d2518f9a101db33695df1afb56ab82f5ff3e5da6ee-a0b5aef8": "0bf4a690f0559cf19eff9f85aa9f83c794ed3e4b15e4409c296845dd67c86090",
"T3W1_pt_nostr-test_nostr.py::test_sign_event[d41b22899549e1f3d335a31002cfd382174006e166d3e658e3a5ee-ac7a829e": "0bf4a690f0559cf19eff9f85aa9f83c794ed3e4b15e4409c296845dd67c86090",
+"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_backup_needed_fails": "ebf419d5203b62a9a6cb6874dfebce5b4ee78d089b5aa4a40fccf8bfb11c6fc9",
"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "1c74667c078e25e7e0d37c7b2aa35f7c8ab02cd88e74695ecb355c82a293b0cc",
"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "1c74667c078e25e7e0d37c7b2aa35f7c8ab02cd88e74695ecb355c82a293b0cc",
"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "1c74667c078e25e7e0d37c7b2aa35f7c8ab02cd88e74695ecb355c82a293b0cc",
"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "1c74667c078e25e7e0d37c7b2aa35f7c8ab02cd88e74695ecb355c82a293b0cc",
"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "406c580fddbaa8b3df43d741c1daeb93c05857b6ae06952cb7d0d0ac7cac3c7f",
"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "1f56255daf149dc2cece98346fe8d5c849bc02c9c7bcd6a3c67b56260fe4d5b7",
+"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_no_backup_fails": "3ed92e9990189e2e2ca4614e55e9abee6f5373778f3501a53cd4074f3d07d02b",
"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "250da90ee6ec40ea44a8004b25fa02c2a034c2443bbf1b74552dd71fbc5ad2f6",
"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "987d1c62e6576b9cc24373e00df522efdc9736af978d6032f7d319af8daaef5d",
"T3W1_pt_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "1c74667c078e25e7e0d37c7b2aa35f7c8ab02cd88e74695ecb355c82a293b0cc",
Why this scored 41/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.