feat(rust/trezor-thp): add example client
What changed, and why it matters
This commit adds example code and development tooling for the Trezor THP (Trezor Host Protocol) Rust library. It is a feature addition containing example clients, generated protobuf bindings, and a renamed example. There is no indication this commit fixes or introduces a security vulnerability in the firmware itself.
No security action required. Treat as normal feature/example code addition. Review the small change to src/channel/host.rs in the full commit to confirm it is also non-security-relevant.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The commit introduces new example programs under rust/trezor-thp/examples/ (host-cli, gen-protobuf, transport-level-ping), adds generated protobuf Rust files for message types, updates Cargo.toml dev-dependencies, and renames the existing ping-emulator example reference in the README. The only non-example source change is a small modification to rust/trezor-thp/src/channel/host.rs (not fully shown in the diff). The code is example/development scaffolding and does not alter the device firmware’s runtime security behavior.
Changed components
rust/trezor-thp/examplesrust/trezor-thp/Cargo.tomlrust/trezor-thp/README.mdrust/trezor-thp/src/channel/host.rsInspect captured patch +24147 / −44
diff --git a/rust/trezor-thp/Cargo.toml b/rust/trezor-thp/Cargo.toml
index d88d7c93..ddb319ac 100644
--- a/rust/trezor-thp/Cargo.toml
+++ b/rust/trezor-thp/Cargo.toml
@@ -17,4 +17,16 @@ git = "https://github.com/trezor/noise-rust"
rev = "916ce4dc25b0dc830832a51f6f37021e2214e4c7"
[dev-dependencies]
+env_logger = "0.11.8"
+getrandom = "0.3.4"
hex = "0.4.3"
+# regenerate examples/host-cli/pb after upgrading protobuf
+protobuf = "=3.7.2"
+protobuf-codegen = "=3.7.2"
+
+[dev-dependencies.trezor-noise-rust-crypto]
+version = "0.6.2"
+default-features = false
+features = ["use-x25519", "use-aes-256-gcm", "use-sha2"]
+git = "https://github.com/trezor/noise-rust"
+rev = "916ce4dc25b0dc830832a51f6f37021e2214e4c7"
diff --git a/rust/trezor-thp/README.md b/rust/trezor-thp/README.md
index 41877384..9a302f48 100644
--- a/rust/trezor-thp/README.md
+++ b/rust/trezor-thp/README.md
@@ -26,7 +26,7 @@ Crates that provide a higher-level interface:
The examples assume Trezor emulator available through UDP.
```console
-cargo run --example ping-emulator
+cargo run --example transport-level-ping
cargo run --example host-cli
```
diff --git a/rust/trezor-thp/examples/gen-protobuf.rs b/rust/trezor-thp/examples/gen-protobuf.rs
new file mode 100644
index 00000000..94d0a663
--- /dev/null
+++ b/rust/trezor-thp/examples/gen-protobuf.rs
@@ -0,0 +1,34 @@
+use std::{
+ fs,
+ path::{Path, PathBuf},
+};
+
+fn main() {
+ let out_path = std::env::args()
+ .nth(1)
+ .expect("Usage: ./gen-protobuf <input-output-dir>");
+ let in_path = out_path.clone();
+
+ let proto_dir = Path::new(&in_path).canonicalize().unwrap();
+ let protos: Vec<PathBuf> = fs::read_dir(&proto_dir)
+ .unwrap()
+ .filter_map(|entry| {
+ let entry = entry.unwrap();
+ let path = entry.path();
+ if path.is_file() && path.extension().map_or(false, |ext| ext == "proto") {
+ Some(path)
+ } else {
+ None
+ }
+ })
+ .collect();
+
+ let out_dir = Path::new(&out_path).canonicalize().unwrap();
+ fs::create_dir_all(&out_dir).expect("Failed to create output directory");
+ protobuf_codegen::Codegen::new()
+ .protoc()
+ .includes(&[proto_dir])
+ .inputs(protos)
+ .out_dir(&out_dir)
+ .run_from_script();
+}
diff --git a/rust/trezor-thp/examples/host-cli/client.rs b/rust/trezor-thp/examples/host-cli/client.rs
new file mode 100644
index 00000000..5be25b7c
--- /dev/null
+++ b/rust/trezor-thp/examples/host-cli/client.rs
@@ -0,0 +1,197 @@
+use std::io::ErrorKind;
+use std::net::{SocketAddr, UdpSocket};
+use std::time::Duration;
+
+use trezor_thp::{
+ Backend, ChannelIO, Error, channel::host::ChannelOpen, credential::CredentialStore,
+};
+
+use protobuf::{Enum, Message};
+
+const ACK_TIMEOUT: Duration = Duration::from_secs(1);
+const READ_TIMEOUT: Duration = Duration::from_secs(30);
+const PACKET_LEN: usize = 64;
+const BUFFER_LEN: usize = 1024;
+
+const MESSAGE_TYPE_BUTTONREQUEST: u16 = 26;
+const MESSAGE_TYPE_BUTTONACK: u16 = 27;
+
+pub struct Client<C> {
+ pub channel: C,
+ socket: UdpSocket,
+ emu_addr: SocketAddr,
+}
+
+impl<C, B> Client<ChannelOpen<C, B>>
+where
+ B: Backend,
+ C: CredentialStore,
+{
+ pub fn open(emu_addr: SocketAddr, channel: ChannelOpen<C, B>) -> Self {
+ Client {
+ channel,
+ socket: UdpSocket::bind("127.0.0.1:0").unwrap(),
+ emu_addr,
+ }
+ }
+}
+
+impl<C: ChannelIO> Client<C> {
+ pub fn map<D>(self, func: impl FnOnce(C) -> D) -> Client<D> {
+ Client {
+ channel: func(self.channel),
+ socket: self.socket,
+ emu_addr: self.emu_addr,
+ }
+ }
+
+ fn send_to(&mut self, buf: &[u8]) {
+ log::trace!("> {}", hex::encode(&buf));
+ self.socket.send_to(buf, self.emu_addr).unwrap();
+ }
+
+ fn recv_from(&mut self, buf: &mut [u8], timeout: Duration) -> Option<usize> {
+ self.socket.set_read_timeout(Some(timeout)).unwrap();
+ let res = self.socket.recv_from(buf);
+ match res {
+ Ok((reply_len, src_addr)) => {
+ assert_eq!(src_addr, self.emu_addr);
+ log::trace!("< {}", hex::encode(&buf[..reply_len]));
+ Some(reply_len)
+ }
+ Err(e) if matches!(e.kind(), ErrorKind::WouldBlock | ErrorKind::TimedOut) => {
+ log::debug!("UDP receive timeout after {:?}.", timeout);
+ None
+ }
+ Err(e) => {
+ log::error!("Cannot read from UDP socket: {}.", e);
+ panic!();
+ }
+ }
+ }
+
+ fn write_ack(&mut self, packet_buffer: &mut [u8]) {
+ self.channel.packet_out(packet_buffer, &[]).unwrap()
+ }
+
+ fn read_ack(&mut self, packet_buffer: &[u8]) -> bool {
+ self.channel
+ .packet_in(packet_buffer, &mut [])
+ .unwrap()
+ .got_ack()
+ }
+
+ pub fn write(&mut self, sid: u8, message_type: u16, message: &[u8]) {
+ let mut send_buffer = vec![0; message.len() + C::BUFFER_OVERHEAD];
+ self.channel
+ .message_in_from(sid, message_type, message, send_buffer.as_mut_slice())
+ .unwrap();
+
+ let mut sockbuf = [0u8; PACKET_LEN];
+ let mut acked = false;
+ while !acked {
+ while self.channel.packet_out_ready() {
+ self.channel
+ .packet_out(&mut sockbuf, send_buffer.as_mut_slice())
+ .unwrap();
+ self.send_to(&sockbuf);
+ sockbuf.fill(0);
+ }
+ // Only true if channel ID is not known, otherwise we need to wait for an ACK.
+ if self.channel.message_in_ready() {
+ break;
+ }
+ while !acked {
+ match self.recv_from(&mut sockbuf, ACK_TIMEOUT) {
+ None => {
+ // timeout
+ self.channel.message_retransmit().unwrap();
+ break;
+ }
+ Some(reply_len) => {
+ acked = self.read_ack(&sockbuf[..reply_len]);
+ }
+ }
+ }
+ }
+ }
+
+ pub fn read(&mut self) -> (u8, u16, Vec<u8>) {
+ let mut recv_buf = vec![0u8; BUFFER_LEN];
+ let mut sockbuf = [0u8; PACKET_LEN];
+ let mut result: Option<(u8, u16, Vec<u8>)> = None;
+ while result.is_none() {
+ let mut message_ready = false;
+ while !message_ready {
+ let Some(reply_len) = self.recv_from(&mut sockbuf, READ_TIMEOUT) else {
+ log::error!("Timed out waiting for response for {:?}.", READ_TIMEOUT);
+ panic!();
+ };
+ message_ready = self
+ .channel
+ .packet_in(&sockbuf[..reply_len], recv_buf.as_mut_slice())
+ .unwrap()
+ .got_message();
+ }
+ result = match self.channel.message_out(recv_buf.as_mut_slice()) {
+ Ok((sid, message_type, message)) => Some((sid, message_type, Vec::from(message))),
+ Err(Error::InvalidChecksum | Error::MalformedData) => {
+ log::error!("Received bad message, waiting for retransmission.");
+ continue;
+ }
+ Err(e) => {
+ log::error!("Cannot read message from channel: {:?}.", e);
+ panic!();
+ }
+ }
+ }
+ // Send ACK
+ sockbuf.fill(0);
+ self.write_ack(&mut sockbuf);
+ self.send_to(&sockbuf);
+ result.unwrap()
+ }
+
+ pub fn call(&mut self, message_type: u16, message: &[u8]) -> (u16, Vec<u8>) {
+ let session_id = 0;
+ log::debug!("write message_type={} len={}", message_type, message.len());
+ self.write(session_id, message_type, message);
+ let res = self.read();
+ log::debug!("read message_type={} len={}", res.1, res.2.len());
+ assert_eq!(res.0, session_id);
+ (res.1, res.2)
+ }
+
+ pub fn write_pb(&mut self, sid: u8, message_type: impl Enum, message: impl Message) {
+ log::debug!("write {:?}", message_type);
+ let message_type: u16 = message_type.value().try_into().unwrap();
+ let message = message.write_to_bytes().unwrap();
+ self.write(sid, message_type, &message);
+ }
+
+ pub fn read_pb<E: Enum, T: Message>(&mut self) -> (u8, E, Option<T>) {
+ let (sid, message_type, message) = self.read();
+ let message_type = E::from_i32(message_type.try_into().unwrap()).unwrap();
+ log::debug!("read {:?}", message_type);
+ let message = T::parse_from_bytes(&message).ok();
+ (sid, message_type, message)
+ }
+
+ pub fn call_pb<T: Message, E: Enum>(
+ &mut self,
+ message_type: E,
+ message: impl Message,
+ expected_reply_type: E,
+ ) -> T {
+ self.write_pb(0, message_type, message);
+ let (mut _sid, mut reply_message_type, mut reply_message) = self.read_pb::<E, T>();
+ while reply_message_type.value() == MESSAGE_TYPE_BUTTONREQUEST.into() {
+ log::debug!("write ButtonAck");
+ self.write(0, MESSAGE_TYPE_BUTTONACK, &[]);
+ println!("PLEASE CONFIRM ON YOUR TREZOR");
+ (_sid, reply_message_type, reply_message) = self.read_pb::<E, T>();
+ }
+ assert_eq!(reply_message_type, expected_reply_type);
+ reply_message.unwrap()
+ }
+}
diff --git a/rust/trezor-thp/examples/host-cli/main.rs b/rust/trezor-thp/examples/host-cli/main.rs
new file mode 100644
index 00000000..ac495af7
--- /dev/null
+++ b/rust/trezor-thp/examples/host-cli/main.rs
@@ -0,0 +1,116 @@
+mod client;
+mod pb;
+
+use std::{env, net::SocketAddr, str::FromStr};
+
+use protobuf::Message;
+
+use trezor_thp::{
+ Backend, Channel, Host,
+ channel::host::{ChannelOpen, ChannelPairing},
+ credential::{CredentialStore, NullCredentialStore},
+};
+
+use client::Client;
+use pb::{
+ messages::MessageType::*, messages_common::*, messages_management::*,
+ messages_thp::ThpMessageType::*, messages_thp::*,
+};
+
+struct RustCrypto;
+
+impl Backend for RustCrypto {
+ type DH = trezor_noise_rust_crypto::X25519;
+ type Cipher = trezor_noise_rust_crypto::Aes256Gcm;
+ type Hash = trezor_noise_rust_crypto::Sha256;
+
+ fn random_bytes(dest: &mut [u8]) {
+ getrandom::fill(dest).unwrap();
+ }
+}
+
+fn do_handshake<C>(client: &mut Client<ChannelOpen<C, RustCrypto>>)
+where
+ C: CredentialStore,
+{
+ // Handshake should finish within 3 request-response cycles.
+ // Device properties and channel id are available after the first one.
+ client.call(0, &[]);
+ let device_properties =
+ ThpDeviceProperties::parse_from_bytes(client.channel.device_properties()).unwrap();
+ log::debug!("Device properties: {:?}.", device_properties);
+ client.call(0, &[]);
+ client.call(0, &[]);
+}
+
+fn do_pairing(client: &mut Client<ChannelPairing<RustCrypto>>) {
+ let device_properties =
+ ThpDeviceProperties::parse_from_bytes(client.channel.device_properties()).unwrap();
+
+ let mut pairing_methods = Vec::new();
+ for p in &device_properties.pairing_methods {
+ if let Ok(method) = p.enum_value() {
+ pairing_methods.push(method);
+ }
+ }
+
+ if pairing_methods.contains(&ThpPairingMethod::SkipPairing) {
+ do_pairing_skip(client)
+ } else {
+ log::error!("Device does not support SkipPairing.");
+ panic!();
+ }
+}
+
+fn do_pairing_skip(client: &mut Client<ChannelPairing<RustCrypto>>) {
+ let mut pairing_request = ThpPairingRequest::new();
+ pairing_request.set_host_name("localhost".into());
+ pairing_request.set_app_name("trezor-thp/examples".into());
+
+ client.call_pb::<ThpPairingRequestApproved, _>(
+ ThpMessageType_ThpPairingRequest,
+ pairing_request,
+ ThpMessageType_ThpPairingRequestApproved,
+ );
+
+ let mut select_method = ThpSelectMethod::new();
+ select_method.set_selected_pairing_method(ThpPairingMethod::SkipPairing);
+ client.call_pb::<ThpEndResponse, _>(
+ ThpMessageType_ThpSelectMethod,
+ select_method,
+ ThpMessageType_ThpEndResponse,
+ );
+}
+
+fn do_ping(client: &mut Client<Channel<Host, RustCrypto>>) {
+ let mut ping = Ping::new();
+ ping.set_message("trezor-thp/examples".into());
+ ping.set_button_protection(true);
+ let success = client.call_pb::<Success, _>(MessageType_Ping, ping, MessageType_Success);
+ println!("{}({})", Success::NAME, success);
+}
+
+fn get_address() -> SocketAddr {
+ let port_str = env::args().nth(1).unwrap_or("21324".to_string());
+ let port = u16::from_str(&port_str).expect("UDP port number");
+ SocketAddr::from(([127, 0, 0, 1], port))
+}
+
+pub fn main() -> std::io::Result<()> {
+ env_logger::init_from_env(env_logger::Env::default().filter_or("RUST_LOG", "info"));
+
+ let cred_lookup = NullCredentialStore;
+ let channel = ChannelOpen::<_, RustCrypto>::new(false, cred_lookup).unwrap();
+ let mut client = Client::open(get_address(), channel);
+
+ do_handshake(&mut client);
+ assert!(client.channel.handshake_done());
+ let mut client = client.map(|c| c.complete().unwrap());
+
+ do_pairing(&mut client);
+ assert!(client.channel.pairing_done());
+ let mut client = client.map(|c| c.complete().unwrap());
+
+ do_ping(&mut client);
+ Ok(())
+}
diff --git a/rust/trezor-thp/examples/host-cli/pb/README.md b/rust/trezor-thp/examples/host-cli/pb/README.md
new file mode 100644
index 00000000..fadc3f1d
--- /dev/null
+++ b/rust/trezor-thp/examples/host-cli/pb/README.md
@@ -0,0 +1 @@
+To regenerate: `cargo run --example gen-protobuf examples/host-cli/pb/`
diff --git a/rust/trezor-thp/examples/host-cli/pb/messages-common.proto b/rust/trezor-thp/examples/host-cli/pb/messages-common.proto
new file mode 120000
index 00000000..1ea8d5f5
--- /dev/null
+++ b/rust/trezor-thp/examples/host-cli/pb/messages-common.proto
@@ -0,0 +1 @@
+../../../../../common/protob/messages-common.proto
\ No newline at end of file
diff --git a/rust/trezor-thp/examples/host-cli/pb/messages-management.proto b/rust/trezor-thp/examples/host-cli/pb/messages-management.proto
new file mode 120000
index 00000000..8ba4a80c
--- /dev/null
+++ b/rust/trezor-thp/examples/host-cli/pb/messages-management.proto
@@ -0,0 +1 @@
+../../../../../common/protob/messages-management.proto
\ No newline at end of file
diff --git a/rust/trezor-thp/examples/host-cli/pb/messages-thp.proto b/rust/trezor-thp/examples/host-cli/pb/messages-thp.proto
new file mode 120000
index 00000000..328d94f1
--- /dev/null
+++ b/rust/trezor-thp/examples/host-cli/pb/messages-thp.proto
@@ -0,0 +1 @@
+../../../../../common/protob/messages-thp.proto
\ No newline at end of file
diff --git a/rust/trezor-thp/examples/host-cli/pb/messages.proto b/rust/trezor-thp/examples/host-cli/pb/messages.proto
new file mode 120000
index 00000000..15acd727
--- /dev/null
+++ b/rust/trezor-thp/examples/host-cli/pb/messages.proto
@@ -0,0 +1 @@
+../../../../../common/protob/messages.proto
\ No newline at end of file
diff --git a/rust/trezor-thp/examples/host-cli/pb/messages.rs b/rust/trezor-thp/examples/host-cli/pb/messages.rs
new file mode 100644
index 00000000..5ac95f7d
--- /dev/null
+++ b/rust/trezor-thp/examples/host-cli/pb/messages.rs
@@ -0,0 +1,2046 @@
+// This file is generated by rust-protobuf 3.7.2. Do not edit
+// .proto file is parsed by protoc 3.19.6
+// @generated
+
+// https://github.com/rust-lang/rust-clippy/issues/702
+#![allow(unknown_lints)]
+#![allow(clippy::all)]
+
+#![allow(unused_attributes)]
+#![cfg_attr(rustfmt, rustfmt::skip)]
+
+#![allow(dead_code)]
+#![allow(missing_docs)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+#![allow(non_upper_case_globals)]
+#![allow(trivial_casts)]
+#![allow(unused_results)]
+#![allow(unused_mut)]
+
+//! Generated file from `messages.proto`
+
+/// Generated files are compatible only with the same version
+/// of protobuf runtime.
+const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_2;
+
+#[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
+// @@protoc_insertion_point(enum:hw.trezor.messages.MessageType)
+pub enum MessageType {
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Initialize)
+ MessageType_Initialize = 0,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Ping)
+ MessageType_Ping = 1,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Success)
+ MessageType_Success = 2,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Failure)
+ MessageType_Failure = 3,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ChangePin)
+ MessageType_ChangePin = 4,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WipeDevice)
+ MessageType_WipeDevice = 5,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetEntropy)
+ MessageType_GetEntropy = 9,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Entropy)
+ MessageType_Entropy = 10,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_LoadDevice)
+ MessageType_LoadDevice = 13,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ResetDevice)
+ MessageType_ResetDevice = 14,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SetBusy)
+ MessageType_SetBusy = 16,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Features)
+ MessageType_Features = 17,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PinMatrixRequest)
+ MessageType_PinMatrixRequest = 18,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PinMatrixAck)
+ MessageType_PinMatrixAck = 19,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Cancel)
+ MessageType_Cancel = 20,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_LockDevice)
+ MessageType_LockDevice = 24,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ApplySettings)
+ MessageType_ApplySettings = 25,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ButtonRequest)
+ MessageType_ButtonRequest = 26,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ButtonAck)
+ MessageType_ButtonAck = 27,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ApplyFlags)
+ MessageType_ApplyFlags = 28,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetNonce)
+ MessageType_GetNonce = 31,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Nonce)
+ MessageType_Nonce = 33,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BackupDevice)
+ MessageType_BackupDevice = 34,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EntropyRequest)
+ MessageType_EntropyRequest = 35,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EntropyAck)
+ MessageType_EntropyAck = 36,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PaymentRequest)
+ MessageType_PaymentRequest = 37,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EntropyCheckReady)
+ MessageType_EntropyCheckReady = 994,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EntropyCheckContinue)
+ MessageType_EntropyCheckContinue = 995,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PassphraseRequest)
+ MessageType_PassphraseRequest = 41,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PassphraseAck)
+ MessageType_PassphraseAck = 42,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RecoveryDevice)
+ MessageType_RecoveryDevice = 45,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WordRequest)
+ MessageType_WordRequest = 46,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WordAck)
+ MessageType_WordAck = 47,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetFeatures)
+ MessageType_GetFeatures = 55,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SdProtect)
+ MessageType_SdProtect = 79,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ChangeWipeCode)
+ MessageType_ChangeWipeCode = 82,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EndSession)
+ MessageType_EndSession = 83,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DoPreauthorized)
+ MessageType_DoPreauthorized = 84,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PreauthorizedRequest)
+ MessageType_PreauthorizedRequest = 85,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CancelAuthorization)
+ MessageType_CancelAuthorization = 86,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RebootToBootloader)
+ MessageType_RebootToBootloader = 87,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetFirmwareHash)
+ MessageType_GetFirmwareHash = 88,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_FirmwareHash)
+ MessageType_FirmwareHash = 89,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_UnlockPath)
+ MessageType_UnlockPath = 93,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_UnlockedPathRequest)
+ MessageType_UnlockedPathRequest = 94,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ShowDeviceTutorial)
+ MessageType_ShowDeviceTutorial = 95,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_UnlockBootloader)
+ MessageType_UnlockBootloader = 96,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_AuthenticateDevice)
+ MessageType_AuthenticateDevice = 97,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_AuthenticityProof)
+ MessageType_AuthenticityProof = 98,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ChangeLanguage)
+ MessageType_ChangeLanguage = 990,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DataChunkRequest)
+ MessageType_DataChunkRequest = 991,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DataChunkAck)
+ MessageType_DataChunkAck = 992,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SetBrightness)
+ MessageType_SetBrightness = 993,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetSerialNumber)
+ MessageType_GetSerialNumber = 996,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SerialNumber)
+ MessageType_SerialNumber = 997,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SetU2FCounter)
+ MessageType_SetU2FCounter = 63,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetNextU2FCounter)
+ MessageType_GetNextU2FCounter = 80,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NextU2FCounter)
+ MessageType_NextU2FCounter = 81,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Deprecated_PassphraseStateRequest)
+ MessageType_Deprecated_PassphraseStateRequest = 77,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Deprecated_PassphraseStateAck)
+ MessageType_Deprecated_PassphraseStateAck = 78,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_FirmwareErase)
+ MessageType_FirmwareErase = 6,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_FirmwareUpload)
+ MessageType_FirmwareUpload = 7,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_FirmwareRequest)
+ MessageType_FirmwareRequest = 8,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ProdTestT1)
+ MessageType_ProdTestT1 = 32,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BleUnpair)
+ MessageType_BleUnpair = 8001,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetPublicKey)
+ MessageType_GetPublicKey = 11,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PublicKey)
+ MessageType_PublicKey = 12,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SignTx)
+ MessageType_SignTx = 15,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TxRequest)
+ MessageType_TxRequest = 21,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TxAck)
+ MessageType_TxAck = 22,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetAddress)
+ MessageType_GetAddress = 29,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_Address)
+ MessageType_Address = 30,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SignMessage)
+ MessageType_SignMessage = 38,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_VerifyMessage)
+ MessageType_VerifyMessage = 39,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MessageSignature)
+ MessageType_MessageSignature = 40,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetOwnershipId)
+ MessageType_GetOwnershipId = 43,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_OwnershipId)
+ MessageType_OwnershipId = 44,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetOwnershipProof)
+ MessageType_GetOwnershipProof = 49,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_OwnershipProof)
+ MessageType_OwnershipProof = 50,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_AuthorizeCoinJoin)
+ MessageType_AuthorizeCoinJoin = 51,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CipherKeyValue)
+ MessageType_CipherKeyValue = 23,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CipheredKeyValue)
+ MessageType_CipheredKeyValue = 48,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SignIdentity)
+ MessageType_SignIdentity = 53,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SignedIdentity)
+ MessageType_SignedIdentity = 54,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetECDHSessionKey)
+ MessageType_GetECDHSessionKey = 61,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ECDHSessionKey)
+ MessageType_ECDHSessionKey = 62,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PaymentNotification)
+ MessageType_PaymentNotification = 52,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkDecision)
+ MessageType_DebugLinkDecision = 100,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkGetState)
+ MessageType_DebugLinkGetState = 101,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkState)
+ MessageType_DebugLinkState = 102,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkStop)
+ MessageType_DebugLinkStop = 103,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkLog)
+ MessageType_DebugLinkLog = 104,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkMemoryRead)
+ MessageType_DebugLinkMemoryRead = 110,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkMemory)
+ MessageType_DebugLinkMemory = 111,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkMemoryWrite)
+ MessageType_DebugLinkMemoryWrite = 112,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkFlashErase)
+ MessageType_DebugLinkFlashErase = 113,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkLayout)
+ MessageType_DebugLinkLayout = 9001,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkReseedRandom)
+ MessageType_DebugLinkReseedRandom = 9002,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkRecordScreen)
+ MessageType_DebugLinkRecordScreen = 9003,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkEraseSdCard)
+ MessageType_DebugLinkEraseSdCard = 9005,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkWatchLayout)
+ MessageType_DebugLinkWatchLayout = 9006,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkResetDebugEvents)
+ MessageType_DebugLinkResetDebugEvents = 9007,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkOptigaSetSecMax)
+ MessageType_DebugLinkOptigaSetSecMax = 9008,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkGetGcInfo)
+ MessageType_DebugLinkGetGcInfo = 9009,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkGcInfo)
+ MessageType_DebugLinkGcInfo = 9010,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkGetPairingInfo)
+ MessageType_DebugLinkGetPairingInfo = 9011,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkPairingInfo)
+ MessageType_DebugLinkPairingInfo = 9012,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugLinkSetLogFilter)
+ MessageType_DebugLinkSetLogFilter = 9013,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumGetPublicKey)
+ MessageType_EthereumGetPublicKey = 450,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumPublicKey)
+ MessageType_EthereumPublicKey = 451,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumGetAddress)
+ MessageType_EthereumGetAddress = 56,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumAddress)
+ MessageType_EthereumAddress = 57,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumSignTx)
+ MessageType_EthereumSignTx = 58,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumSignTxEIP1559)
+ MessageType_EthereumSignTxEIP1559 = 452,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTxRequest)
+ MessageType_EthereumTxRequest = 59,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTxAck)
+ MessageType_EthereumTxAck = 60,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumSignMessage)
+ MessageType_EthereumSignMessage = 64,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumVerifyMessage)
+ MessageType_EthereumVerifyMessage = 65,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumMessageSignature)
+ MessageType_EthereumMessageSignature = 66,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumSignTypedData)
+ MessageType_EthereumSignTypedData = 464,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTypedDataStructRequest)
+ MessageType_EthereumTypedDataStructRequest = 465,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTypedDataStructAck)
+ MessageType_EthereumTypedDataStructAck = 466,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTypedDataValueRequest)
+ MessageType_EthereumTypedDataValueRequest = 467,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTypedDataValueAck)
+ MessageType_EthereumTypedDataValueAck = 468,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumTypedDataSignature)
+ MessageType_EthereumTypedDataSignature = 469,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EthereumSignTypedHash)
+ MessageType_EthereumSignTypedHash = 470,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMGetAddress)
+ MessageType_NEMGetAddress = 67,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMAddress)
+ MessageType_NEMAddress = 68,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMSignTx)
+ MessageType_NEMSignTx = 69,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMSignedTx)
+ MessageType_NEMSignedTx = 70,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMDecryptMessage)
+ MessageType_NEMDecryptMessage = 75,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NEMDecryptedMessage)
+ MessageType_NEMDecryptedMessage = 76,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TezosGetAddress)
+ MessageType_TezosGetAddress = 150,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TezosAddress)
+ MessageType_TezosAddress = 151,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TezosSignTx)
+ MessageType_TezosSignTx = 152,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TezosSignedTx)
+ MessageType_TezosSignedTx = 153,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TezosGetPublicKey)
+ MessageType_TezosGetPublicKey = 154,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TezosPublicKey)
+ MessageType_TezosPublicKey = 155,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarSignTx)
+ MessageType_StellarSignTx = 202,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarTxOpRequest)
+ MessageType_StellarTxOpRequest = 203,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarGetAddress)
+ MessageType_StellarGetAddress = 207,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarAddress)
+ MessageType_StellarAddress = 208,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarCreateAccountOp)
+ MessageType_StellarCreateAccountOp = 210,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarPaymentOp)
+ MessageType_StellarPaymentOp = 211,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarPathPaymentStrictReceiveOp)
+ MessageType_StellarPathPaymentStrictReceiveOp = 212,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarManageSellOfferOp)
+ MessageType_StellarManageSellOfferOp = 213,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarCreatePassiveSellOfferOp)
+ MessageType_StellarCreatePassiveSellOfferOp = 214,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarSetOptionsOp)
+ MessageType_StellarSetOptionsOp = 215,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarChangeTrustOp)
+ MessageType_StellarChangeTrustOp = 216,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarAllowTrustOp)
+ MessageType_StellarAllowTrustOp = 217,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarAccountMergeOp)
+ MessageType_StellarAccountMergeOp = 218,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarManageDataOp)
+ MessageType_StellarManageDataOp = 220,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarBumpSequenceOp)
+ MessageType_StellarBumpSequenceOp = 221,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarManageBuyOfferOp)
+ MessageType_StellarManageBuyOfferOp = 222,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarPathPaymentStrictSendOp)
+ MessageType_StellarPathPaymentStrictSendOp = 223,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarClaimClaimableBalanceOp)
+ MessageType_StellarClaimClaimableBalanceOp = 225,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_StellarSignedTx)
+ MessageType_StellarSignedTx = 230,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoGetPublicKey)
+ MessageType_CardanoGetPublicKey = 305,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoPublicKey)
+ MessageType_CardanoPublicKey = 306,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoGetAddress)
+ MessageType_CardanoGetAddress = 307,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoAddress)
+ MessageType_CardanoAddress = 308,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxItemAck)
+ MessageType_CardanoTxItemAck = 313,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxAuxiliaryDataSupplement)
+ MessageType_CardanoTxAuxiliaryDataSupplement = 314,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxWitnessRequest)
+ MessageType_CardanoTxWitnessRequest = 315,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxWitnessResponse)
+ MessageType_CardanoTxWitnessResponse = 316,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxHostAck)
+ MessageType_CardanoTxHostAck = 317,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxBodyHash)
+ MessageType_CardanoTxBodyHash = 318,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoSignTxFinished)
+ MessageType_CardanoSignTxFinished = 319,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoSignTxInit)
+ MessageType_CardanoSignTxInit = 320,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxInput)
+ MessageType_CardanoTxInput = 321,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxOutput)
+ MessageType_CardanoTxOutput = 322,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoAssetGroup)
+ MessageType_CardanoAssetGroup = 323,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoToken)
+ MessageType_CardanoToken = 324,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxCertificate)
+ MessageType_CardanoTxCertificate = 325,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxWithdrawal)
+ MessageType_CardanoTxWithdrawal = 326,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxAuxiliaryData)
+ MessageType_CardanoTxAuxiliaryData = 327,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoPoolOwner)
+ MessageType_CardanoPoolOwner = 328,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoPoolRelayParameters)
+ MessageType_CardanoPoolRelayParameters = 329,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoGetNativeScriptHash)
+ MessageType_CardanoGetNativeScriptHash = 330,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoNativeScriptHash)
+ MessageType_CardanoNativeScriptHash = 331,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxMint)
+ MessageType_CardanoTxMint = 332,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxCollateralInput)
+ MessageType_CardanoTxCollateralInput = 333,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxRequiredSigner)
+ MessageType_CardanoTxRequiredSigner = 334,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxInlineDatumChunk)
+ MessageType_CardanoTxInlineDatumChunk = 335,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxReferenceScriptChunk)
+ MessageType_CardanoTxReferenceScriptChunk = 336,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoTxReferenceInput)
+ MessageType_CardanoTxReferenceInput = 337,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoSignMessageInit)
+ MessageType_CardanoSignMessageInit = 338,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoMessageDataRequest)
+ MessageType_CardanoMessageDataRequest = 339,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoMessageDataResponse)
+ MessageType_CardanoMessageDataResponse = 340,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_CardanoMessageSignature)
+ MessageType_CardanoMessageSignature = 341,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RippleGetAddress)
+ MessageType_RippleGetAddress = 400,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RippleAddress)
+ MessageType_RippleAddress = 401,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RippleSignTx)
+ MessageType_RippleSignTx = 402,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_RippleSignedTx)
+ MessageType_RippleSignedTx = 403,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionInitRequest)
+ MessageType_MoneroTransactionInitRequest = 501,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionInitAck)
+ MessageType_MoneroTransactionInitAck = 502,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionSetInputRequest)
+ MessageType_MoneroTransactionSetInputRequest = 503,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionSetInputAck)
+ MessageType_MoneroTransactionSetInputAck = 504,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionInputViniRequest)
+ MessageType_MoneroTransactionInputViniRequest = 507,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionInputViniAck)
+ MessageType_MoneroTransactionInputViniAck = 508,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionAllInputsSetRequest)
+ MessageType_MoneroTransactionAllInputsSetRequest = 509,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionAllInputsSetAck)
+ MessageType_MoneroTransactionAllInputsSetAck = 510,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionSetOutputRequest)
+ MessageType_MoneroTransactionSetOutputRequest = 511,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionSetOutputAck)
+ MessageType_MoneroTransactionSetOutputAck = 512,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionAllOutSetRequest)
+ MessageType_MoneroTransactionAllOutSetRequest = 513,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionAllOutSetAck)
+ MessageType_MoneroTransactionAllOutSetAck = 514,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionSignInputRequest)
+ MessageType_MoneroTransactionSignInputRequest = 515,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionSignInputAck)
+ MessageType_MoneroTransactionSignInputAck = 516,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionFinalRequest)
+ MessageType_MoneroTransactionFinalRequest = 517,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroTransactionFinalAck)
+ MessageType_MoneroTransactionFinalAck = 518,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroKeyImageExportInitRequest)
+ MessageType_MoneroKeyImageExportInitRequest = 530,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroKeyImageExportInitAck)
+ MessageType_MoneroKeyImageExportInitAck = 531,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroKeyImageSyncStepRequest)
+ MessageType_MoneroKeyImageSyncStepRequest = 532,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroKeyImageSyncStepAck)
+ MessageType_MoneroKeyImageSyncStepAck = 533,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroKeyImageSyncFinalRequest)
+ MessageType_MoneroKeyImageSyncFinalRequest = 534,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroKeyImageSyncFinalAck)
+ MessageType_MoneroKeyImageSyncFinalAck = 535,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroGetAddress)
+ MessageType_MoneroGetAddress = 540,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroAddress)
+ MessageType_MoneroAddress = 541,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroGetWatchKey)
+ MessageType_MoneroGetWatchKey = 542,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroWatchKey)
+ MessageType_MoneroWatchKey = 543,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugMoneroDiagRequest)
+ MessageType_DebugMoneroDiagRequest = 546,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_DebugMoneroDiagAck)
+ MessageType_DebugMoneroDiagAck = 547,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroGetTxKeyRequest)
+ MessageType_MoneroGetTxKeyRequest = 550,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroGetTxKeyAck)
+ MessageType_MoneroGetTxKeyAck = 551,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroLiveRefreshStartRequest)
+ MessageType_MoneroLiveRefreshStartRequest = 552,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroLiveRefreshStartAck)
+ MessageType_MoneroLiveRefreshStartAck = 553,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroLiveRefreshStepRequest)
+ MessageType_MoneroLiveRefreshStepRequest = 554,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroLiveRefreshStepAck)
+ MessageType_MoneroLiveRefreshStepAck = 555,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroLiveRefreshFinalRequest)
+ MessageType_MoneroLiveRefreshFinalRequest = 556,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_MoneroLiveRefreshFinalAck)
+ MessageType_MoneroLiveRefreshFinalAck = 557,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EosGetPublicKey)
+ MessageType_EosGetPublicKey = 600,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EosPublicKey)
+ MessageType_EosPublicKey = 601,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EosSignTx)
+ MessageType_EosSignTx = 602,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EosTxActionRequest)
+ MessageType_EosTxActionRequest = 603,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EosTxActionAck)
+ MessageType_EosTxActionAck = 604,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EosSignedTx)
+ MessageType_EosSignedTx = 605,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WebAuthnListResidentCredentials)
+ MessageType_WebAuthnListResidentCredentials = 800,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WebAuthnCredentials)
+ MessageType_WebAuthnCredentials = 801,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WebAuthnAddResidentCredential)
+ MessageType_WebAuthnAddResidentCredential = 802,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_WebAuthnRemoveResidentCredential)
+ MessageType_WebAuthnRemoveResidentCredential = 803,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SolanaGetPublicKey)
+ MessageType_SolanaGetPublicKey = 900,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SolanaPublicKey)
+ MessageType_SolanaPublicKey = 901,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SolanaGetAddress)
+ MessageType_SolanaGetAddress = 902,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SolanaAddress)
+ MessageType_SolanaAddress = 903,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SolanaSignTx)
+ MessageType_SolanaSignTx = 904,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SolanaTxSignature)
+ MessageType_SolanaTxSignature = 905,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ThpCreateNewSession)
+ MessageType_ThpCreateNewSession = 1000,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ThpCredentialRequest)
+ MessageType_ThpCredentialRequest = 1016,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ThpCredentialResponse)
+ MessageType_ThpCredentialResponse = 1017,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NostrGetPubkey)
+ MessageType_NostrGetPubkey = 2001,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NostrPubkey)
+ MessageType_NostrPubkey = 2002,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NostrSignEvent)
+ MessageType_NostrSignEvent = 2003,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_NostrEventSignature)
+ MessageType_NostrEventSignature = 2004,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EvoluGetNode)
+ MessageType_EvoluGetNode = 2100,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EvoluNode)
+ MessageType_EvoluNode = 2101,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EvoluSignRegistrationRequest)
+ MessageType_EvoluSignRegistrationRequest = 2102,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EvoluRegistrationRequest)
+ MessageType_EvoluRegistrationRequest = 2103,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EvoluGetDelegatedIdentityKey)
+ MessageType_EvoluGetDelegatedIdentityKey = 2104,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_EvoluDelegatedIdentityKey)
+ MessageType_EvoluDelegatedIdentityKey = 2105,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TronGetAddress)
+ MessageType_TronGetAddress = 2200,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TronAddress)
+ MessageType_TronAddress = 2201,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TronSignTx)
+ MessageType_TronSignTx = 2202,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TronSignature)
+ MessageType_TronSignature = 2203,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TronContractRequest)
+ MessageType_TronContractRequest = 2204,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TronTransferContract)
+ MessageType_TronTransferContract = 2205,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_TronTriggerSmartContract)
+ MessageType_TronTriggerSmartContract = 2206,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BenchmarkListNames)
+ MessageType_BenchmarkListNames = 9100,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BenchmarkNames)
+ MessageType_BenchmarkNames = 9101,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BenchmarkRun)
+ MessageType_BenchmarkRun = 9102,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_BenchmarkResult)
+ MessageType_BenchmarkResult = 9103,
+}
+
+impl ::protobuf::Enum for MessageType {
+ const NAME: &'static str = "MessageType";
+
+ fn value(&self) -> i32 {
+ *self as i32
+ }
+
+ fn from_i32(value: i32) -> ::std::option::Option<MessageType> {
+ match value {
+ 0 => ::std::option::Option::Some(MessageType::MessageType_Initialize),
+ 1 => ::std::option::Option::Some(MessageType::MessageType_Ping),
+ 2 => ::std::option::Option::Some(MessageType::MessageType_Success),
+ 3 => ::std::option::Option::Some(MessageType::MessageType_Failure),
+ 4 => ::std::option::Option::Some(MessageType::MessageType_ChangePin),
+ 5 => ::std::option::Option::Some(MessageType::MessageType_WipeDevice),
+ 9 => ::std::option::Option::Some(MessageType::MessageType_GetEntropy),
+ 10 => ::std::option::Option::Some(MessageType::MessageType_Entropy),
+ 13 => ::std::option::Option::Some(MessageType::MessageType_LoadDevice),
+ 14 => ::std::option::Option::Some(MessageType::MessageType_ResetDevice),
+ 16 => ::std::option::Option::Some(MessageType::MessageType_SetBusy),
+ 17 => ::std::option::Option::Some(MessageType::MessageType_Features),
+ 18 => ::std::option::Option::Some(MessageType::MessageType_PinMatrixRequest),
+ 19 => ::std::option::Option::Some(MessageType::MessageType_PinMatrixAck),
+ 20 => ::std::option::Option::Some(MessageType::MessageType_Cancel),
+ 24 => ::std::option::Option::Some(MessageType::MessageType_LockDevice),
+ 25 => ::std::option::Option::Some(MessageType::MessageType_ApplySettings),
+ 26 => ::std::option::Option::Some(MessageType::MessageType_ButtonRequest),
+ 27 => ::std::option::Option::Some(MessageType::MessageType_ButtonAck),
+ 28 => ::std::option::Option::Some(MessageType::MessageType_ApplyFlags),
+ 31 => ::std::option::Option::Some(MessageType::MessageType_GetNonce),
+ 33 => ::std::option::Option::Some(MessageType::MessageType_Nonce),
+ 34 => ::std::option::Option::Some(MessageType::MessageType_BackupDevice),
+ 35 => ::std::option::Option::Some(MessageType::MessageType_EntropyRequest),
+ 36 => ::std::option::Option::Some(MessageType::MessageType_EntropyAck),
+ 37 => ::std::option::Option::Some(MessageType::MessageType_PaymentRequest),
+ 994 => ::std::option::Option::Some(MessageType::MessageType_EntropyCheckReady),
+ 995 => ::std::option::Option::Some(MessageType::MessageType_EntropyCheckContinue),
+ 41 => ::std::option::Option::Some(MessageType::MessageType_PassphraseRequest),
+ 42 => ::std::option::Option::Some(MessageType::MessageType_PassphraseAck),
+ 45 => ::std::option::Option::Some(MessageType::MessageType_RecoveryDevice),
+ 46 => ::std::option::Option::Some(MessageType::MessageType_WordRequest),
+ 47 => ::std::option::Option::Some(MessageType::MessageType_WordAck),
+ 55 => ::std::option::Option::Some(MessageType::MessageType_GetFeatures),
+ 79 => ::std::option::Option::Some(MessageType::MessageType_SdProtect),
+ 82 => ::std::option::Option::Some(MessageType::MessageType_ChangeWipeCode),
+ 83 => ::std::option::Option::Some(MessageType::MessageType_EndSession),
+ 84 => ::std::option::Option::Some(MessageType::MessageType_DoPreauthorized),
+ 85 => ::std::option::Option::Some(MessageType::MessageType_PreauthorizedRequest),
+ 86 => ::std::option::Option::Some(MessageType::MessageType_CancelAuthorization),
+ 87 => ::std::option::Option::Some(MessageType::MessageType_RebootToBootloader),
+ 88 => ::std::option::Option::Some(MessageType::MessageType_GetFirmwareHash),
+ 89 => ::std::option::Option::Some(MessageType::MessageType_FirmwareHash),
+ 93 => ::std::option::Option::Some(MessageType::MessageType_UnlockPath),
+ 94 => ::std::option::Option::Some(MessageType::MessageType_UnlockedPathRequest),
+ 95 => ::std::option::Option::Some(MessageType::MessageType_ShowDeviceTutorial),
+ 96 => ::std::option::Option::Some(MessageType::MessageType_UnlockBootloader),
+ 97 => ::std::option::Option::Some(MessageType::MessageType_AuthenticateDevice),
+ 98 => ::std::option::Option::Some(MessageType::MessageType_AuthenticityProof),
+ 990 => ::std::option::Option::Some(MessageType::MessageType_ChangeLanguage),
+ 991 => ::std::option::Option::Some(MessageType::MessageType_DataChunkRequest),
+ 992 => ::std::option::Option::Some(MessageType::MessageType_DataChunkAck),
+ 993 => ::std::option::Option::Some(MessageType::MessageType_SetBrightness),
+ 996 => ::std::option::Option::Some(MessageType::MessageType_GetSerialNumber),
+ 997 => ::std::option::Option::Some(MessageType::MessageType_SerialNumber),
+ 63 => ::std::option::Option::Some(MessageType::MessageType_SetU2FCounter),
+ 80 => ::std::option::Option::Some(MessageType::MessageType_GetNextU2FCounter),
+ 81 => ::std::option::Option::Some(MessageType::MessageType_NextU2FCounter),
+ 77 => ::std::option::Option::Some(MessageType::MessageType_Deprecated_PassphraseStateRequest),
+ 78 => ::std::option::Option::Some(MessageType::MessageType_Deprecated_PassphraseStateAck),
+ 6 => ::std::option::Option::Some(MessageType::MessageType_FirmwareErase),
+ 7 => ::std::option::Option::Some(MessageType::MessageType_FirmwareUpload),
+ 8 => ::std::option::Option::Some(MessageType::MessageType_FirmwareRequest),
+ 32 => ::std::option::Option::Some(MessageType::MessageType_ProdTestT1),
+ 8001 => ::std::option::Option::Some(MessageType::MessageType_BleUnpair),
+ 11 => ::std::option::Option::Some(MessageType::MessageType_GetPublicKey),
+ 12 => ::std::option::Option::Some(MessageType::MessageType_PublicKey),
+ 15 => ::std::option::Option::Some(MessageType::MessageType_SignTx),
+ 21 => ::std::option::Option::Some(MessageType::MessageType_TxRequest),
+ 22 => ::std::option::Option::Some(MessageType::MessageType_TxAck),
+ 29 => ::std::option::Option::Some(MessageType::MessageType_GetAddress),
+ 30 => ::std::option::Option::Some(MessageType::MessageType_Address),
+ 38 => ::std::option::Option::Some(MessageType::MessageType_SignMessage),
+ 39 => ::std::option::Option::Some(MessageType::MessageType_VerifyMessage),
+ 40 => ::std::option::Option::Some(MessageType::MessageType_MessageSignature),
+ 43 => ::std::option::Option::Some(MessageType::MessageType_GetOwnershipId),
+ 44 => ::std::option::Option::Some(MessageType::MessageType_OwnershipId),
+ 49 => ::std::option::Option::Some(MessageType::MessageType_GetOwnershipProof),
+ 50 => ::std::option::Option::Some(MessageType::MessageType_OwnershipProof),
+ 51 => ::std::option::Option::Some(MessageType::MessageType_AuthorizeCoinJoin),
+ 23 => ::std::option::Option::Some(MessageType::MessageType_CipherKeyValue),
+ 48 => ::std::option::Option::Some(MessageType::MessageType_CipheredKeyValue),
+ 53 => ::std::option::Option::Some(MessageType::MessageType_SignIdentity),
+ 54 => ::std::option::Option::Some(MessageType::MessageType_SignedIdentity),
+ 61 => ::std::option::Option::Some(MessageType::MessageType_GetECDHSessionKey),
+ 62 => ::std::option::Option::Some(MessageType::MessageType_ECDHSessionKey),
+ 52 => ::std::option::Option::Some(MessageType::MessageType_PaymentNotification),
+ 100 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkDecision),
+ 101 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkGetState),
+ 102 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkState),
+ 103 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkStop),
+ 104 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkLog),
+ 110 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkMemoryRead),
+ 111 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkMemory),
+ 112 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkMemoryWrite),
+ 113 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkFlashErase),
+ 9001 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkLayout),
+ 9002 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkReseedRandom),
+ 9003 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkRecordScreen),
+ 9005 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkEraseSdCard),
+ 9006 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkWatchLayout),
+ 9007 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkResetDebugEvents),
+ 9008 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkOptigaSetSecMax),
+ 9009 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkGetGcInfo),
+ 9010 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkGcInfo),
+ 9011 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkGetPairingInfo),
+ 9012 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkPairingInfo),
+ 9013 => ::std::option::Option::Some(MessageType::MessageType_DebugLinkSetLogFilter),
+ 450 => ::std::option::Option::Some(MessageType::MessageType_EthereumGetPublicKey),
+ 451 => ::std::option::Option::Some(MessageType::MessageType_EthereumPublicKey),
+ 56 => ::std::option::Option::Some(MessageType::MessageType_EthereumGetAddress),
+ 57 => ::std::option::Option::Some(MessageType::MessageType_EthereumAddress),
+ 58 => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTx),
+ 452 => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTxEIP1559),
+ 59 => ::std::option::Option::Some(MessageType::MessageType_EthereumTxRequest),
+ 60 => ::std::option::Option::Some(MessageType::MessageType_EthereumTxAck),
+ 64 => ::std::option::Option::Some(MessageType::MessageType_EthereumSignMessage),
+ 65 => ::std::option::Option::Some(MessageType::MessageType_EthereumVerifyMessage),
+ 66 => ::std::option::Option::Some(MessageType::MessageType_EthereumMessageSignature),
+ 464 => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTypedData),
+ 465 => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataStructRequest),
+ 466 => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataStructAck),
+ 467 => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataValueRequest),
+ 468 => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataValueAck),
+ 469 => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataSignature),
+ 470 => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTypedHash),
+ 67 => ::std::option::Option::Some(MessageType::MessageType_NEMGetAddress),
+ 68 => ::std::option::Option::Some(MessageType::MessageType_NEMAddress),
+ 69 => ::std::option::Option::Some(MessageType::MessageType_NEMSignTx),
+ 70 => ::std::option::Option::Some(MessageType::MessageType_NEMSignedTx),
+ 75 => ::std::option::Option::Some(MessageType::MessageType_NEMDecryptMessage),
+ 76 => ::std::option::Option::Some(MessageType::MessageType_NEMDecryptedMessage),
+ 150 => ::std::option::Option::Some(MessageType::MessageType_TezosGetAddress),
+ 151 => ::std::option::Option::Some(MessageType::MessageType_TezosAddress),
+ 152 => ::std::option::Option::Some(MessageType::MessageType_TezosSignTx),
+ 153 => ::std::option::Option::Some(MessageType::MessageType_TezosSignedTx),
+ 154 => ::std::option::Option::Some(MessageType::MessageType_TezosGetPublicKey),
+ 155 => ::std::option::Option::Some(MessageType::MessageType_TezosPublicKey),
+ 202 => ::std::option::Option::Some(MessageType::MessageType_StellarSignTx),
+ 203 => ::std::option::Option::Some(MessageType::MessageType_StellarTxOpRequest),
+ 207 => ::std::option::Option::Some(MessageType::MessageType_StellarGetAddress),
+ 208 => ::std::option::Option::Some(MessageType::MessageType_StellarAddress),
+ 210 => ::std::option::Option::Some(MessageType::MessageType_StellarCreateAccountOp),
+ 211 => ::std::option::Option::Some(MessageType::MessageType_StellarPaymentOp),
+ 212 => ::std::option::Option::Some(MessageType::MessageType_StellarPathPaymentStrictReceiveOp),
+ 213 => ::std::option::Option::Some(MessageType::MessageType_StellarManageSellOfferOp),
+ 214 => ::std::option::Option::Some(MessageType::MessageType_StellarCreatePassiveSellOfferOp),
+ 215 => ::std::option::Option::Some(MessageType::MessageType_StellarSetOptionsOp),
+ 216 => ::std::option::Option::Some(MessageType::MessageType_StellarChangeTrustOp),
+ 217 => ::std::option::Option::Some(MessageType::MessageType_StellarAllowTrustOp),
+ 218 => ::std::option::Option::Some(MessageType::MessageType_StellarAccountMergeOp),
+ 220 => ::std::option::Option::Some(MessageType::MessageType_StellarManageDataOp),
+ 221 => ::std::option::Option::Some(MessageType::MessageType_StellarBumpSequenceOp),
+ 222 => ::std::option::Option::Some(MessageType::MessageType_StellarManageBuyOfferOp),
+ 223 => ::std::option::Option::Some(MessageType::MessageType_StellarPathPaymentStrictSendOp),
+ 225 => ::std::option::Option::Some(MessageType::MessageType_StellarClaimClaimableBalanceOp),
+ 230 => ::std::option::Option::Some(MessageType::MessageType_StellarSignedTx),
+ 305 => ::std::option::Option::Some(MessageType::MessageType_CardanoGetPublicKey),
+ 306 => ::std::option::Option::Some(MessageType::MessageType_CardanoPublicKey),
+ 307 => ::std::option::Option::Some(MessageType::MessageType_CardanoGetAddress),
+ 308 => ::std::option::Option::Some(MessageType::MessageType_CardanoAddress),
+ 313 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxItemAck),
+ 314 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxAuxiliaryDataSupplement),
+ 315 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxWitnessRequest),
+ 316 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxWitnessResponse),
+ 317 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxHostAck),
+ 318 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxBodyHash),
+ 319 => ::std::option::Option::Some(MessageType::MessageType_CardanoSignTxFinished),
+ 320 => ::std::option::Option::Some(MessageType::MessageType_CardanoSignTxInit),
+ 321 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxInput),
+ 322 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxOutput),
+ 323 => ::std::option::Option::Some(MessageType::MessageType_CardanoAssetGroup),
+ 324 => ::std::option::Option::Some(MessageType::MessageType_CardanoToken),
+ 325 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxCertificate),
+ 326 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxWithdrawal),
+ 327 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxAuxiliaryData),
+ 328 => ::std::option::Option::Some(MessageType::MessageType_CardanoPoolOwner),
+ 329 => ::std::option::Option::Some(MessageType::MessageType_CardanoPoolRelayParameters),
+ 330 => ::std::option::Option::Some(MessageType::MessageType_CardanoGetNativeScriptHash),
+ 331 => ::std::option::Option::Some(MessageType::MessageType_CardanoNativeScriptHash),
+ 332 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxMint),
+ 333 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxCollateralInput),
+ 334 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxRequiredSigner),
+ 335 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxInlineDatumChunk),
+ 336 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxReferenceScriptChunk),
+ 337 => ::std::option::Option::Some(MessageType::MessageType_CardanoTxReferenceInput),
+ 338 => ::std::option::Option::Some(MessageType::MessageType_CardanoSignMessageInit),
+ 339 => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageDataRequest),
+ 340 => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageDataResponse),
+ 341 => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageSignature),
+ 400 => ::std::option::Option::Some(MessageType::MessageType_RippleGetAddress),
+ 401 => ::std::option::Option::Some(MessageType::MessageType_RippleAddress),
+ 402 => ::std::option::Option::Some(MessageType::MessageType_RippleSignTx),
+ 403 => ::std::option::Option::Some(MessageType::MessageType_RippleSignedTx),
+ 501 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInitRequest),
+ 502 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInitAck),
+ 503 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetInputRequest),
+ 504 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetInputAck),
+ 507 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInputViniRequest),
+ 508 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInputViniAck),
+ 509 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllInputsSetRequest),
+ 510 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllInputsSetAck),
+ 511 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetOutputRequest),
+ 512 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetOutputAck),
+ 513 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllOutSetRequest),
+ 514 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllOutSetAck),
+ 515 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSignInputRequest),
+ 516 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSignInputAck),
+ 517 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionFinalRequest),
+ 518 => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionFinalAck),
+ 530 => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageExportInitRequest),
+ 531 => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageExportInitAck),
+ 532 => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncStepRequest),
+ 533 => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncStepAck),
+ 534 => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncFinalRequest),
+ 535 => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncFinalAck),
+ 540 => ::std::option::Option::Some(MessageType::MessageType_MoneroGetAddress),
+ 541 => ::std::option::Option::Some(MessageType::MessageType_MoneroAddress),
+ 542 => ::std::option::Option::Some(MessageType::MessageType_MoneroGetWatchKey),
+ 543 => ::std::option::Option::Some(MessageType::MessageType_MoneroWatchKey),
+ 546 => ::std::option::Option::Some(MessageType::MessageType_DebugMoneroDiagRequest),
+ 547 => ::std::option::Option::Some(MessageType::MessageType_DebugMoneroDiagAck),
+ 550 => ::std::option::Option::Some(MessageType::MessageType_MoneroGetTxKeyRequest),
+ 551 => ::std::option::Option::Some(MessageType::MessageType_MoneroGetTxKeyAck),
+ 552 => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStartRequest),
+ 553 => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStartAck),
+ 554 => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStepRequest),
+ 555 => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStepAck),
+ 556 => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshFinalRequest),
+ 557 => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshFinalAck),
+ 600 => ::std::option::Option::Some(MessageType::MessageType_EosGetPublicKey),
+ 601 => ::std::option::Option::Some(MessageType::MessageType_EosPublicKey),
+ 602 => ::std::option::Option::Some(MessageType::MessageType_EosSignTx),
+ 603 => ::std::option::Option::Some(MessageType::MessageType_EosTxActionRequest),
+ 604 => ::std::option::Option::Some(MessageType::MessageType_EosTxActionAck),
+ 605 => ::std::option::Option::Some(MessageType::MessageType_EosSignedTx),
+ 800 => ::std::option::Option::Some(MessageType::MessageType_WebAuthnListResidentCredentials),
+ 801 => ::std::option::Option::Some(MessageType::MessageType_WebAuthnCredentials),
+ 802 => ::std::option::Option::Some(MessageType::MessageType_WebAuthnAddResidentCredential),
+ 803 => ::std::option::Option::Some(MessageType::MessageType_WebAuthnRemoveResidentCredential),
+ 900 => ::std::option::Option::Some(MessageType::MessageType_SolanaGetPublicKey),
+ 901 => ::std::option::Option::Some(MessageType::MessageType_SolanaPublicKey),
+ 902 => ::std::option::Option::Some(MessageType::MessageType_SolanaGetAddress),
+ 903 => ::std::option::Option::Some(MessageType::MessageType_SolanaAddress),
+ 904 => ::std::option::Option::Some(MessageType::MessageType_SolanaSignTx),
+ 905 => ::std::option::Option::Some(MessageType::MessageType_SolanaTxSignature),
+ 1000 => ::std::option::Option::Some(MessageType::MessageType_ThpCreateNewSession),
+ 1016 => ::std::option::Option::Some(MessageType::MessageType_ThpCredentialRequest),
+ 1017 => ::std::option::Option::Some(MessageType::MessageType_ThpCredentialResponse),
+ 2001 => ::std::option::Option::Some(MessageType::MessageType_NostrGetPubkey),
+ 2002 => ::std::option::Option::Some(MessageType::MessageType_NostrPubkey),
+ 2003 => ::std::option::Option::Some(MessageType::MessageType_NostrSignEvent),
+ 2004 => ::std::option::Option::Some(MessageType::MessageType_NostrEventSignature),
+ 2100 => ::std::option::Option::Some(MessageType::MessageType_EvoluGetNode),
+ 2101 => ::std::option::Option::Some(MessageType::MessageType_EvoluNode),
+ 2102 => ::std::option::Option::Some(MessageType::MessageType_EvoluSignRegistrationRequest),
+ 2103 => ::std::option::Option::Some(MessageType::MessageType_EvoluRegistrationRequest),
+ 2104 => ::std::option::Option::Some(MessageType::MessageType_EvoluGetDelegatedIdentityKey),
+ 2105 => ::std::option::Option::Some(MessageType::MessageType_EvoluDelegatedIdentityKey),
+ 2200 => ::std::option::Option::Some(MessageType::MessageType_TronGetAddress),
+ 2201 => ::std::option::Option::Some(MessageType::MessageType_TronAddress),
+ 2202 => ::std::option::Option::Some(MessageType::MessageType_TronSignTx),
+ 2203 => ::std::option::Option::Some(MessageType::MessageType_TronSignature),
+ 2204 => ::std::option::Option::Some(MessageType::MessageType_TronContractRequest),
+ 2205 => ::std::option::Option::Some(MessageType::MessageType_TronTransferContract),
+ 2206 => ::std::option::Option::Some(MessageType::MessageType_TronTriggerSmartContract),
+ 9100 => ::std::option::Option::Some(MessageType::MessageType_BenchmarkListNames),
+ 9101 => ::std::option::Option::Some(MessageType::MessageType_BenchmarkNames),
+ 9102 => ::std::option::Option::Some(MessageType::MessageType_BenchmarkRun),
+ 9103 => ::std::option::Option::Some(MessageType::MessageType_BenchmarkResult),
+ _ => ::std::option::Option::None
+ }
+ }
+
+ fn from_str(str: &str) -> ::std::option::Option<MessageType> {
+ match str {
+ "MessageType_Initialize" => ::std::option::Option::Some(MessageType::MessageType_Initialize),
+ "MessageType_Ping" => ::std::option::Option::Some(MessageType::MessageType_Ping),
+ "MessageType_Success" => ::std::option::Option::Some(MessageType::MessageType_Success),
+ "MessageType_Failure" => ::std::option::Option::Some(MessageType::MessageType_Failure),
+ "MessageType_ChangePin" => ::std::option::Option::Some(MessageType::MessageType_ChangePin),
+ "MessageType_WipeDevice" => ::std::option::Option::Some(MessageType::MessageType_WipeDevice),
+ "MessageType_GetEntropy" => ::std::option::Option::Some(MessageType::MessageType_GetEntropy),
+ "MessageType_Entropy" => ::std::option::Option::Some(MessageType::MessageType_Entropy),
+ "MessageType_LoadDevice" => ::std::option::Option::Some(MessageType::MessageType_LoadDevice),
+ "MessageType_ResetDevice" => ::std::option::Option::Some(MessageType::MessageType_ResetDevice),
+ "MessageType_SetBusy" => ::std::option::Option::Some(MessageType::MessageType_SetBusy),
+ "MessageType_Features" => ::std::option::Option::Some(MessageType::MessageType_Features),
+ "MessageType_PinMatrixRequest" => ::std::option::Option::Some(MessageType::MessageType_PinMatrixRequest),
+ "MessageType_PinMatrixAck" => ::std::option::Option::Some(MessageType::MessageType_PinMatrixAck),
+ "MessageType_Cancel" => ::std::option::Option::Some(MessageType::MessageType_Cancel),
+ "MessageType_LockDevice" => ::std::option::Option::Some(MessageType::MessageType_LockDevice),
+ "MessageType_ApplySettings" => ::std::option::Option::Some(MessageType::MessageType_ApplySettings),
+ "MessageType_ButtonRequest" => ::std::option::Option::Some(MessageType::MessageType_ButtonRequest),
+ "MessageType_ButtonAck" => ::std::option::Option::Some(MessageType::MessageType_ButtonAck),
+ "MessageType_ApplyFlags" => ::std::option::Option::Some(MessageType::MessageType_ApplyFlags),
+ "MessageType_GetNonce" => ::std::option::Option::Some(MessageType::MessageType_GetNonce),
+ "MessageType_Nonce" => ::std::option::Option::Some(MessageType::MessageType_Nonce),
+ "MessageType_BackupDevice" => ::std::option::Option::Some(MessageType::MessageType_BackupDevice),
+ "MessageType_EntropyRequest" => ::std::option::Option::Some(MessageType::MessageType_EntropyRequest),
+ "MessageType_EntropyAck" => ::std::option::Option::Some(MessageType::MessageType_EntropyAck),
+ "MessageType_PaymentRequest" => ::std::option::Option::Some(MessageType::MessageType_PaymentRequest),
+ "MessageType_EntropyCheckReady" => ::std::option::Option::Some(MessageType::MessageType_EntropyCheckReady),
+ "MessageType_EntropyCheckContinue" => ::std::option::Option::Some(MessageType::MessageType_EntropyCheckContinue),
+ "MessageType_PassphraseRequest" => ::std::option::Option::Some(MessageType::MessageType_PassphraseRequest),
+ "MessageType_PassphraseAck" => ::std::option::Option::Some(MessageType::MessageType_PassphraseAck),
+ "MessageType_RecoveryDevice" => ::std::option::Option::Some(MessageType::MessageType_RecoveryDevice),
+ "MessageType_WordRequest" => ::std::option::Option::Some(MessageType::MessageType_WordRequest),
+ "MessageType_WordAck" => ::std::option::Option::Some(MessageType::MessageType_WordAck),
+ "MessageType_GetFeatures" => ::std::option::Option::Some(MessageType::MessageType_GetFeatures),
+ "MessageType_SdProtect" => ::std::option::Option::Some(MessageType::MessageType_SdProtect),
+ "MessageType_ChangeWipeCode" => ::std::option::Option::Some(MessageType::MessageType_ChangeWipeCode),
+ "MessageType_EndSession" => ::std::option::Option::Some(MessageType::MessageType_EndSession),
+ "MessageType_DoPreauthorized" => ::std::option::Option::Some(MessageType::MessageType_DoPreauthorized),
+ "MessageType_PreauthorizedRequest" => ::std::option::Option::Some(MessageType::MessageType_PreauthorizedRequest),
+ "MessageType_CancelAuthorization" => ::std::option::Option::Some(MessageType::MessageType_CancelAuthorization),
+ "MessageType_RebootToBootloader" => ::std::option::Option::Some(MessageType::MessageType_RebootToBootloader),
+ "MessageType_GetFirmwareHash" => ::std::option::Option::Some(MessageType::MessageType_GetFirmwareHash),
+ "MessageType_FirmwareHash" => ::std::option::Option::Some(MessageType::MessageType_FirmwareHash),
+ "MessageType_UnlockPath" => ::std::option::Option::Some(MessageType::MessageType_UnlockPath),
+ "MessageType_UnlockedPathRequest" => ::std::option::Option::Some(MessageType::MessageType_UnlockedPathRequest),
+ "MessageType_ShowDeviceTutorial" => ::std::option::Option::Some(MessageType::MessageType_ShowDeviceTutorial),
+ "MessageType_UnlockBootloader" => ::std::option::Option::Some(MessageType::MessageType_UnlockBootloader),
+ "MessageType_AuthenticateDevice" => ::std::option::Option::Some(MessageType::MessageType_AuthenticateDevice),
+ "MessageType_AuthenticityProof" => ::std::option::Option::Some(MessageType::MessageType_AuthenticityProof),
+ "MessageType_ChangeLanguage" => ::std::option::Option::Some(MessageType::MessageType_ChangeLanguage),
+ "MessageType_DataChunkRequest" => ::std::option::Option::Some(MessageType::MessageType_DataChunkRequest),
+ "MessageType_DataChunkAck" => ::std::option::Option::Some(MessageType::MessageType_DataChunkAck),
+ "MessageType_SetBrightness" => ::std::option::Option::Some(MessageType::MessageType_SetBrightness),
+ "MessageType_GetSerialNumber" => ::std::option::Option::Some(MessageType::MessageType_GetSerialNumber),
+ "MessageType_SerialNumber" => ::std::option::Option::Some(MessageType::MessageType_SerialNumber),
+ "MessageType_SetU2FCounter" => ::std::option::Option::Some(MessageType::MessageType_SetU2FCounter),
+ "MessageType_GetNextU2FCounter" => ::std::option::Option::Some(MessageType::MessageType_GetNextU2FCounter),
+ "MessageType_NextU2FCounter" => ::std::option::Option::Some(MessageType::MessageType_NextU2FCounter),
+ "MessageType_Deprecated_PassphraseStateRequest" => ::std::option::Option::Some(MessageType::MessageType_Deprecated_PassphraseStateRequest),
+ "MessageType_Deprecated_PassphraseStateAck" => ::std::option::Option::Some(MessageType::MessageType_Deprecated_PassphraseStateAck),
+ "MessageType_FirmwareErase" => ::std::option::Option::Some(MessageType::MessageType_FirmwareErase),
+ "MessageType_FirmwareUpload" => ::std::option::Option::Some(MessageType::MessageType_FirmwareUpload),
+ "MessageType_FirmwareRequest" => ::std::option::Option::Some(MessageType::MessageType_FirmwareRequest),
+ "MessageType_ProdTestT1" => ::std::option::Option::Some(MessageType::MessageType_ProdTestT1),
+ "MessageType_BleUnpair" => ::std::option::Option::Some(MessageType::MessageType_BleUnpair),
+ "MessageType_GetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_GetPublicKey),
+ "MessageType_PublicKey" => ::std::option::Option::Some(MessageType::MessageType_PublicKey),
+ "MessageType_SignTx" => ::std::option::Option::Some(MessageType::MessageType_SignTx),
+ "MessageType_TxRequest" => ::std::option::Option::Some(MessageType::MessageType_TxRequest),
+ "MessageType_TxAck" => ::std::option::Option::Some(MessageType::MessageType_TxAck),
+ "MessageType_GetAddress" => ::std::option::Option::Some(MessageType::MessageType_GetAddress),
+ "MessageType_Address" => ::std::option::Option::Some(MessageType::MessageType_Address),
+ "MessageType_SignMessage" => ::std::option::Option::Some(MessageType::MessageType_SignMessage),
+ "MessageType_VerifyMessage" => ::std::option::Option::Some(MessageType::MessageType_VerifyMessage),
+ "MessageType_MessageSignature" => ::std::option::Option::Some(MessageType::MessageType_MessageSignature),
+ "MessageType_GetOwnershipId" => ::std::option::Option::Some(MessageType::MessageType_GetOwnershipId),
+ "MessageType_OwnershipId" => ::std::option::Option::Some(MessageType::MessageType_OwnershipId),
+ "MessageType_GetOwnershipProof" => ::std::option::Option::Some(MessageType::MessageType_GetOwnershipProof),
+ "MessageType_OwnershipProof" => ::std::option::Option::Some(MessageType::MessageType_OwnershipProof),
+ "MessageType_AuthorizeCoinJoin" => ::std::option::Option::Some(MessageType::MessageType_AuthorizeCoinJoin),
+ "MessageType_CipherKeyValue" => ::std::option::Option::Some(MessageType::MessageType_CipherKeyValue),
+ "MessageType_CipheredKeyValue" => ::std::option::Option::Some(MessageType::MessageType_CipheredKeyValue),
+ "MessageType_SignIdentity" => ::std::option::Option::Some(MessageType::MessageType_SignIdentity),
+ "MessageType_SignedIdentity" => ::std::option::Option::Some(MessageType::MessageType_SignedIdentity),
+ "MessageType_GetECDHSessionKey" => ::std::option::Option::Some(MessageType::MessageType_GetECDHSessionKey),
+ "MessageType_ECDHSessionKey" => ::std::option::Option::Some(MessageType::MessageType_ECDHSessionKey),
+ "MessageType_PaymentNotification" => ::std::option::Option::Some(MessageType::MessageType_PaymentNotification),
+ "MessageType_DebugLinkDecision" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkDecision),
+ "MessageType_DebugLinkGetState" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkGetState),
+ "MessageType_DebugLinkState" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkState),
+ "MessageType_DebugLinkStop" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkStop),
+ "MessageType_DebugLinkLog" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkLog),
+ "MessageType_DebugLinkMemoryRead" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkMemoryRead),
+ "MessageType_DebugLinkMemory" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkMemory),
+ "MessageType_DebugLinkMemoryWrite" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkMemoryWrite),
+ "MessageType_DebugLinkFlashErase" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkFlashErase),
+ "MessageType_DebugLinkLayout" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkLayout),
+ "MessageType_DebugLinkReseedRandom" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkReseedRandom),
+ "MessageType_DebugLinkRecordScreen" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkRecordScreen),
+ "MessageType_DebugLinkEraseSdCard" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkEraseSdCard),
+ "MessageType_DebugLinkWatchLayout" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkWatchLayout),
+ "MessageType_DebugLinkResetDebugEvents" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkResetDebugEvents),
+ "MessageType_DebugLinkOptigaSetSecMax" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkOptigaSetSecMax),
+ "MessageType_DebugLinkGetGcInfo" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkGetGcInfo),
+ "MessageType_DebugLinkGcInfo" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkGcInfo),
+ "MessageType_DebugLinkGetPairingInfo" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkGetPairingInfo),
+ "MessageType_DebugLinkPairingInfo" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkPairingInfo),
+ "MessageType_DebugLinkSetLogFilter" => ::std::option::Option::Some(MessageType::MessageType_DebugLinkSetLogFilter),
+ "MessageType_EthereumGetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_EthereumGetPublicKey),
+ "MessageType_EthereumPublicKey" => ::std::option::Option::Some(MessageType::MessageType_EthereumPublicKey),
+ "MessageType_EthereumGetAddress" => ::std::option::Option::Some(MessageType::MessageType_EthereumGetAddress),
+ "MessageType_EthereumAddress" => ::std::option::Option::Some(MessageType::MessageType_EthereumAddress),
+ "MessageType_EthereumSignTx" => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTx),
+ "MessageType_EthereumSignTxEIP1559" => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTxEIP1559),
+ "MessageType_EthereumTxRequest" => ::std::option::Option::Some(MessageType::MessageType_EthereumTxRequest),
+ "MessageType_EthereumTxAck" => ::std::option::Option::Some(MessageType::MessageType_EthereumTxAck),
+ "MessageType_EthereumSignMessage" => ::std::option::Option::Some(MessageType::MessageType_EthereumSignMessage),
+ "MessageType_EthereumVerifyMessage" => ::std::option::Option::Some(MessageType::MessageType_EthereumVerifyMessage),
+ "MessageType_EthereumMessageSignature" => ::std::option::Option::Some(MessageType::MessageType_EthereumMessageSignature),
+ "MessageType_EthereumSignTypedData" => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTypedData),
+ "MessageType_EthereumTypedDataStructRequest" => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataStructRequest),
+ "MessageType_EthereumTypedDataStructAck" => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataStructAck),
+ "MessageType_EthereumTypedDataValueRequest" => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataValueRequest),
+ "MessageType_EthereumTypedDataValueAck" => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataValueAck),
+ "MessageType_EthereumTypedDataSignature" => ::std::option::Option::Some(MessageType::MessageType_EthereumTypedDataSignature),
+ "MessageType_EthereumSignTypedHash" => ::std::option::Option::Some(MessageType::MessageType_EthereumSignTypedHash),
+ "MessageType_NEMGetAddress" => ::std::option::Option::Some(MessageType::MessageType_NEMGetAddress),
+ "MessageType_NEMAddress" => ::std::option::Option::Some(MessageType::MessageType_NEMAddress),
+ "MessageType_NEMSignTx" => ::std::option::Option::Some(MessageType::MessageType_NEMSignTx),
+ "MessageType_NEMSignedTx" => ::std::option::Option::Some(MessageType::MessageType_NEMSignedTx),
+ "MessageType_NEMDecryptMessage" => ::std::option::Option::Some(MessageType::MessageType_NEMDecryptMessage),
+ "MessageType_NEMDecryptedMessage" => ::std::option::Option::Some(MessageType::MessageType_NEMDecryptedMessage),
+ "MessageType_TezosGetAddress" => ::std::option::Option::Some(MessageType::MessageType_TezosGetAddress),
+ "MessageType_TezosAddress" => ::std::option::Option::Some(MessageType::MessageType_TezosAddress),
+ "MessageType_TezosSignTx" => ::std::option::Option::Some(MessageType::MessageType_TezosSignTx),
+ "MessageType_TezosSignedTx" => ::std::option::Option::Some(MessageType::MessageType_TezosSignedTx),
+ "MessageType_TezosGetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_TezosGetPublicKey),
+ "MessageType_TezosPublicKey" => ::std::option::Option::Some(MessageType::MessageType_TezosPublicKey),
+ "MessageType_StellarSignTx" => ::std::option::Option::Some(MessageType::MessageType_StellarSignTx),
+ "MessageType_StellarTxOpRequest" => ::std::option::Option::Some(MessageType::MessageType_StellarTxOpRequest),
+ "MessageType_StellarGetAddress" => ::std::option::Option::Some(MessageType::MessageType_StellarGetAddress),
+ "MessageType_StellarAddress" => ::std::option::Option::Some(MessageType::MessageType_StellarAddress),
+ "MessageType_StellarCreateAccountOp" => ::std::option::Option::Some(MessageType::MessageType_StellarCreateAccountOp),
+ "MessageType_StellarPaymentOp" => ::std::option::Option::Some(MessageType::MessageType_StellarPaymentOp),
+ "MessageType_StellarPathPaymentStrictReceiveOp" => ::std::option::Option::Some(MessageType::MessageType_StellarPathPaymentStrictReceiveOp),
+ "MessageType_StellarManageSellOfferOp" => ::std::option::Option::Some(MessageType::MessageType_StellarManageSellOfferOp),
+ "MessageType_StellarCreatePassiveSellOfferOp" => ::std::option::Option::Some(MessageType::MessageType_StellarCreatePassiveSellOfferOp),
+ "MessageType_StellarSetOptionsOp" => ::std::option::Option::Some(MessageType::MessageType_StellarSetOptionsOp),
+ "MessageType_StellarChangeTrustOp" => ::std::option::Option::Some(MessageType::MessageType_StellarChangeTrustOp),
+ "MessageType_StellarAllowTrustOp" => ::std::option::Option::Some(MessageType::MessageType_StellarAllowTrustOp),
+ "MessageType_StellarAccountMergeOp" => ::std::option::Option::Some(MessageType::MessageType_StellarAccountMergeOp),
+ "MessageType_StellarManageDataOp" => ::std::option::Option::Some(MessageType::MessageType_StellarManageDataOp),
+ "MessageType_StellarBumpSequenceOp" => ::std::option::Option::Some(MessageType::MessageType_StellarBumpSequenceOp),
+ "MessageType_StellarManageBuyOfferOp" => ::std::option::Option::Some(MessageType::MessageType_StellarManageBuyOfferOp),
+ "MessageType_StellarPathPaymentStrictSendOp" => ::std::option::Option::Some(MessageType::MessageType_StellarPathPaymentStrictSendOp),
+ "MessageType_StellarClaimClaimableBalanceOp" => ::std::option::Option::Some(MessageType::MessageType_StellarClaimClaimableBalanceOp),
+ "MessageType_StellarSignedTx" => ::std::option::Option::Some(MessageType::MessageType_StellarSignedTx),
+ "MessageType_CardanoGetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_CardanoGetPublicKey),
+ "MessageType_CardanoPublicKey" => ::std::option::Option::Some(MessageType::MessageType_CardanoPublicKey),
+ "MessageType_CardanoGetAddress" => ::std::option::Option::Some(MessageType::MessageType_CardanoGetAddress),
+ "MessageType_CardanoAddress" => ::std::option::Option::Some(MessageType::MessageType_CardanoAddress),
+ "MessageType_CardanoTxItemAck" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxItemAck),
+ "MessageType_CardanoTxAuxiliaryDataSupplement" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxAuxiliaryDataSupplement),
+ "MessageType_CardanoTxWitnessRequest" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxWitnessRequest),
+ "MessageType_CardanoTxWitnessResponse" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxWitnessResponse),
+ "MessageType_CardanoTxHostAck" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxHostAck),
+ "MessageType_CardanoTxBodyHash" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxBodyHash),
+ "MessageType_CardanoSignTxFinished" => ::std::option::Option::Some(MessageType::MessageType_CardanoSignTxFinished),
+ "MessageType_CardanoSignTxInit" => ::std::option::Option::Some(MessageType::MessageType_CardanoSignTxInit),
+ "MessageType_CardanoTxInput" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxInput),
+ "MessageType_CardanoTxOutput" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxOutput),
+ "MessageType_CardanoAssetGroup" => ::std::option::Option::Some(MessageType::MessageType_CardanoAssetGroup),
+ "MessageType_CardanoToken" => ::std::option::Option::Some(MessageType::MessageType_CardanoToken),
+ "MessageType_CardanoTxCertificate" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxCertificate),
+ "MessageType_CardanoTxWithdrawal" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxWithdrawal),
+ "MessageType_CardanoTxAuxiliaryData" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxAuxiliaryData),
+ "MessageType_CardanoPoolOwner" => ::std::option::Option::Some(MessageType::MessageType_CardanoPoolOwner),
+ "MessageType_CardanoPoolRelayParameters" => ::std::option::Option::Some(MessageType::MessageType_CardanoPoolRelayParameters),
+ "MessageType_CardanoGetNativeScriptHash" => ::std::option::Option::Some(MessageType::MessageType_CardanoGetNativeScriptHash),
+ "MessageType_CardanoNativeScriptHash" => ::std::option::Option::Some(MessageType::MessageType_CardanoNativeScriptHash),
+ "MessageType_CardanoTxMint" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxMint),
+ "MessageType_CardanoTxCollateralInput" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxCollateralInput),
+ "MessageType_CardanoTxRequiredSigner" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxRequiredSigner),
+ "MessageType_CardanoTxInlineDatumChunk" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxInlineDatumChunk),
+ "MessageType_CardanoTxReferenceScriptChunk" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxReferenceScriptChunk),
+ "MessageType_CardanoTxReferenceInput" => ::std::option::Option::Some(MessageType::MessageType_CardanoTxReferenceInput),
+ "MessageType_CardanoSignMessageInit" => ::std::option::Option::Some(MessageType::MessageType_CardanoSignMessageInit),
+ "MessageType_CardanoMessageDataRequest" => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageDataRequest),
+ "MessageType_CardanoMessageDataResponse" => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageDataResponse),
+ "MessageType_CardanoMessageSignature" => ::std::option::Option::Some(MessageType::MessageType_CardanoMessageSignature),
+ "MessageType_RippleGetAddress" => ::std::option::Option::Some(MessageType::MessageType_RippleGetAddress),
+ "MessageType_RippleAddress" => ::std::option::Option::Some(MessageType::MessageType_RippleAddress),
+ "MessageType_RippleSignTx" => ::std::option::Option::Some(MessageType::MessageType_RippleSignTx),
+ "MessageType_RippleSignedTx" => ::std::option::Option::Some(MessageType::MessageType_RippleSignedTx),
+ "MessageType_MoneroTransactionInitRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInitRequest),
+ "MessageType_MoneroTransactionInitAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInitAck),
+ "MessageType_MoneroTransactionSetInputRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetInputRequest),
+ "MessageType_MoneroTransactionSetInputAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetInputAck),
+ "MessageType_MoneroTransactionInputViniRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInputViniRequest),
+ "MessageType_MoneroTransactionInputViniAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionInputViniAck),
+ "MessageType_MoneroTransactionAllInputsSetRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllInputsSetRequest),
+ "MessageType_MoneroTransactionAllInputsSetAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllInputsSetAck),
+ "MessageType_MoneroTransactionSetOutputRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetOutputRequest),
+ "MessageType_MoneroTransactionSetOutputAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSetOutputAck),
+ "MessageType_MoneroTransactionAllOutSetRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllOutSetRequest),
+ "MessageType_MoneroTransactionAllOutSetAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionAllOutSetAck),
+ "MessageType_MoneroTransactionSignInputRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSignInputRequest),
+ "MessageType_MoneroTransactionSignInputAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionSignInputAck),
+ "MessageType_MoneroTransactionFinalRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionFinalRequest),
+ "MessageType_MoneroTransactionFinalAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroTransactionFinalAck),
+ "MessageType_MoneroKeyImageExportInitRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageExportInitRequest),
+ "MessageType_MoneroKeyImageExportInitAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageExportInitAck),
+ "MessageType_MoneroKeyImageSyncStepRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncStepRequest),
+ "MessageType_MoneroKeyImageSyncStepAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncStepAck),
+ "MessageType_MoneroKeyImageSyncFinalRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncFinalRequest),
+ "MessageType_MoneroKeyImageSyncFinalAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroKeyImageSyncFinalAck),
+ "MessageType_MoneroGetAddress" => ::std::option::Option::Some(MessageType::MessageType_MoneroGetAddress),
+ "MessageType_MoneroAddress" => ::std::option::Option::Some(MessageType::MessageType_MoneroAddress),
+ "MessageType_MoneroGetWatchKey" => ::std::option::Option::Some(MessageType::MessageType_MoneroGetWatchKey),
+ "MessageType_MoneroWatchKey" => ::std::option::Option::Some(MessageType::MessageType_MoneroWatchKey),
+ "MessageType_DebugMoneroDiagRequest" => ::std::option::Option::Some(MessageType::MessageType_DebugMoneroDiagRequest),
+ "MessageType_DebugMoneroDiagAck" => ::std::option::Option::Some(MessageType::MessageType_DebugMoneroDiagAck),
+ "MessageType_MoneroGetTxKeyRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroGetTxKeyRequest),
+ "MessageType_MoneroGetTxKeyAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroGetTxKeyAck),
+ "MessageType_MoneroLiveRefreshStartRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStartRequest),
+ "MessageType_MoneroLiveRefreshStartAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStartAck),
+ "MessageType_MoneroLiveRefreshStepRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStepRequest),
+ "MessageType_MoneroLiveRefreshStepAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshStepAck),
+ "MessageType_MoneroLiveRefreshFinalRequest" => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshFinalRequest),
+ "MessageType_MoneroLiveRefreshFinalAck" => ::std::option::Option::Some(MessageType::MessageType_MoneroLiveRefreshFinalAck),
+ "MessageType_EosGetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_EosGetPublicKey),
+ "MessageType_EosPublicKey" => ::std::option::Option::Some(MessageType::MessageType_EosPublicKey),
+ "MessageType_EosSignTx" => ::std::option::Option::Some(MessageType::MessageType_EosSignTx),
+ "MessageType_EosTxActionRequest" => ::std::option::Option::Some(MessageType::MessageType_EosTxActionRequest),
+ "MessageType_EosTxActionAck" => ::std::option::Option::Some(MessageType::MessageType_EosTxActionAck),
+ "MessageType_EosSignedTx" => ::std::option::Option::Some(MessageType::MessageType_EosSignedTx),
+ "MessageType_WebAuthnListResidentCredentials" => ::std::option::Option::Some(MessageType::MessageType_WebAuthnListResidentCredentials),
+ "MessageType_WebAuthnCredentials" => ::std::option::Option::Some(MessageType::MessageType_WebAuthnCredentials),
+ "MessageType_WebAuthnAddResidentCredential" => ::std::option::Option::Some(MessageType::MessageType_WebAuthnAddResidentCredential),
+ "MessageType_WebAuthnRemoveResidentCredential" => ::std::option::Option::Some(MessageType::MessageType_WebAuthnRemoveResidentCredential),
+ "MessageType_SolanaGetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_SolanaGetPublicKey),
+ "MessageType_SolanaPublicKey" => ::std::option::Option::Some(MessageType::MessageType_SolanaPublicKey),
+ "MessageType_SolanaGetAddress" => ::std::option::Option::Some(MessageType::MessageType_SolanaGetAddress),
+ "MessageType_SolanaAddress" => ::std::option::Option::Some(MessageType::MessageType_SolanaAddress),
+ "MessageType_SolanaSignTx" => ::std::option::Option::Some(MessageType::MessageType_SolanaSignTx),
+ "MessageType_SolanaTxSignature" => ::std::option::Option::Some(MessageType::MessageType_SolanaTxSignature),
+ "MessageType_ThpCreateNewSession" => ::std::option::Option::Some(MessageType::MessageType_ThpCreateNewSession),
+ "MessageType_ThpCredentialRequest" => ::std::option::Option::Some(MessageType::MessageType_ThpCredentialRequest),
+ "MessageType_ThpCredentialResponse" => ::std::option::Option::Some(MessageType::MessageType_ThpCredentialResponse),
+ "MessageType_NostrGetPubkey" => ::std::option::Option::Some(MessageType::MessageType_NostrGetPubkey),
+ "MessageType_NostrPubkey" => ::std::option::Option::Some(MessageType::MessageType_NostrPubkey),
+ "MessageType_NostrSignEvent" => ::std::option::Option::Some(MessageType::MessageType_NostrSignEvent),
+ "MessageType_NostrEventSignature" => ::std::option::Option::Some(MessageType::MessageType_NostrEventSignature),
+ "MessageType_EvoluGetNode" => ::std::option::Option::Some(MessageType::MessageType_EvoluGetNode),
+ "MessageType_EvoluNode" => ::std::option::Option::Some(MessageType::MessageType_EvoluNode),
+ "MessageType_EvoluSignRegistrationRequest" => ::std::option::Option::Some(MessageType::MessageType_EvoluSignRegistrationRequest),
+ "MessageType_EvoluRegistrationRequest" => ::std::option::Option::Some(MessageType::MessageType_EvoluRegistrationRequest),
+ "MessageType_EvoluGetDelegatedIdentityKey" => ::std::option::Option::Some(MessageType::MessageType_EvoluGetDelegatedIdentityKey),
+ "MessageType_EvoluDelegatedIdentityKey" => ::std::option::Option::Some(MessageType::MessageType_EvoluDelegatedIdentityKey),
+ "MessageType_TronGetAddress" => ::std::option::Option::Some(MessageType::MessageType_TronGetAddress),
+ "MessageType_TronAddress" => ::std::option::Option::Some(MessageType::MessageType_TronAddress),
+ "MessageType_TronSignTx" => ::std::option::Option::Some(MessageType::MessageType_TronSignTx),
+ "MessageType_TronSignature" => ::std::option::Option::Some(MessageType::MessageType_TronSignature),
+ "MessageType_TronContractRequest" => ::std::option::Option::Some(MessageType::MessageType_TronContractRequest),
+ "MessageType_TronTransferContract" => ::std::option::Option::Some(MessageType::MessageType_TronTransferContract),
+ "MessageType_TronTriggerSmartContract" => ::std::option::Option::Some(MessageType::MessageType_TronTriggerSmartContract),
+ "MessageType_BenchmarkListNames" => ::std::option::Option::Some(MessageType::MessageType_BenchmarkListNames),
+ "MessageType_BenchmarkNames" => ::std::option::Option::Some(MessageType::MessageType_BenchmarkNames),
+ "MessageType_BenchmarkRun" => ::std::option::Option::Some(MessageType::MessageType_BenchmarkRun),
+ "MessageType_BenchmarkResult" => ::std::option::Option::Some(MessageType::MessageType_BenchmarkResult),
+ _ => ::std::option::Option::None
+ }
+ }
+
+ const VALUES: &'static [MessageType] = &[
+ MessageType::MessageType_Initialize,
+ MessageType::MessageType_Ping,
+ MessageType::MessageType_Success,
+ MessageType::MessageType_Failure,
+ MessageType::MessageType_ChangePin,
+ MessageType::MessageType_WipeDevice,
+ MessageType::MessageType_GetEntropy,
+ MessageType::MessageType_Entropy,
+ MessageType::MessageType_LoadDevice,
+ MessageType::MessageType_ResetDevice,
+ MessageType::MessageType_SetBusy,
+ MessageType::MessageType_Features,
+ MessageType::MessageType_PinMatrixRequest,
+ MessageType::MessageType_PinMatrixAck,
+ MessageType::MessageType_Cancel,
+ MessageType::MessageType_LockDevice,
+ MessageType::MessageType_ApplySettings,
+ MessageType::MessageType_ButtonRequest,
+ MessageType::MessageType_ButtonAck,
+ MessageType::MessageType_ApplyFlags,
+ MessageType::MessageType_GetNonce,
+ MessageType::MessageType_Nonce,
+ MessageType::MessageType_BackupDevice,
+ MessageType::MessageType_EntropyRequest,
+ MessageType::MessageType_EntropyAck,
+ MessageType::MessageType_PaymentRequest,
+ MessageType::MessageType_EntropyCheckReady,
+ MessageType::MessageType_EntropyCheckContinue,
+ MessageType::MessageType_PassphraseRequest,
+ MessageType::MessageType_PassphraseAck,
+ MessageType::MessageType_RecoveryDevice,
+ MessageType::MessageType_WordRequest,
+ MessageType::MessageType_WordAck,
+ MessageType::MessageType_GetFeatures,
+ MessageType::MessageType_SdProtect,
+ MessageType::MessageType_ChangeWipeCode,
+ MessageType::MessageType_EndSession,
+ MessageType::MessageType_DoPreauthorized,
+ MessageType::MessageType_PreauthorizedRequest,
+ MessageType::MessageType_CancelAuthorization,
+ MessageType::MessageType_RebootToBootloader,
+ MessageType::MessageType_GetFirmwareHash,
+ MessageType::MessageType_FirmwareHash,
+ MessageType::MessageType_UnlockPath,
+ MessageType::MessageType_UnlockedPathRequest,
+ MessageType::MessageType_ShowDeviceTutorial,
+ MessageType::MessageType_UnlockBootloader,
+ MessageType::MessageType_AuthenticateDevice,
+ MessageType::MessageType_AuthenticityProof,
+ MessageType::MessageType_ChangeLanguage,
+ MessageType::MessageType_DataChunkRequest,
+ MessageType::MessageType_DataChunkAck,
+ MessageType::MessageType_SetBrightness,
+ MessageType::MessageType_GetSerialNumber,
+ MessageType::MessageType_SerialNumber,
+ MessageType::MessageType_SetU2FCounter,
+ MessageType::MessageType_GetNextU2FCounter,
+ MessageType::MessageType_NextU2FCounter,
+ MessageType::MessageType_Deprecated_PassphraseStateRequest,
+ MessageType::MessageType_Deprecated_PassphraseStateAck,
+ MessageType::MessageType_FirmwareErase,
+ MessageType::MessageType_FirmwareUpload,
+ MessageType::MessageType_FirmwareRequest,
+ MessageType::MessageType_ProdTestT1,
+ MessageType::MessageType_BleUnpair,
+ MessageType::MessageType_GetPublicKey,
+ MessageType::MessageType_PublicKey,
+ MessageType::MessageType_SignTx,
+ MessageType::MessageType_TxRequest,
+ MessageType::MessageType_TxAck,
+ MessageType::MessageType_GetAddress,
+ MessageType::MessageType_Address,
+ MessageType::MessageType_SignMessage,
+ MessageType::MessageType_VerifyMessage,
+ MessageType::MessageType_MessageSignature,
+ MessageType::MessageType_GetOwnershipId,
+ MessageType::MessageType_OwnershipId,
+ MessageType::MessageType_GetOwnershipProof,
+ MessageType::MessageType_OwnershipProof,
+ MessageType::MessageType_AuthorizeCoinJoin,
+ MessageType::MessageType_CipherKeyValue,
+ MessageType::MessageType_CipheredKeyValue,
+ MessageType::MessageType_SignIdentity,
+ MessageType::MessageType_SignedIdentity,
+ MessageType::MessageType_GetECDHSessionKey,
+ MessageType::MessageType_ECDHSessionKey,
+ MessageType::MessageType_PaymentNotification,
+ MessageType::MessageType_DebugLinkDecision,
+ MessageType::MessageType_DebugLinkGetState,
+ MessageType::MessageType_DebugLinkState,
+ MessageType::MessageType_DebugLinkStop,
+ MessageType::MessageType_DebugLinkLog,
+ MessageType::MessageType_DebugLinkMemoryRead,
+ MessageType::MessageType_DebugLinkMemory,
+ MessageType::MessageType_DebugLinkMemoryWrite,
+ MessageType::MessageType_DebugLinkFlashErase,
+ MessageType::MessageType_DebugLinkLayout,
+ MessageType::MessageType_DebugLinkReseedRandom,
+ MessageType::MessageType_DebugLinkRecordScreen,
+ MessageType::MessageType_DebugLinkEraseSdCard,
+ MessageType::MessageType_DebugLinkWatchLayout,
+ MessageType::MessageType_DebugLinkResetDebugEvents,
+ MessageType::MessageType_DebugLinkOptigaSetSecMax,
+ MessageType::MessageType_DebugLinkGetGcInfo,
+ MessageType::MessageType_DebugLinkGcInfo,
+ MessageType::MessageType_DebugLinkGetPairingInfo,
+ MessageType::MessageType_DebugLinkPairingInfo,
+ MessageType::MessageType_DebugLinkSetLogFilter,
+ MessageType::MessageType_EthereumGetPublicKey,
+ MessageType::MessageType_EthereumPublicKey,
+ MessageType::MessageType_EthereumGetAddress,
+ MessageType::MessageType_EthereumAddress,
+ MessageType::MessageType_EthereumSignTx,
+ MessageType::MessageType_EthereumSignTxEIP1559,
+ MessageType::MessageType_EthereumTxRequest,
+ MessageType::MessageType_EthereumTxAck,
+ MessageType::MessageType_EthereumSignMessage,
+ MessageType::MessageType_EthereumVerifyMessage,
+ MessageType::MessageType_EthereumMessageSignature,
+ MessageType::MessageType_EthereumSignTypedData,
+ MessageType::MessageType_EthereumTypedDataStructRequest,
+ MessageType::MessageType_EthereumTypedDataStructAck,
+ MessageType::MessageType_EthereumTypedDataValueRequest,
+ MessageType::MessageType_EthereumTypedDataValueAck,
+ MessageType::MessageType_EthereumTypedDataSignature,
+ MessageType::MessageType_EthereumSignTypedHash,
+ MessageType::MessageType_NEMGetAddress,
+ MessageType::MessageType_NEMAddress,
+ MessageType::MessageType_NEMSignTx,
+ MessageType::MessageType_NEMSignedTx,
+ MessageType::MessageType_NEMDecryptMessage,
+ MessageType::MessageType_NEMDecryptedMessage,
+ MessageType::MessageType_TezosGetAddress,
+ MessageType::MessageType_TezosAddress,
+ MessageType::MessageType_TezosSignTx,
+ MessageType::MessageType_TezosSignedTx,
+ MessageType::MessageType_TezosGetPublicKey,
+ MessageType::MessageType_TezosPublicKey,
+ MessageType::MessageType_StellarSignTx,
+ MessageType::MessageType_StellarTxOpRequest,
+ MessageType::MessageType_StellarGetAddress,
+ MessageType::MessageType_StellarAddress,
+ MessageType::MessageType_StellarCreateAccountOp,
+ MessageType::MessageType_StellarPaymentOp,
+ MessageType::MessageType_StellarPathPaymentStrictReceiveOp,
+ MessageType::MessageType_StellarManageSellOfferOp,
+ MessageType::MessageType_StellarCreatePassiveSellOfferOp,
+ MessageType::MessageType_StellarSetOptionsOp,
+ MessageType::MessageType_StellarChangeTrustOp,
+ MessageType::MessageType_StellarAllowTrustOp,
+ MessageType::MessageType_StellarAccountMergeOp,
+ MessageType::MessageType_StellarManageDataOp,
+ MessageType::MessageType_StellarBumpSequenceOp,
+ MessageType::MessageType_StellarManageBuyOfferOp,
+ MessageType::MessageType_StellarPathPaymentStrictSendOp,
+ MessageType::MessageType_StellarClaimClaimableBalanceOp,
+ MessageType::MessageType_StellarSignedTx,
+ MessageType::MessageType_CardanoGetPublicKey,
+ MessageType::MessageType_CardanoPublicKey,
+ MessageType::MessageType_CardanoGetAddress,
+ MessageType::MessageType_CardanoAddress,
+ MessageType::MessageType_CardanoTxItemAck,
+ MessageType::MessageType_CardanoTxAuxiliaryDataSupplement,
+ MessageType::MessageType_CardanoTxWitnessRequest,
+ MessageType::MessageType_CardanoTxWitnessResponse,
+ MessageType::MessageType_CardanoTxHostAck,
+ MessageType::MessageType_CardanoTxBodyHash,
+ MessageType::MessageType_CardanoSignTxFinished,
+ MessageType::MessageType_CardanoSignTxInit,
+ MessageType::MessageType_CardanoTxInput,
+ MessageType::MessageType_CardanoTxOutput,
+ MessageType::MessageType_CardanoAssetGroup,
+ MessageType::MessageType_CardanoToken,
+ MessageType::MessageType_CardanoTxCertificate,
+ MessageType::MessageType_CardanoTxWithdrawal,
+ MessageType::MessageType_CardanoTxAuxiliaryData,
+ MessageType::MessageType_CardanoPoolOwner,
+ MessageType::MessageType_CardanoPoolRelayParameters,
+ MessageType::MessageType_CardanoGetNativeScriptHash,
+ MessageType::MessageType_CardanoNativeScriptHash,
+ MessageType::MessageType_CardanoTxMint,
+ MessageType::MessageType_CardanoTxCollateralInput,
+ MessageType::MessageType_CardanoTxRequiredSigner,
+ MessageType::MessageType_CardanoTxInlineDatumChunk,
+ MessageType::MessageType_CardanoTxReferenceScriptChunk,
+ MessageType::MessageType_CardanoTxReferenceInput,
+ MessageType::MessageType_CardanoSignMessageInit,
+ MessageType::MessageType_CardanoMessageDataRequest,
+ MessageType::MessageType_CardanoMessageDataResponse,
+ MessageType::MessageType_CardanoMessageSignature,
+ MessageType::MessageType_RippleGetAddress,
+ MessageType::MessageType_RippleAddress,
+ MessageType::MessageType_RippleSignTx,
+ MessageType::MessageType_RippleSignedTx,
+ MessageType::MessageType_MoneroTransactionInitRequest,
+ MessageType::MessageType_MoneroTransactionInitAck,
+ MessageType::MessageType_MoneroTransactionSetInputRequest,
+ MessageType::MessageType_MoneroTransactionSetInputAck,
+ MessageType::MessageType_MoneroTransactionInputViniRequest,
+ MessageType::MessageType_MoneroTransactionInputViniAck,
+ MessageType::MessageType_MoneroTransactionAllInputsSetRequest,
+ MessageType::MessageType_MoneroTransactionAllInputsSetAck,
+ MessageType::MessageType_MoneroTransactionSetOutputRequest,
+ MessageType::MessageType_MoneroTransactionSetOutputAck,
+ MessageType::MessageType_MoneroTransactionAllOutSetRequest,
+ MessageType::MessageType_MoneroTransactionAllOutSetAck,
+ MessageType::MessageType_MoneroTransactionSignInputRequest,
+ MessageType::MessageType_MoneroTransactionSignInputAck,
+ MessageType::MessageType_MoneroTransactionFinalRequest,
+ MessageType::MessageType_MoneroTransactionFinalAck,
+ MessageType::MessageType_MoneroKeyImageExportInitRequest,
+ MessageType::MessageType_MoneroKeyImageExportInitAck,
+ MessageType::MessageType_MoneroKeyImageSyncStepRequest,
+ MessageType::MessageType_MoneroKeyImageSyncStepAck,
+ MessageType::MessageType_MoneroKeyImageSyncFinalRequest,
+ MessageType::MessageType_MoneroKeyImageSyncFinalAck,
+ MessageType::MessageType_MoneroGetAddress,
+ MessageType::MessageType_MoneroAddress,
+ MessageType::MessageType_MoneroGetWatchKey,
+ MessageType::MessageType_MoneroWatchKey,
+ MessageType::MessageType_DebugMoneroDiagRequest,
+ MessageType::MessageType_DebugMoneroDiagAck,
+ MessageType::MessageType_MoneroGetTxKeyRequest,
+ MessageType::MessageType_MoneroGetTxKeyAck,
+ MessageType::MessageType_MoneroLiveRefreshStartRequest,
+ MessageType::MessageType_MoneroLiveRefreshStartAck,
+ MessageType::MessageType_MoneroLiveRefreshStepRequest,
+ MessageType::MessageType_MoneroLiveRefreshStepAck,
+ MessageType::MessageType_MoneroLiveRefreshFinalRequest,
+ MessageType::MessageType_MoneroLiveRefreshFinalAck,
+ MessageType::MessageType_EosGetPublicKey,
+ MessageType::MessageType_EosPublicKey,
+ MessageType::MessageType_EosSignTx,
+ MessageType::MessageType_EosTxActionRequest,
+ MessageType::MessageType_EosTxActionAck,
+ MessageType::MessageType_EosSignedTx,
+ MessageType::MessageType_WebAuthnListResidentCredentials,
+ MessageType::MessageType_WebAuthnCredentials,
+ MessageType::MessageType_WebAuthnAddResidentCredential,
+ MessageType::MessageType_WebAuthnRemoveResidentCredential,
+ MessageType::MessageType_SolanaGetPublicKey,
+ MessageType::MessageType_SolanaPublicKey,
+ MessageType::MessageType_SolanaGetAddress,
+ MessageType::MessageType_SolanaAddress,
+ MessageType::MessageType_SolanaSignTx,
+ MessageType::MessageType_SolanaTxSignature,
+ MessageType::MessageType_ThpCreateNewSession,
+ MessageType::MessageType_ThpCredentialRequest,
+ MessageType::MessageType_ThpCredentialResponse,
+ MessageType::MessageType_NostrGetPubkey,
+ MessageType::MessageType_NostrPubkey,
+ MessageType::MessageType_NostrSignEvent,
+ MessageType::MessageType_NostrEventSignature,
+ MessageType::MessageType_EvoluGetNode,
+ MessageType::MessageType_EvoluNode,
+ MessageType::MessageType_EvoluSignRegistrationRequest,
+ MessageType::MessageType_EvoluRegistrationRequest,
+ MessageType::MessageType_EvoluGetDelegatedIdentityKey,
+ MessageType::MessageType_EvoluDelegatedIdentityKey,
+ MessageType::MessageType_TronGetAddress,
+ MessageType::MessageType_TronAddress,
+ MessageType::MessageType_TronSignTx,
+ MessageType::MessageType_TronSignature,
+ MessageType::MessageType_TronContractRequest,
+ MessageType::MessageType_TronTransferContract,
+ MessageType::MessageType_TronTriggerSmartContract,
+ MessageType::MessageType_BenchmarkListNames,
+ MessageType::MessageType_BenchmarkNames,
+ MessageType::MessageType_BenchmarkRun,
+ MessageType::MessageType_BenchmarkResult,
+ ];
+}
+
+impl ::protobuf::EnumFull for MessageType {
+ fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
+ static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
+ descriptor.get(|| file_descriptor().enum_by_package_relative_name("MessageType").unwrap()).clone()
+ }
+
+ fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
+ let index = match self {
+ MessageType::MessageType_Initialize => 0,
+ MessageType::MessageType_Ping => 1,
+ MessageType::MessageType_Success => 2,
+ MessageType::MessageType_Failure => 3,
+ MessageType::MessageType_ChangePin => 4,
+ MessageType::MessageType_WipeDevice => 5,
+ MessageType::MessageType_GetEntropy => 6,
+ MessageType::MessageType_Entropy => 7,
+ MessageType::MessageType_LoadDevice => 8,
+ MessageType::MessageType_ResetDevice => 9,
+ MessageType::MessageType_SetBusy => 10,
+ MessageType::MessageType_Features => 11,
+ MessageType::MessageType_PinMatrixRequest => 12,
+ MessageType::MessageType_PinMatrixAck => 13,
+ MessageType::MessageType_Cancel => 14,
+ MessageType::MessageType_LockDevice => 15,
+ MessageType::MessageType_ApplySettings => 16,
+ MessageType::MessageType_ButtonRequest => 17,
+ MessageType::MessageType_ButtonAck => 18,
+ MessageType::MessageType_ApplyFlags => 19,
+ MessageType::MessageType_GetNonce => 20,
+ MessageType::MessageType_Nonce => 21,
+ MessageType::MessageType_BackupDevice => 22,
+ MessageType::MessageType_EntropyRequest => 23,
+ MessageType::MessageType_EntropyAck => 24,
+ MessageType::MessageType_PaymentRequest => 25,
+ MessageType::MessageType_EntropyCheckReady => 26,
+ MessageType::MessageType_EntropyCheckContinue => 27,
+ MessageType::MessageType_PassphraseRequest => 28,
+ MessageType::MessageType_PassphraseAck => 29,
+ MessageType::MessageType_RecoveryDevice => 30,
+ MessageType::MessageType_WordRequest => 31,
+ MessageType::MessageType_WordAck => 32,
+ MessageType::MessageType_GetFeatures => 33,
+ MessageType::MessageType_SdProtect => 34,
+ MessageType::MessageType_ChangeWipeCode => 35,
+ MessageType::MessageType_EndSession => 36,
+ MessageType::MessageType_DoPreauthorized => 37,
+ MessageType::MessageType_PreauthorizedRequest => 38,
+ MessageType::MessageType_CancelAuthorization => 39,
+ MessageType::MessageType_RebootToBootloader => 40,
+ MessageType::MessageType_GetFirmwareHash => 41,
+ MessageType::MessageType_FirmwareHash => 42,
+ MessageType::MessageType_UnlockPath => 43,
+ MessageType::MessageType_UnlockedPathRequest => 44,
+ MessageType::MessageType_ShowDeviceTutorial => 45,
+ MessageType::MessageType_UnlockBootloader => 46,
+ MessageType::MessageType_AuthenticateDevice => 47,
+ MessageType::MessageType_AuthenticityProof => 48,
+ MessageType::MessageType_ChangeLanguage => 49,
+ MessageType::MessageType_DataChunkRequest => 50,
+ MessageType::MessageType_DataChunkAck => 51,
+ MessageType::MessageType_SetBrightness => 52,
+ MessageType::MessageType_GetSerialNumber => 53,
+ MessageType::MessageType_SerialNumber => 54,
+ MessageType::MessageType_SetU2FCounter => 55,
+ MessageType::MessageType_GetNextU2FCounter => 56,
+ MessageType::MessageType_NextU2FCounter => 57,
+ MessageType::MessageType_Deprecated_PassphraseStateRequest => 58,
+ MessageType::MessageType_Deprecated_PassphraseStateAck => 59,
+ MessageType::MessageType_FirmwareErase => 60,
+ MessageType::MessageType_FirmwareUpload => 61,
+ MessageType::MessageType_FirmwareRequest => 62,
+ MessageType::MessageType_ProdTestT1 => 63,
+ MessageType::MessageType_BleUnpair => 64,
+ MessageType::MessageType_GetPublicKey => 65,
+ MessageType::MessageType_PublicKey => 66,
+ MessageType::MessageType_SignTx => 67,
+ MessageType::MessageType_TxRequest => 68,
+ MessageType::MessageType_TxAck => 69,
+ MessageType::MessageType_GetAddress => 70,
+ MessageType::MessageType_Address => 71,
+ MessageType::MessageType_SignMessage => 72,
+ MessageType::MessageType_VerifyMessage => 73,
+ MessageType::MessageType_MessageSignature => 74,
+ MessageType::MessageType_GetOwnershipId => 75,
+ MessageType::MessageType_OwnershipId => 76,
+ MessageType::MessageType_GetOwnershipProof => 77,
+ MessageType::MessageType_OwnershipProof => 78,
+ MessageType::MessageType_AuthorizeCoinJoin => 79,
+ MessageType::MessageType_CipherKeyValue => 80,
+ MessageType::MessageType_CipheredKeyValue => 81,
+ MessageType::MessageType_SignIdentity => 82,
+ MessageType::MessageType_SignedIdentity => 83,
+ MessageType::MessageType_GetECDHSessionKey => 84,
+ MessageType::MessageType_ECDHSessionKey => 85,
+ MessageType::MessageType_PaymentNotification => 86,
+ MessageType::MessageType_DebugLinkDecision => 87,
+ MessageType::MessageType_DebugLinkGetState => 88,
+ MessageType::MessageType_DebugLinkState => 89,
+ MessageType::MessageType_DebugLinkStop => 90,
+ MessageType::MessageType_DebugLinkLog => 91,
+ MessageType::MessageType_DebugLinkMemoryRead => 92,
+ MessageType::MessageType_DebugLinkMemory => 93,
+ MessageType::MessageType_DebugLinkMemoryWrite => 94,
+ MessageType::MessageType_DebugLinkFlashErase => 95,
+ MessageType::MessageType_DebugLinkLayout => 96,
+ MessageType::MessageType_DebugLinkReseedRandom => 97,
+ MessageType::MessageType_DebugLinkRecordScreen => 98,
+ MessageType::MessageType_DebugLinkEraseSdCard => 99,
+ MessageType::MessageType_DebugLinkWatchLayout => 100,
+ MessageType::MessageType_DebugLinkResetDebugEvents => 101,
+ MessageType::MessageType_DebugLinkOptigaSetSecMax => 102,
+ MessageType::MessageType_DebugLinkGetGcInfo => 103,
+ MessageType::MessageType_DebugLinkGcInfo => 104,
+ MessageType::MessageType_DebugLinkGetPairingInfo => 105,
+ MessageType::MessageType_DebugLinkPairingInfo => 106,
+ MessageType::MessageType_DebugLinkSetLogFilter => 107,
+ MessageType::MessageType_EthereumGetPublicKey => 108,
+ MessageType::MessageType_EthereumPublicKey => 109,
+ MessageType::MessageType_EthereumGetAddress => 110,
+ MessageType::MessageType_EthereumAddress => 111,
+ MessageType::MessageType_EthereumSignTx => 112,
+ MessageType::MessageType_EthereumSignTxEIP1559 => 113,
+ MessageType::MessageType_EthereumTxRequest => 114,
+ MessageType::MessageType_EthereumTxAck => 115,
+ MessageType::MessageType_EthereumSignMessage => 116,
+ MessageType::MessageType_EthereumVerifyMessage => 117,
+ MessageType::MessageType_EthereumMessageSignature => 118,
+ MessageType::MessageType_EthereumSignTypedData => 119,
+ MessageType::MessageType_EthereumTypedDataStructRequest => 120,
+ MessageType::MessageType_EthereumTypedDataStructAck => 121,
+ MessageType::MessageType_EthereumTypedDataValueRequest => 122,
+ MessageType::MessageType_EthereumTypedDataValueAck => 123,
+ MessageType::MessageType_EthereumTypedDataSignature => 124,
+ MessageType::MessageType_EthereumSignTypedHash => 125,
+ MessageType::MessageType_NEMGetAddress => 126,
+ MessageType::MessageType_NEMAddress => 127,
+ MessageType::MessageType_NEMSignTx => 128,
+ MessageType::MessageType_NEMSignedTx => 129,
+ MessageType::MessageType_NEMDecryptMessage => 130,
+ MessageType::MessageType_NEMDecryptedMessage => 131,
+ MessageType::MessageType_TezosGetAddress => 132,
+ MessageType::MessageType_TezosAddress => 133,
+ MessageType::MessageType_TezosSignTx => 134,
+ MessageType::MessageType_TezosSignedTx => 135,
+ MessageType::MessageType_TezosGetPublicKey => 136,
+ MessageType::MessageType_TezosPublicKey => 137,
+ MessageType::MessageType_StellarSignTx => 138,
+ MessageType::MessageType_StellarTxOpRequest => 139,
+ MessageType::MessageType_StellarGetAddress => 140,
+ MessageType::MessageType_StellarAddress => 141,
+ MessageType::MessageType_StellarCreateAccountOp => 142,
+ MessageType::MessageType_StellarPaymentOp => 143,
+ MessageType::MessageType_StellarPathPaymentStrictReceiveOp => 144,
+ MessageType::MessageType_StellarManageSellOfferOp => 145,
+ MessageType::MessageType_StellarCreatePassiveSellOfferOp => 146,
+ MessageType::MessageType_StellarSetOptionsOp => 147,
+ MessageType::MessageType_StellarChangeTrustOp => 148,
+ MessageType::MessageType_StellarAllowTrustOp => 149,
+ MessageType::MessageType_StellarAccountMergeOp => 150,
+ MessageType::MessageType_StellarManageDataOp => 151,
+ MessageType::MessageType_StellarBumpSequenceOp => 152,
+ MessageType::MessageType_StellarManageBuyOfferOp => 153,
+ MessageType::MessageType_StellarPathPaymentStrictSendOp => 154,
+ MessageType::MessageType_StellarClaimClaimableBalanceOp => 155,
+ MessageType::MessageType_StellarSignedTx => 156,
+ MessageType::MessageType_CardanoGetPublicKey => 157,
+ MessageType::MessageType_CardanoPublicKey => 158,
+ MessageType::MessageType_CardanoGetAddress => 159,
+ MessageType::MessageType_CardanoAddress => 160,
+ MessageType::MessageType_CardanoTxItemAck => 161,
+ MessageType::MessageType_CardanoTxAuxiliaryDataSupplement => 162,
+ MessageType::MessageType_CardanoTxWitnessRequest => 163,
+ MessageType::MessageType_CardanoTxWitnessResponse => 164,
+ MessageType::MessageType_CardanoTxHostAck => 165,
+ MessageType::MessageType_CardanoTxBodyHash => 166,
+ MessageType::MessageType_CardanoSignTxFinished => 167,
+ MessageType::MessageType_CardanoSignTxInit => 168,
+ MessageType::MessageType_CardanoTxInput => 169,
+ MessageType::MessageType_CardanoTxOutput => 170,
+ MessageType::MessageType_CardanoAssetGroup => 171,
+ MessageType::MessageType_CardanoToken => 172,
+ MessageType::MessageType_CardanoTxCertificate => 173,
+ MessageType::MessageType_CardanoTxWithdrawal => 174,
+ MessageType::MessageType_CardanoTxAuxiliaryData => 175,
+ MessageType::MessageType_CardanoPoolOwner => 176,
+ MessageType::MessageType_CardanoPoolRelayParameters => 177,
+ MessageType::MessageType_CardanoGetNativeScriptHash => 178,
+ MessageType::MessageType_CardanoNativeScriptHash => 179,
+ MessageType::MessageType_CardanoTxMint => 180,
+ MessageType::MessageType_CardanoTxCollateralInput => 181,
+ MessageType::MessageType_CardanoTxRequiredSigner => 182,
+ MessageType::MessageType_CardanoTxInlineDatumChunk => 183,
+ MessageType::MessageType_CardanoTxReferenceScriptChunk => 184,
+ MessageType::MessageType_CardanoTxReferenceInput => 185,
+ MessageType::MessageType_CardanoSignMessageInit => 186,
+ MessageType::MessageType_CardanoMessageDataRequest => 187,
+ MessageType::MessageType_CardanoMessageDataResponse => 188,
+ MessageType::MessageType_CardanoMessageSignature => 189,
+ MessageType::MessageType_RippleGetAddress => 190,
+ MessageType::MessageType_RippleAddress => 191,
+ MessageType::MessageType_RippleSignTx => 192,
+ MessageType::MessageType_RippleSignedTx => 193,
+ MessageType::MessageType_MoneroTransactionInitRequest => 194,
+ MessageType::MessageType_MoneroTransactionInitAck => 195,
+ MessageType::MessageType_MoneroTransactionSetInputRequest => 196,
+ MessageType::MessageType_MoneroTransactionSetInputAck => 197,
+ MessageType::MessageType_MoneroTransactionInputViniRequest => 198,
+ MessageType::MessageType_MoneroTransactionInputViniAck => 199,
+ MessageType::MessageType_MoneroTransactionAllInputsSetRequest => 200,
+ MessageType::MessageType_MoneroTransactionAllInputsSetAck => 201,
+ MessageType::MessageType_MoneroTransactionSetOutputRequest => 202,
+ MessageType::MessageType_MoneroTransactionSetOutputAck => 203,
+ MessageType::MessageType_MoneroTransactionAllOutSetRequest => 204,
+ MessageType::MessageType_MoneroTransactionAllOutSetAck => 205,
+ MessageType::MessageType_MoneroTransactionSignInputRequest => 206,
+ MessageType::MessageType_MoneroTransactionSignInputAck => 207,
+ MessageType::MessageType_MoneroTransactionFinalRequest => 208,
+ MessageType::MessageType_MoneroTransactionFinalAck => 209,
+ MessageType::MessageType_MoneroKeyImageExportInitRequest => 210,
+ MessageType::MessageType_MoneroKeyImageExportInitAck => 211,
+ MessageType::MessageType_MoneroKeyImageSyncStepRequest => 212,
+ MessageType::MessageType_MoneroKeyImageSyncStepAck => 213,
+ MessageType::MessageType_MoneroKeyImageSyncFinalRequest => 214,
+ MessageType::MessageType_MoneroKeyImageSyncFinalAck => 215,
+ MessageType::MessageType_MoneroGetAddress => 216,
+ MessageType::MessageType_MoneroAddress => 217,
+ MessageType::MessageType_MoneroGetWatchKey => 218,
+ MessageType::MessageType_MoneroWatchKey => 219,
+ MessageType::MessageType_DebugMoneroDiagRequest => 220,
+ MessageType::MessageType_DebugMoneroDiagAck => 221,
+ MessageType::MessageType_MoneroGetTxKeyRequest => 222,
+ MessageType::MessageType_MoneroGetTxKeyAck => 223,
+ MessageType::MessageType_MoneroLiveRefreshStartRequest => 224,
+ MessageType::MessageType_MoneroLiveRefreshStartAck => 225,
+ MessageType::MessageType_MoneroLiveRefreshStepRequest => 226,
+ MessageType::MessageType_MoneroLiveRefreshStepAck => 227,
+ MessageType::MessageType_MoneroLiveRefreshFinalRequest => 228,
+ MessageType::MessageType_MoneroLiveRefreshFinalAck => 229,
+ MessageType::MessageType_EosGetPublicKey => 230,
+ MessageType::MessageType_EosPublicKey => 231,
+ MessageType::MessageType_EosSignTx => 232,
+ MessageType::MessageType_EosTxActionRequest => 233,
+ MessageType::MessageType_EosTxActionAck => 234,
+ MessageType::MessageType_EosSignedTx => 235,
+ MessageType::MessageType_WebAuthnListResidentCredentials => 236,
+ MessageType::MessageType_WebAuthnCredentials => 237,
+ MessageType::MessageType_WebAuthnAddResidentCredential => 238,
+ MessageType::MessageType_WebAuthnRemoveResidentCredential => 239,
+ MessageType::MessageType_SolanaGetPublicKey => 240,
+ MessageType::MessageType_SolanaPublicKey => 241,
+ MessageType::MessageType_SolanaGetAddress => 242,
+ MessageType::MessageType_SolanaAddress => 243,
+ MessageType::MessageType_SolanaSignTx => 244,
+ MessageType::MessageType_SolanaTxSignature => 245,
+ MessageType::MessageType_ThpCreateNewSession => 246,
+ MessageType::MessageType_ThpCredentialRequest => 247,
+ MessageType::MessageType_ThpCredentialResponse => 248,
+ MessageType::MessageType_NostrGetPubkey => 249,
+ MessageType::MessageType_NostrPubkey => 250,
+ MessageType::MessageType_NostrSignEvent => 251,
+ MessageType::MessageType_NostrEventSignature => 252,
+ MessageType::MessageType_EvoluGetNode => 253,
+ MessageType::MessageType_EvoluNode => 254,
+ MessageType::MessageType_EvoluSignRegistrationRequest => 255,
+ MessageType::MessageType_EvoluRegistrationRequest => 256,
+ MessageType::MessageType_EvoluGetDelegatedIdentityKey => 257,
+ MessageType::MessageType_EvoluDelegatedIdentityKey => 258,
+ MessageType::MessageType_TronGetAddress => 259,
+ MessageType::MessageType_TronAddress => 260,
+ MessageType::MessageType_TronSignTx => 261,
+ MessageType::MessageType_TronSignature => 262,
+ MessageType::MessageType_TronContractRequest => 263,
+ MessageType::MessageType_TronTransferContract => 264,
+ MessageType::MessageType_TronTriggerSmartContract => 265,
+ MessageType::MessageType_BenchmarkListNames => 266,
+ MessageType::MessageType_BenchmarkNames => 267,
+ MessageType::MessageType_BenchmarkRun => 268,
+ MessageType::MessageType_BenchmarkResult => 269,
+ };
+ Self::enum_descriptor().value_by_index(index)
+ }
+}
+
+impl ::std::default::Default for MessageType {
+ fn default() -> Self {
+ MessageType::MessageType_Initialize
+ }
+}
+
+impl MessageType {
+ fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
+ ::protobuf::reflect::GeneratedEnumDescriptorData::new::<MessageType>("MessageType")
+ }
+}
+
+static file_descriptor_proto_data: &'static [u8] = b"\
+ \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\roptions.proto*\xac^\
+ \n\x0bMessageType\x12(\n\x16MessageType_Initialize\x10\0\x1a\x0c\x80\xa6\
+ \x1d\x01\xb0\xb5\x18\x01\x90\xb5\x18\x01\x12\x1e\n\x10MessageType_Ping\
+ \x10\x01\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12%\n\x13MessageType_S\
+ uccess\x10\x02\x1a\x0c\x80\xa6\x1d\x01\xa8\xb5\x18\x01\x98\xb5\x18\x01\
+ \x12%\n\x13MessageType_Failure\x10\x03\x1a\x0c\x80\xa6\x1d\x01\xa8\xb5\
+ \x18\x01\x98\xb5\x18\x01\x12#\n\x15MessageType_ChangePin\x10\x04\x1a\x08\
+ \x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_WipeDevice\x10\
+ \x05\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_GetEn\
+ tropy\x10\t\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12!\n\x13MessageTyp\
+ e_Entropy\x10\n\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12$\n\x16Messag\
+ eType_LoadDevice\x10\r\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12%\n\
+ \x17MessageType_ResetDevice\x10\x0e\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\
+ \x01\x12!\n\x13MessageType_SetBusy\x10\x10\x1a\x08\x80\xa6\x1d\x01\x90\
+ \xb5\x18\x01\x12\"\n\x14MessageType_Features\x10\x11\x1a\x08\x80\xa6\x1d\
+ \x01\x98\xb5\x18\x01\x12*\n\x1cMessageType_PinMatrixRequest\x10\x12\x1a\
+ \x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12.\n\x18MessageType_PinMatrixAck\
+ \x10\x13\x1a\x10\xc0\xb5\x18\x01\xb0\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\
+ \x18\x01\x12$\n\x12MessageType_Cancel\x10\x14\x1a\x0c\x80\xa6\x1d\x01\
+ \xb0\xb5\x18\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_LockDevice\x10\
+ \x18\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12'\n\x19MessageType_Apply\
+ Settings\x10\x19\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12'\n\x19Messa\
+ geType_ButtonRequest\x10\x1a\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12\
+ +\n\x15MessageType_ButtonAck\x10\x1b\x1a\x10\xc0\xb5\x18\x01\xb0\xb5\x18\
+ \x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_ApplyFlags\
+ \x10\x1c\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12\"\n\x14MessageType_\
+ GetNonce\x10\x1f\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12\x1f\n\x11Me\
+ ssageType_Nonce\x10!\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12&\n\x18M\
+ essageType_BackupDevice\x10\"\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\
+ \x12(\n\x1aMessageType_EntropyRequest\x10#\x1a\x08\x80\xa6\x1d\x01\x98\
+ \xb5\x18\x01\x12$\n\x16MessageType_EntropyAck\x10$\x1a\x08\x80\xa6\x1d\
+ \x01\x90\xb5\x18\x01\x12(\n\x1aMessageType_PaymentRequest\x10%\x1a\x08\
+ \x80\xa6\x1d\x01\x90\xb5\x18\x01\x12,\n\x1dMessageType_EntropyCheckReady\
+ \x10\xe2\x07\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12/\n\x20MessageTy\
+ pe_EntropyCheckContinue\x10\xe3\x07\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\
+ \x01\x12+\n\x1dMessageType_PassphraseRequest\x10)\x1a\x08\x80\xa6\x1d\
+ \x01\x98\xb5\x18\x01\x12/\n\x19MessageType_PassphraseAck\x10*\x1a\x10\
+ \xc0\xb5\x18\x01\xb0\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\
+ \x1aMessageType_RecoveryDevice\x10-\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\
+ \x01\x12%\n\x17MessageType_WordRequest\x10.\x1a\x08\x80\xa6\x1d\x01\x98\
+ \xb5\x18\x01\x12!\n\x13MessageType_WordAck\x10/\x1a\x08\x80\xa6\x1d\x01\
+ \x90\xb5\x18\x01\x12%\n\x17MessageType_GetFeatures\x107\x1a\x08\x80\xa6\
+ \x1d\x01\x90\xb5\x18\x01\x12#\n\x15MessageType_SdProtect\x10O\x1a\x08\
+ \x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMessageType_ChangeWipeCode\
+ \x10R\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_EndS\
+ ession\x10S\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12)\n\x1bMessageTyp\
+ e_DoPreauthorized\x10T\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12.\n\
+ \x20MessageType_PreauthorizedRequest\x10U\x1a\x08\x80\xa6\x1d\x01\x98\
+ \xb5\x18\x01\x12-\n\x1fMessageType_CancelAuthorization\x10V\x1a\x08\x80\
+ \xa6\x1d\x01\x90\xb5\x18\x01\x12,\n\x1eMessageType_RebootToBootloader\
+ \x10W\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12)\n\x1bMessageType_GetF\
+ irmwareHash\x10X\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12&\n\x18Messa\
+ geType_FirmwareHash\x10Y\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12$\n\
+ \x16MessageType_UnlockPath\x10]\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\
+ \x12-\n\x1fMessageType_UnlockedPathRequest\x10^\x1a\x08\x80\xa6\x1d\x01\
+ \x98\xb5\x18\x01\x12,\n\x1eMessageType_ShowDeviceTutorial\x10_\x1a\x08\
+ \x80\xa6\x1d\x01\x90\xb5\x18\x01\x12*\n\x1cMessageType_UnlockBootloader\
+ \x10`\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12,\n\x1eMessageType_Auth\
+ enticateDevice\x10a\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12+\n\x1dMe\
+ ssageType_AuthenticityProof\x10b\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\
+ \x12)\n\x1aMessageType_ChangeLanguage\x10\xde\x07\x1a\x08\x80\xa6\x1d\
+ \x01\x90\xb5\x18\x01\x12+\n\x1cMessageType_DataChunkRequest\x10\xdf\x07\
+ \x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12'\n\x18MessageType_DataChunk\
+ Ack\x10\xe0\x07\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x19Messag\
+ eType_SetBrightness\x10\xe1\x07\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\
+ \x12*\n\x1bMessageType_GetSerialNumber\x10\xe4\x07\x1a\x08\x80\xa6\x1d\
+ \x01\x90\xb5\x18\x01\x12'\n\x18MessageType_SerialNumber\x10\xe5\x07\x1a\
+ \x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12#\n\x19MessageType_SetU2FCounter\
+ \x10?\x1a\x04\x90\xb5\x18\x01\x12'\n\x1dMessageType_GetNextU2FCounter\
+ \x10P\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMessageType_NextU2FCounter\x10Q\
+ \x1a\x04\x98\xb5\x18\x01\x125\n-MessageType_Deprecated_PassphraseStateRe\
+ quest\x10M\x1a\x02\x08\x01\x121\n)MessageType_Deprecated_PassphraseState\
+ Ack\x10N\x1a\x02\x08\x01\x12+\n\x19MessageType_FirmwareErase\x10\x06\x1a\
+ \x0c\xb8\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12,\n\x1aMessageTy\
+ pe_FirmwareUpload\x10\x07\x1a\x0c\xb8\xb5\x18\x01\x80\xa6\x1d\x01\x90\
+ \xb5\x18\x01\x12-\n\x1bMessageType_FirmwareRequest\x10\x08\x1a\x0c\xb8\
+ \xb5\x18\x01\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12(\n\x16MessageType_ProdT\
+ estT1\x10\x20\x1a\x0c\xb8\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\
+ \x12$\n\x15MessageType_BleUnpair\x10\xc1>\x1a\x08\x80\xa6\x1d\x01\x90\
+ \xb5\x18\x01\x12&\n\x18MessageType_GetPublicKey\x10\x0b\x1a\x08\x80\xa6\
+ \x1d\x01\x90\xb5\x18\x01\x12#\n\x15MessageType_PublicKey\x10\x0c\x1a\x08\
+ \x80\xa6\x1d\x01\x98\xb5\x18\x01\x12\x20\n\x12MessageType_SignTx\x10\x0f\
+ \x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12#\n\x15MessageType_TxRequest\
+ \x10\x15\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12\x1f\n\x11MessageTyp\
+ e_TxAck\x10\x16\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16Messag\
+ eType_GetAddress\x10\x1d\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12!\n\
+ \x13MessageType_Address\x10\x1e\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\
+ \x12%\n\x17MessageType_SignMessage\x10&\x1a\x08\x80\xa6\x1d\x01\x90\xb5\
+ \x18\x01\x12'\n\x19MessageType_VerifyMessage\x10'\x1a\x08\x80\xa6\x1d\
+ \x01\x90\xb5\x18\x01\x12*\n\x1cMessageType_MessageSignature\x10(\x1a\x08\
+ \x80\xa6\x1d\x01\x98\xb5\x18\x01\x12(\n\x1aMessageType_GetOwnershipId\
+ \x10+\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12%\n\x17MessageType_Owne\
+ rshipId\x10,\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12+\n\x1dMessageTy\
+ pe_GetOwnershipProof\x101\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\
+ \x1aMessageType_OwnershipProof\x102\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\
+ \x01\x12+\n\x1dMessageType_AuthorizeCoinJoin\x103\x1a\x08\x80\xa6\x1d\
+ \x01\x90\xb5\x18\x01\x12(\n\x1aMessageType_CipherKeyValue\x10\x17\x1a\
+ \x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12*\n\x1cMessageType_CipheredKeyVa\
+ lue\x100\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12&\n\x18MessageType_S\
+ ignIdentity\x105\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMessa\
+ geType_SignedIdentity\x106\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12+\
+ \n\x1dMessageType_GetECDHSessionKey\x10=\x1a\x08\x80\xa6\x1d\x01\x90\xb5\
+ \x18\x01\x12(\n\x1aMessageType_ECDHSessionKey\x10>\x1a\x08\x80\xa6\x1d\
+ \x01\x98\xb5\x18\x01\x12-\n\x1fMessageType_PaymentNotification\x104\x1a\
+ \x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x123\n\x1dMessageType_DebugLinkDeci\
+ sion\x10d\x1a\x10\xc0\xb5\x18\x01\xb0\xb5\x18\x01\x80\xa6\x1d\x01\xa0\
+ \xb5\x18\x01\x12/\n\x1dMessageType_DebugLinkGetState\x10e\x1a\x0c\x80\
+ \xa6\x1d\x01\xb0\xb5\x18\x01\xa0\xb5\x18\x01\x12(\n\x1aMessageType_Debug\
+ LinkState\x10f\x1a\x08\x80\xa6\x1d\x01\xa8\xb5\x18\x01\x12'\n\x19Message\
+ Type_DebugLinkStop\x10g\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12&\n\
+ \x18MessageType_DebugLinkLog\x10h\x1a\x08\x80\xa6\x1d\x01\xa8\xb5\x18\
+ \x01\x12-\n\x1fMessageType_DebugLinkMemoryRead\x10n\x1a\x08\x80\xa6\x1d\
+ \x01\xa0\xb5\x18\x01\x12)\n\x1bMessageType_DebugLinkMemory\x10o\x1a\x08\
+ \x80\xa6\x1d\x01\xa8\xb5\x18\x01\x12.\n\x20MessageType_DebugLinkMemoryWr\
+ ite\x10p\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12-\n\x1fMessageType_D\
+ ebugLinkFlashErase\x10q\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12*\n\
+ \x1bMessageType_DebugLinkLayout\x10\xa9F\x1a\x08\x80\xa6\x1d\x01\xa8\xb5\
+ \x18\x01\x120\n!MessageType_DebugLinkReseedRandom\x10\xaaF\x1a\x08\x80\
+ \xa6\x1d\x01\xa0\xb5\x18\x01\x120\n!MessageType_DebugLinkRecordScreen\
+ \x10\xabF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12/\n\x20MessageType_\
+ DebugLinkEraseSdCard\x10\xadF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\
+ \x12/\n\x20MessageType_DebugLinkWatchLayout\x10\xaeF\x1a\x08\x80\xa6\x1d\
+ \x01\xa0\xb5\x18\x01\x124\n%MessageType_DebugLinkResetDebugEvents\x10\
+ \xafF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x123\n$MessageType_DebugLi\
+ nkOptigaSetSecMax\x10\xb0F\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12-\
+ \n\x1eMessageType_DebugLinkGetGcInfo\x10\xb1F\x1a\x08\x80\xa6\x1d\x01\
+ \xa0\xb5\x18\x01\x12*\n\x1bMessageType_DebugLinkGcInfo\x10\xb2F\x1a\x08\
+ \x80\xa6\x1d\x01\xa8\xb5\x18\x01\x122\n#MessageType_DebugLinkGetPairingI\
+ nfo\x10\xb3F\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12/\n\x20MessageTy\
+ pe_DebugLinkPairingInfo\x10\xb4F\x1a\x08\x80\xa6\x1d\x01\xa8\xb5\x18\x01\
+ \x120\n!MessageType_DebugLinkSetLogFilter\x10\xb5F\x1a\x08\x80\xa6\x1d\
+ \x01\xa0\xb5\x18\x01\x12+\n\x20MessageType_EthereumGetPublicKey\x10\xc2\
+ \x03\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_EthereumPublicKey\x10\
+ \xc3\x03\x1a\x04\x98\xb5\x18\x01\x12(\n\x1eMessageType_EthereumGetAddres\
+ s\x108\x1a\x04\x90\xb5\x18\x01\x12%\n\x1bMessageType_EthereumAddress\x10\
+ 9\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EthereumSignTx\x10:\x1a\
+ \x04\x90\xb5\x18\x01\x12,\n!MessageType_EthereumSignTxEIP1559\x10\xc4\
+ \x03\x1a\x04\x90\xb5\x18\x01\x12'\n\x1dMessageType_EthereumTxRequest\x10\
+ ;\x1a\x04\x98\xb5\x18\x01\x12#\n\x19MessageType_EthereumTxAck\x10<\x1a\
+ \x04\x90\xb5\x18\x01\x12)\n\x1fMessageType_EthereumSignMessage\x10@\x1a\
+ \x04\x90\xb5\x18\x01\x12+\n!MessageType_EthereumVerifyMessage\x10A\x1a\
+ \x04\x90\xb5\x18\x01\x12.\n$MessageType_EthereumMessageSignature\x10B\
+ \x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_EthereumSignTypedData\x10\
+ \xd0\x03\x1a\x04\x90\xb5\x18\x01\x125\n*MessageType_EthereumTypedDataStr\
+ uctRequest\x10\xd1\x03\x1a\x04\x98\xb5\x18\x01\x121\n&MessageType_Ethere\
+ umTypedDataStructAck\x10\xd2\x03\x1a\x04\x90\xb5\x18\x01\x124\n)MessageT\
+ ype_EthereumTypedDataValueRequest\x10\xd3\x03\x1a\x04\x98\xb5\x18\x01\
+ \x120\n%MessageType_EthereumTypedDataValueAck\x10\xd4\x03\x1a\x04\x90\
+ \xb5\x18\x01\x121\n&MessageType_EthereumTypedDataSignature\x10\xd5\x03\
+ \x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_EthereumSignTypedHash\x10\
+ \xd6\x03\x1a\x04\x90\xb5\x18\x01\x12#\n\x19MessageType_NEMGetAddress\x10\
+ C\x1a\x04\x90\xb5\x18\x01\x12\x20\n\x16MessageType_NEMAddress\x10D\x1a\
+ \x04\x98\xb5\x18\x01\x12\x1f\n\x15MessageType_NEMSignTx\x10E\x1a\x04\x90\
+ \xb5\x18\x01\x12!\n\x17MessageType_NEMSignedTx\x10F\x1a\x04\x98\xb5\x18\
+ \x01\x12'\n\x1dMessageType_NEMDecryptMessage\x10K\x1a\x04\x90\xb5\x18\
+ \x01\x12)\n\x1fMessageType_NEMDecryptedMessage\x10L\x1a\x04\x98\xb5\x18\
+ \x01\x12&\n\x1bMessageType_TezosGetAddress\x10\x96\x01\x1a\x04\x90\xb5\
+ \x18\x01\x12#\n\x18MessageType_TezosAddress\x10\x97\x01\x1a\x04\x98\xb5\
+ \x18\x01\x12\"\n\x17MessageType_TezosSignTx\x10\x98\x01\x1a\x04\x90\xb5\
+ \x18\x01\x12$\n\x19MessageType_TezosSignedTx\x10\x99\x01\x1a\x04\x98\xb5\
+ \x18\x01\x12(\n\x1dMessageType_TezosGetPublicKey\x10\x9a\x01\x1a\x04\x90\
+ \xb5\x18\x01\x12%\n\x1aMessageType_TezosPublicKey\x10\x9b\x01\x1a\x04\
+ \x98\xb5\x18\x01\x12$\n\x19MessageType_StellarSignTx\x10\xca\x01\x1a\x04\
+ \x90\xb5\x18\x01\x12)\n\x1eMessageType_StellarTxOpRequest\x10\xcb\x01\
+ \x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_StellarGetAddress\x10\xcf\
+ \x01\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_StellarAddress\x10\
+ \xd0\x01\x1a\x04\x98\xb5\x18\x01\x12-\n\"MessageType_StellarCreateAccoun\
+ tOp\x10\xd2\x01\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_StellarPay\
+ mentOp\x10\xd3\x01\x1a\x04\x90\xb5\x18\x01\x128\n-MessageType_StellarPat\
+ hPaymentStrictReceiveOp\x10\xd4\x01\x1a\x04\x90\xb5\x18\x01\x12/\n$Messa\
+ geType_StellarManageSellOfferOp\x10\xd5\x01\x1a\x04\x90\xb5\x18\x01\x126\
+ \n+MessageType_StellarCreatePassiveSellOfferOp\x10\xd6\x01\x1a\x04\x90\
+ \xb5\x18\x01\x12*\n\x1fMessageType_StellarSetOptionsOp\x10\xd7\x01\x1a\
+ \x04\x90\xb5\x18\x01\x12+\n\x20MessageType_StellarChangeTrustOp\x10\xd8\
+ \x01\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_StellarAllowTrustOp\
+ \x10\xd9\x01\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_StellarAccountMe\
+ rgeOp\x10\xda\x01\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_StellarM\
+ anageDataOp\x10\xdc\x01\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_Stell\
+ arBumpSequenceOp\x10\xdd\x01\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_\
+ StellarManageBuyOfferOp\x10\xde\x01\x1a\x04\x90\xb5\x18\x01\x125\n*Messa\
+ geType_StellarPathPaymentStrictSendOp\x10\xdf\x01\x1a\x04\x90\xb5\x18\
+ \x01\x125\n*MessageType_StellarClaimClaimableBalanceOp\x10\xe1\x01\x1a\
+ \x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_StellarSignedTx\x10\xe6\x01\
+ \x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_CardanoGetPublicKey\x10\
+ \xb1\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_CardanoPublicKey\
+ \x10\xb2\x02\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CardanoGetAdd\
+ ress\x10\xb3\x02\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoAd\
+ dress\x10\xb4\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_CardanoT\
+ xItemAck\x10\xb9\x02\x1a\x04\x98\xb5\x18\x01\x127\n,MessageType_CardanoT\
+ xAuxiliaryDataSupplement\x10\xba\x02\x1a\x04\x98\xb5\x18\x01\x12.\n#Mess\
+ ageType_CardanoTxWitnessRequest\x10\xbb\x02\x1a\x04\x90\xb5\x18\x01\x12/\
+ \n$MessageType_CardanoTxWitnessResponse\x10\xbc\x02\x1a\x04\x98\xb5\x18\
+ \x01\x12'\n\x1cMessageType_CardanoTxHostAck\x10\xbd\x02\x1a\x04\x90\xb5\
+ \x18\x01\x12(\n\x1dMessageType_CardanoTxBodyHash\x10\xbe\x02\x1a\x04\x98\
+ \xb5\x18\x01\x12,\n!MessageType_CardanoSignTxFinished\x10\xbf\x02\x1a\
+ \x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_CardanoSignTxInit\x10\xc0\x02\
+ \x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoTxInput\x10\xc1\
+ \x02\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_CardanoTxOutput\x10\
+ \xc2\x02\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_CardanoAssetGroup\
+ \x10\xc3\x02\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_CardanoToken\
+ \x10\xc4\x02\x1a\x04\x90\xb5\x18\x01\x12+\n\x20MessageType_CardanoTxCert\
+ ificate\x10\xc5\x02\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_Cardan\
+ oTxWithdrawal\x10\xc6\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageType_Ca\
+ rdanoTxAuxiliaryData\x10\xc7\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessa\
+ geType_CardanoPoolOwner\x10\xc8\x02\x1a\x04\x90\xb5\x18\x01\x121\n&Messa\
+ geType_CardanoPoolRelayParameters\x10\xc9\x02\x1a\x04\x90\xb5\x18\x01\
+ \x121\n&MessageType_CardanoGetNativeScriptHash\x10\xca\x02\x1a\x04\x90\
+ \xb5\x18\x01\x12.\n#MessageType_CardanoNativeScriptHash\x10\xcb\x02\x1a\
+ \x04\x98\xb5\x18\x01\x12$\n\x19MessageType_CardanoTxMint\x10\xcc\x02\x1a\
+ \x04\x90\xb5\x18\x01\x12/\n$MessageType_CardanoTxCollateralInput\x10\xcd\
+ \x02\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_CardanoTxRequiredSigner\
+ \x10\xce\x02\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_CardanoTxInlineD\
+ atumChunk\x10\xcf\x02\x1a\x04\x90\xb5\x18\x01\x124\n)MessageType_Cardano\
+ TxReferenceScriptChunk\x10\xd0\x02\x1a\x04\x90\xb5\x18\x01\x12.\n#Messag\
+ eType_CardanoTxReferenceInput\x10\xd1\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\
+ \"MessageType_CardanoSignMessageInit\x10\xd2\x02\x1a\x04\x90\xb5\x18\x01\
+ \x120\n%MessageType_CardanoMessageDataRequest\x10\xd3\x02\x1a\x04\x98\
+ \xb5\x18\x01\x121\n&MessageType_CardanoMessageDataResponse\x10\xd4\x02\
+ \x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_CardanoMessageSignature\x10\
+ \xd5\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_RippleGetAddress\
+ \x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_RippleAddress\
+ \x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_RippleSignTx\
+ \x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_RippleSignedT\
+ x\x10\x93\x03\x1a\x04\x90\xb5\x18\x01\x123\n(MessageType_MoneroTransacti\
+ onInitRequest\x10\xf5\x03\x1a\x04\x98\xb5\x18\x01\x12/\n$MessageType_Mon\
+ eroTransactionInitAck\x10\xf6\x03\x1a\x04\x98\xb5\x18\x01\x127\n,Message\
+ Type_MoneroTransactionSetInputRequest\x10\xf7\x03\x1a\x04\x98\xb5\x18\
+ \x01\x123\n(MessageType_MoneroTransactionSetInputAck\x10\xf8\x03\x1a\x04\
+ \x98\xb5\x18\x01\x128\n-MessageType_MoneroTransactionInputViniRequest\
+ \x10\xfb\x03\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTransactio\
+ nInputViniAck\x10\xfc\x03\x1a\x04\x98\xb5\x18\x01\x12;\n0MessageType_Mon\
+ eroTransactionAllInputsSetRequest\x10\xfd\x03\x1a\x04\x98\xb5\x18\x01\
+ \x127\n,MessageType_MoneroTransactionAllInputsSetAck\x10\xfe\x03\x1a\x04\
+ \x98\xb5\x18\x01\x128\n-MessageType_MoneroTransactionSetOutputRequest\
+ \x10\xff\x03\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTransactio\
+ nSetOutputAck\x10\x80\x04\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_Mon\
+ eroTransactionAllOutSetRequest\x10\x81\x04\x1a\x04\x98\xb5\x18\x01\x124\
+ \n)MessageType_MoneroTransactionAllOutSetAck\x10\x82\x04\x1a\x04\x98\xb5\
+ \x18\x01\x128\n-MessageType_MoneroTransactionSignInputRequest\x10\x83\
+ \x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTransactionSignInp\
+ utAck\x10\x84\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTrans\
+ actionFinalRequest\x10\x85\x04\x1a\x04\x98\xb5\x18\x01\x120\n%MessageTyp\
+ e_MoneroTransactionFinalAck\x10\x86\x04\x1a\x04\x98\xb5\x18\x01\x126\n+M\
+ essageType_MoneroKeyImageExportInitRequest\x10\x92\x04\x1a\x04\x98\xb5\
+ \x18\x01\x122\n'MessageType_MoneroKeyImageExportInitAck\x10\x93\x04\x1a\
+ \x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroKeyImageSyncStepRequest\
+ \x10\x94\x04\x1a\x04\x98\xb5\x18\x01\x120\n%MessageType_MoneroKeyImageSy\
+ ncStepAck\x10\x95\x04\x1a\x04\x98\xb5\x18\x01\x125\n*MessageType_MoneroK\
+ eyImageSyncFinalRequest\x10\x96\x04\x1a\x04\x98\xb5\x18\x01\x121\n&Messa\
+ geType_MoneroKeyImageSyncFinalAck\x10\x97\x04\x1a\x04\x98\xb5\x18\x01\
+ \x12'\n\x1cMessageType_MoneroGetAddress\x10\x9c\x04\x1a\x04\x90\xb5\x18\
+ \x01\x12$\n\x19MessageType_MoneroAddress\x10\x9d\x04\x1a\x04\x98\xb5\x18\
+ \x01\x12(\n\x1dMessageType_MoneroGetWatchKey\x10\x9e\x04\x1a\x04\x90\xb5\
+ \x18\x01\x12%\n\x1aMessageType_MoneroWatchKey\x10\x9f\x04\x1a\x04\x98\
+ \xb5\x18\x01\x12-\n\"MessageType_DebugMoneroDiagRequest\x10\xa2\x04\x1a\
+ \x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_DebugMoneroDiagAck\x10\xa3\
+ \x04\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_MoneroGetTxKeyRequest\
+ \x10\xa6\x04\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_MoneroGetTxKe\
+ yAck\x10\xa7\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroLiveRe\
+ freshStartRequest\x10\xa8\x04\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType\
+ _MoneroLiveRefreshStartAck\x10\xa9\x04\x1a\x04\x98\xb5\x18\x01\x123\n(Me\
+ ssageType_MoneroLiveRefreshStepRequest\x10\xaa\x04\x1a\x04\x90\xb5\x18\
+ \x01\x12/\n$MessageType_MoneroLiveRefreshStepAck\x10\xab\x04\x1a\x04\x98\
+ \xb5\x18\x01\x124\n)MessageType_MoneroLiveRefreshFinalRequest\x10\xac\
+ \x04\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_MoneroLiveRefreshFinalAc\
+ k\x10\xad\x04\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_EosGetPublic\
+ Key\x10\xd8\x04\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_EosPublicK\
+ ey\x10\xd9\x04\x1a\x04\x98\xb5\x18\x01\x12\x20\n\x15MessageType_EosSignT\
+ x\x10\xda\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_EosTxActionR\
+ equest\x10\xdb\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMessageType_EosTxAc\
+ tionAck\x10\xdc\x04\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17MessageType_EosSi\
+ gnedTx\x10\xdd\x04\x1a\x04\x98\xb5\x18\x01\x126\n+MessageType_WebAuthnLi\
+ stResidentCredentials\x10\xa0\x06\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMess\
+ ageType_WebAuthnCredentials\x10\xa1\x06\x1a\x04\x98\xb5\x18\x01\x124\n)M\
+ essageType_WebAuthnAddResidentCredential\x10\xa2\x06\x1a\x04\x90\xb5\x18\
+ \x01\x127\n,MessageType_WebAuthnRemoveResidentCredential\x10\xa3\x06\x1a\
+ \x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_SolanaGetPublicKey\x10\x84\
+ \x07\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_SolanaPublicKey\x10\
+ \x85\x07\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_SolanaGetAddress\
+ \x10\x86\x07\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_SolanaAddress\
+ \x10\x87\x07\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_SolanaSignTx\
+ \x10\x88\x07\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_SolanaTxSigna\
+ ture\x10\x89\x07\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType_ThpCreate\
+ NewSession\x10\xe8\x07\x1a\x04\x80\xa6\x1d\x01\x12+\n\x20MessageType_Thp\
+ CredentialRequest\x10\xf8\x07\x1a\x04\x80\xa6\x1d\x01\x12,\n!MessageType\
+ _ThpCredentialResponse\x10\xf9\x07\x1a\x04\x80\xa6\x1d\x01\x12%\n\x1aMes\
+ sageType_NostrGetPubkey\x10\xd1\x0f\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17M\
+ essageType_NostrPubkey\x10\xd2\x0f\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMes\
+ sageType_NostrSignEvent\x10\xd3\x0f\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMe\
+ ssageType_NostrEventSignature\x10\xd4\x0f\x1a\x04\x98\xb5\x18\x01\x12'\n\
+ \x18MessageType_EvoluGetNode\x10\xb4\x10\x1a\x08\x80\xa6\x1d\x01\x90\xb5\
+ \x18\x01\x12$\n\x15MessageType_EvoluNode\x10\xb5\x10\x1a\x08\x80\xa6\x1d\
+ \x01\x98\xb5\x18\x01\x127\n(MessageType_EvoluSignRegistrationRequest\x10\
+ \xb6\x10\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x123\n$MessageType_Evol\
+ uRegistrationRequest\x10\xb7\x10\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\
+ \x127\n(MessageType_EvoluGetDelegatedIdentityKey\x10\xb8\x10\x1a\x08\x80\
+ \xa6\x1d\x01\x90\xb5\x18\x01\x124\n%MessageType_EvoluDelegatedIdentityKe\
+ y\x10\xb9\x10\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12%\n\x1aMessageT\
+ ype_TronGetAddress\x10\x98\x11\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17Messag\
+ eType_TronAddress\x10\x99\x11\x1a\x04\x98\xb5\x18\x01\x12!\n\x16MessageT\
+ ype_TronSignTx\x10\x9a\x11\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType\
+ _TronSignature\x10\x9b\x11\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageType\
+ _TronContractRequest\x10\x9c\x11\x1a\x04\x98\xb5\x18\x01\x12+\n\x20Messa\
+ geType_TronTransferContract\x10\x9d\x11\x1a\x04\x90\xb5\x18\x01\x12/\n$M\
+ essageType_TronTriggerSmartContract\x10\x9e\x11\x1a\x04\x90\xb5\x18\x01\
+ \x12)\n\x1eMessageType_BenchmarkListNames\x10\x8cG\x1a\x04\x80\xa6\x1d\
+ \x01\x12%\n\x1aMessageType_BenchmarkNames\x10\x8dG\x1a\x04\x80\xa6\x1d\
+ \x01\x12#\n\x18MessageType_BenchmarkRun\x10\x8eG\x1a\x04\x80\xa6\x1d\x01\
+ \x12&\n\x1bMessageType_BenchmarkResult\x10\x8fG\x1a\x04\x80\xa6\x1d\x01\
+ \x1a\x08\xc8\xf3\x18\x01\xd0\xf3\x18\x01\"\x04\x08Z\x10\\\"\x04\x08G\x10\
+ J\"\x04\x08r\x10z\"\x05\x08{\x10\x95\x01\"\x06\x08\xdb\x01\x10\xdb\x01\"\
+ \x06\x08\xe0\x01\x10\xe0\x01\"\x06\x08\xac\x02\x10\xb0\x02\"\x06\x08\xb5\
+ \x02\x10\xb8\x02\"\x06\x08\xbc\x05\x10\xc5\x05\"\x06\x08\xe9\x07\x10\xf7\
+ \x07\"\x06\x08\xfa\x07\x10\xcb\x08B8\n#com.satoshilabs.trezor.lib.protob\
+ ufB\rTrezorMessage\x80\xa6\x1d\x01\
+";
+
+/// `FileDescriptorProto` object which was a source for this generated file
+fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
+ static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new();
+ file_descriptor_proto_lazy.get(|| {
+ ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
+ })
+}
+
+/// `FileDescriptor` object which allows dynamic access to files
+pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
+ static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new();
+ static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
+ file_descriptor.get(|| {
+ let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
+ let mut deps = ::std::vec::Vec::with_capacity(1);
+ deps.push(super::options::file_descriptor().clone());
+ let mut messages = ::std::vec::Vec::with_capacity(0);
+ let mut enums = ::std::vec::Vec::with_capacity(1);
+ enums.push(MessageType::generated_enum_descriptor_data());
+ ::protobuf::reflect::GeneratedFileDescriptor::new_generated(
+ file_descriptor_proto(),
+ deps,
+ messages,
+ enums,
+ )
+ });
+ ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
+ })
+}
diff --git a/rust/trezor-thp/examples/host-cli/pb/messages_common.rs b/rust/trezor-thp/examples/host-cli/pb/messages_common.rs
new file mode 100644
index 00000000..697fbb2f
--- /dev/null
+++ b/rust/trezor-thp/examples/host-cli/pb/messages_common.rs
@@ -0,0 +1,4136 @@
+// This file is generated by rust-protobuf 3.7.2. Do not edit
+// .proto file is parsed by protoc 3.19.6
+// @generated
+
+// https://github.com/rust-lang/rust-clippy/issues/702
+#![allow(unknown_lints)]
+#![allow(clippy::all)]
+
+#![allow(unused_attributes)]
+#![cfg_attr(rustfmt, rustfmt::skip)]
+
+#![allow(dead_code)]
+#![allow(missing_docs)]
+#![allow(non_camel_case_types)]
+#![allow(non_snake_case)]
+#![allow(non_upper_case_globals)]
+#![allow(trivial_casts)]
+#![allow(unused_results)]
+#![allow(unused_mut)]
+
+//! Generated file from `messages-common.proto`
+
+/// Generated files are compatible only with the same version
+/// of protobuf runtime.
+const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_2;
+
+// @@protoc_insertion_point(message:hw.trezor.messages.common.Success)
+#[derive(PartialEq,Clone,Default,Debug)]
+pub struct Success {
+ // message fields
+ // @@protoc_insertion_point(field:hw.trezor.messages.common.Success.message)
+ pub message: ::std::option::Option<::std::string::String>,
+ // special fields
+ // @@protoc_insertion_point(special_field:hw.trezor.messages.common.Success.special_fields)
+ pub special_fields: ::protobuf::SpecialFields,
+}
+
+impl<'a> ::std::default::Default for &'a Success {
+ fn default() -> &'a Success {
+ <Success as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Success {
+ pub fn new() -> Success {
+ ::std::default::Default::default()
+ }
+
+ // optional string message = 1;
+
+ pub fn message(&self) -> &str {
+ match self.message.as_ref() {
+ Some(v) => v,
+ None => "",
+ }
+ }
+
+ pub fn clear_message(&mut self) {
+ self.message = ::std::option::Option::None;
+ }
+
+ pub fn has_message(&self) -> bool {
+ self.message.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_message(&mut self, v: ::std::string::String) {
+ self.message = ::std::option::Option::Some(v);
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_message(&mut self) -> &mut ::std::string::String {
+ if self.message.is_none() {
+ self.message = ::std::option::Option::Some(::std::string::String::new());
+ }
+ self.message.as_mut().unwrap()
+ }
+
+ // Take field
+ pub fn take_message(&mut self) -> ::std::string::String {
+ self.message.take().unwrap_or_else(|| ::std::string::String::new())
+ }
+
+ fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
+ let mut fields = ::std::vec::Vec::with_capacity(1);
+ let mut oneofs = ::std::vec::Vec::with_capacity(0);
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "message",
+ |m: &Success| { &m.message },
+ |m: &mut Success| { &mut m.message },
+ ));
+ ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Success>(
+ "Success",
+ fields,
+ oneofs,
+ )
+ }
+}
+
+impl ::protobuf::Message for Success {
+ const NAME: &'static str = "Success";
+
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
+ while let Some(tag) = is.read_raw_tag_or_eof()? {
+ match tag {
+ 10 => {
+ self.message = ::std::option::Option::Some(is.read_string()?);
+ },
+ tag => {
+ ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
+ },
+ };
+ }
+ ::std::result::Result::Ok(())
+ }
+
+ // Compute sizes of nested messages
+ #[allow(unused_variables)]
+ fn compute_size(&self) -> u64 {
+ let mut my_size = 0;
+ if let Some(v) = self.message.as_ref() {
+ my_size += ::protobuf::rt::string_size(1, &v);
+ }
+ my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
+ self.special_fields.cached_size().set(my_size as u32);
+ my_size
+ }
+
+ fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
+ if let Some(v) = self.message.as_ref() {
+ os.write_string(1, v)?;
+ }
+ os.write_unknown_fields(self.special_fields.unknown_fields())?;
+ ::std::result::Result::Ok(())
+ }
+
+ fn special_fields(&self) -> &::protobuf::SpecialFields {
+ &self.special_fields
+ }
+
+ fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
+ &mut self.special_fields
+ }
+
+ fn new() -> Success {
+ Success::new()
+ }
+
+ fn clear(&mut self) {
+ self.message = ::std::option::Option::None;
+ self.special_fields.clear();
+ }
+
+ fn default_instance() -> &'static Success {
+ static instance: Success = Success {
+ message: ::std::option::Option::None,
+ special_fields: ::protobuf::SpecialFields::new(),
+ };
+ &instance
+ }
+}
+
+impl ::protobuf::MessageFull for Success {
+ fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
+ static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
+ descriptor.get(|| file_descriptor().message_by_package_relative_name("Success").unwrap()).clone()
+ }
+}
+
+impl ::std::fmt::Display for Success {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Success {
+ type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
+}
+
+// @@protoc_insertion_point(message:hw.trezor.messages.common.Failure)
+#[derive(PartialEq,Clone,Default,Debug)]
+pub struct Failure {
+ // message fields
+ // @@protoc_insertion_point(field:hw.trezor.messages.common.Failure.code)
+ pub code: ::std::option::Option<::protobuf::EnumOrUnknown<failure::FailureType>>,
+ // @@protoc_insertion_point(field:hw.trezor.messages.common.Failure.message)
+ pub message: ::std::option::Option<::std::string::String>,
+ // special fields
+ // @@protoc_insertion_point(special_field:hw.trezor.messages.common.Failure.special_fields)
+ pub special_fields: ::protobuf::SpecialFields,
+}
+
+impl<'a> ::std::default::Default for &'a Failure {
+ fn default() -> &'a Failure {
+ <Failure as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl Failure {
+ pub fn new() -> Failure {
+ ::std::default::Default::default()
+ }
+
+ // optional .hw.trezor.messages.common.Failure.FailureType code = 1;
+
+ pub fn code(&self) -> failure::FailureType {
+ match self.code {
+ Some(e) => e.enum_value_or(failure::FailureType::Failure_UnexpectedMessage),
+ None => failure::FailureType::Failure_UnexpectedMessage,
+ }
+ }
+
+ pub fn clear_code(&mut self) {
+ self.code = ::std::option::Option::None;
+ }
+
+ pub fn has_code(&self) -> bool {
+ self.code.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_code(&mut self, v: failure::FailureType) {
+ self.code = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v));
+ }
+
+ // optional string message = 2;
+
+ pub fn message(&self) -> &str {
+ match self.message.as_ref() {
+ Some(v) => v,
+ None => "",
+ }
+ }
+
+ pub fn clear_message(&mut self) {
+ self.message = ::std::option::Option::None;
+ }
+
+ pub fn has_message(&self) -> bool {
+ self.message.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_message(&mut self, v: ::std::string::String) {
+ self.message = ::std::option::Option::Some(v);
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_message(&mut self) -> &mut ::std::string::String {
+ if self.message.is_none() {
+ self.message = ::std::option::Option::Some(::std::string::String::new());
+ }
+ self.message.as_mut().unwrap()
+ }
+
+ // Take field
+ pub fn take_message(&mut self) -> ::std::string::String {
+ self.message.take().unwrap_or_else(|| ::std::string::String::new())
+ }
+
+ fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
+ let mut fields = ::std::vec::Vec::with_capacity(2);
+ let mut oneofs = ::std::vec::Vec::with_capacity(0);
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "code",
+ |m: &Failure| { &m.code },
+ |m: &mut Failure| { &mut m.code },
+ ));
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "message",
+ |m: &Failure| { &m.message },
+ |m: &mut Failure| { &mut m.message },
+ ));
+ ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<Failure>(
+ "Failure",
+ fields,
+ oneofs,
+ )
+ }
+}
+
+impl ::protobuf::Message for Failure {
+ const NAME: &'static str = "Failure";
+
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
+ while let Some(tag) = is.read_raw_tag_or_eof()? {
+ match tag {
+ 8 => {
+ self.code = ::std::option::Option::Some(is.read_enum_or_unknown()?);
+ },
+ 18 => {
+ self.message = ::std::option::Option::Some(is.read_string()?);
+ },
+ tag => {
+ ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
+ },
+ };
+ }
+ ::std::result::Result::Ok(())
+ }
+
+ // Compute sizes of nested messages
+ #[allow(unused_variables)]
+ fn compute_size(&self) -> u64 {
+ let mut my_size = 0;
+ if let Some(v) = self.code {
+ my_size += ::protobuf::rt::int32_size(1, v.value());
+ }
+ if let Some(v) = self.message.as_ref() {
+ my_size += ::protobuf::rt::string_size(2, &v);
+ }
+ my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
+ self.special_fields.cached_size().set(my_size as u32);
+ my_size
+ }
+
+ fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
+ if let Some(v) = self.code {
+ os.write_enum(1, ::protobuf::EnumOrUnknown::value(&v))?;
+ }
+ if let Some(v) = self.message.as_ref() {
+ os.write_string(2, v)?;
+ }
+ os.write_unknown_fields(self.special_fields.unknown_fields())?;
+ ::std::result::Result::Ok(())
+ }
+
+ fn special_fields(&self) -> &::protobuf::SpecialFields {
+ &self.special_fields
+ }
+
+ fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
+ &mut self.special_fields
+ }
+
+ fn new() -> Failure {
+ Failure::new()
+ }
+
+ fn clear(&mut self) {
+ self.code = ::std::option::Option::None;
+ self.message = ::std::option::Option::None;
+ self.special_fields.clear();
+ }
+
+ fn default_instance() -> &'static Failure {
+ static instance: Failure = Failure {
+ code: ::std::option::Option::None,
+ message: ::std::option::Option::None,
+ special_fields: ::protobuf::SpecialFields::new(),
+ };
+ &instance
+ }
+}
+
+impl ::protobuf::MessageFull for Failure {
+ fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
+ static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
+ descriptor.get(|| file_descriptor().message_by_package_relative_name("Failure").unwrap()).clone()
+ }
+}
+
+impl ::std::fmt::Display for Failure {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for Failure {
+ type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
+}
+
+/// Nested message and enums of message `Failure`
+pub mod failure {
+ #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
+ // @@protoc_insertion_point(enum:hw.trezor.messages.common.Failure.FailureType)
+ pub enum FailureType {
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_UnexpectedMessage)
+ Failure_UnexpectedMessage = 1,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_ButtonExpected)
+ Failure_ButtonExpected = 2,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_DataError)
+ Failure_DataError = 3,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_ActionCancelled)
+ Failure_ActionCancelled = 4,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_PinExpected)
+ Failure_PinExpected = 5,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_PinCancelled)
+ Failure_PinCancelled = 6,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_PinInvalid)
+ Failure_PinInvalid = 7,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_InvalidSignature)
+ Failure_InvalidSignature = 8,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_ProcessError)
+ Failure_ProcessError = 9,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_NotEnoughFunds)
+ Failure_NotEnoughFunds = 10,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_NotInitialized)
+ Failure_NotInitialized = 11,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_PinMismatch)
+ Failure_PinMismatch = 12,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_WipeCodeMismatch)
+ Failure_WipeCodeMismatch = 13,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_InvalidSession)
+ Failure_InvalidSession = 14,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_Busy)
+ Failure_Busy = 15,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_ThpUnallocatedSession)
+ Failure_ThpUnallocatedSession = 16,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_InvalidProtocol)
+ Failure_InvalidProtocol = 17,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_BufferError)
+ Failure_BufferError = 18,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.Failure.FailureType.Failure_FirmwareError)
+ Failure_FirmwareError = 99,
+ }
+
+ impl ::protobuf::Enum for FailureType {
+ const NAME: &'static str = "FailureType";
+
+ fn value(&self) -> i32 {
+ *self as i32
+ }
+
+ fn from_i32(value: i32) -> ::std::option::Option<FailureType> {
+ match value {
+ 1 => ::std::option::Option::Some(FailureType::Failure_UnexpectedMessage),
+ 2 => ::std::option::Option::Some(FailureType::Failure_ButtonExpected),
+ 3 => ::std::option::Option::Some(FailureType::Failure_DataError),
+ 4 => ::std::option::Option::Some(FailureType::Failure_ActionCancelled),
+ 5 => ::std::option::Option::Some(FailureType::Failure_PinExpected),
+ 6 => ::std::option::Option::Some(FailureType::Failure_PinCancelled),
+ 7 => ::std::option::Option::Some(FailureType::Failure_PinInvalid),
+ 8 => ::std::option::Option::Some(FailureType::Failure_InvalidSignature),
+ 9 => ::std::option::Option::Some(FailureType::Failure_ProcessError),
+ 10 => ::std::option::Option::Some(FailureType::Failure_NotEnoughFunds),
+ 11 => ::std::option::Option::Some(FailureType::Failure_NotInitialized),
+ 12 => ::std::option::Option::Some(FailureType::Failure_PinMismatch),
+ 13 => ::std::option::Option::Some(FailureType::Failure_WipeCodeMismatch),
+ 14 => ::std::option::Option::Some(FailureType::Failure_InvalidSession),
+ 15 => ::std::option::Option::Some(FailureType::Failure_Busy),
+ 16 => ::std::option::Option::Some(FailureType::Failure_ThpUnallocatedSession),
+ 17 => ::std::option::Option::Some(FailureType::Failure_InvalidProtocol),
+ 18 => ::std::option::Option::Some(FailureType::Failure_BufferError),
+ 99 => ::std::option::Option::Some(FailureType::Failure_FirmwareError),
+ _ => ::std::option::Option::None
+ }
+ }
+
+ fn from_str(str: &str) -> ::std::option::Option<FailureType> {
+ match str {
+ "Failure_UnexpectedMessage" => ::std::option::Option::Some(FailureType::Failure_UnexpectedMessage),
+ "Failure_ButtonExpected" => ::std::option::Option::Some(FailureType::Failure_ButtonExpected),
+ "Failure_DataError" => ::std::option::Option::Some(FailureType::Failure_DataError),
+ "Failure_ActionCancelled" => ::std::option::Option::Some(FailureType::Failure_ActionCancelled),
+ "Failure_PinExpected" => ::std::option::Option::Some(FailureType::Failure_PinExpected),
+ "Failure_PinCancelled" => ::std::option::Option::Some(FailureType::Failure_PinCancelled),
+ "Failure_PinInvalid" => ::std::option::Option::Some(FailureType::Failure_PinInvalid),
+ "Failure_InvalidSignature" => ::std::option::Option::Some(FailureType::Failure_InvalidSignature),
+ "Failure_ProcessError" => ::std::option::Option::Some(FailureType::Failure_ProcessError),
+ "Failure_NotEnoughFunds" => ::std::option::Option::Some(FailureType::Failure_NotEnoughFunds),
+ "Failure_NotInitialized" => ::std::option::Option::Some(FailureType::Failure_NotInitialized),
+ "Failure_PinMismatch" => ::std::option::Option::Some(FailureType::Failure_PinMismatch),
+ "Failure_WipeCodeMismatch" => ::std::option::Option::Some(FailureType::Failure_WipeCodeMismatch),
+ "Failure_InvalidSession" => ::std::option::Option::Some(FailureType::Failure_InvalidSession),
+ "Failure_Busy" => ::std::option::Option::Some(FailureType::Failure_Busy),
+ "Failure_ThpUnallocatedSession" => ::std::option::Option::Some(FailureType::Failure_ThpUnallocatedSession),
+ "Failure_InvalidProtocol" => ::std::option::Option::Some(FailureType::Failure_InvalidProtocol),
+ "Failure_BufferError" => ::std::option::Option::Some(FailureType::Failure_BufferError),
+ "Failure_FirmwareError" => ::std::option::Option::Some(FailureType::Failure_FirmwareError),
+ _ => ::std::option::Option::None
+ }
+ }
+
+ const VALUES: &'static [FailureType] = &[
+ FailureType::Failure_UnexpectedMessage,
+ FailureType::Failure_ButtonExpected,
+ FailureType::Failure_DataError,
+ FailureType::Failure_ActionCancelled,
+ FailureType::Failure_PinExpected,
+ FailureType::Failure_PinCancelled,
+ FailureType::Failure_PinInvalid,
+ FailureType::Failure_InvalidSignature,
+ FailureType::Failure_ProcessError,
+ FailureType::Failure_NotEnoughFunds,
+ FailureType::Failure_NotInitialized,
+ FailureType::Failure_PinMismatch,
+ FailureType::Failure_WipeCodeMismatch,
+ FailureType::Failure_InvalidSession,
+ FailureType::Failure_Busy,
+ FailureType::Failure_ThpUnallocatedSession,
+ FailureType::Failure_InvalidProtocol,
+ FailureType::Failure_BufferError,
+ FailureType::Failure_FirmwareError,
+ ];
+ }
+
+ impl ::protobuf::EnumFull for FailureType {
+ fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
+ static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
+ descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("Failure.FailureType").unwrap()).clone()
+ }
+
+ fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
+ let index = match self {
+ FailureType::Failure_UnexpectedMessage => 0,
+ FailureType::Failure_ButtonExpected => 1,
+ FailureType::Failure_DataError => 2,
+ FailureType::Failure_ActionCancelled => 3,
+ FailureType::Failure_PinExpected => 4,
+ FailureType::Failure_PinCancelled => 5,
+ FailureType::Failure_PinInvalid => 6,
+ FailureType::Failure_InvalidSignature => 7,
+ FailureType::Failure_ProcessError => 8,
+ FailureType::Failure_NotEnoughFunds => 9,
+ FailureType::Failure_NotInitialized => 10,
+ FailureType::Failure_PinMismatch => 11,
+ FailureType::Failure_WipeCodeMismatch => 12,
+ FailureType::Failure_InvalidSession => 13,
+ FailureType::Failure_Busy => 14,
+ FailureType::Failure_ThpUnallocatedSession => 15,
+ FailureType::Failure_InvalidProtocol => 16,
+ FailureType::Failure_BufferError => 17,
+ FailureType::Failure_FirmwareError => 18,
+ };
+ Self::enum_descriptor().value_by_index(index)
+ }
+ }
+
+ // Note, `Default` is implemented although default value is not 0
+ impl ::std::default::Default for FailureType {
+ fn default() -> Self {
+ FailureType::Failure_UnexpectedMessage
+ }
+ }
+
+ impl FailureType {
+ pub(in super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
+ ::protobuf::reflect::GeneratedEnumDescriptorData::new::<FailureType>("Failure.FailureType")
+ }
+ }
+}
+
+// @@protoc_insertion_point(message:hw.trezor.messages.common.ButtonRequest)
+#[derive(PartialEq,Clone,Default,Debug)]
+pub struct ButtonRequest {
+ // message fields
+ // @@protoc_insertion_point(field:hw.trezor.messages.common.ButtonRequest.code)
+ pub code: ::std::option::Option<::protobuf::EnumOrUnknown<button_request::ButtonRequestType>>,
+ // @@protoc_insertion_point(field:hw.trezor.messages.common.ButtonRequest.pages)
+ pub pages: ::std::option::Option<u32>,
+ // @@protoc_insertion_point(field:hw.trezor.messages.common.ButtonRequest.name)
+ pub name: ::std::option::Option<::std::string::String>,
+ // special fields
+ // @@protoc_insertion_point(special_field:hw.trezor.messages.common.ButtonRequest.special_fields)
+ pub special_fields: ::protobuf::SpecialFields,
+}
+
+impl<'a> ::std::default::Default for &'a ButtonRequest {
+ fn default() -> &'a ButtonRequest {
+ <ButtonRequest as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl ButtonRequest {
+ pub fn new() -> ButtonRequest {
+ ::std::default::Default::default()
+ }
+
+ // optional .hw.trezor.messages.common.ButtonRequest.ButtonRequestType code = 1;
+
+ pub fn code(&self) -> button_request::ButtonRequestType {
+ match self.code {
+ Some(e) => e.enum_value_or(button_request::ButtonRequestType::ButtonRequest_Other),
+ None => button_request::ButtonRequestType::ButtonRequest_Other,
+ }
+ }
+
+ pub fn clear_code(&mut self) {
+ self.code = ::std::option::Option::None;
+ }
+
+ pub fn has_code(&self) -> bool {
+ self.code.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_code(&mut self, v: button_request::ButtonRequestType) {
+ self.code = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v));
+ }
+
+ // optional uint32 pages = 2;
+
+ pub fn pages(&self) -> u32 {
+ self.pages.unwrap_or(0)
+ }
+
+ pub fn clear_pages(&mut self) {
+ self.pages = ::std::option::Option::None;
+ }
+
+ pub fn has_pages(&self) -> bool {
+ self.pages.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_pages(&mut self, v: u32) {
+ self.pages = ::std::option::Option::Some(v);
+ }
+
+ // optional string name = 4;
+
+ pub fn name(&self) -> &str {
+ match self.name.as_ref() {
+ Some(v) => v,
+ None => "",
+ }
+ }
+
+ pub fn clear_name(&mut self) {
+ self.name = ::std::option::Option::None;
+ }
+
+ pub fn has_name(&self) -> bool {
+ self.name.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_name(&mut self, v: ::std::string::String) {
+ self.name = ::std::option::Option::Some(v);
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_name(&mut self) -> &mut ::std::string::String {
+ if self.name.is_none() {
+ self.name = ::std::option::Option::Some(::std::string::String::new());
+ }
+ self.name.as_mut().unwrap()
+ }
+
+ // Take field
+ pub fn take_name(&mut self) -> ::std::string::String {
+ self.name.take().unwrap_or_else(|| ::std::string::String::new())
+ }
+
+ fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
+ let mut fields = ::std::vec::Vec::with_capacity(3);
+ let mut oneofs = ::std::vec::Vec::with_capacity(0);
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "code",
+ |m: &ButtonRequest| { &m.code },
+ |m: &mut ButtonRequest| { &mut m.code },
+ ));
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "pages",
+ |m: &ButtonRequest| { &m.pages },
+ |m: &mut ButtonRequest| { &mut m.pages },
+ ));
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "name",
+ |m: &ButtonRequest| { &m.name },
+ |m: &mut ButtonRequest| { &mut m.name },
+ ));
+ ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<ButtonRequest>(
+ "ButtonRequest",
+ fields,
+ oneofs,
+ )
+ }
+}
+
+impl ::protobuf::Message for ButtonRequest {
+ const NAME: &'static str = "ButtonRequest";
+
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
+ while let Some(tag) = is.read_raw_tag_or_eof()? {
+ match tag {
+ 8 => {
+ self.code = ::std::option::Option::Some(is.read_enum_or_unknown()?);
+ },
+ 16 => {
+ self.pages = ::std::option::Option::Some(is.read_uint32()?);
+ },
+ 34 => {
+ self.name = ::std::option::Option::Some(is.read_string()?);
+ },
+ tag => {
+ ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
+ },
+ };
+ }
+ ::std::result::Result::Ok(())
+ }
+
+ // Compute sizes of nested messages
+ #[allow(unused_variables)]
+ fn compute_size(&self) -> u64 {
+ let mut my_size = 0;
+ if let Some(v) = self.code {
+ my_size += ::protobuf::rt::int32_size(1, v.value());
+ }
+ if let Some(v) = self.pages {
+ my_size += ::protobuf::rt::uint32_size(2, v);
+ }
+ if let Some(v) = self.name.as_ref() {
+ my_size += ::protobuf::rt::string_size(4, &v);
+ }
+ my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
+ self.special_fields.cached_size().set(my_size as u32);
+ my_size
+ }
+
+ fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
+ if let Some(v) = self.code {
+ os.write_enum(1, ::protobuf::EnumOrUnknown::value(&v))?;
+ }
+ if let Some(v) = self.pages {
+ os.write_uint32(2, v)?;
+ }
+ if let Some(v) = self.name.as_ref() {
+ os.write_string(4, v)?;
+ }
+ os.write_unknown_fields(self.special_fields.unknown_fields())?;
+ ::std::result::Result::Ok(())
+ }
+
+ fn special_fields(&self) -> &::protobuf::SpecialFields {
+ &self.special_fields
+ }
+
+ fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
+ &mut self.special_fields
+ }
+
+ fn new() -> ButtonRequest {
+ ButtonRequest::new()
+ }
+
+ fn clear(&mut self) {
+ self.code = ::std::option::Option::None;
+ self.pages = ::std::option::Option::None;
+ self.name = ::std::option::Option::None;
+ self.special_fields.clear();
+ }
+
+ fn default_instance() -> &'static ButtonRequest {
+ static instance: ButtonRequest = ButtonRequest {
+ code: ::std::option::Option::None,
+ pages: ::std::option::Option::None,
+ name: ::std::option::Option::None,
+ special_fields: ::protobuf::SpecialFields::new(),
+ };
+ &instance
+ }
+}
+
+impl ::protobuf::MessageFull for ButtonRequest {
+ fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
+ static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
+ descriptor.get(|| file_descriptor().message_by_package_relative_name("ButtonRequest").unwrap()).clone()
+ }
+}
+
+impl ::std::fmt::Display for ButtonRequest {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for ButtonRequest {
+ type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
+}
+
+/// Nested message and enums of message `ButtonRequest`
+pub mod button_request {
+ #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
+ // @@protoc_insertion_point(enum:hw.trezor.messages.common.ButtonRequest.ButtonRequestType)
+ pub enum ButtonRequestType {
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_Other)
+ ButtonRequest_Other = 1,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_FeeOverThreshold)
+ ButtonRequest_FeeOverThreshold = 2,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_ConfirmOutput)
+ ButtonRequest_ConfirmOutput = 3,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_ResetDevice)
+ ButtonRequest_ResetDevice = 4,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_ConfirmWord)
+ ButtonRequest_ConfirmWord = 5,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_WipeDevice)
+ ButtonRequest_WipeDevice = 6,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_ProtectCall)
+ ButtonRequest_ProtectCall = 7,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_SignTx)
+ ButtonRequest_SignTx = 8,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_FirmwareCheck)
+ ButtonRequest_FirmwareCheck = 9,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_Address)
+ ButtonRequest_Address = 10,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_PublicKey)
+ ButtonRequest_PublicKey = 11,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_MnemonicWordCount)
+ ButtonRequest_MnemonicWordCount = 12,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_MnemonicInput)
+ ButtonRequest_MnemonicInput = 13,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType._Deprecated_ButtonRequest_PassphraseType)
+ _Deprecated_ButtonRequest_PassphraseType = 14,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_UnknownDerivationPath)
+ ButtonRequest_UnknownDerivationPath = 15,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_RecoveryHomepage)
+ ButtonRequest_RecoveryHomepage = 16,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_Success)
+ ButtonRequest_Success = 17,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_Warning)
+ ButtonRequest_Warning = 18,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_PassphraseEntry)
+ ButtonRequest_PassphraseEntry = 19,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.ButtonRequest.ButtonRequestType.ButtonRequest_PinEntry)
+ ButtonRequest_PinEntry = 20,
+ }
+
+ impl ::protobuf::Enum for ButtonRequestType {
+ const NAME: &'static str = "ButtonRequestType";
+
+ fn value(&self) -> i32 {
+ *self as i32
+ }
+
+ fn from_i32(value: i32) -> ::std::option::Option<ButtonRequestType> {
+ match value {
+ 1 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_Other),
+ 2 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_FeeOverThreshold),
+ 3 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_ConfirmOutput),
+ 4 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_ResetDevice),
+ 5 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_ConfirmWord),
+ 6 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_WipeDevice),
+ 7 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_ProtectCall),
+ 8 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_SignTx),
+ 9 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_FirmwareCheck),
+ 10 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_Address),
+ 11 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_PublicKey),
+ 12 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_MnemonicWordCount),
+ 13 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_MnemonicInput),
+ 14 => ::std::option::Option::Some(ButtonRequestType::_Deprecated_ButtonRequest_PassphraseType),
+ 15 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_UnknownDerivationPath),
+ 16 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_RecoveryHomepage),
+ 17 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_Success),
+ 18 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_Warning),
+ 19 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_PassphraseEntry),
+ 20 => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_PinEntry),
+ _ => ::std::option::Option::None
+ }
+ }
+
+ fn from_str(str: &str) -> ::std::option::Option<ButtonRequestType> {
+ match str {
+ "ButtonRequest_Other" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_Other),
+ "ButtonRequest_FeeOverThreshold" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_FeeOverThreshold),
+ "ButtonRequest_ConfirmOutput" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_ConfirmOutput),
+ "ButtonRequest_ResetDevice" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_ResetDevice),
+ "ButtonRequest_ConfirmWord" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_ConfirmWord),
+ "ButtonRequest_WipeDevice" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_WipeDevice),
+ "ButtonRequest_ProtectCall" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_ProtectCall),
+ "ButtonRequest_SignTx" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_SignTx),
+ "ButtonRequest_FirmwareCheck" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_FirmwareCheck),
+ "ButtonRequest_Address" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_Address),
+ "ButtonRequest_PublicKey" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_PublicKey),
+ "ButtonRequest_MnemonicWordCount" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_MnemonicWordCount),
+ "ButtonRequest_MnemonicInput" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_MnemonicInput),
+ "_Deprecated_ButtonRequest_PassphraseType" => ::std::option::Option::Some(ButtonRequestType::_Deprecated_ButtonRequest_PassphraseType),
+ "ButtonRequest_UnknownDerivationPath" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_UnknownDerivationPath),
+ "ButtonRequest_RecoveryHomepage" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_RecoveryHomepage),
+ "ButtonRequest_Success" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_Success),
+ "ButtonRequest_Warning" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_Warning),
+ "ButtonRequest_PassphraseEntry" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_PassphraseEntry),
+ "ButtonRequest_PinEntry" => ::std::option::Option::Some(ButtonRequestType::ButtonRequest_PinEntry),
+ _ => ::std::option::Option::None
+ }
+ }
+
+ const VALUES: &'static [ButtonRequestType] = &[
+ ButtonRequestType::ButtonRequest_Other,
+ ButtonRequestType::ButtonRequest_FeeOverThreshold,
+ ButtonRequestType::ButtonRequest_ConfirmOutput,
+ ButtonRequestType::ButtonRequest_ResetDevice,
+ ButtonRequestType::ButtonRequest_ConfirmWord,
+ ButtonRequestType::ButtonRequest_WipeDevice,
+ ButtonRequestType::ButtonRequest_ProtectCall,
+ ButtonRequestType::ButtonRequest_SignTx,
+ ButtonRequestType::ButtonRequest_FirmwareCheck,
+ ButtonRequestType::ButtonRequest_Address,
+ ButtonRequestType::ButtonRequest_PublicKey,
+ ButtonRequestType::ButtonRequest_MnemonicWordCount,
+ ButtonRequestType::ButtonRequest_MnemonicInput,
+ ButtonRequestType::_Deprecated_ButtonRequest_PassphraseType,
+ ButtonRequestType::ButtonRequest_UnknownDerivationPath,
+ ButtonRequestType::ButtonRequest_RecoveryHomepage,
+ ButtonRequestType::ButtonRequest_Success,
+ ButtonRequestType::ButtonRequest_Warning,
+ ButtonRequestType::ButtonRequest_PassphraseEntry,
+ ButtonRequestType::ButtonRequest_PinEntry,
+ ];
+ }
+
+ impl ::protobuf::EnumFull for ButtonRequestType {
+ fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
+ static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
+ descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("ButtonRequest.ButtonRequestType").unwrap()).clone()
+ }
+
+ fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
+ let index = match self {
+ ButtonRequestType::ButtonRequest_Other => 0,
+ ButtonRequestType::ButtonRequest_FeeOverThreshold => 1,
+ ButtonRequestType::ButtonRequest_ConfirmOutput => 2,
+ ButtonRequestType::ButtonRequest_ResetDevice => 3,
+ ButtonRequestType::ButtonRequest_ConfirmWord => 4,
+ ButtonRequestType::ButtonRequest_WipeDevice => 5,
+ ButtonRequestType::ButtonRequest_ProtectCall => 6,
+ ButtonRequestType::ButtonRequest_SignTx => 7,
+ ButtonRequestType::ButtonRequest_FirmwareCheck => 8,
+ ButtonRequestType::ButtonRequest_Address => 9,
+ ButtonRequestType::ButtonRequest_PublicKey => 10,
+ ButtonRequestType::ButtonRequest_MnemonicWordCount => 11,
+ ButtonRequestType::ButtonRequest_MnemonicInput => 12,
+ ButtonRequestType::_Deprecated_ButtonRequest_PassphraseType => 13,
+ ButtonRequestType::ButtonRequest_UnknownDerivationPath => 14,
+ ButtonRequestType::ButtonRequest_RecoveryHomepage => 15,
+ ButtonRequestType::ButtonRequest_Success => 16,
+ ButtonRequestType::ButtonRequest_Warning => 17,
+ ButtonRequestType::ButtonRequest_PassphraseEntry => 18,
+ ButtonRequestType::ButtonRequest_PinEntry => 19,
+ };
+ Self::enum_descriptor().value_by_index(index)
+ }
+ }
+
+ // Note, `Default` is implemented although default value is not 0
+ impl ::std::default::Default for ButtonRequestType {
+ fn default() -> Self {
+ ButtonRequestType::ButtonRequest_Other
+ }
+ }
+
+ impl ButtonRequestType {
+ pub(in super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
+ ::protobuf::reflect::GeneratedEnumDescriptorData::new::<ButtonRequestType>("ButtonRequest.ButtonRequestType")
+ }
+ }
+}
+
+// @@protoc_insertion_point(message:hw.trezor.messages.common.ButtonAck)
+#[derive(PartialEq,Clone,Default,Debug)]
+pub struct ButtonAck {
+ // special fields
+ // @@protoc_insertion_point(special_field:hw.trezor.messages.common.ButtonAck.special_fields)
+ pub special_fields: ::protobuf::SpecialFields,
+}
+
+impl<'a> ::std::default::Default for &'a ButtonAck {
+ fn default() -> &'a ButtonAck {
+ <ButtonAck as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl ButtonAck {
+ pub fn new() -> ButtonAck {
+ ::std::default::Default::default()
+ }
+
+ fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
+ let mut fields = ::std::vec::Vec::with_capacity(0);
+ let mut oneofs = ::std::vec::Vec::with_capacity(0);
+ ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<ButtonAck>(
+ "ButtonAck",
+ fields,
+ oneofs,
+ )
+ }
+}
+
+impl ::protobuf::Message for ButtonAck {
+ const NAME: &'static str = "ButtonAck";
+
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
+ while let Some(tag) = is.read_raw_tag_or_eof()? {
+ match tag {
+ tag => {
+ ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
+ },
+ };
+ }
+ ::std::result::Result::Ok(())
+ }
+
+ // Compute sizes of nested messages
+ #[allow(unused_variables)]
+ fn compute_size(&self) -> u64 {
+ let mut my_size = 0;
+ my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
+ self.special_fields.cached_size().set(my_size as u32);
+ my_size
+ }
+
+ fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
+ os.write_unknown_fields(self.special_fields.unknown_fields())?;
+ ::std::result::Result::Ok(())
+ }
+
+ fn special_fields(&self) -> &::protobuf::SpecialFields {
+ &self.special_fields
+ }
+
+ fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
+ &mut self.special_fields
+ }
+
+ fn new() -> ButtonAck {
+ ButtonAck::new()
+ }
+
+ fn clear(&mut self) {
+ self.special_fields.clear();
+ }
+
+ fn default_instance() -> &'static ButtonAck {
+ static instance: ButtonAck = ButtonAck {
+ special_fields: ::protobuf::SpecialFields::new(),
+ };
+ &instance
+ }
+}
+
+impl ::protobuf::MessageFull for ButtonAck {
+ fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
+ static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
+ descriptor.get(|| file_descriptor().message_by_package_relative_name("ButtonAck").unwrap()).clone()
+ }
+}
+
+impl ::std::fmt::Display for ButtonAck {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for ButtonAck {
+ type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
+}
+
+// @@protoc_insertion_point(message:hw.trezor.messages.common.PinMatrixRequest)
+#[derive(PartialEq,Clone,Default,Debug)]
+pub struct PinMatrixRequest {
+ // message fields
+ // @@protoc_insertion_point(field:hw.trezor.messages.common.PinMatrixRequest.type)
+ pub type_: ::std::option::Option<::protobuf::EnumOrUnknown<pin_matrix_request::PinMatrixRequestType>>,
+ // special fields
+ // @@protoc_insertion_point(special_field:hw.trezor.messages.common.PinMatrixRequest.special_fields)
+ pub special_fields: ::protobuf::SpecialFields,
+}
+
+impl<'a> ::std::default::Default for &'a PinMatrixRequest {
+ fn default() -> &'a PinMatrixRequest {
+ <PinMatrixRequest as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl PinMatrixRequest {
+ pub fn new() -> PinMatrixRequest {
+ ::std::default::Default::default()
+ }
+
+ // optional .hw.trezor.messages.common.PinMatrixRequest.PinMatrixRequestType type = 1;
+
+ pub fn type_(&self) -> pin_matrix_request::PinMatrixRequestType {
+ match self.type_ {
+ Some(e) => e.enum_value_or(pin_matrix_request::PinMatrixRequestType::PinMatrixRequestType_Current),
+ None => pin_matrix_request::PinMatrixRequestType::PinMatrixRequestType_Current,
+ }
+ }
+
+ pub fn clear_type_(&mut self) {
+ self.type_ = ::std::option::Option::None;
+ }
+
+ pub fn has_type(&self) -> bool {
+ self.type_.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_type(&mut self, v: pin_matrix_request::PinMatrixRequestType) {
+ self.type_ = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v));
+ }
+
+ fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
+ let mut fields = ::std::vec::Vec::with_capacity(1);
+ let mut oneofs = ::std::vec::Vec::with_capacity(0);
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "type",
+ |m: &PinMatrixRequest| { &m.type_ },
+ |m: &mut PinMatrixRequest| { &mut m.type_ },
+ ));
+ ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<PinMatrixRequest>(
+ "PinMatrixRequest",
+ fields,
+ oneofs,
+ )
+ }
+}
+
+impl ::protobuf::Message for PinMatrixRequest {
+ const NAME: &'static str = "PinMatrixRequest";
+
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
+ while let Some(tag) = is.read_raw_tag_or_eof()? {
+ match tag {
+ 8 => {
+ self.type_ = ::std::option::Option::Some(is.read_enum_or_unknown()?);
+ },
+ tag => {
+ ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
+ },
+ };
+ }
+ ::std::result::Result::Ok(())
+ }
+
+ // Compute sizes of nested messages
+ #[allow(unused_variables)]
+ fn compute_size(&self) -> u64 {
+ let mut my_size = 0;
+ if let Some(v) = self.type_ {
+ my_size += ::protobuf::rt::int32_size(1, v.value());
+ }
+ my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
+ self.special_fields.cached_size().set(my_size as u32);
+ my_size
+ }
+
+ fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
+ if let Some(v) = self.type_ {
+ os.write_enum(1, ::protobuf::EnumOrUnknown::value(&v))?;
+ }
+ os.write_unknown_fields(self.special_fields.unknown_fields())?;
+ ::std::result::Result::Ok(())
+ }
+
+ fn special_fields(&self) -> &::protobuf::SpecialFields {
+ &self.special_fields
+ }
+
+ fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
+ &mut self.special_fields
+ }
+
+ fn new() -> PinMatrixRequest {
+ PinMatrixRequest::new()
+ }
+
+ fn clear(&mut self) {
+ self.type_ = ::std::option::Option::None;
+ self.special_fields.clear();
+ }
+
+ fn default_instance() -> &'static PinMatrixRequest {
+ static instance: PinMatrixRequest = PinMatrixRequest {
+ type_: ::std::option::Option::None,
+ special_fields: ::protobuf::SpecialFields::new(),
+ };
+ &instance
+ }
+}
+
+impl ::protobuf::MessageFull for PinMatrixRequest {
+ fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
+ static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
+ descriptor.get(|| file_descriptor().message_by_package_relative_name("PinMatrixRequest").unwrap()).clone()
+ }
+}
+
+impl ::std::fmt::Display for PinMatrixRequest {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for PinMatrixRequest {
+ type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
+}
+
+/// Nested message and enums of message `PinMatrixRequest`
+pub mod pin_matrix_request {
+ #[derive(Clone,Copy,PartialEq,Eq,Debug,Hash)]
+ // @@protoc_insertion_point(enum:hw.trezor.messages.common.PinMatrixRequest.PinMatrixRequestType)
+ pub enum PinMatrixRequestType {
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.PinMatrixRequest.PinMatrixRequestType.PinMatrixRequestType_Current)
+ PinMatrixRequestType_Current = 1,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.PinMatrixRequest.PinMatrixRequestType.PinMatrixRequestType_NewFirst)
+ PinMatrixRequestType_NewFirst = 2,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.PinMatrixRequest.PinMatrixRequestType.PinMatrixRequestType_NewSecond)
+ PinMatrixRequestType_NewSecond = 3,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.PinMatrixRequest.PinMatrixRequestType.PinMatrixRequestType_WipeCodeFirst)
+ PinMatrixRequestType_WipeCodeFirst = 4,
+ // @@protoc_insertion_point(enum_value:hw.trezor.messages.common.PinMatrixRequest.PinMatrixRequestType.PinMatrixRequestType_WipeCodeSecond)
+ PinMatrixRequestType_WipeCodeSecond = 5,
+ }
+
+ impl ::protobuf::Enum for PinMatrixRequestType {
+ const NAME: &'static str = "PinMatrixRequestType";
+
+ fn value(&self) -> i32 {
+ *self as i32
+ }
+
+ fn from_i32(value: i32) -> ::std::option::Option<PinMatrixRequestType> {
+ match value {
+ 1 => ::std::option::Option::Some(PinMatrixRequestType::PinMatrixRequestType_Current),
+ 2 => ::std::option::Option::Some(PinMatrixRequestType::PinMatrixRequestType_NewFirst),
+ 3 => ::std::option::Option::Some(PinMatrixRequestType::PinMatrixRequestType_NewSecond),
+ 4 => ::std::option::Option::Some(PinMatrixRequestType::PinMatrixRequestType_WipeCodeFirst),
+ 5 => ::std::option::Option::Some(PinMatrixRequestType::PinMatrixRequestType_WipeCodeSecond),
+ _ => ::std::option::Option::None
+ }
+ }
+
+ fn from_str(str: &str) -> ::std::option::Option<PinMatrixRequestType> {
+ match str {
+ "PinMatrixRequestType_Current" => ::std::option::Option::Some(PinMatrixRequestType::PinMatrixRequestType_Current),
+ "PinMatrixRequestType_NewFirst" => ::std::option::Option::Some(PinMatrixRequestType::PinMatrixRequestType_NewFirst),
+ "PinMatrixRequestType_NewSecond" => ::std::option::Option::Some(PinMatrixRequestType::PinMatrixRequestType_NewSecond),
+ "PinMatrixRequestType_WipeCodeFirst" => ::std::option::Option::Some(PinMatrixRequestType::PinMatrixRequestType_WipeCodeFirst),
+ "PinMatrixRequestType_WipeCodeSecond" => ::std::option::Option::Some(PinMatrixRequestType::PinMatrixRequestType_WipeCodeSecond),
+ _ => ::std::option::Option::None
+ }
+ }
+
+ const VALUES: &'static [PinMatrixRequestType] = &[
+ PinMatrixRequestType::PinMatrixRequestType_Current,
+ PinMatrixRequestType::PinMatrixRequestType_NewFirst,
+ PinMatrixRequestType::PinMatrixRequestType_NewSecond,
+ PinMatrixRequestType::PinMatrixRequestType_WipeCodeFirst,
+ PinMatrixRequestType::PinMatrixRequestType_WipeCodeSecond,
+ ];
+ }
+
+ impl ::protobuf::EnumFull for PinMatrixRequestType {
+ fn enum_descriptor() -> ::protobuf::reflect::EnumDescriptor {
+ static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::Lazy::new();
+ descriptor.get(|| super::file_descriptor().enum_by_package_relative_name("PinMatrixRequest.PinMatrixRequestType").unwrap()).clone()
+ }
+
+ fn descriptor(&self) -> ::protobuf::reflect::EnumValueDescriptor {
+ let index = match self {
+ PinMatrixRequestType::PinMatrixRequestType_Current => 0,
+ PinMatrixRequestType::PinMatrixRequestType_NewFirst => 1,
+ PinMatrixRequestType::PinMatrixRequestType_NewSecond => 2,
+ PinMatrixRequestType::PinMatrixRequestType_WipeCodeFirst => 3,
+ PinMatrixRequestType::PinMatrixRequestType_WipeCodeSecond => 4,
+ };
+ Self::enum_descriptor().value_by_index(index)
+ }
+ }
+
+ // Note, `Default` is implemented although default value is not 0
+ impl ::std::default::Default for PinMatrixRequestType {
+ fn default() -> Self {
+ PinMatrixRequestType::PinMatrixRequestType_Current
+ }
+ }
+
+ impl PinMatrixRequestType {
+ pub(in super) fn generated_enum_descriptor_data() -> ::protobuf::reflect::GeneratedEnumDescriptorData {
+ ::protobuf::reflect::GeneratedEnumDescriptorData::new::<PinMatrixRequestType>("PinMatrixRequest.PinMatrixRequestType")
+ }
+ }
+}
+
+// @@protoc_insertion_point(message:hw.trezor.messages.common.PinMatrixAck)
+#[derive(PartialEq,Clone,Default,Debug)]
+pub struct PinMatrixAck {
+ // message fields
+ // @@protoc_insertion_point(field:hw.trezor.messages.common.PinMatrixAck.pin)
+ pub pin: ::std::option::Option<::std::string::String>,
+ // special fields
+ // @@protoc_insertion_point(special_field:hw.trezor.messages.common.PinMatrixAck.special_fields)
+ pub special_fields: ::protobuf::SpecialFields,
+}
+
+impl<'a> ::std::default::Default for &'a PinMatrixAck {
+ fn default() -> &'a PinMatrixAck {
+ <PinMatrixAck as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl PinMatrixAck {
+ pub fn new() -> PinMatrixAck {
+ ::std::default::Default::default()
+ }
+
+ // required string pin = 1;
+
+ pub fn pin(&self) -> &str {
+ match self.pin.as_ref() {
+ Some(v) => v,
+ None => "",
+ }
+ }
+
+ pub fn clear_pin(&mut self) {
+ self.pin = ::std::option::Option::None;
+ }
+
+ pub fn has_pin(&self) -> bool {
+ self.pin.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_pin(&mut self, v: ::std::string::String) {
+ self.pin = ::std::option::Option::Some(v);
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_pin(&mut self) -> &mut ::std::string::String {
+ if self.pin.is_none() {
+ self.pin = ::std::option::Option::Some(::std::string::String::new());
+ }
+ self.pin.as_mut().unwrap()
+ }
+
+ // Take field
+ pub fn take_pin(&mut self) -> ::std::string::String {
+ self.pin.take().unwrap_or_else(|| ::std::string::String::new())
+ }
+
+ fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
+ let mut fields = ::std::vec::Vec::with_capacity(1);
+ let mut oneofs = ::std::vec::Vec::with_capacity(0);
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "pin",
+ |m: &PinMatrixAck| { &m.pin },
+ |m: &mut PinMatrixAck| { &mut m.pin },
+ ));
+ ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<PinMatrixAck>(
+ "PinMatrixAck",
+ fields,
+ oneofs,
+ )
+ }
+}
+
+impl ::protobuf::Message for PinMatrixAck {
+ const NAME: &'static str = "PinMatrixAck";
+
+ fn is_initialized(&self) -> bool {
+ if self.pin.is_none() {
+ return false;
+ }
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
+ while let Some(tag) = is.read_raw_tag_or_eof()? {
+ match tag {
+ 10 => {
+ self.pin = ::std::option::Option::Some(is.read_string()?);
+ },
+ tag => {
+ ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
+ },
+ };
+ }
+ ::std::result::Result::Ok(())
+ }
+
+ // Compute sizes of nested messages
+ #[allow(unused_variables)]
+ fn compute_size(&self) -> u64 {
+ let mut my_size = 0;
+ if let Some(v) = self.pin.as_ref() {
+ my_size += ::protobuf::rt::string_size(1, &v);
+ }
+ my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
+ self.special_fields.cached_size().set(my_size as u32);
+ my_size
+ }
+
+ fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
+ if let Some(v) = self.pin.as_ref() {
+ os.write_string(1, v)?;
+ }
+ os.write_unknown_fields(self.special_fields.unknown_fields())?;
+ ::std::result::Result::Ok(())
+ }
+
+ fn special_fields(&self) -> &::protobuf::SpecialFields {
+ &self.special_fields
+ }
+
+ fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
+ &mut self.special_fields
+ }
+
+ fn new() -> PinMatrixAck {
+ PinMatrixAck::new()
+ }
+
+ fn clear(&mut self) {
+ self.pin = ::std::option::Option::None;
+ self.special_fields.clear();
+ }
+
+ fn default_instance() -> &'static PinMatrixAck {
+ static instance: PinMatrixAck = PinMatrixAck {
+ pin: ::std::option::Option::None,
+ special_fields: ::protobuf::SpecialFields::new(),
+ };
+ &instance
+ }
+}
+
+impl ::protobuf::MessageFull for PinMatrixAck {
+ fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
+ static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
+ descriptor.get(|| file_descriptor().message_by_package_relative_name("PinMatrixAck").unwrap()).clone()
+ }
+}
+
+impl ::std::fmt::Display for PinMatrixAck {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for PinMatrixAck {
+ type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
+}
+
+// @@protoc_insertion_point(message:hw.trezor.messages.common.PassphraseRequest)
+#[derive(PartialEq,Clone,Default,Debug)]
+pub struct PassphraseRequest {
+ // message fields
+ // @@protoc_insertion_point(field:hw.trezor.messages.common.PassphraseRequest._on_device)
+ pub _on_device: ::std::option::Option<bool>,
+ // special fields
+ // @@protoc_insertion_point(special_field:hw.trezor.messages.common.PassphraseRequest.special_fields)
+ pub special_fields: ::protobuf::SpecialFields,
+}
+
+impl<'a> ::std::default::Default for &'a PassphraseRequest {
+ fn default() -> &'a PassphraseRequest {
+ <PassphraseRequest as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl PassphraseRequest {
+ pub fn new() -> PassphraseRequest {
+ ::std::default::Default::default()
+ }
+
+ // optional bool _on_device = 1;
+
+ pub fn _on_device(&self) -> bool {
+ self._on_device.unwrap_or(false)
+ }
+
+ pub fn clear__on_device(&mut self) {
+ self._on_device = ::std::option::Option::None;
+ }
+
+ pub fn has__on_device(&self) -> bool {
+ self._on_device.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set__on_device(&mut self, v: bool) {
+ self._on_device = ::std::option::Option::Some(v);
+ }
+
+ fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
+ let mut fields = ::std::vec::Vec::with_capacity(1);
+ let mut oneofs = ::std::vec::Vec::with_capacity(0);
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "_on_device",
+ |m: &PassphraseRequest| { &m._on_device },
+ |m: &mut PassphraseRequest| { &mut m._on_device },
+ ));
+ ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<PassphraseRequest>(
+ "PassphraseRequest",
+ fields,
+ oneofs,
+ )
+ }
+}
+
+impl ::protobuf::Message for PassphraseRequest {
+ const NAME: &'static str = "PassphraseRequest";
+
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
+ while let Some(tag) = is.read_raw_tag_or_eof()? {
+ match tag {
+ 8 => {
+ self._on_device = ::std::option::Option::Some(is.read_bool()?);
+ },
+ tag => {
+ ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
+ },
+ };
+ }
+ ::std::result::Result::Ok(())
+ }
+
+ // Compute sizes of nested messages
+ #[allow(unused_variables)]
+ fn compute_size(&self) -> u64 {
+ let mut my_size = 0;
+ if let Some(v) = self._on_device {
+ my_size += 1 + 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
+ }
+
+ fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
+ if let Some(v) = self._on_device {
+ os.write_bool(1, v)?;
+ }
+ os.write_unknown_fields(self.special_fields.unknown_fields())?;
+ ::std::result::Result::Ok(())
+ }
+
+ fn special_fields(&self) -> &::protobuf::SpecialFields {
+ &self.special_fields
+ }
+
+ fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
+ &mut self.special_fields
+ }
+
+ fn new() -> PassphraseRequest {
+ PassphraseRequest::new()
+ }
+
+ fn clear(&mut self) {
+ self._on_device = ::std::option::Option::None;
+ self.special_fields.clear();
+ }
+
+ fn default_instance() -> &'static PassphraseRequest {
+ static instance: PassphraseRequest = PassphraseRequest {
+ _on_device: ::std::option::Option::None,
+ special_fields: ::protobuf::SpecialFields::new(),
+ };
+ &instance
+ }
+}
+
+impl ::protobuf::MessageFull for PassphraseRequest {
+ fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
+ static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
+ descriptor.get(|| file_descriptor().message_by_package_relative_name("PassphraseRequest").unwrap()).clone()
+ }
+}
+
+impl ::std::fmt::Display for PassphraseRequest {
+ fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ ::protobuf::text_format::fmt(self, f)
+ }
+}
+
+impl ::protobuf::reflect::ProtobufValue for PassphraseRequest {
+ type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
+}
+
+// @@protoc_insertion_point(message:hw.trezor.messages.common.PassphraseAck)
+#[derive(PartialEq,Clone,Default,Debug)]
+pub struct PassphraseAck {
+ // message fields
+ // @@protoc_insertion_point(field:hw.trezor.messages.common.PassphraseAck.passphrase)
+ pub passphrase: ::std::option::Option<::std::string::String>,
+ // @@protoc_insertion_point(field:hw.trezor.messages.common.PassphraseAck._state)
+ pub _state: ::std::option::Option<::std::vec::Vec<u8>>,
+ // @@protoc_insertion_point(field:hw.trezor.messages.common.PassphraseAck.on_device)
+ pub on_device: ::std::option::Option<bool>,
+ // special fields
+ // @@protoc_insertion_point(special_field:hw.trezor.messages.common.PassphraseAck.special_fields)
+ pub special_fields: ::protobuf::SpecialFields,
+}
+
+impl<'a> ::std::default::Default for &'a PassphraseAck {
+ fn default() -> &'a PassphraseAck {
+ <PassphraseAck as ::protobuf::Message>::default_instance()
+ }
+}
+
+impl PassphraseAck {
+ pub fn new() -> PassphraseAck {
+ ::std::default::Default::default()
+ }
+
+ // optional string passphrase = 1;
+
+ pub fn passphrase(&self) -> &str {
+ match self.passphrase.as_ref() {
+ Some(v) => v,
+ None => "",
+ }
+ }
+
+ pub fn clear_passphrase(&mut self) {
+ self.passphrase = ::std::option::Option::None;
+ }
+
+ pub fn has_passphrase(&self) -> bool {
+ self.passphrase.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_passphrase(&mut self, v: ::std::string::String) {
+ self.passphrase = ::std::option::Option::Some(v);
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut_passphrase(&mut self) -> &mut ::std::string::String {
+ if self.passphrase.is_none() {
+ self.passphrase = ::std::option::Option::Some(::std::string::String::new());
+ }
+ self.passphrase.as_mut().unwrap()
+ }
+
+ // Take field
+ pub fn take_passphrase(&mut self) -> ::std::string::String {
+ self.passphrase.take().unwrap_or_else(|| ::std::string::String::new())
+ }
+
+ // optional bytes _state = 2;
+
+ pub fn _state(&self) -> &[u8] {
+ match self._state.as_ref() {
+ Some(v) => v,
+ None => &[],
+ }
+ }
+
+ pub fn clear__state(&mut self) {
+ self._state = ::std::option::Option::None;
+ }
+
+ pub fn has__state(&self) -> bool {
+ self._state.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set__state(&mut self, v: ::std::vec::Vec<u8>) {
+ self._state = ::std::option::Option::Some(v);
+ }
+
+ // Mutable pointer to the field.
+ // If field is not initialized, it is initialized with default value first.
+ pub fn mut__state(&mut self) -> &mut ::std::vec::Vec<u8> {
+ if self._state.is_none() {
+ self._state = ::std::option::Option::Some(::std::vec::Vec::new());
+ }
+ self._state.as_mut().unwrap()
+ }
+
+ // Take field
+ pub fn take__state(&mut self) -> ::std::vec::Vec<u8> {
+ self._state.take().unwrap_or_else(|| ::std::vec::Vec::new())
+ }
+
+ // optional bool on_device = 3;
+
+ pub fn on_device(&self) -> bool {
+ self.on_device.unwrap_or(false)
+ }
+
+ pub fn clear_on_device(&mut self) {
+ self.on_device = ::std::option::Option::None;
+ }
+
+ pub fn has_on_device(&self) -> bool {
+ self.on_device.is_some()
+ }
+
+ // Param is passed by value, moved
+ pub fn set_on_device(&mut self, v: bool) {
+ self.on_device = ::std::option::Option::Some(v);
+ }
+
+ fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
+ let mut fields = ::std::vec::Vec::with_capacity(3);
+ let mut oneofs = ::std::vec::Vec::with_capacity(0);
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "passphrase",
+ |m: &PassphraseAck| { &m.passphrase },
+ |m: &mut PassphraseAck| { &mut m.passphrase },
+ ));
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "_state",
+ |m: &PassphraseAck| { &m._state },
+ |m: &mut PassphraseAck| { &mut m._state },
+ ));
+ fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>(
+ "on_device",
+ |m: &PassphraseAck| { &m.on_device },
+ |m: &mut PassphraseAck| { &mut m.on_device },
+ ));
+ ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<PassphraseAck>(
+ "PassphraseAck",
+ fields,
+ oneofs,
+ )
+ }
+}
+
+impl ::protobuf::Message for PassphraseAck {
+ const NAME: &'static str = "PassphraseAck";
+
+ fn is_initialized(&self) -> bool {
+ true
+ }
+
+ fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
+ while let Some(tag) = is.read_raw_tag_or_eof()? {
+ match tag {
+ 10 => {
+ self.passphrase = ::std::option::Option::Some(is.read_string()?);
+ },
+ 18 => {
+ self._state = ::std::option::Option::Some(is.read_bytes()?);
+ },
+ 24 => {
+ self.on_device = ::std::option::Option::Some(is.read_bool()?);
+ },
+ tag => {
+ ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
+ },
+ };
+ }
+ ::std::result::Result::Ok(())
+ }
+
+ // Compute sizes of nested messages
+ #[allow(unused_variables)]
+ fn compute_size(&self) -> u64 {
+ let mut my_size = 0;
+ if let Some(v) = self.passphrase.as_ref() {
+ my_size += ::protobuf::rt::string_size(1, &v);
+ }
+ if let Some(v) = self._state.as_ref() {
+ my_size += ::protobuf::rt::bytes_size(2, &v);
+ }
+ if let Some(v) = self.on_device {
+ my_size += 1 + 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
+ }
+
+ fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
+ if let Some(v) = self.passphrase.as_ref() {
+ os.write_string(1, v)?;
+ }
+ if let Some(v) = self._state.as_ref() {
+ os.write_bytes(2, v)?;
+ }
+ if let Some(v) = self.on_device {
+ os.write_bool(3, v)?;
+ }
+ os.write_unknown_fields(self.special_fields.unknown_fields())?;
+ ::std::result::Result::Ok(())
+ }
+
+ fn special_fields(&self) -> &::protobuf::SpecialFields {
+ &self.special_fields
+ }
+
+ fn mut_special_fiWhy this scored 15/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.