feat(core): expose tap_to_wake in Features protobuf message
What changed, and why it matters
This commit adds a new device-information field called tap_to_wake to the Trezor's Features message, which is the normal response to GetFeatures. It also adds a matching Capability_TouchWakeup flag. The change only reports whether the device supports and has 'tap to wake' enabled; it does not change how the device wakes, how it authorizes transactions, or how secrets are handled. There is no security fix or vulnerability visible in the diff.
No security action required. Treat as a normal feature commit. If reviewing the broader touch-wake feature, verify that the actual wake-from-sleep implementation does not allow unintended input injection or bypass of the lock screen, but that behavior is outside this commit.
Security signals we found
No memory-unsafe code added
No cryptographic or authorization logic changed
No new external input parsing beyond an optional bool field in an existing protobuf
No changelog security note; commit is tagged [no changelog]
Change is purely informational/capability exposure
Evidence from the diff
The patch extends the Features protobuf with optional bool tap_to_wake (field 63) and Capability_TouchWakeup = 26, regenerates bindings for Python, Rust and core, and populates the field in apps/base.py when USE_TOUCH_WAKEUP is defined. Test helpers now check features.tap_to_wake is not None instead of inferring support from internal_model, and UI fixtures are updated. No logic for touch wake behavior, authentication, cryptography, or storage is modified.
Changed components
common/protob/messages-management.protocore/src/apps/base.pycore/src/trezor/enums/Capability.pycore/src/trezor/enums/__init__.pycore/src/trezor/messages.pypython/src/trezorlib/messages.pyrust/trezor-client/src/protos/generated/messages_management.rstests/click_tests/device_menu/common.pytests/ui_tests/fixtures.jsonInspect captured patch +277 / −216
diff --git a/common/protob/messages-management.proto b/common/protob/messages-management.proto
index d3e66dd3..3aaf9074 100644
--- a/common/protob/messages-management.proto
+++ b/common/protob/messages-management.proto
@@ -145,6 +145,7 @@ message Features {
optional bool led = 58; // RGB LED settings
optional bool usb_connected = 59; // USB connected
optional bool wireless_connected = 60; // Wireless charger connected
+ optional bool tap_to_wake = 63; // tap to wake is enabled (None = not supported)
enum BackupAvailability {
/// Device is already backed up, or a previous backup has failed.
@@ -190,6 +191,7 @@ message Features {
Capability_NFC = 23 [(bitcoin_only) = true]; // Near Field Communications
Capability_Tron = 24;
Capability_N4W1 = 25 [(bitcoin_only) = true];
+ Capability_TouchWakeup = 26 [(bitcoin_only) = true]; // Touch to wake from sleep
}
}
diff --git a/core/src/apps/base.py b/core/src/apps/base.py
index fcf6ebc8..ac4e0c80 100644
--- a/core/src/apps/base.py
+++ b/core/src/apps/base.py
@@ -153,6 +153,10 @@ def get_features() -> Features:
f.haptic_feedback = storage_device.get_haptic_feedback()
f.capabilities.append(Capability.Haptic)
+ if utils.USE_TOUCH_WAKEUP:
+ f.tap_to_wake = storage_device.get_tap_to_wake()
+ f.capabilities.append(Capability.TouchWakeup)
+
if utils.USE_BACKLIGHT:
f.capabilities.append(Capability.Brightness)
diff --git a/core/src/trezor/enums/Capability.py b/core/src/trezor/enums/Capability.py
index 9518d5ca..7605c5f0 100644
--- a/core/src/trezor/enums/Capability.py
+++ b/core/src/trezor/enums/Capability.py
@@ -15,6 +15,7 @@ Haptic = 21
BLE = 22
NFC = 23
N4W1 = 25
+TouchWakeup = 26
if not utils.BITCOIN_ONLY:
Bitcoin_like = 2
Binance = 3
diff --git a/core/src/trezor/enums/__init__.py b/core/src/trezor/enums/__init__.py
index b9b0880b..9f17b029 100644
--- a/core/src/trezor/enums/__init__.py
+++ b/core/src/trezor/enums/__init__.py
@@ -240,6 +240,7 @@ if TYPE_CHECKING:
NFC = 23
Tron = 24
N4W1 = 25
+ TouchWakeup = 26
class SdProtectOperationType(IntEnum):
DISABLE = 0
diff --git a/core/src/trezor/messages.py b/core/src/trezor/messages.py
index 357c2a28..40e23388 100644
--- a/core/src/trezor/messages.py
+++ b/core/src/trezor/messages.py
@@ -2099,6 +2099,7 @@ if TYPE_CHECKING:
led: "bool | None"
usb_connected: "bool | None"
wireless_connected: "bool | None"
+ tap_to_wake: "bool | None"
def __init__(
self,
@@ -2162,6 +2163,7 @@ if TYPE_CHECKING:
led: "bool | None" = None,
usb_connected: "bool | None" = None,
wireless_connected: "bool | None" = None,
+ tap_to_wake: "bool | None" = None,
) -> None:
pass
diff --git a/python/src/trezorlib/messages.py b/python/src/trezorlib/messages.py
index a56eeae8..a6a9903f 100644
--- a/python/src/trezorlib/messages.py
+++ b/python/src/trezorlib/messages.py
@@ -270,6 +270,7 @@ class Capability(IntEnum):
NFC = 23
Tron = 24
N4W1 = 25
+ TouchWakeup = 26
class SdProtectOperationType(IntEnum):
@@ -3334,6 +3335,7 @@ class Features(protobuf.MessageType):
58: protobuf.Field("led", "bool", repeated=False, required=False, default=None),
59: protobuf.Field("usb_connected", "bool", repeated=False, required=False, default=None),
60: protobuf.Field("wireless_connected", "bool", repeated=False, required=False, default=None),
+ 63: protobuf.Field("tap_to_wake", "bool", repeated=False, required=False, default=None),
}
def __init__(
@@ -3399,6 +3401,7 @@ class Features(protobuf.MessageType):
led: Optional["bool"] = None,
usb_connected: Optional["bool"] = None,
wireless_connected: Optional["bool"] = None,
+ tap_to_wake: Optional["bool"] = None,
) -> None:
self.capabilities: Sequence["Capability"] = capabilities if capabilities is not None else []
self.major_version = major_version
@@ -3460,6 +3463,7 @@ class Features(protobuf.MessageType):
self.led = led
self.usb_connected = usb_connected
self.wireless_connected = wireless_connected
+ self.tap_to_wake = tap_to_wake
class LockDevice(protobuf.MessageType):
diff --git a/rust/trezor-client/src/protos/generated/messages_management.rs b/rust/trezor-client/src/protos/generated/messages_management.rs
index aaa63160..b16e2c64 100644
--- a/rust/trezor-client/src/protos/generated/messages_management.rs
+++ b/rust/trezor-client/src/protos/generated/messages_management.rs
@@ -483,6 +483,8 @@ pub struct Features {
pub usb_connected: ::std::option::Option<bool>,
// @@protoc_insertion_point(field:hw.trezor.messages.management.Features.wireless_connected)
pub wireless_connected: ::std::option::Option<bool>,
+ // @@protoc_insertion_point(field:hw.trezor.messages.management.Features.tap_to_wake)
+ pub tap_to_wake: ::std::option::Option<bool>,
// special fields
// @@protoc_insertion_point(special_field:hw.trezor.messages.management.Features.special_fields)
pub special_fields: ::protobuf::SpecialFields,
@@ -1811,8 +1813,27 @@ impl Features {
self.wireless_connected = ::std::option::Option::Some(v);
}
+ // optional bool tap_to_wake = 63;
+
+ pub fn tap_to_wake(&self) -> bool {
+ self.tap_to_wake.unwrap_or(false)
+ }
+
+ pub fn clear_tap_to_wake(&mut self) {
+ self.tap_to_wake = ::std::option::Option::None;
+ }
+
+ pub fn has_tap_to_wake(&self) -> bool {
+ self.tap_to_wake.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_tap_to_wake(&mut self, v: bool) {
+ self.tap_to_wake = ::std::option::Option::Some(v);
+ }
+
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
- let mut fields = ::std::vec::Vec::with_capacity(60);
+ let mut fields = ::std::vec::Vec::with_capacity(61);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
"vendor",
@@ -2114,6 +2135,11 @@ impl Features {
|m: &Features| { &m.wireless_connected },
|m: &mut Features| { &mut m.wireless_connected },
));
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "tap_to_wake",
+ |m: &Features| { &m.tap_to_wake },
+ |m: &mut Features| { &mut m.tap_to_wake },
+ ));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Features>(
"Features",
fields,
@@ -2324,6 +2350,9 @@ impl ::protobuf::Message for Features {
480 => {
self.wireless_connected = ::std::option::Option::Some(is.read_bool()?);
},
+ 504 => {
+ self.tap_to_wake = ::std::option::Option::Some(is.read_bool()?);
+ },
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
@@ -2516,6 +2545,9 @@ impl ::protobuf::Message for Features {
if let Some(v) = self.wireless_connected {
my_size += 2 + 1;
}
+ if let Some(v) = self.tap_to_wake {
+ my_size += 2 + 1;
+ }
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
@@ -2702,6 +2734,9 @@ impl ::protobuf::Message for Features {
if let Some(v) = self.wireless_connected {
os.write_bool(60, v)?;
}
+ if let Some(v) = self.tap_to_wake {
+ os.write_bool(63, v)?;
+ }
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
@@ -2779,6 +2814,7 @@ impl ::protobuf::Message for Features {
self.led = ::std::option::Option::None;
self.usb_connected = ::std::option::Option::None;
self.wireless_connected = ::std::option::Option::None;
+ self.tap_to_wake = ::std::option::Option::None;
self.special_fields.clear();
}
@@ -2844,6 +2880,7 @@ impl ::protobuf::Message for Features {
led: ::std::option::Option::None,
usb_connected: ::std::option::Option::None,
wireless_connected: ::std::option::Option::None,
+ tap_to_wake: ::std::option::Option::None,
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
@@ -3056,6 +3093,8 @@ pub mod features {
Capability_Tron = 24,
// @@protoc_insertion_point(enum_value:hw.trezor.messages.management.Features.Capability.Capability_N4W1)
Capability_N4W1 = 25,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.management.Features.Capability.Capability_TouchWakeup)
+ Capability_TouchWakeup = 26,
}
impl ::protobuf::Enum for Capability {
@@ -3092,6 +3131,7 @@ pub mod features {
23 => ::std::option::Option::Some(Capability::Capability_NFC),
24 => ::std::option::Option::Some(Capability::Capability_Tron),
25 => ::std::option::Option::Some(Capability::Capability_N4W1),
+ 26 => ::std::option::Option::Some(Capability::Capability_TouchWakeup),
_ => ::std::option::Option::None
}
}
@@ -3123,6 +3163,7 @@ pub mod features {
"Capability_NFC" => ::std::option::Option::Some(Capability::Capability_NFC),
"Capability_Tron" => ::std::option::Option::Some(Capability::Capability_Tron),
"Capability_N4W1" => ::std::option::Option::Some(Capability::Capability_N4W1),
+ "Capability_TouchWakeup" => ::std::option::Option::Some(Capability::Capability_TouchWakeup),
_ => ::std::option::Option::None
}
}
@@ -3153,6 +3194,7 @@ pub mod features {
Capability::Capability_NFC,
Capability::Capability_Tron,
Capability::Capability_N4W1,
+ Capability::Capability_TouchWakeup,
];
}
@@ -3189,6 +3231,7 @@ pub mod features {
Capability::Capability_NFC => 22,
Capability::Capability_Tron => 23,
Capability::Capability_N4W1 => 24,
+ Capability::Capability_TouchWakeup => 25,
};
Self::enum_descriptor().value_by_index(index)
}
@@ -12548,7 +12591,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\roptions.proto\"\x80\x01\n\nInitialize\x12\x1d\n\nsession_id\x18\x01\
\x20\x01(\x0cR\tsessionId\x12,\n\x10_skip_passphrase\x18\x02\x20\x01(\
\x08R\x0eSkipPassphraseB\x02\x18\x01\x12%\n\x0ederive_cardano\x18\x03\
- \x20\x01(\x08R\rderiveCardano\"\r\n\x0bGetFeatures\"\x8d\x1b\n\x08Featur\
+ \x20\x01(\x08R\rderiveCardano\"\r\n\x0bGetFeatures\"\xcf\x1b\n\x08Featur\
es\x12\x16\n\x06vendor\x18\x01\x20\x01(\tR\x06vendor\x12#\n\rmajor_versi\
on\x18\x02\x20\x02(\rR\x0cmajorVersion\x12#\n\rminor_version\x18\x03\x20\
\x02(\rR\x0cminorVersion\x12#\n\rpatch_version\x18\x04\x20\x02(\rR\x0cpa\
@@ -12605,148 +12648,150 @@ static file_descriptor_proto_data: &'static [u8] = b"\
irmwareCorrupted\x12:\n\x1aauto_lock_delay_battery_ms\x189\x20\x01(\rR\
\x16autoLockDelayBatteryMs\x12\x10\n\x03led\x18:\x20\x01(\x08R\x03led\
\x12#\n\rusb_connected\x18;\x20\x01(\x08R\x0cusbConnected\x12-\n\x12wire\
- less_connected\x18<\x20\x01(\x08R\x11wirelessConnected\"C\n\x12BackupAva\
- ilability\x12\x10\n\x0cNotAvailable\x10\0\x12\x0c\n\x08Required\x10\x01\
- \x12\r\n\tAvailable\x10\x02\"7\n\x0eRecoveryStatus\x12\x0b\n\x07Nothing\
- \x10\0\x12\x0c\n\x08Recovery\x10\x01\x12\n\n\x06Backup\x10\x02\"\xa6\x05\
- \n\nCapability\x12\x1c\n\x12Capability_Bitcoin\x10\x01\x1a\x04\x80\xa6\
- \x1d\x01\x12\x1b\n\x17Capability_Bitcoin_like\x10\x02\x12\x16\n\x12Capab\
- ility_Binance\x10\x03\x12\x16\n\x12Capability_Cardano\x10\x04\x12\x1b\n\
- \x11Capability_Crypto\x10\x05\x1a\x04\x80\xa6\x1d\x01\x12\x12\n\x0eCapab\
- ility_EOS\x10\x06\x12\x17\n\x13Capability_Ethereum\x10\x07\x12\x17\n\x0f\
- Capability_Lisk\x10\x08\x1a\x02\x08\x01\x12\x15\n\x11Capability_Monero\
- \x10\t\x12\x12\n\x0eCapability_NEM\x10\n\x12\x15\n\x11Capability_Ripple\
- \x10\x0b\x12\x16\n\x12Capability_Stellar\x10\x0c\x12\x14\n\x10Capability\
- _Tezos\x10\r\x12\x12\n\x0eCapability_U2F\x10\x0e\x12\x1b\n\x11Capability\
- _Shamir\x10\x0f\x1a\x04\x80\xa6\x1d\x01\x12!\n\x17Capability_ShamirGroup\
- s\x10\x10\x1a\x04\x80\xa6\x1d\x01\x12$\n\x1aCapability_PassphraseEntry\
- \x10\x11\x1a\x04\x80\xa6\x1d\x01\x12\x15\n\x11Capability_Solana\x10\x12\
- \x12!\n\x17Capability_Translations\x10\x13\x1a\x04\x80\xa6\x1d\x01\x12\
- \x1f\n\x15Capability_Brightness\x10\x14\x1a\x04\x80\xa6\x1d\x01\x12\x1b\
- \n\x11Capability_Haptic\x10\x15\x1a\x04\x80\xa6\x1d\x01\x12\x18\n\x0eCap\
- ability_BLE\x10\x16\x1a\x04\x80\xa6\x1d\x01\x12\x18\n\x0eCapability_NFC\
- \x10\x17\x1a\x04\x80\xa6\x1d\x01\x12\x13\n\x0fCapability_Tron\x10\x18\
- \x12\x19\n\x0fCapability_N4W1\x10\x19\x1a\x04\x80\xa6\x1d\x01\x1a\x04\
- \xc8\xf3\x18\x01\"\x0c\n\nLockDevice\"&\n\x07SetBusy\x12\x1b\n\texpiry_m\
- s\x18\x01\x20\x01(\rR\x08expiryMs\"\x0c\n\nEndSession\"\xdd\x05\n\rApply\
- Settings\x12\x1e\n\x08language\x18\x01\x20\x01(\tR\x08languageB\x02\x18\
- \x01\x12\x14\n\x05label\x18\x02\x20\x01(\tR\x05label\x12%\n\x0euse_passp\
- hrase\x18\x03\x20\x01(\x08R\rusePassphrase\x12\x1e\n\nhomescreen\x18\x04\
- \x20\x01(\x0cR\nhomescreen\x120\n\x12_passphrase_source\x18\x05\x20\x01(\
- \rR\x10PassphraseSourceB\x02\x18\x01\x12+\n\x12auto_lock_delay_ms\x18\
- \x06\x20\x01(\rR\x0fautoLockDelayMs\x12Y\n\x10display_rotation\x18\x07\
- \x20\x01(\x0e2..hw.trezor.messages.management.DisplayRotationR\x0fdispla\
- yRotation\x12=\n\x1bpassphrase_always_on_device\x18\x08\x20\x01(\x08R\
- \x18passphraseAlwaysOnDevice\x12T\n\rsafety_checks\x18\t\x20\x01(\x0e2/.\
- hw.trezor.messages.management.SafetyCheckLevelR\x0csafetyChecks\x123\n\
- \x15experimental_features\x18\n\x20\x01(\x08R\x14experimentalFeatures\
- \x129\n\x19hide_passphrase_from_host\x18\x0b\x20\x01(\x08R\x16hidePassph\
- raseFromHost\x12'\n\x0fhaptic_feedback\x18\r\x20\x01(\x08R\x0ehapticFeed\
- back\x12+\n\x11homescreen_length\x18\x0e\x20\x01(\rR\x10homescreenLength\
- \x12:\n\x1aauto_lock_delay_battery_ms\x18\x0f\x20\x01(\rR\x16autoLockDel\
- ayBatteryMs\"T\n\x0eChangeLanguage\x12\x1f\n\x0bdata_length\x18\x01\x20\
- \x02(\rR\ndataLength\x12!\n\x0cshow_display\x18\x02\x20\x01(\x08R\x0bsho\
- wDisplay\"T\n\x10DataChunkRequest\x12\x1f\n\x0bdata_length\x18\x01\x20\
- \x02(\rR\ndataLength\x12\x1f\n\x0bdata_offset\x18\x02\x20\x02(\rR\ndataO\
- ffset\"-\n\x0cDataChunkAck\x12\x1d\n\ndata_chunk\x18\x01\x20\x02(\x0cR\t\
- dataChunk\"\"\n\nApplyFlags\x12\x14\n\x05flags\x18\x01\x20\x02(\rR\x05fl\
- ags\"#\n\tChangePin\x12\x16\n\x06remove\x18\x01\x20\x01(\x08R\x06remove\
- \"(\n\x0eChangeWipeCode\x12\x16\n\x06remove\x18\x01\x20\x01(\x08R\x06rem\
- ove\"\xaa\x01\n\tSdProtect\x12]\n\toperation\x18\x01\x20\x02(\x0e2?.hw.t\
- rezor.messages.management.SdProtect.SdProtectOperationTypeR\toperation\"\
- >\n\x16SdProtectOperationType\x12\x0b\n\x07DISABLE\x10\0\x12\n\n\x06ENAB\
- LE\x10\x01\x12\x0b\n\x07REFRESH\x10\x02\"O\n\x04Ping\x12\x1a\n\x07messag\
- e\x18\x01\x20\x01(\t:\0R\x07message\x12+\n\x11button_protection\x18\x02\
- \x20\x01(\x08R\x10buttonProtection\"\x08\n\x06Cancel\"\x20\n\nGetEntropy\
- \x12\x12\n\x04size\x18\x01\x20\x02(\rR\x04size\"#\n\x07Entropy\x12\x18\n\
- \x07entropy\x18\x01\x20\x02(\x0cR\x07entropy\"/\n\x0fGetFirmwareHash\x12\
- \x1c\n\tchallenge\x18\x01\x20\x01(\x0cR\tchallenge\"\"\n\x0cFirmwareHash\
- \x12\x12\n\x04hash\x18\x01\x20\x02(\x0cR\x04hash\"2\n\x12AuthenticateDev\
- ice\x12\x1c\n\tchallenge\x18\x01\x20\x02(\x0cR\tchallenge\"\x9b\x02\n\
- \x11AuthenticityProof\x12/\n\x13optiga_certificates\x18\x01\x20\x03(\x0c\
- R\x12optigaCertificates\x12)\n\x10optiga_signature\x18\x02\x20\x02(\x0cR\
- \x0foptigaSignature\x12/\n\x13tropic_certificates\x18\x03\x20\x03(\x0cR\
- \x12tropicCertificates\x12)\n\x10tropic_signature\x18\x04\x20\x01(\x0cR\
- \x0ftropicSignature\x12)\n\x10mcu_certificates\x18\x05\x20\x03(\x0cR\x0f\
- mcuCertificates\x12#\n\rmcu_signature\x18\x06\x20\x01(\x0cR\x0cmcuSignat\
- ure\"\x0c\n\nWipeDevice\"\xda\x02\n\nLoadDevice\x12\x1c\n\tmnemonics\x18\
- \x01\x20\x03(\tR\tmnemonics\x12\x10\n\x03pin\x18\x03\x20\x01(\tR\x03pin\
- \x123\n\x15passphrase_protection\x18\x04\x20\x01(\x08R\x14passphraseProt\
- ection\x12\x1e\n\x08language\x18\x05\x20\x01(\tR\x08languageB\x02\x18\
- \x01\x12\x14\n\x05label\x18\x06\x20\x01(\tR\x05label\x12#\n\rskip_checks\
- um\x18\x07\x20\x01(\x08R\x0cskipChecksum\x12\x1f\n\x0bu2f_counter\x18\
- \x08\x20\x01(\rR\nu2fCounter\x12!\n\x0cneeds_backup\x18\t\x20\x01(\x08R\
- \x0bneedsBackup\x12\x1b\n\tno_backup\x18\n\x20\x01(\x08R\x08noBackup\x12\
- +\n\x11unfinished_backup\x18\x0b\x20\x01(\x08R\x10unfinishedBackup\"\xf8\
- \x03\n\x0bResetDevice\x12\x1f\n\x08strength\x18\x02\x20\x01(\r:\x03256R\
- \x08strength\x123\n\x15passphrase_protection\x18\x03\x20\x01(\x08R\x14pa\
- ssphraseProtection\x12%\n\x0epin_protection\x18\x04\x20\x01(\x08R\rpinPr\
- otection\x12\x1e\n\x08language\x18\x05\x20\x01(\tR\x08languageB\x02\x18\
- \x01\x12\x14\n\x05label\x18\x06\x20\x01(\tR\x05label\x12\x1f\n\x0bu2f_co\
- unter\x18\x07\x20\x01(\rR\nu2fCounter\x12\x1f\n\x0bskip_backup\x18\x08\
- \x20\x01(\x08R\nskipBackup\x12\x1b\n\tno_backup\x18\t\x20\x01(\x08R\x08n\
- oBackup\x12Q\n\x0bbackup_type\x18\n\x20\x01(\x0e2).hw.trezor.messages.ma\
- nagement.BackupType:\x05Bip39R\nbackupType\x12#\n\rentropy_check\x18\x0b\
- \x20\x01(\x08R\x0centropyCheck\x12Y\n\rbackup_method\x18\x0c\x20\x01(\
- \x0e2+.hw.trezor.messages.management.BackupMethod:\x07DisplayR\x0cbackup\
- MethodJ\x04\x08\x01\x10\x02\"\xc0\x02\n\x0cBackupDevice\x12'\n\x0fgroup_\
- threshold\x18\x01\x20\x01(\rR\x0egroupThreshold\x12O\n\x06groups\x18\x02\
- \x20\x03(\x0b27.hw.trezor.messages.management.BackupDevice.Slip39GroupR\
- \x06groups\x12Y\n\rbackup_method\x18\x03\x20\x01(\x0e2+.hw.trezor.messag\
- es.management.BackupMethod:\x07DisplayR\x0cbackupMethod\x1a[\n\x0bSlip39\
- Group\x12)\n\x10member_threshold\x18\x01\x20\x02(\rR\x0fmemberThreshold\
- \x12!\n\x0cmember_count\x18\x02\x20\x02(\rR\x0bmemberCount\"b\n\x0eEntro\
- pyRequest\x12-\n\x12entropy_commitment\x18\x01\x20\x01(\x0cR\x11entropyC\
- ommitment\x12!\n\x0cprev_entropy\x18\x02\x20\x01(\x0cR\x0bprevEntropy\"&\
- \n\nEntropyAck\x12\x18\n\x07entropy\x18\x01\x20\x02(\x0cR\x07entropy\"\
- \x13\n\x11EntropyCheckReady\"5\n\x14EntropyCheckContinue\x12\x1d\n\x06fi\
- nish\x18\x01\x20\x01(\x08:\x05falseR\x06finish\"\xdf\x04\n\x0eRecoveryDe\
- vice\x12\x1d\n\nword_count\x18\x01\x20\x01(\rR\twordCount\x123\n\x15pass\
- phrase_protection\x18\x02\x20\x01(\x08R\x14passphraseProtection\x12%\n\
- \x0epin_protection\x18\x03\x20\x01(\x08R\rpinProtection\x12\x1e\n\x08lan\
- guage\x18\x04\x20\x01(\tR\x08languageB\x02\x18\x01\x12\x14\n\x05label\
- \x18\x05\x20\x01(\tR\x05label\x12)\n\x10enforce_wordlist\x18\x06\x20\x01\
- (\x08R\x0fenforceWordlist\x12j\n\x0cinput_method\x18\x08\x20\x01(\x0e2G.\
- hw.trezor.messages.management.RecoveryDevice.RecoveryDeviceInputMethodR\
- \x0binputMethod\x12\x1f\n\x0bu2f_counter\x18\t\x20\x01(\rR\nu2fCounter\
- \x12O\n\x04type\x18\n\x20\x01(\x0e2+.hw.trezor.messages.management.Recov\
- eryType:\x0eNormalRecoveryR\x04type\x12P\n\rbackup_method\x18\x0b\x20\
- \x01(\x0e2+.hw.trezor.messages.management.BackupMethodR\x0cbackupMethod\
- \";\n\x19RecoveryDeviceInputMethod\x12\x12\n\x0eScrambledWords\x10\0\x12\
- \n\n\x06Matrix\x10\x01J\x04\x08\x07\x10\x08\"\xc5\x01\n\x0bWordRequest\
- \x12N\n\x04type\x18\x01\x20\x02(\x0e2:.hw.trezor.messages.management.Wor\
- dRequest.WordRequestTypeR\x04type\"f\n\x0fWordRequestType\x12\x19\n\x15W\
- ordRequestType_Plain\x10\0\x12\x1b\n\x17WordRequestType_Matrix9\x10\x01\
- \x12\x1b\n\x17WordRequestType_Matrix6\x10\x02\"\x1d\n\x07WordAck\x12\x12\
- \n\x04word\x18\x01\x20\x02(\tR\x04word\"0\n\rSetU2FCounter\x12\x1f\n\x0b\
- u2f_counter\x18\x01\x20\x02(\rR\nu2fCounter\"\x13\n\x11GetNextU2FCounter\
- \"1\n\x0eNextU2FCounter\x12\x1f\n\x0bu2f_counter\x18\x01\x20\x02(\rR\nu2\
- fCounter\"\x11\n\x0fDoPreauthorized\"\x16\n\x14PreauthorizedRequest\"\
- \x15\n\x13CancelAuthorization\"\xeb\x01\n\x12RebootToBootloader\x12o\n\
- \x0cboot_command\x18\x01\x20\x01(\x0e2=.hw.trezor.messages.management.Re\
- bootToBootloader.BootCommand:\rSTOP_AND_WAITR\x0bbootCommand\x12'\n\x0ff\
- irmware_header\x18\x02\x20\x01(\x0cR\x0efirmwareHeader\"5\n\x0bBootComma\
- nd\x12\x11\n\rSTOP_AND_WAIT\x10\0\x12\x13\n\x0fINSTALL_UPGRADE\x10\x01J\
- \x04\x08\x03\x10\x04\"\n\n\x08GetNonce\"\x1d\n\x05Nonce\x12\x14\n\x05non\
- ce\x18\x01\x20\x02(\x0cR\x05nonce\";\n\nUnlockPath\x12\x1b\n\taddress_n\
- \x18\x01\x20\x03(\rR\x08addressN\x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\
- \x03mac\"'\n\x13UnlockedPathRequest\x12\x10\n\x03mac\x18\x01\x20\x02(\
- \x0cR\x03mac\"\x14\n\x12ShowDeviceTutorial\"\x12\n\x10UnlockBootloader\"\
- %\n\rSetBrightness\x12\x14\n\x05value\x18\x01\x20\x01(\rR\x05value\"\x11\
- \n\x0fGetSerialNumber\"3\n\x0cSerialNumber\x12#\n\rserial_number\x18\x01\
- \x20\x02(\tR\x0cserialNumber*\x99\x01\n\nBackupType\x12\t\n\x05Bip39\x10\
- \0\x12\x10\n\x0cSlip39_Basic\x10\x01\x12\x13\n\x0fSlip39_Advanced\x10\
- \x02\x12\x1c\n\x18Slip39_Single_Extendable\x10\x03\x12\x1b\n\x17Slip39_B\
- asic_Extendable\x10\x04\x12\x1e\n\x1aSlip39_Advanced_Extendable\x10\x05*\
- %\n\x0cBackupMethod\x12\x0b\n\x07Display\x10\0\x12\x08\n\x04N4W1\x10\x01\
- *G\n\x10SafetyCheckLevel\x12\n\n\x06Strict\x10\0\x12\x10\n\x0cPromptAlwa\
- ys\x10\x01\x12\x15\n\x11PromptTemporarily\x10\x02*=\n\x0fDisplayRotation\
- \x12\t\n\x05North\x10\0\x12\x08\n\x04East\x10Z\x12\n\n\x05South\x10\xb4\
- \x01\x12\t\n\x04West\x10\x8e\x02*0\n\x10HomescreenFormat\x12\x08\n\x04To\
- if\x10\x01\x12\x08\n\x04Jpeg\x10\x02\x12\x08\n\x04ToiG\x10\x03*H\n\x0cRe\
- coveryType\x12\x12\n\x0eNormalRecovery\x10\0\x12\n\n\x06DryRun\x10\x01\
- \x12\x18\n\x14UnlockRepeatedBackup\x10\x02BB\n#com.satoshilabs.trezor.li\
- b.protobufB\x17TrezorMessageManagement\x80\xa6\x1d\x01\
+ less_connected\x18<\x20\x01(\x08R\x11wirelessConnected\x12\x1e\n\x0btap_\
+ to_wake\x18?\x20\x01(\x08R\ttapToWake\"C\n\x12BackupAvailability\x12\x10\
+ \n\x0cNotAvailable\x10\0\x12\x0c\n\x08Required\x10\x01\x12\r\n\tAvailabl\
+ e\x10\x02\"7\n\x0eRecoveryStatus\x12\x0b\n\x07Nothing\x10\0\x12\x0c\n\
+ \x08Recovery\x10\x01\x12\n\n\x06Backup\x10\x02\"\xc8\x05\n\nCapability\
+ \x12\x1c\n\x12Capability_Bitcoin\x10\x01\x1a\x04\x80\xa6\x1d\x01\x12\x1b\
+ \n\x17Capability_Bitcoin_like\x10\x02\x12\x16\n\x12Capability_Binance\
+ \x10\x03\x12\x16\n\x12Capability_Cardano\x10\x04\x12\x1b\n\x11Capability\
+ _Crypto\x10\x05\x1a\x04\x80\xa6\x1d\x01\x12\x12\n\x0eCapability_EOS\x10\
+ \x06\x12\x17\n\x13Capability_Ethereum\x10\x07\x12\x17\n\x0fCapability_Li\
+ sk\x10\x08\x1a\x02\x08\x01\x12\x15\n\x11Capability_Monero\x10\t\x12\x12\
+ \n\x0eCapability_NEM\x10\n\x12\x15\n\x11Capability_Ripple\x10\x0b\x12\
+ \x16\n\x12Capability_Stellar\x10\x0c\x12\x14\n\x10Capability_Tezos\x10\r\
+ \x12\x12\n\x0eCapability_U2F\x10\x0e\x12\x1b\n\x11Capability_Shamir\x10\
+ \x0f\x1a\x04\x80\xa6\x1d\x01\x12!\n\x17Capability_ShamirGroups\x10\x10\
+ \x1a\x04\x80\xa6\x1d\x01\x12$\n\x1aCapability_PassphraseEntry\x10\x11\
+ \x1a\x04\x80\xa6\x1d\x01\x12\x15\n\x11Capability_Solana\x10\x12\x12!\n\
+ \x17Capability_Translations\x10\x13\x1a\x04\x80\xa6\x1d\x01\x12\x1f\n\
+ \x15Capability_Brightness\x10\x14\x1a\x04\x80\xa6\x1d\x01\x12\x1b\n\x11C\
+ apability_Haptic\x10\x15\x1a\x04\x80\xa6\x1d\x01\x12\x18\n\x0eCapability\
+ _BLE\x10\x16\x1a\x04\x80\xa6\x1d\x01\x12\x18\n\x0eCapability_NFC\x10\x17\
+ \x1a\x04\x80\xa6\x1d\x01\x12\x13\n\x0fCapability_Tron\x10\x18\x12\x19\n\
+ \x0fCapability_N4W1\x10\x19\x1a\x04\x80\xa6\x1d\x01\x12\x20\n\x16Capabil\
+ ity_TouchWakeup\x10\x1a\x1a\x04\x80\xa6\x1d\x01\x1a\x04\xc8\xf3\x18\x01\
+ \"\x0c\n\nLockDevice\"&\n\x07SetBusy\x12\x1b\n\texpiry_ms\x18\x01\x20\
+ \x01(\rR\x08expiryMs\"\x0c\n\nEndSession\"\xdd\x05\n\rApplySettings\x12\
+ \x1e\n\x08language\x18\x01\x20\x01(\tR\x08languageB\x02\x18\x01\x12\x14\
+ \n\x05label\x18\x02\x20\x01(\tR\x05label\x12%\n\x0euse_passphrase\x18\
+ \x03\x20\x01(\x08R\rusePassphrase\x12\x1e\n\nhomescreen\x18\x04\x20\x01(\
+ \x0cR\nhomescreen\x120\n\x12_passphrase_source\x18\x05\x20\x01(\rR\x10Pa\
+ ssphraseSourceB\x02\x18\x01\x12+\n\x12auto_lock_delay_ms\x18\x06\x20\x01\
+ (\rR\x0fautoLockDelayMs\x12Y\n\x10display_rotation\x18\x07\x20\x01(\x0e2\
+ ..hw.trezor.messages.management.DisplayRotationR\x0fdisplayRotation\x12=\
+ \n\x1bpassphrase_always_on_device\x18\x08\x20\x01(\x08R\x18passphraseAlw\
+ aysOnDevice\x12T\n\rsafety_checks\x18\t\x20\x01(\x0e2/.hw.trezor.message\
+ s.management.SafetyCheckLevelR\x0csafetyChecks\x123\n\x15experimental_fe\
+ atures\x18\n\x20\x01(\x08R\x14experimentalFeatures\x129\n\x19hide_passph\
+ rase_from_host\x18\x0b\x20\x01(\x08R\x16hidePassphraseFromHost\x12'\n\
+ \x0fhaptic_feedback\x18\r\x20\x01(\x08R\x0ehapticFeedback\x12+\n\x11home\
+ screen_length\x18\x0e\x20\x01(\rR\x10homescreenLength\x12:\n\x1aauto_loc\
+ k_delay_battery_ms\x18\x0f\x20\x01(\rR\x16autoLockDelayBatteryMs\"T\n\
+ \x0eChangeLanguage\x12\x1f\n\x0bdata_length\x18\x01\x20\x02(\rR\ndataLen\
+ gth\x12!\n\x0cshow_display\x18\x02\x20\x01(\x08R\x0bshowDisplay\"T\n\x10\
+ DataChunkRequest\x12\x1f\n\x0bdata_length\x18\x01\x20\x02(\rR\ndataLengt\
+ h\x12\x1f\n\x0bdata_offset\x18\x02\x20\x02(\rR\ndataOffset\"-\n\x0cDataC\
+ hunkAck\x12\x1d\n\ndata_chunk\x18\x01\x20\x02(\x0cR\tdataChunk\"\"\n\nAp\
+ plyFlags\x12\x14\n\x05flags\x18\x01\x20\x02(\rR\x05flags\"#\n\tChangePin\
+ \x12\x16\n\x06remove\x18\x01\x20\x01(\x08R\x06remove\"(\n\x0eChangeWipeC\
+ ode\x12\x16\n\x06remove\x18\x01\x20\x01(\x08R\x06remove\"\xaa\x01\n\tSdP\
+ rotect\x12]\n\toperation\x18\x01\x20\x02(\x0e2?.hw.trezor.messages.manag\
+ ement.SdProtect.SdProtectOperationTypeR\toperation\">\n\x16SdProtectOper\
+ ationType\x12\x0b\n\x07DISABLE\x10\0\x12\n\n\x06ENABLE\x10\x01\x12\x0b\n\
+ \x07REFRESH\x10\x02\"O\n\x04Ping\x12\x1a\n\x07message\x18\x01\x20\x01(\t\
+ :\0R\x07message\x12+\n\x11button_protection\x18\x02\x20\x01(\x08R\x10but\
+ tonProtection\"\x08\n\x06Cancel\"\x20\n\nGetEntropy\x12\x12\n\x04size\
+ \x18\x01\x20\x02(\rR\x04size\"#\n\x07Entropy\x12\x18\n\x07entropy\x18\
+ \x01\x20\x02(\x0cR\x07entropy\"/\n\x0fGetFirmwareHash\x12\x1c\n\tchallen\
+ ge\x18\x01\x20\x01(\x0cR\tchallenge\"\"\n\x0cFirmwareHash\x12\x12\n\x04h\
+ ash\x18\x01\x20\x02(\x0cR\x04hash\"2\n\x12AuthenticateDevice\x12\x1c\n\t\
+ challenge\x18\x01\x20\x02(\x0cR\tchallenge\"\x9b\x02\n\x11AuthenticityPr\
+ oof\x12/\n\x13optiga_certificates\x18\x01\x20\x03(\x0cR\x12optigaCertifi\
+ cates\x12)\n\x10optiga_signature\x18\x02\x20\x02(\x0cR\x0foptigaSignatur\
+ e\x12/\n\x13tropic_certificates\x18\x03\x20\x03(\x0cR\x12tropicCertifica\
+ tes\x12)\n\x10tropic_signature\x18\x04\x20\x01(\x0cR\x0ftropicSignature\
+ \x12)\n\x10mcu_certificates\x18\x05\x20\x03(\x0cR\x0fmcuCertificates\x12\
+ #\n\rmcu_signature\x18\x06\x20\x01(\x0cR\x0cmcuSignature\"\x0c\n\nWipeDe\
+ vice\"\xda\x02\n\nLoadDevice\x12\x1c\n\tmnemonics\x18\x01\x20\x03(\tR\tm\
+ nemonics\x12\x10\n\x03pin\x18\x03\x20\x01(\tR\x03pin\x123\n\x15passphras\
+ e_protection\x18\x04\x20\x01(\x08R\x14passphraseProtection\x12\x1e\n\x08\
+ language\x18\x05\x20\x01(\tR\x08languageB\x02\x18\x01\x12\x14\n\x05label\
+ \x18\x06\x20\x01(\tR\x05label\x12#\n\rskip_checksum\x18\x07\x20\x01(\x08\
+ R\x0cskipChecksum\x12\x1f\n\x0bu2f_counter\x18\x08\x20\x01(\rR\nu2fCount\
+ er\x12!\n\x0cneeds_backup\x18\t\x20\x01(\x08R\x0bneedsBackup\x12\x1b\n\t\
+ no_backup\x18\n\x20\x01(\x08R\x08noBackup\x12+\n\x11unfinished_backup\
+ \x18\x0b\x20\x01(\x08R\x10unfinishedBackup\"\xf8\x03\n\x0bResetDevice\
+ \x12\x1f\n\x08strength\x18\x02\x20\x01(\r:\x03256R\x08strength\x123\n\
+ \x15passphrase_protection\x18\x03\x20\x01(\x08R\x14passphraseProtection\
+ \x12%\n\x0epin_protection\x18\x04\x20\x01(\x08R\rpinProtection\x12\x1e\n\
+ \x08language\x18\x05\x20\x01(\tR\x08languageB\x02\x18\x01\x12\x14\n\x05l\
+ abel\x18\x06\x20\x01(\tR\x05label\x12\x1f\n\x0bu2f_counter\x18\x07\x20\
+ \x01(\rR\nu2fCounter\x12\x1f\n\x0bskip_backup\x18\x08\x20\x01(\x08R\nski\
+ pBackup\x12\x1b\n\tno_backup\x18\t\x20\x01(\x08R\x08noBackup\x12Q\n\x0bb\
+ ackup_type\x18\n\x20\x01(\x0e2).hw.trezor.messages.management.BackupType\
+ :\x05Bip39R\nbackupType\x12#\n\rentropy_check\x18\x0b\x20\x01(\x08R\x0ce\
+ ntropyCheck\x12Y\n\rbackup_method\x18\x0c\x20\x01(\x0e2+.hw.trezor.messa\
+ ges.management.BackupMethod:\x07DisplayR\x0cbackupMethodJ\x04\x08\x01\
+ \x10\x02\"\xc0\x02\n\x0cBackupDevice\x12'\n\x0fgroup_threshold\x18\x01\
+ \x20\x01(\rR\x0egroupThreshold\x12O\n\x06groups\x18\x02\x20\x03(\x0b27.h\
+ w.trezor.messages.management.BackupDevice.Slip39GroupR\x06groups\x12Y\n\
+ \rbackup_method\x18\x03\x20\x01(\x0e2+.hw.trezor.messages.management.Bac\
+ kupMethod:\x07DisplayR\x0cbackupMethod\x1a[\n\x0bSlip39Group\x12)\n\x10m\
+ ember_threshold\x18\x01\x20\x02(\rR\x0fmemberThreshold\x12!\n\x0cmember_\
+ count\x18\x02\x20\x02(\rR\x0bmemberCount\"b\n\x0eEntropyRequest\x12-\n\
+ \x12entropy_commitment\x18\x01\x20\x01(\x0cR\x11entropyCommitment\x12!\n\
+ \x0cprev_entropy\x18\x02\x20\x01(\x0cR\x0bprevEntropy\"&\n\nEntropyAck\
+ \x12\x18\n\x07entropy\x18\x01\x20\x02(\x0cR\x07entropy\"\x13\n\x11Entrop\
+ yCheckReady\"5\n\x14EntropyCheckContinue\x12\x1d\n\x06finish\x18\x01\x20\
+ \x01(\x08:\x05falseR\x06finish\"\xdf\x04\n\x0eRecoveryDevice\x12\x1d\n\n\
+ word_count\x18\x01\x20\x01(\rR\twordCount\x123\n\x15passphrase_protectio\
+ n\x18\x02\x20\x01(\x08R\x14passphraseProtection\x12%\n\x0epin_protection\
+ \x18\x03\x20\x01(\x08R\rpinProtection\x12\x1e\n\x08language\x18\x04\x20\
+ \x01(\tR\x08languageB\x02\x18\x01\x12\x14\n\x05label\x18\x05\x20\x01(\tR\
+ \x05label\x12)\n\x10enforce_wordlist\x18\x06\x20\x01(\x08R\x0fenforceWor\
+ dlist\x12j\n\x0cinput_method\x18\x08\x20\x01(\x0e2G.hw.trezor.messages.m\
+ anagement.RecoveryDevice.RecoveryDeviceInputMethodR\x0binputMethod\x12\
+ \x1f\n\x0bu2f_counter\x18\t\x20\x01(\rR\nu2fCounter\x12O\n\x04type\x18\n\
+ \x20\x01(\x0e2+.hw.trezor.messages.management.RecoveryType:\x0eNormalRec\
+ overyR\x04type\x12P\n\rbackup_method\x18\x0b\x20\x01(\x0e2+.hw.trezor.me\
+ ssages.management.BackupMethodR\x0cbackupMethod\";\n\x19RecoveryDeviceIn\
+ putMethod\x12\x12\n\x0eScrambledWords\x10\0\x12\n\n\x06Matrix\x10\x01J\
+ \x04\x08\x07\x10\x08\"\xc5\x01\n\x0bWordRequest\x12N\n\x04type\x18\x01\
+ \x20\x02(\x0e2:.hw.trezor.messages.management.WordRequest.WordRequestTyp\
+ eR\x04type\"f\n\x0fWordRequestType\x12\x19\n\x15WordRequestType_Plain\
+ \x10\0\x12\x1b\n\x17WordRequestType_Matrix9\x10\x01\x12\x1b\n\x17WordReq\
+ uestType_Matrix6\x10\x02\"\x1d\n\x07WordAck\x12\x12\n\x04word\x18\x01\
+ \x20\x02(\tR\x04word\"0\n\rSetU2FCounter\x12\x1f\n\x0bu2f_counter\x18\
+ \x01\x20\x02(\rR\nu2fCounter\"\x13\n\x11GetNextU2FCounter\"1\n\x0eNextU2\
+ FCounter\x12\x1f\n\x0bu2f_counter\x18\x01\x20\x02(\rR\nu2fCounter\"\x11\
+ \n\x0fDoPreauthorized\"\x16\n\x14PreauthorizedRequest\"\x15\n\x13CancelA\
+ uthorization\"\xeb\x01\n\x12RebootToBootloader\x12o\n\x0cboot_command\
+ \x18\x01\x20\x01(\x0e2=.hw.trezor.messages.management.RebootToBootloader\
+ .BootCommand:\rSTOP_AND_WAITR\x0bbootCommand\x12'\n\x0ffirmware_header\
+ \x18\x02\x20\x01(\x0cR\x0efirmwareHeader\"5\n\x0bBootCommand\x12\x11\n\r\
+ STOP_AND_WAIT\x10\0\x12\x13\n\x0fINSTALL_UPGRADE\x10\x01J\x04\x08\x03\
+ \x10\x04\"\n\n\x08GetNonce\"\x1d\n\x05Nonce\x12\x14\n\x05nonce\x18\x01\
+ \x20\x02(\x0cR\x05nonce\";\n\nUnlockPath\x12\x1b\n\taddress_n\x18\x01\
+ \x20\x03(\rR\x08addressN\x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"\
+ '\n\x13UnlockedPathRequest\x12\x10\n\x03mac\x18\x01\x20\x02(\x0cR\x03mac\
+ \"\x14\n\x12ShowDeviceTutorial\"\x12\n\x10UnlockBootloader\"%\n\rSetBrig\
+ htness\x12\x14\n\x05value\x18\x01\x20\x01(\rR\x05value\"\x11\n\x0fGetSer\
+ ialNumber\"3\n\x0cSerialNumber\x12#\n\rserial_number\x18\x01\x20\x02(\tR\
+ \x0cserialNumber*\x99\x01\n\nBackupType\x12\t\n\x05Bip39\x10\0\x12\x10\n\
+ \x0cSlip39_Basic\x10\x01\x12\x13\n\x0fSlip39_Advanced\x10\x02\x12\x1c\n\
+ \x18Slip39_Single_Extendable\x10\x03\x12\x1b\n\x17Slip39_Basic_Extendabl\
+ e\x10\x04\x12\x1e\n\x1aSlip39_Advanced_Extendable\x10\x05*%\n\x0cBackupM\
+ ethod\x12\x0b\n\x07Display\x10\0\x12\x08\n\x04N4W1\x10\x01*G\n\x10Safety\
+ CheckLevel\x12\n\n\x06Strict\x10\0\x12\x10\n\x0cPromptAlways\x10\x01\x12\
+ \x15\n\x11PromptTemporarily\x10\x02*=\n\x0fDisplayRotation\x12\t\n\x05No\
+ rth\x10\0\x12\x08\n\x04East\x10Z\x12\n\n\x05South\x10\xb4\x01\x12\t\n\
+ \x04West\x10\x8e\x02*0\n\x10HomescreenFormat\x12\x08\n\x04Toif\x10\x01\
+ \x12\x08\n\x04Jpeg\x10\x02\x12\x08\n\x04ToiG\x10\x03*H\n\x0cRecoveryType\
+ \x12\x12\n\x0eNormalRecovery\x10\0\x12\n\n\x06DryRun\x10\x01\x12\x18\n\
+ \x14UnlockRepeatedBackup\x10\x02BB\n#com.satoshilabs.trezor.lib.protobuf\
+ B\x17TrezorMessageManagement\x80\xa6\x1d\x01\
";
/// `FileDescriptorProto` object which was a source for this generated file
diff --git a/tests/click_tests/device_menu/common.py b/tests/click_tests/device_menu/common.py
index d071f9d1..42aaaa9d 100644
--- a/tests/click_tests/device_menu/common.py
+++ b/tests/click_tests/device_menu/common.py
@@ -215,6 +215,8 @@ class Menu(Enum):
TR.brightness__title,
]
)
+ if features.tap_to_wake is not None:
+ content.append(TR.words__tap_to_wake)
if features.haptic_feedback is not None:
content.append(TR.haptic_feedback__title)
content.append(TR.led__title)
diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json
index 2ffc29f5..29339bbd 100644
--- a/tests/ui_tests/fixtures.json
+++ b/tests/ui_tests/fixtures.json
@@ -32732,17 +32732,17 @@
"T3W1_cs_device_menu-test_check_backup.py::test_backup_needed_fails": "70189256d6fdc7d2f72acfd8282e06e600a6dc20f61db99583ab1ee13771546c",
"T3W1_cs_device_menu-test_check_backup.py::test_no_backup_fails": "d3b1c8ee4fc3b1132ea0256b3c7c6fa0c3c7955deaaaa4311201ea377e71afa9",
"T3W1_cs_device_menu-test_check_backup.py::test_uninitialized_fails": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
-"T3W1_cs_device_menu-test_device_settings.py::test_brightness": "b28a907e8ef766d84e90c8795ac288b16714161da4103af3bd95251687bb93d7",
+"T3W1_cs_device_menu-test_device_settings.py::test_brightness": "dce2af3e760ad8cd1d780109297cd0b367c0c30fc4cdfba55d7dd84a432f1a17",
"T3W1_cs_device_menu-test_device_settings.py::test_device_settings_uninitialized": "9310187c828a5b8d90aa83b947165c8a19386275fa4cb5fdcbd246d65d9a846d",
"T3W1_cs_device_menu-test_device_settings.py::test_toggle_haptic": "25675032fe6b1628161f0cd2398edae2feace6873ae31c44ce545c91f7ced796",
-"T3W1_cs_device_menu-test_device_settings.py::test_toggle_led": "dd6d8604fa95267e1f99fcaa5991f1311278a957de39ff454c8763d7d2115792",
-"T3W1_cs_device_menu-test_label.py::test_change_label": "9ce01c8fa7714bcca8f0a15bd09561128fe593722c8b872cc1f95ad04d4ae3f3",
-"T3W1_cs_device_menu-test_label.py::test_label_cancel": "4dccd5ff262712b8b5e6a98d2b51d710a6684b3bd63977adaa877530a81edebb",
-"T3W1_cs_device_menu-test_label.py::test_label_click_same_button_many_times": "9a890f36ba9353b41f30a06736609ac6fcefbdc5e6e60e62615e77c08eaae914",
-"T3W1_cs_device_menu-test_label.py::test_label_cycle_through_last_character": "f3a1acbd74ab5b9968f47ac8f7608c1f1804ba2da535aef3ca1b60a9f7f6bfae",
-"T3W1_cs_device_menu-test_label.py::test_label_empty": "764e71f96a1c44c41f06f2ea476c22beb3ffa708c5672a231ccc23e080f32788",
-"T3W1_cs_device_menu-test_label.py::test_label_loop_all_categories": "221c96185387c0e465e104e59371b2a9c39d3317fd08f008115732eff9671dfc",
-"T3W1_cs_device_menu-test_label.py::test_label_over_32_chars": "d6b904319424fc8ed6e1d8d79a549c8f418bce62385c64061f21fbd25d53fed7",
+"T3W1_cs_device_menu-test_device_settings.py::test_toggle_led": "65a282d79e3d4da0433f69536cd4d8e738404271cd8f3d2050566d5bdfc29df5",
+"T3W1_cs_device_menu-test_label.py::test_change_label": "02a944e9b97a7244043cb62e2d578102b9d442db22d0c55a0678179755888e84",
+"T3W1_cs_device_menu-test_label.py::test_label_cancel": "aeb8c0ddcd87b64348ec6c0fb114fffd18c70f8d6f554e36775a03c8e0fc59c8",
+"T3W1_cs_device_menu-test_label.py::test_label_click_same_button_many_times": "52b145296e85f64e0c73e8b123070b18e6c61a0a044b2e44566ea6781f57c815",
+"T3W1_cs_device_menu-test_label.py::test_label_cycle_through_last_character": "7e7ea9c4df6695f348d26cb20a64ae9a33fc650eb0ef4238d0818d87a0cf802e",
+"T3W1_cs_device_menu-test_label.py::test_label_empty": "d67a2e8531912f857854d767eebb7d2f76d1003f0de57fb4baf38114fc1abdb3",
+"T3W1_cs_device_menu-test_label.py::test_label_loop_all_categories": "d21806ecfb863e9bc8555f31f90de5bde93a710d74e1b8d006a7012d331b0a79",
+"T3W1_cs_device_menu-test_label.py::test_label_over_32_chars": "be3c1c0157eedea2b89136605b6b90f206fb0b7ccbaa4556b6619ac857152179",
"T3W1_cs_device_menu-test_label.py::test_label_uninitialized": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
"T3W1_cs_device_menu-test_notifications.py::test_backup_failed": "ffe55a41d36a0df4edb197682700ba68215e7e65dee16753a3add5cd160ba9ef",
"T3W1_cs_device_menu-test_notifications.py::test_backup_needed": "f46d81686871521c1091ab18db1629cb3d95a87ddbff6c05bf33c4b765fdd501",
@@ -32754,8 +32754,8 @@
"T3W1_cs_device_menu-test_pin.py::test_pin_remove": "1a18ec97477e9ae9907fcc30760c47133f8cc1ff9b460b49baa91c4f35266167",
"T3W1_cs_device_menu-test_pin.py::test_pin_setup": "485b8ddace048838195fba6c3fe67e47ab92ed6f1f4746a3673ac2dc0b310e94",
"T3W1_cs_device_menu-test_pin.py::test_pin_uninitialized": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
-"T3W1_cs_device_menu-test_traverse_menu.py::test_traverse_initialized": "679502d8fc45824f0cb16c482f990b1e8d48bb9d09b007670d749d4ccbff8fd4",
-"T3W1_cs_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "46e40ebde2e6d1a4c202f8583115bf02e91d44e51d6f83aab87a663cdc77a68f",
+"T3W1_cs_device_menu-test_traverse_menu.py::test_traverse_initialized": "995a7bd98c25b93e73c2428b4b15269d8c9800af997b69a86a67817909f23b7d",
+"T3W1_cs_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "5ae4ebeabb73b120db1b8345ec44113d16855445687dd735fd3f0d511b09c75c",
"T3W1_cs_device_menu-test_traverse_menu.py::test_traverse_uninitialized": "ec02f9eecd9c587efd4908e4790f99f67217da2e903e22223a7368ea73c2d112",
"T3W1_cs_device_menu-test_wipe_code.py::test_remove_pin_without_removing_wipe_code": "4de505498ea734f182fef87afa280b374e0aa535043f635bcdb4d2ec716f129d",
"T3W1_cs_device_menu-test_wipe_code.py::test_wipe_code_cancel_intro": "ffb9c52eed86827304c6a994911688eb669ab13d541410b71d8106946816f372",
@@ -32765,7 +32765,7 @@
"T3W1_cs_device_menu-test_wipe_code.py::test_wipe_code_same_as_pin": "82fc709db43deed30b88113c7e67caf3c1eaf78fdbbcdf1ed7a7a22aa684cb37",
"T3W1_cs_device_menu-test_wipe_code.py::test_wipe_code_setup": "f29f5c8701c1f37f165882994cce1ad0e0d2b98ce6a82dcdc7f661e1d7ae68f7",
"T3W1_cs_device_menu-test_wipe_code.py::test_wipe_code_setup_pin_unset": "25675032fe6b1628161f0cd2398edae2feace6873ae31c44ce545c91f7ced796",
-"T3W1_cs_device_menu-test_wipe_device.py::test_wipe": "8c6e2d0fa41b1e5f36ac57ce1a6efb4b8ea788edd666e40769d977a071494b60",
+"T3W1_cs_device_menu-test_wipe_device.py::test_wipe": "cc8a122d7f74a15ac5c139ae30127eadce21e981f291ef39a79ad77aa57748af",
"T3W1_cs_test_autolock.py::test_autolock_does_not_interrupt_preauthorized": "5a4b3f7f5441b009e817e4cff10daf1bd96cf474153f836818d45b2be032e2d0",
"T3W1_cs_test_autolock.py::test_autolock_does_not_interrupt_signing": "bae5f2b92e4393e0f8529d10df23a21628fb7864476e66a677d85f5427b78eec",
"T3W1_cs_test_autolock.py::test_autolock_interrupts_passphrase": "cb0285d16edbfc24bd2623f7bafc9b3a89d801ee3c128af4b7ab42f2cec41d53",
@@ -32837,17 +32837,17 @@
"T3W1_de_device_menu-test_check_backup.py::test_backup_needed_fails": "025d6e72cb36423563dd84ea9724fc180d01d4d9177578768390512e40677770",
"T3W1_de_device_menu-test_check_backup.py::test_no_backup_fails": "c112b56ed07896f2ac69cf8a5ed783235c8ec511e20c07fa87a97511c14142e5",
"T3W1_de_device_menu-test_check_backup.py::test_uninitialized_fails": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
-"T3W1_de_device_menu-test_device_settings.py::test_brightness": "e487da489d3798e5b9e866166f2eb48bec1fd7cdb473575c4c7b7a7b42f786b8",
+"T3W1_de_device_menu-test_device_settings.py::test_brightness": "4cfd862869875d190c6e2cc51fd4654843a92c0f237cdf4c8204a28d01925649",
"T3W1_de_device_menu-test_device_settings.py::test_device_settings_uninitialized": "16f491148842d7269bc9f2b3512c8c158724f4e12ca907832b7eb6cc719e6efa",
"T3W1_de_device_menu-test_device_settings.py::test_toggle_haptic": "aaafdc361a1d1494db1b142427ede204b978fbde090811b1ff02e54df49414f9",
-"T3W1_de_device_menu-test_device_settings.py::test_toggle_led": "bd9c45ddbda6470b74eb3adcbb673eb6e135a83ae2d5aae10f3aefb960ceb914",
-"T3W1_de_device_menu-test_label.py::test_change_label": "235adc41f596e32795552332ea4c205787cdfbfab19352c23f8d7aa4a226aa8c",
-"T3W1_de_device_menu-test_label.py::test_label_cancel": "a94cb7b06976a44a369c43d8a18af1c6856a3aaef3b34ac43b4f7c6727bbbbfe",
-"T3W1_de_device_menu-test_label.py::test_label_click_same_button_many_times": "42a0b6f0ea209c41c2dddbacf6f03bf3fd3991ad500e0e5b93973d7e20d26f86",
-"T3W1_de_device_menu-test_label.py::test_label_cycle_through_last_character": "60568330a53a2f4fad57e397d4748381b4fa3ea61e7be6cb07dcac24918a11b6",
-"T3W1_de_device_menu-test_label.py::test_label_empty": "2824d325645f5c0f3db24d1501e8ea7f5c004bede16430abf4ea1d2bce6f21f4",
-"T3W1_de_device_menu-test_label.py::test_label_loop_all_categories": "c0b31f5f02457bd3b2e7f9d5e09c0d12f0b0e881955dd0bdfcdca0c59f869a83",
-"T3W1_de_device_menu-test_label.py::test_label_over_32_chars": "5d5890764ea79f94e0e5b9475e3cfbba44ea6b30176b91d97a46536c59b5d078",
+"T3W1_de_device_menu-test_device_settings.py::test_toggle_led": "d1b2555304ee73d072f8d5f91023a55066ed051086204e0898db41c9b4da8cd3",
+"T3W1_de_device_menu-test_label.py::test_change_label": "6fd9edd038e8f200ebbe327160702fe3c7f3eba934a6a8875b02bd53ff1901e3",
+"T3W1_de_device_menu-test_label.py::test_label_cancel": "5ac931fa1dabdb1ab0db1df902eaf6a858eed7d2c9a7f7335154ad53a62212db",
+"T3W1_de_device_menu-test_label.py::test_label_click_same_button_many_times": "ef65bfb04418a01d4df893a4ccfef9616d5c5581b1b1bdcf4bcb023614818c10",
+"T3W1_de_device_menu-test_label.py::test_label_cycle_through_last_character": "dac763e76543c2d62b751836179eb148714e370064087d778992f5f9087ff3ca",
+"T3W1_de_device_menu-test_label.py::test_label_empty": "8d23675be56199f1f78989a76d698cd2af6a5f5e8115af22b15d8a7634b7e661",
+"T3W1_de_device_menu-test_label.py::test_label_loop_all_categories": "b94ea5245a8ea92449ca6917262d144091958ae750d78b89cd996a88c33f6f78",
+"T3W1_de_device_menu-test_label.py::test_label_over_32_chars": "07db0eea124b32134077e7595de7bfbb4b3a32da3718f1a10c5ff6d930458083",
"T3W1_de_device_menu-test_label.py::test_label_uninitialized": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
"T3W1_de_device_menu-test_notifications.py::test_backup_failed": "9dff1bc0b8bed0298f3480f776fe07c0822b37ab5a2cd789f18ee7f5c99ba45d",
"T3W1_de_device_menu-test_notifications.py::test_backup_needed": "a832cc9b7ea9ed485803493147932c6529cc3956a9f4f2a09228a6544fd7d4d8",
@@ -32859,8 +32859,8 @@
"T3W1_de_device_menu-test_pin.py::test_pin_remove": "0f86f502dd2c78eca10b7521ad07f19ac6c38a7f814d5f1ea1276f2322d9e81f",
"T3W1_de_device_menu-test_pin.py::test_pin_setup": "a666c4a628a0b55379c9d13eae306ec4617e1c1c99c02fd57f2bcf974047de78",
"T3W1_de_device_menu-test_pin.py::test_pin_uninitialized": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
-"T3W1_de_device_menu-test_traverse_menu.py::test_traverse_initialized": "70ac41169779ad72710c61f851bee52b91b22eb61aacdad12fbd426bc23d2eda",
-"T3W1_de_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "3973cf553d339031e5d589c42defd0d64bc0a390c838faf429b4c2fa46ee34c8",
+"T3W1_de_device_menu-test_traverse_menu.py::test_traverse_initialized": "cbf437413198f03ad8ae4a2bb92275fe4bfefea7c042670bba66b2658bc96a9a",
+"T3W1_de_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "d5e9839bf3527e627e0e0703cc02e31317f13e9ad26c0d79e4c6bc9b61f10337",
"T3W1_de_device_menu-test_traverse_menu.py::test_traverse_uninitialized": "4970812cb85f869115e84a7ec625574c18d5b57aac09bb395b74d1979f40b30f",
"T3W1_de_device_menu-test_wipe_code.py::test_remove_pin_without_removing_wipe_code": "535c1c045d87853271037bfee341bf7ea225740ca4d8fd57a8803128973a3f4c",
"T3W1_de_device_menu-test_wipe_code.py::test_wipe_code_cancel_intro": "33c4adf75f30bbfe55371de7754546306722766487f5bb90b3180165db6920a9",
@@ -32870,7 +32870,7 @@
"T3W1_de_device_menu-test_wipe_code.py::test_wipe_code_same_as_pin": "ac9882317766cf2c9dfe30076d64f22e42e026123a2acdb632c32fe256ceff19",
"T3W1_de_device_menu-test_wipe_code.py::test_wipe_code_setup": "e2d8bc52166cdf8ece7cc2f79b13901119794c12575a9e5cb8b694d43972daba",
"T3W1_de_device_menu-test_wipe_code.py::test_wipe_code_setup_pin_unset": "aaafdc361a1d1494db1b142427ede204b978fbde090811b1ff02e54df49414f9",
-"T3W1_de_device_menu-test_wipe_device.py::test_wipe": "e54993e8c8191261018e0927e6810bf6925d538dde4f00beb127d4f6cdee205b",
+"T3W1_de_device_menu-test_wipe_device.py::test_wipe": "fa9c7c96f5fa0f32d625386b1f4f4416faf79a977aa496a4d59468c39012424c",
"T3W1_de_test_autolock.py::test_autolock_does_not_interrupt_preauthorized": "2a27fc16e8774d16e0ef5ad50ba2dc7c69e24638c773f7a87c37e643b88cd8d8",
"T3W1_de_test_autolock.py::test_autolock_does_not_interrupt_signing": "6b9057d04e5f5d8e0a98ea602aa24c8625d9d18cb12cb7355384ba8b2be7455c",
"T3W1_de_test_autolock.py::test_autolock_interrupts_passphrase": "dae590913dcbc0f0bd0a3af99af30b8537a57ae68d04d1669e758a93d63bf595",
@@ -32942,17 +32942,17 @@
"T3W1_en_device_menu-test_check_backup.py::test_backup_needed_fails": "30ff50235b953519b241da3611b1c23f53900fd3fbd19c4501040330af5bf186",
"T3W1_en_device_menu-test_check_backup.py::test_no_backup_fails": "b120b6a914412ad038de0ebae75e1d3b58fc348f26d6254f6cfcb60a229c95a4",
"T3W1_en_device_menu-test_check_backup.py::test_uninitialized_fails": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
-"T3W1_en_device_menu-test_device_settings.py::test_brightness": "fbd939e38a5819afa7148ef16d40f8747d5c907da45986ff4dca74fd7c3c9c1f",
+"T3W1_en_device_menu-test_device_settings.py::test_brightness": "686b80d8a514f60b0c15dbc52c2c40cd6133b5af83d3e34cbeb42d4247243069",
"T3W1_en_device_menu-test_device_settings.py::test_device_settings_uninitialized": "fa89cfb1ad9423e2e026f0c11a36b2017053bf0e2b93cf16b1f26b53a253829d",
"T3W1_en_device_menu-test_device_settings.py::test_toggle_haptic": "778dbcfb96e575c652b06902ef2842f6cc261dd3d457cc66b8b6c9338e82e1fb",
-"T3W1_en_device_menu-test_device_settings.py::test_toggle_led": "1f572c0534cdd485710bcd2935b0cfecb29d4c2bec952e5cb644fa57c286ce55",
-"T3W1_en_device_menu-test_label.py::test_change_label": "6a85ac65506b69f9aea78f0b3e9c9236984b126217fbbe01e2b826bddf67255c",
-"T3W1_en_device_menu-test_label.py::test_label_cancel": "9295af662a52cb7e237730250c687bba569b8ea4fd106cb8b860b01852ef1765",
-"T3W1_en_device_menu-test_label.py::test_label_click_same_button_many_times": "110e1ba90e924c3fcbd8569032864128ae8139cd46a97f302533ff8cacfc1123",
-"T3W1_en_device_menu-test_label.py::test_label_cycle_through_last_character": "f02d48953d13c6c547e75c85d663d23e826f842ed6e607245b19144d04adbb1a",
-"T3W1_en_device_menu-test_label.py::test_label_empty": "0c39f588719f61fb8ebc4da6fd8ffadfbe8ea6c32e55383933a6a2c0a03c21af",
-"T3W1_en_device_menu-test_label.py::test_label_loop_all_categories": "c73146e66d747bd09419e080ff3c09b51b2dd2070fc917e58fda60792a7abe10",
-"T3W1_en_device_menu-test_label.py::test_label_over_32_chars": "9a4ec3019db46e676744fbdd5bd839ccb8acaf552a2d7fd75c73d4534f407dde",
+"T3W1_en_device_menu-test_device_settings.py::test_toggle_led": "c7239c1d52e62c92953be383bdfc8f62dcf12b24732d82468598796b3e9a0586",
+"T3W1_en_device_menu-test_label.py::test_change_label": "fcf6acf64a69949f8ba2a4688d4c01f51b96f37b821ccf38b7fc1ba577b07a1e",
+"T3W1_en_device_menu-test_label.py::test_label_cancel": "797055c60e26f93d0f2601e20a3fce14633041bd0b4598fbcf36aebd3b6d9a62",
+"T3W1_en_device_menu-test_label.py::test_label_click_same_button_many_times": "e4bc9f4dc589b5acdcf3dece73382c2e286b49f5762058aea0a84ca1284cac6a",
+"T3W1_en_device_menu-test_label.py::test_label_cycle_through_last_character": "c9278ed40e85c0e1ead877e3525bf9210b43c50064aca883b9cf43b257043998",
+"T3W1_en_device_menu-test_label.py::test_label_empty": "293e756e2b5bfb682e4d1fc487c929247d733c6ae9d2d72159c668eba0133444",
+"T3W1_en_device_menu-test_label.py::test_label_loop_all_categories": "a152cc32af7dac13811d61ffd5f9714d2f146c22b8ba64566c1d067d787e1bf0",
+"T3W1_en_device_menu-test_label.py::test_label_over_32_chars": "df056890b817e8098100fe7cace1ce1f2682f964a77e357c2e70a0575f9593fe",
"T3W1_en_device_menu-test_label.py::test_label_uninitialized": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
"T3W1_en_device_menu-test_notifications.py::test_backup_failed": "1d85dc031b3b03f3aabc945bbc007c8937dd303a49bb2da6df2018d810504f27",
"T3W1_en_device_menu-test_notifications.py::test_backup_needed": "521207cda73f3bc76207b578ea2e5987d7d647af5039a884461720978ba968b9",
@@ -32964,8 +32964,8 @@
"T3W1_en_device_menu-test_pin.py::test_pin_remove": "0d698ed1e469aa2834164fcf9b2172c5f328e643ed1d07c07b085c2a70dc2ea2",
"T3W1_en_device_menu-test_pin.py::test_pin_setup": "80dfa2b061fa2e6fc2ad24541a62856fc234099b14acf438bcb2e58c3bf527b0",
"T3W1_en_device_menu-test_pin.py::test_pin_uninitialized": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
-"T3W1_en_device_menu-test_traverse_menu.py::test_traverse_initialized": "1ae1c66676301738cfa2b43bbdfa9cfcfb043a7e5930a3a5a80ff5e2fb24fbf5",
-"T3W1_en_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "c3b9ec5cc55c36bc22a9470051792038d3070db67d1985e27d5f5cb65278fb9b",
+"T3W1_en_device_menu-test_traverse_menu.py::test_traverse_initialized": "72695257e38cfe553d8951a412083c4ed0397f93537c3c3a38434dd4d1aa2386",
+"T3W1_en_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "4a10cd6cbee384a0a85ba7921c8893a17cf649c449da6b070c8be97d9d101915",
"T3W1_en_device_menu-test_traverse_menu.py::test_traverse_uninitialized": "b312d0a12cf89362e466b54a1898ffd8cdbd08dfe72e8a407d7bae4230ac92f1",
"T3W1_en_device_menu-test_wipe_code.py::test_remove_pin_without_removing_wipe_code": "08e6bf67636c88c7279549aa018f572646a42b44980358fbbfb3e5b3adf96c9d",
"T3W1_en_device_menu-test_wipe_code.py::test_wipe_code_cancel_intro": "8151daa0f305726562343c6d67cb783d36cba68a75e86a209dfbe413262b3a14",
@@ -32975,7 +32975,7 @@
"T3W1_en_device_menu-test_wipe_code.py::test_wipe_code_same_as_pin": "8522b5b13a934941e5ae0620db40a350cbbf83fb4fdd0284424ab6f104535ca5",
"T3W1_en_device_menu-test_wipe_code.py::test_wipe_code_setup": "f8a5cf3ed001eea5bf6e7e8ba967432f783c36adb2584cf5e5e7c1caa8a8b0bd",
"T3W1_en_device_menu-test_wipe_code.py::test_wipe_code_setup_pin_unset": "778dbcfb96e575c652b06902ef2842f6cc261dd3d457cc66b8b6c9338e82e1fb",
-"T3W1_en_device_menu-test_wipe_device.py::test_wipe": "25d6061280d447d025462100034d9202a096ce0844693601f0d88bb9e6f0d190",
+"T3W1_en_device_menu-test_wipe_device.py::test_wipe": "213b1908e75126ad9a825b279e72d06ecfc16b8fa2498a8fce605e1700b9e82d",
"T3W1_en_test_autolock.py::test_autolock_does_not_interrupt_preauthorized": "239694c793043d1ab0b7594ec26e6ba5318a12ff35e53dc7f24b55a4bb50ec3c",
"T3W1_en_test_autolock.py::test_autolock_does_not_interrupt_signing": "3154816f2235e35695c4180c8ea092e40e2f6dccba691c190b1347a327552257",
"T3W1_en_test_autolock.py::test_autolock_interrupts_passphrase": "08ed15361a605ad7b5a91259be68502ecc512ddbb6d3f70498969f29c71569c7",
@@ -33047,17 +33047,17 @@
"T3W1_es_device_menu-test_check_backup.py::test_backup_needed_fails": "d8541dfb02b95771b895e11798dcaa4dd4d2180b49fa6122e395e54de56f2d6c",
"T3W1_es_device_menu-test_check_backup.py::test_no_backup_fails": "ee342d1baa6c0d4392473cba41e44accf3a72593f6b6d4d36e2307cd44e028a5",
"T3W1_es_device_menu-test_check_backup.py::test_uninitialized_fails": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
-"T3W1_es_device_menu-test_device_settings.py::test_brightness": "688da4489d80cb59f54dc4b8fe3dea9d84592e4f75ec5e4725f311f073d30d4e",
+"T3W1_es_device_menu-test_device_settings.py::test_brightness": "f02e083e707595a38c3763e32e4ff4e12d240d617f310b545e63fa2faeed024f",
"T3W1_es_device_menu-test_device_settings.py::test_device_settings_uninitialized": "670ad5d4221abfb9e2473438248d1d1523497ed18bf70b5290fda62c19ee4d62",
"T3W1_es_device_menu-test_device_settings.py::test_toggle_haptic": "ea59c9d24216e9bad1b1fdd99068e34dbc5beeea54b06c34219d37720f17a470",
-"T3W1_es_device_menu-test_device_settings.py::test_toggle_led": "06a804e28a1c81b6be41d11afeffbbbae4e9e75619958b3c8d7cdf2fa35d8a6a",
-"T3W1_es_device_menu-test_label.py::test_change_label": "255d2edad93a960e12ba7f516cd41cbd7ac91ca151519292b2a3bdac7d4c8ecd",
-"T3W1_es_device_menu-test_label.py::test_label_cancel": "dc9e8a672b50ef3381658a44a1cb66eecff5c22dc5c56ad14a8aa1db752aaf2e",
-"T3W1_es_device_menu-test_label.py::test_label_click_same_button_many_times": "2d7f15efdfcadfb38cd904a0d1db6410a0070e463673ae4fcad6cfc7b8ae6738",
-"T3W1_es_device_menu-test_label.py::test_label_cycle_through_last_character": "d222f3501c7756f567e78f81362d79b482a7b1cd3423ff048e5a715ff5873636",
-"T3W1_es_device_menu-test_label.py::test_label_empty": "1eaabd9b51e55616e67b37fa0461959d10ebdd17d399181bcb8f83d9fc460585",
-"T3W1_es_device_menu-test_label.py::test_label_loop_all_categories": "fcd4edc17f04ccc41a1e02d49393b576fcddbbab5d751c473123e156a1c51d57",
-"T3W1_es_device_menu-test_label.py::test_label_over_32_chars": "dcf111acd3542ef3adbc095a2cf050c8e5ef3c2ee69583b8490de224ad53659c",
+"T3W1_es_device_menu-test_device_settings.py::test_toggle_led": "48bba98df82f83294c2b275151c667efb44e05051661b91aee4f2add003eb394",
+"T3W1_es_device_menu-test_label.py::test_change_label": "f847ccd46dae3203cf2ca0f2a435fc2942aa9c6a2ac1a96175b133aa4e36cd1e",
+"T3W1_es_device_menu-test_label.py::test_label_cancel": "7bdb6821c811f1ff0b4d02a2e58922f2c7e50fb101a23afe1a0a0a8a6fc69d1c",
+"T3W1_es_device_menu-test_label.py::test_label_click_same_button_many_times": "d04524b655e5da75d078db7d8a90e5570f95306c3def1a88e87085f0f1417cc1",
+"T3W1_es_device_menu-test_label.py::test_label_cycle_through_last_character": "6f9d5c9a6c602d79ee2113d85399b878a43268389f90e1c14ae23efd9f00e3bc",
+"T3W1_es_device_menu-test_label.py::test_label_empty": "68199b93333899abade61850c2db1b60fc36dfcf2c1d1ca554f08616ba800208",
+"T3W1_es_device_menu-test_label.py::test_label_loop_all_categories": "add28c096d36764afcf5c0cda5bfbf368ea55457abbab831c8f2582123d27dcc",
+"T3W1_es_device_menu-test_label.py::test_label_over_32_chars": "60af2203eb916d3ee13678b3dfa83a0a38b97ef0f8ecc06ceee0a32cafdce7b7",
"T3W1_es_device_menu-test_label.py::test_label_uninitialized": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
"T3W1_es_device_menu-test_notifications.py::test_backup_failed": "a679e53e36cb81d0e60da5ac99e2f44c39bd44446cf797344024d4396c42b80f",
"T3W1_es_device_menu-test_notifications.py::test_backup_needed": "4b3af05ac864a882d8a47706862204c2872c7a9550b8e7f9eaf571153385596a",
@@ -33069,8 +33069,8 @@
"T3W1_es_device_menu-test_pin.py::test_pin_remove": "8afd473630dd5336a1a023e187005d0e1f6753ca286342b3e419cd8066c55cc5",
"T3W1_es_device_menu-test_pin.py::test_pin_setup": "8b3e3fbc2c3bf6d40554f36673b9492a986f8761cdaea64c5c485ddc5d101afe",
"T3W1_es_device_menu-test_pin.py::test_pin_uninitialized": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
-"T3W1_es_device_menu-test_traverse_menu.py::test_traverse_initialized": "7c2a29de55d6d19620348636476106468d70ec5ca87728bee06938ac40a66d8e",
-"T3W1_es_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "de5ec2162beda1b5ef3871e0b2f2bb56e986d18eff03740077d16025c3cc802a",
+"T3W1_es_device_menu-test_traverse_menu.py::test_traverse_initialized": "49df409dd9bbaec45360438f24dc0f677bda5e707360c1491a608a3d2a31d8ac",
+"T3W1_es_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "847443ff165bf7f7d4e5aeff1e37b6df22f10f60b32fd263719c30da2f344854",
"T3W1_es_device_menu-test_traverse_menu.py::test_traverse_uninitialized": "f29db5060f60416f1a88f344c400d7491b623087728ace12fd2fa265ffbe2301",
"T3W1_es_device_menu-test_wipe_code.py::test_remove_pin_without_removing_wipe_code": "13a38f6fecc44e3747b35155617e6870adb181acd686d08e5c95642b5f3c1896",
"T3W1_es_device_menu-test_wipe_code.py::test_wipe_code_cancel_intro": "090cdddf2436df4b0289c1f2326f2888be2c086953ea928c83736be7259ed481",
@@ -33080,7 +33080,7 @@
"T3W1_es_device_menu-test_wipe_code.py::test_wipe_code_same_as_pin": "98d83934d322ce0890de291354c9ddef164fc2330b84c0656c69f4ec3cd8a016",
"T3W1_es_device_menu-test_wipe_code.py::test_wipe_code_setup": "db659b47f17f709dc6348b420da672379ae4d820f0fe1565db0d84d4322063fd",
"T3W1_es_device_menu-test_wipe_code.py::test_wipe_code_setup_pin_unset": "ea59c9d24216e9bad1b1fdd99068e34dbc5beeea54b06c34219d37720f17a470",
-"T3W1_es_device_menu-test_wipe_device.py::test_wipe": "27948b32dad85cdbb378d34c6078bf216dc0ac6a8558a303d14e9174e436f7df",
+"T3W1_es_device_menu-test_wipe_device.py::test_wipe": "66e58ddbe5d564ae6b92622ae073c477511d6181f63b1b71c6a1bed9329ef77c",
"T3W1_es_test_autolock.py::test_autolock_does_not_interrupt_preauthorized": "45b2c55f5014ac6adec940cfb276eaec56f8261a01a36f9c3b0e891c326cf661",
"T3W1_es_test_autolock.py::test_autolock_does_not_interrupt_signing": "1365f641154eb2a781dfd51eeb022c848273119364acd41fa9d76bab6e156014",
"T3W1_es_test_autolock.py::test_autolock_interrupts_passphrase": "db2fb5c295f565b223a6da1bae3cc7bad0216f62c0ffc6a5f99d7580534a942e",
@@ -33152,17 +33152,17 @@
"T3W1_fr_device_menu-test_check_backup.py::test_backup_needed_fails": "3281fd0aceec1f4401b0fc4710c20ed261a99ae51557943ffc8c3ab6f3d80b9c",
"T3W1_fr_device_menu-test_check_backup.py::test_no_backup_fails": "39d760337d1d96d0cc0d2ec3b62b52c551aa64feb9256e709fa552736ac99806",
"T3W1_fr_device_menu-test_check_backup.py::test_uninitialized_fails": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
-"T3W1_fr_device_menu-test_device_settings.py::test_brightness": "bdc55fc3ab27a555510050f4ac7d4eedfada7f8da1e80f309f6fcc7681dee3b3",
+"T3W1_fr_device_menu-test_device_settings.py::test_brightness": "29d4aaacb355c18898717cbb307d379016725eef75f0dd62ce6686d87f4d2d8a",
"T3W1_fr_device_menu-test_device_settings.py::test_device_settings_uninitialized": "d7de3fdb8dac53b69293dd2fa539bddde36c554aca9ee0516f8d5f28f2ff821f",
"T3W1_fr_device_menu-test_device_settings.py::test_toggle_haptic": "1cceb37657549d7798a606fb01cffd95cdd3ab59cda2e25228d11f1bb906cd31",
-"T3W1_fr_device_menu-test_device_settings.py::test_toggle_led": "44a34e12ed08ecd640e58d35ea08c3d0ab801d24331a870a328eca16e4980656",
-"T3W1_fr_device_menu-test_label.py::test_change_label": "0daecb1a1c48dda7dc678b1eed50905901be61ab87b4264568afa2dd44c95fb8",
-"T3W1_fr_device_menu-test_label.py::test_label_cancel": "58607c0d8cf8305a092f7871343e98d498076d969f11daef1552fdb3acfbbb73",
-"T3W1_fr_device_menu-test_label.py::test_label_click_same_button_many_times": "24fd67eb9f844f65de186260e4043e25dd4869ec2e4ea6c96fa6f0747abb86ba",
-"T3W1_fr_device_menu-test_label.py::test_label_cycle_through_last_character": "42dd00a4201fae9bef1f197a94177ffd79e2db6e2dbd947b60ffcf1151919a47",
-"T3W1_fr_device_menu-test_label.py::test_label_empty": "8652443f2bf631c1e9a6bcf7185e4707168baf437daceb8eb9373f28d3fbb254",
-"T3W1_fr_device_menu-test_label.py::test_label_loop_all_categories": "acf119dac28aa9f614e791d7cddb3ce0ceee2d3ae6dff75225c2d0b56448ed9c",
-"T3W1_fr_device_menu-test_label.py::test_label_over_32_chars": "ba8dc714601a0e5026bd563e65a31e0ae1f85f340f5145134352410cc8c9e0d4",
+"T3W1_fr_device_menu-test_device_settings.py::test_toggle_led": "6059fd94c13f0dfa535e007ae6f7ede07f6c90ede623f876c8384911f2ac81b9",
+"T3W1_fr_device_menu-test_label.py::test_change_label": "b54d5b08011ef7243c8e87a38192d496e6ac5ca7744839bb6f652991c5804525",
+"T3W1_fr_device_menu-test_label.py::test_label_cancel": "ae12d3f337742d2f7800a095448bd2de9264472f56cea10c87b74ec3df3179f6",
+"T3W1_fr_device_menu-test_label.py::test_label_click_same_button_many_times": "5a0de932c6ad7ca3d9f0b7deb88381add7b03461adbcb9783588f9de504a324f",
+"T3W1_fr_device_menu-test_label.py::test_label_cycle_through_last_character": "ad2cd73f90319ba9891aabe0e8d76ea4e574b7c2420fca8d63e2f1ce3d5c8a95",
+"T3W1_fr_device_menu-test_label.py::test_label_empty": "266ef7e861bd31213b72bf88f226e65683e3fd654cf507b6abd5dc7bc4ba63d7",
+"T3W1_fr_device_menu-test_label.py::test_label_loop_all_categories": "2b8b470c6ee808e2f6581cd975dd46a74636818b914f1a4e47f7e3af110ca1c3",
+"T3W1_fr_device_menu-test_label.py::test_label_over_32_chars": "aa378144818eb5a817fa94925a7280c5634879b3f5e5479eb09d72eb64fea03e",
"T3W1_fr_device_menu-test_label.py::test_label_uninitialized": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
"T3W1_fr_device_menu-test_notifications.py::test_backup_failed": "d16523cc99a0feb1250b4d700957ff8f2406773ba4818480a1cc0a00e15da6bd",
"T3W1_fr_device_menu-test_notifications.py::test_backup_needed": "e1b9feb3b753fe184eee4d7efd0d44bc9ead8e7280125b0a9d1ff1493dda2e15",
@@ -33174,8 +33174,8 @@
"T3W1_fr_device_menu-test_pin.py::test_pin_remove": "3a6bda299b21730e7058a5b99567139df4b208417f48a38f536a2f8a0942b602",
"T3W1_fr_device_menu-test_pin.py::test_pin_setup": "42cb786be74117d4079c90d89cec8730996be67b5afb4131e5a55459c95e4a00",
"T3W1_fr_device_menu-test_pin.py::test_pin_uninitialized": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
-"T3W1_fr_device_menu-test_traverse_menu.py::test_traverse_initialized": "846bd18e59ca6574ec0064899d0808caeb7ed4a7c5b82f55139d44b0bbb75881",
-"T3W1_fr_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "48d31807ecaf8eb46db3c681dc2de69eb37fb22dfe1c24cad2dffbdf38faf0a9",
+"T3W1_fr_device_menu-test_traverse_menu.py::test_traverse_initialized": "84a59168a53119e21c11c0115489eac13b87332f6acb8e6a82edef3b8ac4410b",
+"T3W1_fr_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "9f2f9e3ef16ecf44a20531c4953e3470c1642317617b7b089151ac914dae220c",
"T3W1_fr_device_menu-test_traverse_menu.py::test_traverse_uninitialized": "e6eb02c35d729d3498b4731a39a932936c16e3be29cd6a04f04e47928a4abd7a",
"T3W1_fr_device_menu-test_wipe_code.py::test_remove_pin_without_removing_wipe_code": "f6799a2f8760b8a73df40e6d7bd948415d3a6619619355c142197e44aaacec67",
"T3W1_fr_device_menu-test_wipe_code.py::test_wipe_code_cancel_intro": "502f47cf5cb134dfa276fae4d33d065842637e61197c940dd02c18e4827d600d",
@@ -33185,7 +33185,7 @@
"T3W1_fr_device_menu-test_wipe_code.py::test_wipe_code_same_as_pin": "5c007ec8da6a9b14b191b3e67e9228f5089bc37e021e2fe64b6f0d4f264b2921",
"T3W1_fr_device_menu-test_wipe_code.py::test_wipe_code_setup": "a978d68b7c4bad338bb2a6658f39d21d80f163f49b4a812d4a46b3489ae12a20",
"T3W1_fr_device_menu-test_wipe_code.py::test_wipe_code_setup_pin_unset": "1cceb37657549d7798a606fb01cffd95cdd3ab59cda2e25228d11f1bb906cd31",
-"T3W1_fr_device_menu-test_wipe_device.py::test_wipe": "2bc59f95594a3b30973c1b905a0e8949df0e502875a172cf17d94264f66c97c9",
+"T3W1_fr_device_menu-test_wipe_device.py::test_wipe": "9f139c341b45eef657a3d6933a134efce4381317ed812951023ee5c073fa90d2",
"T3W1_fr_test_autolock.py::test_autolock_does_not_interrupt_preauthorized": "118620b6f9755f206b021e35669e277901208b4c078b66479a34810f6ae22c57",
"T3W1_fr_test_autolock.py::test_autolock_does_not_interrupt_signing": "0915d6f68faea9a6eff3122e0b0c1f76d92c29f5ab7ca9853db69e57b4979c4e",
"T3W1_fr_test_autolock.py::test_autolock_interrupts_passphrase": "a8c55a97e837f0f4c067b8336d2e93852345780dff44848a6a7bca3b86c8e7a9",
@@ -33257,17 +33257,17 @@
"T3W1_pt_device_menu-test_check_backup.py::test_backup_needed_fails": "858396b90bbcfdb762abdc5bee7214ac7da7045f8bbc7f3a44fac55042fd7a0c",
"T3W1_pt_device_menu-test_check_backup.py::test_no_backup_fails": "0c8c98f3c30dd77e5fbdf075a8404ec412ea60ecad5f9881486a579b10457089",
"T3W1_pt_device_menu-test_check_backup.py::test_uninitialized_fails": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
-"T3W1_pt_device_menu-test_device_settings.py::test_brightness": "2ec609a09bb7679be5acfffcae2e610256215533fe0be415483a530d4cbe69c9",
+"T3W1_pt_device_menu-test_device_settings.py::test_brightness": "4988947c9823e91f7343d4a3b361421200250e1a14271efe8b0ae1317468a5e5",
"T3W1_pt_device_menu-test_device_settings.py::test_device_settings_uninitialized": "fbc1f3bc2e6ebd05cc017857eb25249f15799675fc493f82a40e59fb78c54f16",
"T3W1_pt_device_menu-test_device_settings.py::test_toggle_haptic": "67695a9de4ea2860aa20568a42ba0dd34e1fdf983ff4cf32347e6dd81e79c6e3",
-"T3W1_pt_device_menu-test_device_settings.py::test_toggle_led": "4bf804f5b69e7c3860623b857bad66c93981042e12a361aa5d462a60d9475754",
-"T3W1_pt_device_menu-test_label.py::test_change_label": "ba0ce6cb9dccd76c38878f090437093ce14211f3755e82ee8889bb7e858255e3",
-"T3W1_pt_device_menu-test_label.py::test_label_cancel": "dabe61d5d421ac18f12b5077beaa8a38bbe26b80fc3608e9906cbd9c4886e211",
-"T3W1_pt_device_menu-test_label.py::test_label_click_same_button_many_times": "42b035d4f3e0844fc877d58a804ea2c81ad1e282ee757c8bfc5c5932ca717c98",
-"T3W1_pt_device_menu-test_label.py::test_label_cycle_through_last_character": "a0fc20498c0655426890d2edd4d7226432b9e7e9c0d35949d5b9016661b76a16",
-"T3W1_pt_device_menu-test_label.py::test_label_empty": "6f138d1d8f5569a35204fddb1a251053065072c4fc09e2dc227a975cb73b9873",
-"T3W1_pt_device_menu-test_label.py::test_label_loop_all_categories": "130f3715baf5f8b4e5163b2a986207bd243eeb7a767152cc2a83cd337fcb0bb4",
-"T3W1_pt_device_menu-test_label.py::test_label_over_32_chars": "e88f1843b3e0faf22272b1564911f2bc90f6933b0a1a0b331a314c964ff75c83",
+"T3W1_pt_device_menu-test_device_settings.py::test_toggle_led": "258b0fb2f90d8251ccb6f1e67df9822adeff0b71b051411c471ec3a6f987a2c9",
+"T3W1_pt_device_menu-test_label.py::test_change_label": "1d85c8571a2389b712583a7e6b1ea000d3a312b58cec8eefd1cedc67769bed35",
+"T3W1_pt_device_menu-test_label.py::test_label_cancel": "c4006ecc5897ddc0deed6d964d3321749b69d0058aac3e0e67bcb4b5d2c53e6a",
+"T3W1_pt_device_menu-test_label.py::test_label_click_same_button_many_times": "04773bc5f83e5dfa784814b1c4a99de99eca06379db3c032c3371b4d5ad99883",
+"T3W1_pt_device_menu-test_label.py::test_label_cycle_through_last_character": "bb23c07f5c990966e046f2a56b79eafdb8c9be39abc5b1680b06b34e85cebaa8",
+"T3W1_pt_device_menu-test_label.py::test_label_empty": "c4408241bf611cf1fb9353ff7bbd25bf52d5a594f84d107a9a7f5d7119b5fef9",
+"T3W1_pt_device_menu-test_label.py::test_label_loop_all_categories": "a49907486503206586252e7d15fddc47b602772915d29ffb8666d623c05bda14",
+"T3W1_pt_device_menu-test_label.py::test_label_over_32_chars": "43d91cd8e2731e4965ad12bd9861280b2d7ed74b7f6c765ce51fcb6be9c41205",
"T3W1_pt_device_menu-test_label.py::test_label_uninitialized": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
"T3W1_pt_device_menu-test_notifications.py::test_backup_failed": "3f6ec1f9e0b7cc940805ff5d89c11949590758fbac9bffe6a1118a2aa73dea75",
"T3W1_pt_device_menu-test_notifications.py::test_backup_needed": "022ee81c5dfa101c14aa745e5aa1d4231cbb88acffd2f4b22062f59c34fc51e7",
@@ -33279,8 +33279,8 @@
"T3W1_pt_device_menu-test_pin.py::test_pin_remove": "defe7d0199550582f80daf19d50d4610beed7abd53210b4dfb41bfb430e02459",
"T3W1_pt_device_menu-test_pin.py::test_pin_setup": "2e9fdfca2d13f1ea41986a8c269168e73e2f19871992199356e5864badafe1ac",
"T3W1_pt_device_menu-test_pin.py::test_pin_uninitialized": "bb5baca9a34168732bf0521a0546df8fc6af1af0145fff6e9d6357f2687a9c35",
-"T3W1_pt_device_menu-test_traverse_menu.py::test_traverse_initialized": "be536cef309934c473c8b38e932eb672dcda0157e2729e45e34b2dad9d97c743",
-"T3W1_pt_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "fa5490c719ca0921570e3f7510bde784e26d84415e131266f54ab5f1e7ed635a",
+"T3W1_pt_device_menu-test_traverse_menu.py::test_traverse_initialized": "a4fbfd0ea41e8733dd91f89dae5593254c120be53a7bc973c420921dcc574b05",
+"T3W1_pt_device_menu-test_traverse_menu.py::test_traverse_initialized_no_pin": "d469b596fab28ae0be9a2306bb8df8349c46bd715a09b4f6e6c26aa8fb01dbf3",
"T3W1_pt_device_menu-test_traverse_menu.py::test_traverse_uninitialized": "06aa3882bbbdaf6a84b5cdbda0706e2af3d8fac9165b80631cb7b8bd98b50e15",
"T3W1_pt_device_menu-test_wipe_code.py::test_remove_pin_without_removing_wipe_code": "caf08d276500e0dd5daa28060969f0951eac8e8ab10b340e67267baed3b1d14f",
"T3W1_pt_device_menu-test_wipe_code.py::test_wipe_code_cancel_intro": "973b8933fb8cec5016ba0db87e88976caa324610a2395c0df2bb3ec98ec944fe",
@@ -33290,7 +33290,7 @@
"T3W1_pt_device_menu-test_wipe_code.py::test_wipe_code_same_as_pin": "a53535e0282e05594a3e26cdda16d74a0db52f93df5ea9ddb6cb675d0ff5e0c5",
"T3W1_pt_device_menu-test_wipe_code.py::test_wipe_code_setup": "725ae800eecd794a32cdb92ce82aa4de4b8dd51a956d82696eb52066d6efe03a",
"T3W1_pt_device_menu-test_wipe_code.py::test_wipe_code_setup_pin_unset": "67695a9de4ea2860aa20568a42ba0dd34e1fdf983ff4cf32347e6dd81e79c6e3",
-"T3W1_pt_device_menu-test_wipe_device.py::test_wipe": "72e6ca91d1bc9c6a1426d69e697a5a9b824119240f49def1f941c4ff3d22984a",
+"T3W1_pt_device_menu-test_wipe_device.py::test_wipe": "2e3f5c7ab614ab1599926a3195113efc2ce47f24c24cba3c6b63ae543059cd2a",
"T3W1_pt_test_autolock.py::test_autolock_does_not_interrupt_preauthorized": "a8990c470716c0a7316b0532df0c0b7408980d3e012f240b00cdf12c6e71d55f",
"T3W1_pt_test_autolock.py::test_autolock_does_not_interrupt_signing": "2a521a29e258e353a9c8656a1be0acf274fe8962b2e8499eee73b197fe93b3fc",
"T3W1_pt_test_autolock.py::test_autolock_interrupts_passphrase": "10e4d98de8ae0e19c5f47bdb2eba59ca9469df25416ab9db060f99000efe54c9",
Why this scored 19/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.