diff --git a/core/embed/rust/src/ui/layout_bolt/ui_firmware.rs b/core/embed/rust/src/ui/layout_bolt/ui_firmware.rs index de11a6c7c3..3199ad5276 100644 --- a/core/embed/rust/src/ui/layout_bolt/ui_firmware.rs +++ b/core/embed/rust/src/ui/layout_bolt/ui_firmware.rs @@ -26,7 +26,8 @@ use crate::{ util::{ConfirmValueParams, PropsList, RecoveryType}, }, ui_firmware::{ - FirmwareUI, MAX_CHECKLIST_ITEMS, MAX_GROUP_SHARE_LINES, MAX_WORD_QUIZ_ITEMS, + FirmwareUI, ERROR_NOT_IMPLEMENTED, MAX_CHECKLIST_ITEMS, MAX_GROUP_SHARE_LINES, + MAX_WORD_QUIZ_ITEMS, }, ModelUI, }, @@ -135,7 +136,7 @@ impl FirmwareUI for UIBolt { _hold: bool, _chunkify: bool, ) -> Result, Error> { - Err::, Error>(Error::ValueError(c"confirm_value_intro not implemented")) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn confirm_homescreen( @@ -574,18 +575,14 @@ impl FirmwareUI for UIBolt { _summary_br_name: Option>, _cancel_text: Option>, ) -> Result { - Err::, Error>(Error::ValueError( - c"flow_confirm_output not supported", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn flow_confirm_set_new_pin( _title: TString<'static>, _description: TString<'static>, ) -> Result { - Err::, Error>(Error::ValueError( - c"flow_confirm_set_new_pin not supported", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn flow_get_address( @@ -603,9 +600,7 @@ impl FirmwareUI for UIBolt { _br_code: u16, _br_name: TString<'static>, ) -> Result { - Err::, Error>(Error::ValueError( - c"flow_get_address not supported", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn multiple_pages_texts( @@ -613,15 +608,11 @@ impl FirmwareUI for UIBolt { _verb: TString<'static>, _items: Gc, ) -> Result { - Err::, Error>(Error::ValueError( - c"multiple_pages_texts not implemented", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn prompt_backup() -> Result { - Err::, Error>(Error::ValueError( - c"prompt_backup not implemented", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn request_bip39( @@ -817,7 +808,7 @@ impl FirmwareUI for UIBolt { _value: TString<'static>, _verb_cancel: Option>, ) -> Result { - Err::, Error>(Error::ValueError(c"show_danger not supported")) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn show_error( @@ -1039,7 +1030,7 @@ impl FirmwareUI for UIBolt { _text_footer: Option>, _text_confirm: TString<'static>, ) -> Result { - Err::, Error>(Error::ValueError(c"use show_share_words")) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn show_remaining_shares(pages_iterable: Obj) -> Result { @@ -1161,7 +1152,7 @@ impl FirmwareUI for UIBolt { } fn tutorial() -> Result { - Err::, Error>(Error::ValueError(c"tutorial not supported")) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } } diff --git a/core/embed/rust/src/ui/layout_caesar/ui_firmware.rs b/core/embed/rust/src/ui/layout_caesar/ui_firmware.rs index dc1677f389..f1b9adc75e 100644 --- a/core/embed/rust/src/ui/layout_caesar/ui_firmware.rs +++ b/core/embed/rust/src/ui/layout_caesar/ui_firmware.rs @@ -26,7 +26,8 @@ use crate::{ util::{ConfirmValueParams, RecoveryType}, }, ui_firmware::{ - FirmwareUI, MAX_CHECKLIST_ITEMS, MAX_GROUP_SHARE_LINES, MAX_WORD_QUIZ_ITEMS, + FirmwareUI, ERROR_NOT_IMPLEMENTED, MAX_CHECKLIST_ITEMS, MAX_GROUP_SHARE_LINES, + MAX_WORD_QUIZ_ITEMS, }, ModelUI, }, @@ -183,7 +184,7 @@ impl FirmwareUI for UICaesar { _hold: bool, _chunkify: bool, ) -> Result, Error> { - Err::, Error>(Error::ValueError(c"confirm_value_intro not implemented")) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn confirm_homescreen( @@ -222,9 +223,7 @@ impl FirmwareUI for UICaesar { _items: Obj, _verb: Option>, ) -> Result { - Err::, Error>(Error::ValueError( - c"confirm_emphasized not implemented", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn confirm_fido( @@ -704,18 +703,14 @@ impl FirmwareUI for UICaesar { _summary_br_name: Option>, _cancel_text: Option>, ) -> Result { - Err::, Error>(Error::ValueError( - c"flow_confirm_output not supported", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn flow_confirm_set_new_pin( _title: TString<'static>, _description: TString<'static>, ) -> Result { - Err::, Error>(Error::ValueError( - c"flow_confirm_set_new_pin not supported", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn flow_get_address( @@ -733,9 +728,7 @@ impl FirmwareUI for UICaesar { _br_code: u16, _br_name: TString<'static>, ) -> Result { - Err::, Error>(Error::ValueError( - c"flow_get_address not supported", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn multiple_pages_texts( @@ -925,9 +918,7 @@ impl FirmwareUI for UICaesar { } fn set_brightness(_current_brightness: Option) -> Result { - Err::, Error>(Error::ValueError( - c"setting brightness not supported", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn show_address_details( @@ -992,7 +983,7 @@ impl FirmwareUI for UICaesar { _value: TString<'static>, _verb_cancel: Option>, ) -> Result { - Err::, Error>(Error::ValueError(c"show_danger not supported")) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn show_error( @@ -1002,7 +993,7 @@ impl FirmwareUI for UICaesar { _allow_cancel: bool, _time_ms: u32, ) -> Result, Error> { - Err::, Error>(Error::ValueError(c"show error not supported")) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn show_group_share_success( @@ -1063,9 +1054,7 @@ impl FirmwareUI for UICaesar { _horizontal: bool, _chunkify: bool, ) -> Result { - Err::, Error>(Error::ValueError( - c"show_info_with_cancel not supported", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn show_lockscreen( @@ -1155,13 +1144,11 @@ impl FirmwareUI for UICaesar { _text_footer: Option>, _text_confirm: TString<'static>, ) -> Result { - Err::, Error>(Error::ValueError(c"use show_share_words")) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn show_remaining_shares(_pages_iterable: Obj) -> Result { - Err::, Error>(Error::ValueError( - c"show remaining shares not supported", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn show_simple( @@ -1182,7 +1169,7 @@ impl FirmwareUI for UICaesar { _allow_cancel: bool, _time_ms: u32, ) -> Result, Error> { - Err::, Error>(Error::ValueError(c"show success not supported")) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn show_wait_text(text: TString<'static>) -> Result { diff --git a/core/embed/rust/src/ui/layout_delizia/ui_firmware.rs b/core/embed/rust/src/ui/layout_delizia/ui_firmware.rs index b0baf63e71..3310529bf2 100644 --- a/core/embed/rust/src/ui/layout_delizia/ui_firmware.rs +++ b/core/embed/rust/src/ui/layout_delizia/ui_firmware.rs @@ -25,7 +25,8 @@ use crate::{ util::{PropsList, RecoveryType}, }, ui_firmware::{ - FirmwareUI, MAX_CHECKLIST_ITEMS, MAX_GROUP_SHARE_LINES, MAX_WORD_QUIZ_ITEMS, + FirmwareUI, ERROR_NOT_IMPLEMENTED, MAX_CHECKLIST_ITEMS, MAX_GROUP_SHARE_LINES, + MAX_WORD_QUIZ_ITEMS, }, ModelUI, }, @@ -81,7 +82,7 @@ impl FirmwareUI for UIDelizia { _chunkify: bool, ) -> Result, Error> { // confirm_value is used instead - Err::, Error>(Error::ValueError(c"confirm_address not implemented")) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn confirm_value( @@ -347,9 +348,7 @@ impl FirmwareUI for UIDelizia { _hold: bool, _items: Obj, ) -> Result { - Err::, Error>(Error::ValueError( - c"confirm_more not implemented", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn confirm_reset_device(recovery: bool) -> Result { @@ -652,9 +651,7 @@ impl FirmwareUI for UIDelizia { _verb: TString<'static>, _items: Gc, ) -> Result { - Err::, Error>(Error::ValueError( - c"multiple_pages_texts not implemented", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn prompt_backup() -> Result { @@ -780,9 +777,7 @@ impl FirmwareUI for UIDelizia { _path: Option>, _xpubs: Obj, ) -> Result { - Err::, Error>(Error::ValueError( - c"show_address_details not implemented", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn show_checklist( @@ -1027,9 +1022,7 @@ impl FirmwareUI for UIDelizia { fn show_remaining_shares(_pages_iterable: Obj) -> Result { // Delizia: remaining shares is a part of `continue_recovery` flow - Err::, Error>(Error::ValueError( - c"show_remaining_shares not implemented", - )) + Err::, Error>(ERROR_NOT_IMPLEMENTED) } fn show_simple( diff --git a/core/embed/rust/src/ui/ui_firmware.rs b/core/embed/rust/src/ui/ui_firmware.rs index 112e998e4b..438aa66b01 100644 --- a/core/embed/rust/src/ui/ui_firmware.rs +++ b/core/embed/rust/src/ui/ui_firmware.rs @@ -15,6 +15,8 @@ pub const MAX_CHECKLIST_ITEMS: usize = 3; pub const MAX_WORD_QUIZ_ITEMS: usize = 3; pub const MAX_GROUP_SHARE_LINES: usize = 4; +pub const ERROR_NOT_IMPLEMENTED: Error = Error::ValueError(c"not implemented"); + pub trait FirmwareUI { #[allow(clippy::too_many_arguments)] fn confirm_action(