diff --git a/core/embed/rust/librust_qstr.h b/core/embed/rust/librust_qstr.h index bd7a90819..8028ace57 100644 --- a/core/embed/rust/librust_qstr.h +++ b/core/embed/rust/librust_qstr.h @@ -397,6 +397,7 @@ static void _librust_qstrs(void) { MP_QSTR_reset__check_share_title_template; MP_QSTR_reset__continue_with_next_share; MP_QSTR_reset__continue_with_share_template; + MP_QSTR_reset__create_x_of_y_shamir_backup_template; MP_QSTR_reset__finished_verifying_group_template; MP_QSTR_reset__finished_verifying_seed; MP_QSTR_reset__finished_verifying_shares; @@ -448,6 +449,7 @@ static void _librust_qstrs(void) { MP_QSTR_reset__title_set_number_of_groups; MP_QSTR_reset__title_set_number_of_shares; MP_QSTR_reset__title_set_threshold; + MP_QSTR_reset__title_shamir_backup; MP_QSTR_reset__to_form_group_template; MP_QSTR_reset__tos_link; MP_QSTR_reset__total_number_of_shares_in_group_template; diff --git a/core/embed/rust/src/translations/generated/translated_string.rs b/core/embed/rust/src/translations/generated/translated_string.rs index 337b403c7..33213a3cf 100644 --- a/core/embed/rust/src/translations/generated/translated_string.rs +++ b/core/embed/rust/src/translations/generated/translated_string.rs @@ -1237,6 +1237,8 @@ pub enum TranslatedString { storage_msg__starting = 842, // "STARTING UP" storage_msg__verifying_pin = 843, // "VERIFYING PIN" storage_msg__wrong_pin = 844, // "WRONG PIN" + reset__create_x_of_y_shamir_backup_template = 845, // "Do you want to create a {0} of {1} Shamir backup?" + reset__title_shamir_backup = 846, // "SHAMIR BACKUP" } impl TranslatedString { @@ -2469,6 +2471,8 @@ impl TranslatedString { Self::storage_msg__starting => "STARTING UP", Self::storage_msg__verifying_pin => "VERIFYING PIN", Self::storage_msg__wrong_pin => "WRONG PIN", + Self::reset__create_x_of_y_shamir_backup_template => "Do you want to create a {0} of {1} Shamir backup?", + Self::reset__title_shamir_backup => "SHAMIR BACKUP", } } @@ -3702,6 +3706,8 @@ impl TranslatedString { Qstr::MP_QSTR_storage_msg__starting => Some(Self::storage_msg__starting), Qstr::MP_QSTR_storage_msg__verifying_pin => Some(Self::storage_msg__verifying_pin), Qstr::MP_QSTR_storage_msg__wrong_pin => Some(Self::storage_msg__wrong_pin), + Qstr::MP_QSTR_reset__create_x_of_y_shamir_backup_template => Some(Self::reset__create_x_of_y_shamir_backup_template), + Qstr::MP_QSTR_reset__title_shamir_backup => Some(Self::reset__title_shamir_backup), _ => None, } } diff --git a/core/mocks/trezortranslate_keys.pyi b/core/mocks/trezortranslate_keys.pyi index 36769be70..1c04efa58 100644 --- a/core/mocks/trezortranslate_keys.pyi +++ b/core/mocks/trezortranslate_keys.pyi @@ -557,6 +557,7 @@ class TR: reset__check_share_title_template: str = "CHECK SHARE #{0}" reset__continue_with_next_share: str = "Continue with the next share." reset__continue_with_share_template: str = "Continue with share #{0}." + reset__create_x_of_y_shamir_backup_template: str = "Do you want to create a {0} of {1} Shamir backup?" reset__finished_verifying_group_template: str = "You have finished verifying your recovery shares for group {0}." reset__finished_verifying_seed: str = "You have finished verifying your recovery seed." reset__finished_verifying_shares: str = "You have finished verifying your recovery shares." @@ -608,6 +609,7 @@ class TR: reset__title_set_number_of_groups: str = "SET NUMBER OF GROUPS" reset__title_set_number_of_shares: str = "SET NUMBER OF SHARES" reset__title_set_threshold: str = "SET THRESHOLD" + reset__title_shamir_backup: str = "SHAMIR BACKUP" reset__to_form_group_template: str = "to form Group {0}." reset__tos_link: str = "trezor.io/tos" reset__total_number_of_shares_in_group_template: str = "Set the total number of shares in Group {0}." diff --git a/core/src/apps/management/reset_device/__init__.py b/core/src/apps/management/reset_device/__init__.py index 73953dfd5..212cc0de7 100644 --- a/core/src/apps/management/reset_device/__init__.py +++ b/core/src/apps/management/reset_device/__init__.py @@ -2,8 +2,10 @@ from typing import TYPE_CHECKING, Sequence import storage import storage.device as storage_device +from trezor import TR from trezor.crypto import slip39 from trezor.enums import BackupType +from trezor.ui.layouts import confirm_action from trezor.wire import ProcessError from . import layout @@ -165,7 +167,12 @@ async def _backup_slip39_custom( # for a single 1-of-1 group, we use the same layouts as for BIP39 await layout.show_and_confirm_mnemonic(mnemonics[0][0]) else: - # TODO: a confirmation screen will be shown: "do you want to create a -of- Shamir backup?" + await confirm_action( + "warning_shamir_backup", + TR.reset__title_shamir_backup, + description=TR.reset__create_x_of_y_shamir_backup_template.format(groups[0][0], groups[0][1]), + verb=TR.buttons__continue, + ) if len(groups) == 1: await layout.slip39_basic_show_and_confirm_shares(mnemonics[0]) else: diff --git a/core/translations/en.json b/core/translations/en.json index 7cbd5407f..c80561a7a 100644 --- a/core/translations/en.json +++ b/core/translations/en.json @@ -559,6 +559,7 @@ "reset__check_share_title_template": "CHECK SHARE #{0}", "reset__continue_with_next_share": "Continue with the next share.", "reset__continue_with_share_template": "Continue with share #{0}.", + "reset__create_x_of_y_shamir_backup_template": "Do you want to create a {0} of {1} Shamir backup?", "reset__finished_verifying_group_template": "You have finished verifying your recovery shares for group {0}.", "reset__finished_verifying_seed": "You have finished verifying your recovery seed.", "reset__finished_verifying_shares": "You have finished verifying your recovery shares.", @@ -610,6 +611,7 @@ "reset__title_set_number_of_groups": "SET NUMBER OF GROUPS", "reset__title_set_number_of_shares": "SET NUMBER OF SHARES", "reset__title_set_threshold": "SET THRESHOLD", + "reset__title_shamir_backup": "SHAMIR BACKUP", "reset__to_form_group_template": "to form Group {0}.", "reset__tos_link": "trezor.io/tos", "reset__total_number_of_shares_in_group_template": "Set the total number of shares in Group {0}.", diff --git a/core/translations/order.json b/core/translations/order.json index 379154902..51ad1d67a 100644 --- a/core/translations/order.json +++ b/core/translations/order.json @@ -843,5 +843,7 @@ "841": "ethereum__staking_unstake_intro", "842": "storage_msg__starting", "843": "storage_msg__verifying_pin", - "844": "storage_msg__wrong_pin" + "844": "storage_msg__wrong_pin", + "845": "reset__create_x_of_y_shamir_backup_template", + "846": "reset__title_shamir_backup" } diff --git a/core/translations/signatures.json b/core/translations/signatures.json index b53e8b66f..13b3fa203 100644 --- a/core/translations/signatures.json +++ b/core/translations/signatures.json @@ -1,8 +1,8 @@ { "current": { - "merkle_root": "83f62541670df59f347bfdf577f36c1ef504f769fd8a498c0f76aa78f9021cda", - "datetime": "2024-03-30T11:28:31.004037", - "commit": "1c36c0927c33fd05b4eff4b3a020940e33074b54" + "merkle_root": "fe1f2942f8723f3f65fe7972de93e1dcdd214cc14be8251c44b7047808c10e11", + "datetime": "2024-04-24T15:46:21.632186", + "commit": "c52db3a8deae36eb2becc96f4917ea7164656f76" }, "history": [ {