diff --git a/common/protob/messages-management.proto b/common/protob/messages-management.proto index 7429158726..4cc079e20b 100644 --- a/common/protob/messages-management.proto +++ b/common/protob/messages-management.proto @@ -423,6 +423,7 @@ message ResetDevice { optional bool skip_backup = 8; // postpone seed backup to BackupDevice workflow optional bool no_backup = 9; // indicate that no backup is going to be made optional BackupType backup_type = 10 [default=Bip39]; // type of the mnemonic backup + optional bool entropy_check = 11; // run with entropy check protocol } /** @@ -444,6 +445,8 @@ message BackupDevice { * @next EntropyAck */ message EntropyRequest { + optional bytes entropy_commitment = 1; // HMAC-SHA256 of Trezor's internal entropy used in entropy check. + optional bytes prev_entropy = 2; // Trezor's internal entropy from the previous round of entropy check. } /** @@ -451,7 +454,22 @@ message EntropyRequest { * @next Success */ message EntropyAck { - required bytes entropy = 1; // 256 bits (32 bytes) of random data + required bytes entropy = 1; // 256 bits (32 bytes) of the host's random data +} + +/** + * Request: Ask Trezor to reveal its internal entropy. + * @next EntropyAck + */ +message ResetDeviceContinue { +} + +/** + * Request: Last step in the entropy check protocol. Stores the generated seed. + * @start + * @next Success + */ +message ResetDeviceFinish { } /** diff --git a/common/protob/messages.proto b/common/protob/messages.proto index c6ec31dc63..a1ccd4d9de 100644 --- a/common/protob/messages.proto +++ b/common/protob/messages.proto @@ -45,6 +45,8 @@ enum MessageType { MessageType_BackupDevice = 34 [(bitcoin_only) = true, (wire_in) = true]; MessageType_EntropyRequest = 35 [(bitcoin_only) = true, (wire_out) = true]; MessageType_EntropyAck = 36 [(bitcoin_only) = true, (wire_in) = true]; + MessageType_ResetDeviceContinue = 994 [(bitcoin_only) = true, (wire_in) = true]; + MessageType_ResetDeviceFinish = 995 [(bitcoin_only) = true, (wire_in) = true]; MessageType_PassphraseRequest = 41 [(bitcoin_only) = true, (wire_out) = true]; MessageType_PassphraseAck = 42 [(bitcoin_only) = true, (wire_in) = true, (wire_tiny) = true, (wire_no_fsm) = true]; MessageType_RecoveryDevice = 45 [(bitcoin_only) = true, (wire_in) = true]; diff --git a/core/src/trezor/enums/MessageType.py b/core/src/trezor/enums/MessageType.py index ae32cd7f69..04c9eecab8 100644 --- a/core/src/trezor/enums/MessageType.py +++ b/core/src/trezor/enums/MessageType.py @@ -29,6 +29,8 @@ Nonce = 33 BackupDevice = 34 EntropyRequest = 35 EntropyAck = 36 +ResetDeviceContinue = 994 +ResetDeviceFinish = 995 PassphraseRequest = 41 PassphraseAck = 42 RecoveryDevice = 45 diff --git a/core/src/trezor/enums/__init__.py b/core/src/trezor/enums/__init__.py index 9d9fef3275..596d669223 100644 --- a/core/src/trezor/enums/__init__.py +++ b/core/src/trezor/enums/__init__.py @@ -373,6 +373,8 @@ if TYPE_CHECKING: BackupDevice = 34 EntropyRequest = 35 EntropyAck = 36 + ResetDeviceContinue = 994 + ResetDeviceFinish = 995 PassphraseRequest = 41 PassphraseAck = 42 RecoveryDevice = 45 diff --git a/core/src/trezor/messages.py b/core/src/trezor/messages.py index f60dd15304..e90e05e3c0 100644 --- a/core/src/trezor/messages.py +++ b/core/src/trezor/messages.py @@ -2535,6 +2535,7 @@ if TYPE_CHECKING: skip_backup: "bool | None" no_backup: "bool | None" backup_type: "BackupType" + entropy_check: "bool | None" def __init__( self, @@ -2547,6 +2548,7 @@ if TYPE_CHECKING: skip_backup: "bool | None" = None, no_backup: "bool | None" = None, backup_type: "BackupType | None" = None, + entropy_check: "bool | None" = None, ) -> None: pass @@ -2571,6 +2573,16 @@ if TYPE_CHECKING: return isinstance(msg, cls) class EntropyRequest(protobuf.MessageType): + entropy_commitment: "bytes | None" + prev_entropy: "bytes | None" + + def __init__( + self, + *, + entropy_commitment: "bytes | None" = None, + prev_entropy: "bytes | None" = None, + ) -> None: + pass @classmethod def is_type_of(cls, msg: Any) -> TypeGuard["EntropyRequest"]: @@ -2590,6 +2602,18 @@ if TYPE_CHECKING: def is_type_of(cls, msg: Any) -> TypeGuard["EntropyAck"]: return isinstance(msg, cls) + class ResetDeviceContinue(protobuf.MessageType): + + @classmethod + def is_type_of(cls, msg: Any) -> TypeGuard["ResetDeviceContinue"]: + return isinstance(msg, cls) + + class ResetDeviceFinish(protobuf.MessageType): + + @classmethod + def is_type_of(cls, msg: Any) -> TypeGuard["ResetDeviceFinish"]: + return isinstance(msg, cls) + class RecoveryDevice(protobuf.MessageType): word_count: "int | None" passphrase_protection: "bool | None" diff --git a/legacy/firmware/protob/Makefile b/legacy/firmware/protob/Makefile index b6782666b0..19de54895f 100644 --- a/legacy/firmware/protob/Makefile +++ b/legacy/firmware/protob/Makefile @@ -11,7 +11,7 @@ SKIPPED_MESSAGES := Binance Cardano DebugMonero Eos Monero Ontology Ripple SdPro UnlockBootloader AuthenticateDevice AuthenticityProof \ Solana StellarClaimClaimableBalanceOp \ ChangeLanguage TranslationDataRequest TranslationDataAck \ - SetBrightness DebugLinkOptigaSetSecMax \ + SetBrightness DebugLinkOptigaSetSecMax ResetDeviceContinue GResetDeviceFinish \ BenchmarkListNames BenchmarkRun BenchmarkNames BenchmarkResult ifeq ($(BITCOIN_ONLY), 1) diff --git a/legacy/firmware/protob/messages-management.options b/legacy/firmware/protob/messages-management.options index cb1000258a..e9a2aa0954 100644 --- a/legacy/firmware/protob/messages-management.options +++ b/legacy/firmware/protob/messages-management.options @@ -30,6 +30,9 @@ BackupDevice.groups type:FT_IGNORE Entropy.entropy max_size:1024 +EntropyRequest.entropy_commitment type:FT_IGNORE +EntropyRequest.prev_entropy type:FT_IGNORE + EntropyAck.entropy max_size:128 RecoveryDevice.language max_size:17 diff --git a/python/src/trezorlib/messages.py b/python/src/trezorlib/messages.py index b52119311f..4ac889ba40 100644 --- a/python/src/trezorlib/messages.py +++ b/python/src/trezorlib/messages.py @@ -426,6 +426,8 @@ class MessageType(IntEnum): BackupDevice = 34 EntropyRequest = 35 EntropyAck = 36 + ResetDeviceContinue = 994 + ResetDeviceFinish = 995 PassphraseRequest = 41 PassphraseAck = 42 RecoveryDevice = 45 @@ -3735,6 +3737,7 @@ class ResetDevice(protobuf.MessageType): 8: protobuf.Field("skip_backup", "bool", repeated=False, required=False, default=None), 9: protobuf.Field("no_backup", "bool", repeated=False, required=False, default=None), 10: protobuf.Field("backup_type", "BackupType", repeated=False, required=False, default=BackupType.Bip39), + 11: protobuf.Field("entropy_check", "bool", repeated=False, required=False, default=None), } def __init__( @@ -3749,6 +3752,7 @@ class ResetDevice(protobuf.MessageType): skip_backup: Optional["bool"] = None, no_backup: Optional["bool"] = None, backup_type: Optional["BackupType"] = BackupType.Bip39, + entropy_check: Optional["bool"] = None, ) -> None: self.strength = strength self.passphrase_protection = passphrase_protection @@ -3759,6 +3763,7 @@ class ResetDevice(protobuf.MessageType): self.skip_backup = skip_backup self.no_backup = no_backup self.backup_type = backup_type + self.entropy_check = entropy_check class BackupDevice(protobuf.MessageType): @@ -3780,6 +3785,19 @@ class BackupDevice(protobuf.MessageType): class EntropyRequest(protobuf.MessageType): MESSAGE_WIRE_TYPE = 35 + FIELDS = { + 1: protobuf.Field("entropy_commitment", "bytes", repeated=False, required=False, default=None), + 2: protobuf.Field("prev_entropy", "bytes", repeated=False, required=False, default=None), + } + + def __init__( + self, + *, + entropy_commitment: Optional["bytes"] = None, + prev_entropy: Optional["bytes"] = None, + ) -> None: + self.entropy_commitment = entropy_commitment + self.prev_entropy = prev_entropy class EntropyAck(protobuf.MessageType): @@ -3796,6 +3814,14 @@ class EntropyAck(protobuf.MessageType): self.entropy = entropy +class ResetDeviceContinue(protobuf.MessageType): + MESSAGE_WIRE_TYPE = 994 + + +class ResetDeviceFinish(protobuf.MessageType): + MESSAGE_WIRE_TYPE = 995 + + class RecoveryDevice(protobuf.MessageType): MESSAGE_WIRE_TYPE = 45 FIELDS = { diff --git a/rust/trezor-client/src/messages/generated.rs b/rust/trezor-client/src/messages/generated.rs index 83a0c4b0b7..abbe1e82b4 100644 --- a/rust/trezor-client/src/messages/generated.rs +++ b/rust/trezor-client/src/messages/generated.rs @@ -24,6 +24,8 @@ trezor_message_impl! { BackupDevice => MessageType_BackupDevice, EntropyRequest => MessageType_EntropyRequest, EntropyAck => MessageType_EntropyAck, + ResetDeviceContinue => MessageType_ResetDeviceContinue, + ResetDeviceFinish => MessageType_ResetDeviceFinish, PassphraseRequest => MessageType_PassphraseRequest, PassphraseAck => MessageType_PassphraseAck, RecoveryDevice => MessageType_RecoveryDevice, diff --git a/rust/trezor-client/src/protos/generated/messages.rs b/rust/trezor-client/src/protos/generated/messages.rs index c8f4341b8a..643b4a7763 100644 --- a/rust/trezor-client/src/protos/generated/messages.rs +++ b/rust/trezor-client/src/protos/generated/messages.rs @@ -78,6 +78,10 @@ pub enum MessageType { 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_ResetDeviceContinue) + MessageType_ResetDeviceContinue = 994, + // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ResetDeviceFinish) + MessageType_ResetDeviceFinish = 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) @@ -554,6 +558,8 @@ impl ::protobuf::Enum for MessageType { 34 => ::std::option::Option::Some(MessageType::MessageType_BackupDevice), 35 => ::std::option::Option::Some(MessageType::MessageType_EntropyRequest), 36 => ::std::option::Option::Some(MessageType::MessageType_EntropyAck), + 994 => ::std::option::Option::Some(MessageType::MessageType_ResetDeviceContinue), + 995 => ::std::option::Option::Some(MessageType::MessageType_ResetDeviceFinish), 41 => ::std::option::Option::Some(MessageType::MessageType_PassphraseRequest), 42 => ::std::option::Option::Some(MessageType::MessageType_PassphraseAck), 45 => ::std::option::Option::Some(MessageType::MessageType_RecoveryDevice), @@ -805,6 +811,8 @@ impl ::protobuf::Enum for MessageType { "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_ResetDeviceContinue" => ::std::option::Option::Some(MessageType::MessageType_ResetDeviceContinue), + "MessageType_ResetDeviceFinish" => ::std::option::Option::Some(MessageType::MessageType_ResetDeviceFinish), "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), @@ -1055,6 +1063,8 @@ impl ::protobuf::Enum for MessageType { MessageType::MessageType_BackupDevice, MessageType::MessageType_EntropyRequest, MessageType::MessageType_EntropyAck, + MessageType::MessageType_ResetDeviceContinue, + MessageType::MessageType_ResetDeviceFinish, MessageType::MessageType_PassphraseRequest, MessageType::MessageType_PassphraseAck, MessageType::MessageType_RecoveryDevice, @@ -1311,226 +1321,228 @@ impl ::protobuf::EnumFull for MessageType { MessageType::MessageType_BackupDevice => 22, MessageType::MessageType_EntropyRequest => 23, MessageType::MessageType_EntropyAck => 24, - MessageType::MessageType_PassphraseRequest => 25, - MessageType::MessageType_PassphraseAck => 26, - MessageType::MessageType_RecoveryDevice => 27, - MessageType::MessageType_WordRequest => 28, - MessageType::MessageType_WordAck => 29, - MessageType::MessageType_GetFeatures => 30, - MessageType::MessageType_SdProtect => 31, - MessageType::MessageType_ChangeWipeCode => 32, - MessageType::MessageType_EndSession => 33, - MessageType::MessageType_DoPreauthorized => 34, - MessageType::MessageType_PreauthorizedRequest => 35, - MessageType::MessageType_CancelAuthorization => 36, - MessageType::MessageType_RebootToBootloader => 37, - MessageType::MessageType_GetFirmwareHash => 38, - MessageType::MessageType_FirmwareHash => 39, - MessageType::MessageType_UnlockPath => 40, - MessageType::MessageType_UnlockedPathRequest => 41, - MessageType::MessageType_ShowDeviceTutorial => 42, - MessageType::MessageType_UnlockBootloader => 43, - MessageType::MessageType_AuthenticateDevice => 44, - MessageType::MessageType_AuthenticityProof => 45, - MessageType::MessageType_ChangeLanguage => 46, - MessageType::MessageType_TranslationDataRequest => 47, - MessageType::MessageType_TranslationDataAck => 48, - MessageType::MessageType_SetBrightness => 49, - MessageType::MessageType_SetU2FCounter => 50, - MessageType::MessageType_GetNextU2FCounter => 51, - MessageType::MessageType_NextU2FCounter => 52, - MessageType::MessageType_Deprecated_PassphraseStateRequest => 53, - MessageType::MessageType_Deprecated_PassphraseStateAck => 54, - MessageType::MessageType_FirmwareErase => 55, - MessageType::MessageType_FirmwareUpload => 56, - MessageType::MessageType_FirmwareRequest => 57, - MessageType::MessageType_ProdTestT1 => 58, - MessageType::MessageType_GetPublicKey => 59, - MessageType::MessageType_PublicKey => 60, - MessageType::MessageType_SignTx => 61, - MessageType::MessageType_TxRequest => 62, - MessageType::MessageType_TxAck => 63, - MessageType::MessageType_GetAddress => 64, - MessageType::MessageType_Address => 65, - MessageType::MessageType_TxAckPaymentRequest => 66, - MessageType::MessageType_SignMessage => 67, - MessageType::MessageType_VerifyMessage => 68, - MessageType::MessageType_MessageSignature => 69, - MessageType::MessageType_GetOwnershipId => 70, - MessageType::MessageType_OwnershipId => 71, - MessageType::MessageType_GetOwnershipProof => 72, - MessageType::MessageType_OwnershipProof => 73, - MessageType::MessageType_AuthorizeCoinJoin => 74, - MessageType::MessageType_CipherKeyValue => 75, - MessageType::MessageType_CipheredKeyValue => 76, - MessageType::MessageType_SignIdentity => 77, - MessageType::MessageType_SignedIdentity => 78, - MessageType::MessageType_GetECDHSessionKey => 79, - MessageType::MessageType_ECDHSessionKey => 80, - MessageType::MessageType_DebugLinkDecision => 81, - MessageType::MessageType_DebugLinkGetState => 82, - MessageType::MessageType_DebugLinkState => 83, - MessageType::MessageType_DebugLinkStop => 84, - MessageType::MessageType_DebugLinkLog => 85, - MessageType::MessageType_DebugLinkMemoryRead => 86, - MessageType::MessageType_DebugLinkMemory => 87, - MessageType::MessageType_DebugLinkMemoryWrite => 88, - MessageType::MessageType_DebugLinkFlashErase => 89, - MessageType::MessageType_DebugLinkLayout => 90, - MessageType::MessageType_DebugLinkReseedRandom => 91, - MessageType::MessageType_DebugLinkRecordScreen => 92, - MessageType::MessageType_DebugLinkEraseSdCard => 93, - MessageType::MessageType_DebugLinkWatchLayout => 94, - MessageType::MessageType_DebugLinkResetDebugEvents => 95, - MessageType::MessageType_DebugLinkOptigaSetSecMax => 96, - MessageType::MessageType_EthereumGetPublicKey => 97, - MessageType::MessageType_EthereumPublicKey => 98, - MessageType::MessageType_EthereumGetAddress => 99, - MessageType::MessageType_EthereumAddress => 100, - MessageType::MessageType_EthereumSignTx => 101, - MessageType::MessageType_EthereumSignTxEIP1559 => 102, - MessageType::MessageType_EthereumTxRequest => 103, - MessageType::MessageType_EthereumTxAck => 104, - MessageType::MessageType_EthereumSignMessage => 105, - MessageType::MessageType_EthereumVerifyMessage => 106, - MessageType::MessageType_EthereumMessageSignature => 107, - MessageType::MessageType_EthereumSignTypedData => 108, - MessageType::MessageType_EthereumTypedDataStructRequest => 109, - MessageType::MessageType_EthereumTypedDataStructAck => 110, - MessageType::MessageType_EthereumTypedDataValueRequest => 111, - MessageType::MessageType_EthereumTypedDataValueAck => 112, - MessageType::MessageType_EthereumTypedDataSignature => 113, - MessageType::MessageType_EthereumSignTypedHash => 114, - MessageType::MessageType_NEMGetAddress => 115, - MessageType::MessageType_NEMAddress => 116, - MessageType::MessageType_NEMSignTx => 117, - MessageType::MessageType_NEMSignedTx => 118, - MessageType::MessageType_NEMDecryptMessage => 119, - MessageType::MessageType_NEMDecryptedMessage => 120, - MessageType::MessageType_TezosGetAddress => 121, - MessageType::MessageType_TezosAddress => 122, - MessageType::MessageType_TezosSignTx => 123, - MessageType::MessageType_TezosSignedTx => 124, - MessageType::MessageType_TezosGetPublicKey => 125, - MessageType::MessageType_TezosPublicKey => 126, - MessageType::MessageType_StellarSignTx => 127, - MessageType::MessageType_StellarTxOpRequest => 128, - MessageType::MessageType_StellarGetAddress => 129, - MessageType::MessageType_StellarAddress => 130, - MessageType::MessageType_StellarCreateAccountOp => 131, - MessageType::MessageType_StellarPaymentOp => 132, - MessageType::MessageType_StellarPathPaymentStrictReceiveOp => 133, - MessageType::MessageType_StellarManageSellOfferOp => 134, - MessageType::MessageType_StellarCreatePassiveSellOfferOp => 135, - MessageType::MessageType_StellarSetOptionsOp => 136, - MessageType::MessageType_StellarChangeTrustOp => 137, - MessageType::MessageType_StellarAllowTrustOp => 138, - MessageType::MessageType_StellarAccountMergeOp => 139, - MessageType::MessageType_StellarManageDataOp => 140, - MessageType::MessageType_StellarBumpSequenceOp => 141, - MessageType::MessageType_StellarManageBuyOfferOp => 142, - MessageType::MessageType_StellarPathPaymentStrictSendOp => 143, - MessageType::MessageType_StellarClaimClaimableBalanceOp => 144, - MessageType::MessageType_StellarSignedTx => 145, - MessageType::MessageType_CardanoGetPublicKey => 146, - MessageType::MessageType_CardanoPublicKey => 147, - MessageType::MessageType_CardanoGetAddress => 148, - MessageType::MessageType_CardanoAddress => 149, - MessageType::MessageType_CardanoTxItemAck => 150, - MessageType::MessageType_CardanoTxAuxiliaryDataSupplement => 151, - MessageType::MessageType_CardanoTxWitnessRequest => 152, - MessageType::MessageType_CardanoTxWitnessResponse => 153, - MessageType::MessageType_CardanoTxHostAck => 154, - MessageType::MessageType_CardanoTxBodyHash => 155, - MessageType::MessageType_CardanoSignTxFinished => 156, - MessageType::MessageType_CardanoSignTxInit => 157, - MessageType::MessageType_CardanoTxInput => 158, - MessageType::MessageType_CardanoTxOutput => 159, - MessageType::MessageType_CardanoAssetGroup => 160, - MessageType::MessageType_CardanoToken => 161, - MessageType::MessageType_CardanoTxCertificate => 162, - MessageType::MessageType_CardanoTxWithdrawal => 163, - MessageType::MessageType_CardanoTxAuxiliaryData => 164, - MessageType::MessageType_CardanoPoolOwner => 165, - MessageType::MessageType_CardanoPoolRelayParameters => 166, - MessageType::MessageType_CardanoGetNativeScriptHash => 167, - MessageType::MessageType_CardanoNativeScriptHash => 168, - MessageType::MessageType_CardanoTxMint => 169, - MessageType::MessageType_CardanoTxCollateralInput => 170, - MessageType::MessageType_CardanoTxRequiredSigner => 171, - MessageType::MessageType_CardanoTxInlineDatumChunk => 172, - MessageType::MessageType_CardanoTxReferenceScriptChunk => 173, - MessageType::MessageType_CardanoTxReferenceInput => 174, - MessageType::MessageType_RippleGetAddress => 175, - MessageType::MessageType_RippleAddress => 176, - MessageType::MessageType_RippleSignTx => 177, - MessageType::MessageType_RippleSignedTx => 178, - MessageType::MessageType_MoneroTransactionInitRequest => 179, - MessageType::MessageType_MoneroTransactionInitAck => 180, - MessageType::MessageType_MoneroTransactionSetInputRequest => 181, - MessageType::MessageType_MoneroTransactionSetInputAck => 182, - MessageType::MessageType_MoneroTransactionInputViniRequest => 183, - MessageType::MessageType_MoneroTransactionInputViniAck => 184, - MessageType::MessageType_MoneroTransactionAllInputsSetRequest => 185, - MessageType::MessageType_MoneroTransactionAllInputsSetAck => 186, - MessageType::MessageType_MoneroTransactionSetOutputRequest => 187, - MessageType::MessageType_MoneroTransactionSetOutputAck => 188, - MessageType::MessageType_MoneroTransactionAllOutSetRequest => 189, - MessageType::MessageType_MoneroTransactionAllOutSetAck => 190, - MessageType::MessageType_MoneroTransactionSignInputRequest => 191, - MessageType::MessageType_MoneroTransactionSignInputAck => 192, - MessageType::MessageType_MoneroTransactionFinalRequest => 193, - MessageType::MessageType_MoneroTransactionFinalAck => 194, - MessageType::MessageType_MoneroKeyImageExportInitRequest => 195, - MessageType::MessageType_MoneroKeyImageExportInitAck => 196, - MessageType::MessageType_MoneroKeyImageSyncStepRequest => 197, - MessageType::MessageType_MoneroKeyImageSyncStepAck => 198, - MessageType::MessageType_MoneroKeyImageSyncFinalRequest => 199, - MessageType::MessageType_MoneroKeyImageSyncFinalAck => 200, - MessageType::MessageType_MoneroGetAddress => 201, - MessageType::MessageType_MoneroAddress => 202, - MessageType::MessageType_MoneroGetWatchKey => 203, - MessageType::MessageType_MoneroWatchKey => 204, - MessageType::MessageType_DebugMoneroDiagRequest => 205, - MessageType::MessageType_DebugMoneroDiagAck => 206, - MessageType::MessageType_MoneroGetTxKeyRequest => 207, - MessageType::MessageType_MoneroGetTxKeyAck => 208, - MessageType::MessageType_MoneroLiveRefreshStartRequest => 209, - MessageType::MessageType_MoneroLiveRefreshStartAck => 210, - MessageType::MessageType_MoneroLiveRefreshStepRequest => 211, - MessageType::MessageType_MoneroLiveRefreshStepAck => 212, - MessageType::MessageType_MoneroLiveRefreshFinalRequest => 213, - MessageType::MessageType_MoneroLiveRefreshFinalAck => 214, - MessageType::MessageType_EosGetPublicKey => 215, - MessageType::MessageType_EosPublicKey => 216, - MessageType::MessageType_EosSignTx => 217, - MessageType::MessageType_EosTxActionRequest => 218, - MessageType::MessageType_EosTxActionAck => 219, - MessageType::MessageType_EosSignedTx => 220, - MessageType::MessageType_BinanceGetAddress => 221, - MessageType::MessageType_BinanceAddress => 222, - MessageType::MessageType_BinanceGetPublicKey => 223, - MessageType::MessageType_BinancePublicKey => 224, - MessageType::MessageType_BinanceSignTx => 225, - MessageType::MessageType_BinanceTxRequest => 226, - MessageType::MessageType_BinanceTransferMsg => 227, - MessageType::MessageType_BinanceOrderMsg => 228, - MessageType::MessageType_BinanceCancelMsg => 229, - MessageType::MessageType_BinanceSignedTx => 230, - MessageType::MessageType_WebAuthnListResidentCredentials => 231, - MessageType::MessageType_WebAuthnCredentials => 232, - MessageType::MessageType_WebAuthnAddResidentCredential => 233, - MessageType::MessageType_WebAuthnRemoveResidentCredential => 234, - MessageType::MessageType_SolanaGetPublicKey => 235, - MessageType::MessageType_SolanaPublicKey => 236, - MessageType::MessageType_SolanaGetAddress => 237, - MessageType::MessageType_SolanaAddress => 238, - MessageType::MessageType_SolanaSignTx => 239, - MessageType::MessageType_SolanaTxSignature => 240, - MessageType::MessageType_BenchmarkListNames => 241, - MessageType::MessageType_BenchmarkNames => 242, - MessageType::MessageType_BenchmarkRun => 243, - MessageType::MessageType_BenchmarkResult => 244, + MessageType::MessageType_ResetDeviceContinue => 25, + MessageType::MessageType_ResetDeviceFinish => 26, + MessageType::MessageType_PassphraseRequest => 27, + MessageType::MessageType_PassphraseAck => 28, + MessageType::MessageType_RecoveryDevice => 29, + MessageType::MessageType_WordRequest => 30, + MessageType::MessageType_WordAck => 31, + MessageType::MessageType_GetFeatures => 32, + MessageType::MessageType_SdProtect => 33, + MessageType::MessageType_ChangeWipeCode => 34, + MessageType::MessageType_EndSession => 35, + MessageType::MessageType_DoPreauthorized => 36, + MessageType::MessageType_PreauthorizedRequest => 37, + MessageType::MessageType_CancelAuthorization => 38, + MessageType::MessageType_RebootToBootloader => 39, + MessageType::MessageType_GetFirmwareHash => 40, + MessageType::MessageType_FirmwareHash => 41, + MessageType::MessageType_UnlockPath => 42, + MessageType::MessageType_UnlockedPathRequest => 43, + MessageType::MessageType_ShowDeviceTutorial => 44, + MessageType::MessageType_UnlockBootloader => 45, + MessageType::MessageType_AuthenticateDevice => 46, + MessageType::MessageType_AuthenticityProof => 47, + MessageType::MessageType_ChangeLanguage => 48, + MessageType::MessageType_TranslationDataRequest => 49, + MessageType::MessageType_TranslationDataAck => 50, + MessageType::MessageType_SetBrightness => 51, + MessageType::MessageType_SetU2FCounter => 52, + MessageType::MessageType_GetNextU2FCounter => 53, + MessageType::MessageType_NextU2FCounter => 54, + MessageType::MessageType_Deprecated_PassphraseStateRequest => 55, + MessageType::MessageType_Deprecated_PassphraseStateAck => 56, + MessageType::MessageType_FirmwareErase => 57, + MessageType::MessageType_FirmwareUpload => 58, + MessageType::MessageType_FirmwareRequest => 59, + MessageType::MessageType_ProdTestT1 => 60, + MessageType::MessageType_GetPublicKey => 61, + MessageType::MessageType_PublicKey => 62, + MessageType::MessageType_SignTx => 63, + MessageType::MessageType_TxRequest => 64, + MessageType::MessageType_TxAck => 65, + MessageType::MessageType_GetAddress => 66, + MessageType::MessageType_Address => 67, + MessageType::MessageType_TxAckPaymentRequest => 68, + MessageType::MessageType_SignMessage => 69, + MessageType::MessageType_VerifyMessage => 70, + MessageType::MessageType_MessageSignature => 71, + MessageType::MessageType_GetOwnershipId => 72, + MessageType::MessageType_OwnershipId => 73, + MessageType::MessageType_GetOwnershipProof => 74, + MessageType::MessageType_OwnershipProof => 75, + MessageType::MessageType_AuthorizeCoinJoin => 76, + MessageType::MessageType_CipherKeyValue => 77, + MessageType::MessageType_CipheredKeyValue => 78, + MessageType::MessageType_SignIdentity => 79, + MessageType::MessageType_SignedIdentity => 80, + MessageType::MessageType_GetECDHSessionKey => 81, + MessageType::MessageType_ECDHSessionKey => 82, + MessageType::MessageType_DebugLinkDecision => 83, + MessageType::MessageType_DebugLinkGetState => 84, + MessageType::MessageType_DebugLinkState => 85, + MessageType::MessageType_DebugLinkStop => 86, + MessageType::MessageType_DebugLinkLog => 87, + MessageType::MessageType_DebugLinkMemoryRead => 88, + MessageType::MessageType_DebugLinkMemory => 89, + MessageType::MessageType_DebugLinkMemoryWrite => 90, + MessageType::MessageType_DebugLinkFlashErase => 91, + MessageType::MessageType_DebugLinkLayout => 92, + MessageType::MessageType_DebugLinkReseedRandom => 93, + MessageType::MessageType_DebugLinkRecordScreen => 94, + MessageType::MessageType_DebugLinkEraseSdCard => 95, + MessageType::MessageType_DebugLinkWatchLayout => 96, + MessageType::MessageType_DebugLinkResetDebugEvents => 97, + MessageType::MessageType_DebugLinkOptigaSetSecMax => 98, + MessageType::MessageType_EthereumGetPublicKey => 99, + MessageType::MessageType_EthereumPublicKey => 100, + MessageType::MessageType_EthereumGetAddress => 101, + MessageType::MessageType_EthereumAddress => 102, + MessageType::MessageType_EthereumSignTx => 103, + MessageType::MessageType_EthereumSignTxEIP1559 => 104, + MessageType::MessageType_EthereumTxRequest => 105, + MessageType::MessageType_EthereumTxAck => 106, + MessageType::MessageType_EthereumSignMessage => 107, + MessageType::MessageType_EthereumVerifyMessage => 108, + MessageType::MessageType_EthereumMessageSignature => 109, + MessageType::MessageType_EthereumSignTypedData => 110, + MessageType::MessageType_EthereumTypedDataStructRequest => 111, + MessageType::MessageType_EthereumTypedDataStructAck => 112, + MessageType::MessageType_EthereumTypedDataValueRequest => 113, + MessageType::MessageType_EthereumTypedDataValueAck => 114, + MessageType::MessageType_EthereumTypedDataSignature => 115, + MessageType::MessageType_EthereumSignTypedHash => 116, + MessageType::MessageType_NEMGetAddress => 117, + MessageType::MessageType_NEMAddress => 118, + MessageType::MessageType_NEMSignTx => 119, + MessageType::MessageType_NEMSignedTx => 120, + MessageType::MessageType_NEMDecryptMessage => 121, + MessageType::MessageType_NEMDecryptedMessage => 122, + MessageType::MessageType_TezosGetAddress => 123, + MessageType::MessageType_TezosAddress => 124, + MessageType::MessageType_TezosSignTx => 125, + MessageType::MessageType_TezosSignedTx => 126, + MessageType::MessageType_TezosGetPublicKey => 127, + MessageType::MessageType_TezosPublicKey => 128, + MessageType::MessageType_StellarSignTx => 129, + MessageType::MessageType_StellarTxOpRequest => 130, + MessageType::MessageType_StellarGetAddress => 131, + MessageType::MessageType_StellarAddress => 132, + MessageType::MessageType_StellarCreateAccountOp => 133, + MessageType::MessageType_StellarPaymentOp => 134, + MessageType::MessageType_StellarPathPaymentStrictReceiveOp => 135, + MessageType::MessageType_StellarManageSellOfferOp => 136, + MessageType::MessageType_StellarCreatePassiveSellOfferOp => 137, + MessageType::MessageType_StellarSetOptionsOp => 138, + MessageType::MessageType_StellarChangeTrustOp => 139, + MessageType::MessageType_StellarAllowTrustOp => 140, + MessageType::MessageType_StellarAccountMergeOp => 141, + MessageType::MessageType_StellarManageDataOp => 142, + MessageType::MessageType_StellarBumpSequenceOp => 143, + MessageType::MessageType_StellarManageBuyOfferOp => 144, + MessageType::MessageType_StellarPathPaymentStrictSendOp => 145, + MessageType::MessageType_StellarClaimClaimableBalanceOp => 146, + MessageType::MessageType_StellarSignedTx => 147, + MessageType::MessageType_CardanoGetPublicKey => 148, + MessageType::MessageType_CardanoPublicKey => 149, + MessageType::MessageType_CardanoGetAddress => 150, + MessageType::MessageType_CardanoAddress => 151, + MessageType::MessageType_CardanoTxItemAck => 152, + MessageType::MessageType_CardanoTxAuxiliaryDataSupplement => 153, + MessageType::MessageType_CardanoTxWitnessRequest => 154, + MessageType::MessageType_CardanoTxWitnessResponse => 155, + MessageType::MessageType_CardanoTxHostAck => 156, + MessageType::MessageType_CardanoTxBodyHash => 157, + MessageType::MessageType_CardanoSignTxFinished => 158, + MessageType::MessageType_CardanoSignTxInit => 159, + MessageType::MessageType_CardanoTxInput => 160, + MessageType::MessageType_CardanoTxOutput => 161, + MessageType::MessageType_CardanoAssetGroup => 162, + MessageType::MessageType_CardanoToken => 163, + MessageType::MessageType_CardanoTxCertificate => 164, + MessageType::MessageType_CardanoTxWithdrawal => 165, + MessageType::MessageType_CardanoTxAuxiliaryData => 166, + MessageType::MessageType_CardanoPoolOwner => 167, + MessageType::MessageType_CardanoPoolRelayParameters => 168, + MessageType::MessageType_CardanoGetNativeScriptHash => 169, + MessageType::MessageType_CardanoNativeScriptHash => 170, + MessageType::MessageType_CardanoTxMint => 171, + MessageType::MessageType_CardanoTxCollateralInput => 172, + MessageType::MessageType_CardanoTxRequiredSigner => 173, + MessageType::MessageType_CardanoTxInlineDatumChunk => 174, + MessageType::MessageType_CardanoTxReferenceScriptChunk => 175, + MessageType::MessageType_CardanoTxReferenceInput => 176, + MessageType::MessageType_RippleGetAddress => 177, + MessageType::MessageType_RippleAddress => 178, + MessageType::MessageType_RippleSignTx => 179, + MessageType::MessageType_RippleSignedTx => 180, + MessageType::MessageType_MoneroTransactionInitRequest => 181, + MessageType::MessageType_MoneroTransactionInitAck => 182, + MessageType::MessageType_MoneroTransactionSetInputRequest => 183, + MessageType::MessageType_MoneroTransactionSetInputAck => 184, + MessageType::MessageType_MoneroTransactionInputViniRequest => 185, + MessageType::MessageType_MoneroTransactionInputViniAck => 186, + MessageType::MessageType_MoneroTransactionAllInputsSetRequest => 187, + MessageType::MessageType_MoneroTransactionAllInputsSetAck => 188, + MessageType::MessageType_MoneroTransactionSetOutputRequest => 189, + MessageType::MessageType_MoneroTransactionSetOutputAck => 190, + MessageType::MessageType_MoneroTransactionAllOutSetRequest => 191, + MessageType::MessageType_MoneroTransactionAllOutSetAck => 192, + MessageType::MessageType_MoneroTransactionSignInputRequest => 193, + MessageType::MessageType_MoneroTransactionSignInputAck => 194, + MessageType::MessageType_MoneroTransactionFinalRequest => 195, + MessageType::MessageType_MoneroTransactionFinalAck => 196, + MessageType::MessageType_MoneroKeyImageExportInitRequest => 197, + MessageType::MessageType_MoneroKeyImageExportInitAck => 198, + MessageType::MessageType_MoneroKeyImageSyncStepRequest => 199, + MessageType::MessageType_MoneroKeyImageSyncStepAck => 200, + MessageType::MessageType_MoneroKeyImageSyncFinalRequest => 201, + MessageType::MessageType_MoneroKeyImageSyncFinalAck => 202, + MessageType::MessageType_MoneroGetAddress => 203, + MessageType::MessageType_MoneroAddress => 204, + MessageType::MessageType_MoneroGetWatchKey => 205, + MessageType::MessageType_MoneroWatchKey => 206, + MessageType::MessageType_DebugMoneroDiagRequest => 207, + MessageType::MessageType_DebugMoneroDiagAck => 208, + MessageType::MessageType_MoneroGetTxKeyRequest => 209, + MessageType::MessageType_MoneroGetTxKeyAck => 210, + MessageType::MessageType_MoneroLiveRefreshStartRequest => 211, + MessageType::MessageType_MoneroLiveRefreshStartAck => 212, + MessageType::MessageType_MoneroLiveRefreshStepRequest => 213, + MessageType::MessageType_MoneroLiveRefreshStepAck => 214, + MessageType::MessageType_MoneroLiveRefreshFinalRequest => 215, + MessageType::MessageType_MoneroLiveRefreshFinalAck => 216, + MessageType::MessageType_EosGetPublicKey => 217, + MessageType::MessageType_EosPublicKey => 218, + MessageType::MessageType_EosSignTx => 219, + MessageType::MessageType_EosTxActionRequest => 220, + MessageType::MessageType_EosTxActionAck => 221, + MessageType::MessageType_EosSignedTx => 222, + MessageType::MessageType_BinanceGetAddress => 223, + MessageType::MessageType_BinanceAddress => 224, + MessageType::MessageType_BinanceGetPublicKey => 225, + MessageType::MessageType_BinancePublicKey => 226, + MessageType::MessageType_BinanceSignTx => 227, + MessageType::MessageType_BinanceTxRequest => 228, + MessageType::MessageType_BinanceTransferMsg => 229, + MessageType::MessageType_BinanceOrderMsg => 230, + MessageType::MessageType_BinanceCancelMsg => 231, + MessageType::MessageType_BinanceSignedTx => 232, + MessageType::MessageType_WebAuthnListResidentCredentials => 233, + MessageType::MessageType_WebAuthnCredentials => 234, + MessageType::MessageType_WebAuthnAddResidentCredential => 235, + MessageType::MessageType_WebAuthnRemoveResidentCredential => 236, + MessageType::MessageType_SolanaGetPublicKey => 237, + MessageType::MessageType_SolanaPublicKey => 238, + MessageType::MessageType_SolanaGetAddress => 239, + MessageType::MessageType_SolanaAddress => 240, + MessageType::MessageType_SolanaSignTx => 241, + MessageType::MessageType_SolanaTxSignature => 242, + MessageType::MessageType_BenchmarkListNames => 243, + MessageType::MessageType_BenchmarkNames => 244, + MessageType::MessageType_BenchmarkRun => 245, + MessageType::MessageType_BenchmarkResult => 246, }; Self::enum_descriptor().value_by_index(index) } @@ -1549,7 +1561,7 @@ impl MessageType { } static file_descriptor_proto_data: &'static [u8] = b"\ - \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\roptions.proto*\x89U\ + \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\roptions.proto*\xe7U\ \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\ @@ -1580,258 +1592,261 @@ static file_descriptor_proto_data: &'static [u8] = b"\ 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\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_Chan\ - geWipeCode\x10R\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16Messag\ - eType_EndSession\x10S\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12)\n\x1b\ - MessageType_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_RebootToBootloade\ - r\x10W\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12)\n\x1bMessageType_Get\ - FirmwareHash\x10X\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12&\n\x18Mess\ - ageType_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\x121\n\"MessageType_TranslationDataRequest\x10\xdf\ - \x07\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12-\n\x1eMessageType_Trans\ - lationDataAck\x10\xe0\x07\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\ - \x19MessageType_SetBrightness\x10\xe1\x07\x1a\x08\x80\xa6\x1d\x01\x90\ - \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_PassphraseStateRequest\x10M\x1a\x02\ - \x08\x01\x121\n)MessageType_Deprecated_PassphraseStateAck\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\x1aMessageType_FirmwareUploa\ - d\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_ProdTestT1\x10\x20\x1a\ - \x0c\xb8\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12&\n\x18MessageTy\ - pe_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\x11MessageType_TxAck\x10\x16\x1a\x08\x80\ - \xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_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\x1fMessageType_T\ - xAckPaymentRequest\x10%\x1a\x04\x90\xb5\x18\x01\x12%\n\x17MessageType_Si\ - gnMessage\x10&\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12'\n\x19Message\ - Type_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_OwnershipId\x10,\x1a\x08\x80\ - \xa6\x1d\x01\x98\xb5\x18\x01\x12+\n\x1dMessageType_GetOwnershipProof\x10\ - 1\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMessageType_Ownershi\ - pProof\x102\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12+\n\x1dMessageTyp\ - e_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_CipheredKeyValue\x100\x1a\x08\x80\xa6\x1d\ - \x01\x98\xb5\x18\x01\x12&\n\x18MessageType_SignIdentity\x105\x1a\x08\x80\ - \xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMessageType_SignedIdentity\x106\ - \x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12+\n\x1dMessageType_GetECDHSe\ - ssionKey\x10=\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMessageT\ - ype_ECDHSessionKey\x10>\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x123\n\ - \x1dMessageType_DebugLinkDecision\x10d\x1a\x10\xc0\xb5\x18\x01\xb0\xb5\ - \x18\x01\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12/\n\x1dMessageType_DebugLink\ - GetState\x10e\x1a\x0c\x80\xa6\x1d\x01\xb0\xb5\x18\x01\xa0\xb5\x18\x01\ - \x12(\n\x1aMessageType_DebugLinkState\x10f\x1a\x08\x80\xa6\x1d\x01\xa8\ - \xb5\x18\x01\x12'\n\x19MessageType_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_DebugLinkMemoryRe\ - ad\x10n\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12)\n\x1bMessageType_De\ - bugLinkMemory\x10o\x1a\x08\x80\xa6\x1d\x01\xa8\xb5\x18\x01\x12.\n\x20Mes\ - sageType_DebugLinkMemoryWrite\x10p\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\ - \x01\x12-\n\x1fMessageType_DebugLinkFlashErase\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_DebugLinkReseedR\ - andom\x10\xaaF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x120\n!MessageTyp\ - e_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_DebugLinkRes\ - etDebugEvents\x10\xafF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x123\n$Me\ - ssageType_DebugLinkOptigaSetSecMax\x10\xb0F\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_EthereumGetAddress\x108\ - \x1a\x04\x90\xb5\x18\x01\x12%\n\x1bMessageType_EthereumAddress\x109\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\ - \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_RippleSignedTx\x10\x93\x03\x1a\x04\x90\xb5\x18\x01\x12\ - 3\n(MessageType_MoneroTransactionInitRequest\x10\xf5\x03\x1a\x04\x98\xb5\ - \x18\x01\x12/\n$MessageType_MoneroTransactionInitAck\x10\xf6\x03\x1a\x04\ - \x98\xb5\x18\x01\x127\n,MessageType_MoneroTransactionSetInputRequest\x10\ - \xf7\x03\x1a\x04\x98\xb5\x18\x01\x123\n(MessageType_MoneroTransactionSet\ - InputAck\x10\xf8\x03\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTr\ - ansactionInputViniRequest\x10\xfb\x03\x1a\x04\x98\xb5\x18\x01\x124\n)Mes\ - sageType_MoneroTransactionInputViniAck\x10\xfc\x03\x1a\x04\x98\xb5\x18\ - \x01\x12;\n0MessageType_MoneroTransactionAllInputsSetRequest\x10\xfd\x03\ - \x1a\x04\x98\xb5\x18\x01\x127\n,MessageType_MoneroTransactionAllInputsSe\ - tAck\x10\xfe\x03\x1a\x04\x98\xb5\x18\x01\x128\n-MessageType_MoneroTransa\ - ctionSetOutputRequest\x10\xff\x03\x1a\x04\x98\xb5\x18\x01\x124\n)Message\ - Type_MoneroTransactionSetOutputAck\x10\x80\x04\x1a\x04\x98\xb5\x18\x01\ - \x128\n-MessageType_MoneroTransactionAllOutSetRequest\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_MoneroTransactio\ - nSignInputRequest\x10\x83\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType\ - _MoneroTransactionSignInputAck\x10\x84\x04\x1a\x04\x98\xb5\x18\x01\x124\ - \n)MessageType_MoneroTransactionFinalRequest\x10\x85\x04\x1a\x04\x98\xb5\ - \x18\x01\x120\n%MessageType_MoneroTransactionFinalAck\x10\x86\x04\x1a\ - \x04\x98\xb5\x18\x01\x126\n+MessageType_MoneroKeyImageExportInitRequest\ - \x10\x92\x04\x1a\x04\x98\xb5\x18\x01\x122\n'MessageType_MoneroKeyImageEx\ - portInitAck\x10\x93\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_Moner\ - oKeyImageSyncStepRequest\x10\x94\x04\x1a\x04\x98\xb5\x18\x01\x120\n%Mess\ - ageType_MoneroKeyImageSyncStepAck\x10\x95\x04\x1a\x04\x98\xb5\x18\x01\ - \x125\n*MessageType_MoneroKeyImageSyncFinalRequest\x10\x96\x04\x1a\x04\ - \x98\xb5\x18\x01\x121\n&MessageType_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_MoneroWatchKe\ - y\x10\x9f\x04\x1a\x04\x98\xb5\x18\x01\x12-\n\"MessageType_DebugMoneroDia\ - gRequest\x10\xa2\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_Debug\ - MoneroDiagAck\x10\xa3\x04\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_Mon\ - eroGetTxKeyRequest\x10\xa6\x04\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessage\ - Type_MoneroGetTxKeyAck\x10\xa7\x04\x1a\x04\x98\xb5\x18\x01\x124\n)Messag\ - eType_MoneroLiveRefreshStartRequest\x10\xa8\x04\x1a\x04\x90\xb5\x18\x01\ - \x120\n%MessageType_MoneroLiveRefreshStartAck\x10\xa9\x04\x1a\x04\x98\ - \xb5\x18\x01\x123\n(MessageType_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_MoneroLiveRefreshFin\ - alRequest\x10\xac\x04\x1a\x04\x90\xb5\x18\x01\x120\n%MessageType_MoneroL\ - iveRefreshFinalAck\x10\xad\x04\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessage\ - Type_EosGetPublicKey\x10\xd8\x04\x1a\x04\x90\xb5\x18\x01\x12#\n\x18Messa\ - geType_EosPublicKey\x10\xd9\x04\x1a\x04\x98\xb5\x18\x01\x12\x20\n\x15Mes\ - sageType_EosSignTx\x10\xda\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessage\ - Type_EosTxActionRequest\x10\xdb\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMe\ - ssageType_EosTxActionAck\x10\xdc\x04\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17\ - MessageType_EosSignedTx\x10\xdd\x04\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMe\ - ssageType_BinanceGetAddress\x10\xbc\x05\x1a\x04\x90\xb5\x18\x01\x12%\n\ - \x1aMessageType_BinanceAddress\x10\xbd\x05\x1a\x04\x98\xb5\x18\x01\x12*\ - \n\x1fMessageType_BinanceGetPublicKey\x10\xbe\x05\x1a\x04\x90\xb5\x18\ - \x01\x12'\n\x1cMessageType_BinancePublicKey\x10\xbf\x05\x1a\x04\x98\xb5\ - \x18\x01\x12$\n\x19MessageType_BinanceSignTx\x10\xc0\x05\x1a\x04\x90\xb5\ - \x18\x01\x12'\n\x1cMessageType_BinanceTxRequest\x10\xc1\x05\x1a\x04\x98\ - \xb5\x18\x01\x12)\n\x1eMessageType_BinanceTransferMsg\x10\xc2\x05\x1a\ - \x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceOrderMsg\x10\xc3\x05\ - \x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_BinanceCancelMsg\x10\xc4\ - \x05\x1a\x04\x90\xb5\x18\x01\x12&\n\x1bMessageType_BinanceSignedTx\x10\ - \xc5\x05\x1a\x04\x98\xb5\x18\x01\x126\n+MessageType_WebAuthnListResident\ - Credentials\x10\xa0\x06\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_We\ - bAuthnCredentials\x10\xa1\x06\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType\ - _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_SolanaTxSignature\x10\ - \x89\x07\x1a\x04\x98\xb5\x18\x01\x12)\n\x1eMessageType_BenchmarkListName\ - s\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\x04\xc8\xf3\x18\x01\"\x04\x08Z\x10\\\"\ - \x04\x08G\x10J\"\x04\x08r\x10z\"\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\xe8\x07\x10\xcb\x08B8\n#com.satoshilabs.trezor.lib.pr\ - otobufB\rTrezorMessage\x80\xa6\x1d\x01\ + \x01\x90\xb5\x18\x01\x12.\n\x1fMessageType_ResetDeviceContinue\x10\xe2\ + \x07\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12,\n\x1dMessageType_Reset\ + DeviceFinish\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\x1aMessageTy\ + pe_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_EndSession\x10S\ + \x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12)\n\x1bMessageType_DoPreauth\ + orized\x10T\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12.\n\x20MessageTyp\ + e_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_GetFirmwareHash\x10X\ + \x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12&\n\x18MessageType_FirmwareH\ + ash\x10Y\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12$\n\x16MessageType_U\ + nlockPath\x10]\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12-\n\x1fMessage\ + Type_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_AuthenticateDevice\ + \x10a\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12+\n\x1dMessageType_Auth\ + enticityProof\x10b\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12)\n\x1aMes\ + sageType_ChangeLanguage\x10\xde\x07\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\ + \x01\x121\n\"MessageType_TranslationDataRequest\x10\xdf\x07\x1a\x08\x80\ + \xa6\x1d\x01\x98\xb5\x18\x01\x12-\n\x1eMessageType_TranslationDataAck\ + \x10\xe0\x07\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x19MessageTy\ + pe_SetBrightness\x10\xe1\x07\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12\ + #\n\x19MessageType_SetU2FCounter\x10?\x1a\x04\x90\xb5\x18\x01\x12'\n\x1d\ + MessageType_GetNextU2FCounter\x10P\x1a\x04\x90\xb5\x18\x01\x12$\n\x1aMes\ + sageType_NextU2FCounter\x10Q\x1a\x04\x98\xb5\x18\x01\x125\n-MessageType_\ + Deprecated_PassphraseStateRequest\x10M\x1a\x02\x08\x01\x121\n)MessageTyp\ + e_Deprecated_PassphraseStateAck\x10N\x1a\x02\x08\x01\x12+\n\x19MessageTy\ + pe_FirmwareErase\x10\x06\x1a\x0c\xb8\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\ + \x18\x01\x12,\n\x1aMessageType_FirmwareUpload\x10\x07\x1a\x0c\xb8\xb5\ + \x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12-\n\x1bMessageType_FirmwareR\ + equest\x10\x08\x1a\x0c\xb8\xb5\x18\x01\x80\xa6\x1d\x01\x98\xb5\x18\x01\ + \x12(\n\x16MessageType_ProdTestT1\x10\x20\x1a\x0c\xb8\xb5\x18\x01\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\x12MessageTyp\ + e_SignTx\x10\x0f\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12#\n\x15Messa\ + geType_TxRequest\x10\x15\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12\x1f\ + \n\x11MessageType_TxAck\x10\x16\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\ + \x12$\n\x16MessageType_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\x1fMessageType_TxAckPaymentRequest\x10%\x1a\ + \x04\x90\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_MessageSi\ + gnature\x10(\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12(\n\x1aMessageTy\ + pe_GetOwnershipId\x10+\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12%\n\ + \x17MessageType_OwnershipId\x10,\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\ + \x12+\n\x1dMessageType_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\x10\ + 3\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMessageType_CipherKe\ + yValue\x10\x17\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12*\n\x1cMessage\ + Type_CipheredKeyValue\x100\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12&\ + \n\x18MessageType_SignIdentity\x105\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\ + \x01\x12(\n\x1aMessageType_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\x123\n\x1dMessageType_Debu\ + gLinkDecision\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\x1aMessageTy\ + pe_DebugLinkState\x10f\x1a\x08\x80\xa6\x1d\x01\xa8\xb5\x18\x01\x12'\n\ + \x19MessageType_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_DebugLink\ + MemoryWrite\x10p\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12-\n\x1fMessa\ + geType_DebugLinkFlashErase\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_DebugLinkRecordS\ + creen\x10\xabF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12/\n\x20Message\ + Type_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_Deb\ + ugLinkOptigaSetSecMax\x10\xb0F\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_EthereumGetAddress\x108\x1a\x04\x90\ + \xb5\x18\x01\x12%\n\x1bMessageType_EthereumAddress\x109\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_EthereumTypedDataStructRequest\ + \x10\xd1\x03\x1a\x04\x98\xb5\x18\x01\x121\n&MessageType_EthereumTypedDat\ + aStructAck\x10\xd2\x03\x1a\x04\x90\xb5\x18\x01\x124\n)MessageType_Ethere\ + umTypedDataValueRequest\x10\xd3\x03\x1a\x04\x98\xb5\x18\x01\x120\n%Messa\ + geType_EthereumTypedDataValueAck\x10\xd4\x03\x1a\x04\x90\xb5\x18\x01\x12\ + 1\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\x10C\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_StellarCreateAccountOp\x10\xd2\ + \x01\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_StellarPaymentOp\x10\ + \xd3\x01\x1a\x04\x90\xb5\x18\x01\x128\n-MessageType_StellarPathPaymentSt\ + rictReceiveOp\x10\xd4\x01\x1a\x04\x90\xb5\x18\x01\x12/\n$MessageType_Ste\ + llarManageSellOfferOp\x10\xd5\x01\x1a\x04\x90\xb5\x18\x01\x126\n+Message\ + Type_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_StellarAccountMergeOp\x10\ + \xda\x01\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_StellarManageData\ + Op\x10\xdc\x01\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_StellarBumpSeq\ + uenceOp\x10\xdd\x01\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_StellarMa\ + nageBuyOfferOp\x10\xde\x01\x1a\x04\x90\xb5\x18\x01\x125\n*MessageType_St\ + ellarPathPaymentStrictSendOp\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_CardanoGetAddress\x10\xb3\ + \x02\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_CardanoAddress\x10\ + \xb4\x02\x1a\x04\x98\xb5\x18\x01\x12'\n\x1cMessageType_CardanoTxItemAck\ + \x10\xb9\x02\x1a\x04\x98\xb5\x18\x01\x127\n,MessageType_CardanoTxAuxilia\ + ryDataSupplement\x10\xba\x02\x1a\x04\x98\xb5\x18\x01\x12.\n#MessageType_\ + CardanoTxWitnessRequest\x10\xbb\x02\x1a\x04\x90\xb5\x18\x01\x12/\n$Messa\ + geType_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_CardanoTxCertificate\ + \x10\xc5\x02\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_CardanoTxWith\ + drawal\x10\xc6\x02\x1a\x04\x90\xb5\x18\x01\x12-\n\"MessageType_CardanoTx\ + AuxiliaryData\x10\xc7\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_\ + CardanoPoolOwner\x10\xc8\x02\x1a\x04\x90\xb5\x18\x01\x121\n&MessageType_\ + CardanoPoolRelayParameters\x10\xc9\x02\x1a\x04\x90\xb5\x18\x01\x121\n&Me\ + ssageType_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_CardanoTxInlineDatumChunk\ + \x10\xcf\x02\x1a\x04\x90\xb5\x18\x01\x124\n)MessageType_CardanoTxReferen\ + ceScriptChunk\x10\xd0\x02\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageType_Car\ + danoTxReferenceInput\x10\xd1\x02\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessa\ + geType_RippleGetAddress\x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12$\n\x19Me\ + ssageType_RippleAddress\x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12#\n\x18Me\ + ssageType_RippleSignTx\x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMes\ + sageType_RippleSignedTx\x10\x93\x03\x1a\x04\x90\xb5\x18\x01\x123\n(Messa\ + geType_MoneroTransactionInitRequest\x10\xf5\x03\x1a\x04\x98\xb5\x18\x01\ + \x12/\n$MessageType_MoneroTransactionInitAck\x10\xf6\x03\x1a\x04\x98\xb5\ + \x18\x01\x127\n,MessageType_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_MoneroTransactio\ + nInputViniRequest\x10\xfb\x03\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType\ + _MoneroTransactionInputViniAck\x10\xfc\x03\x1a\x04\x98\xb5\x18\x01\x12;\ + \n0MessageType_MoneroTransactionAllInputsSetRequest\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_MoneroTransactionSet\ + OutputRequest\x10\xff\x03\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_Mon\ + eroTransactionSetOutputAck\x10\x80\x04\x1a\x04\x98\xb5\x18\x01\x128\n-Me\ + ssageType_MoneroTransactionAllOutSetRequest\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_MoneroTransactionSignInputRe\ + quest\x10\x83\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroTrans\ + actionSignInputAck\x10\x84\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageTyp\ + e_MoneroTransactionFinalRequest\x10\x85\x04\x1a\x04\x98\xb5\x18\x01\x120\ + \n%MessageType_MoneroTransactionFinalAck\x10\x86\x04\x1a\x04\x98\xb5\x18\ + \x01\x126\n+MessageType_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_MoneroKeyImageSyncSt\ + epRequest\x10\x94\x04\x1a\x04\x98\xb5\x18\x01\x120\n%MessageType_MoneroK\ + eyImageSyncStepAck\x10\x95\x04\x1a\x04\x98\xb5\x18\x01\x125\n*MessageTyp\ + e_MoneroKeyImageSyncFinalRequest\x10\x96\x04\x1a\x04\x98\xb5\x18\x01\x12\ + 1\n&MessageType_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_MoneroGetTxKeyRe\ + quest\x10\xa6\x04\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_MoneroGe\ + tTxKeyAck\x10\xa7\x04\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_MoneroL\ + iveRefreshStartRequest\x10\xa8\x04\x1a\x04\x90\xb5\x18\x01\x120\n%Messag\ + eType_MoneroLiveRefreshStartAck\x10\xa9\x04\x1a\x04\x98\xb5\x18\x01\x123\ + \n(MessageType_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_MoneroLiveRefreshFin\ + alAck\x10\xad\x04\x1a\x04\x98\xb5\x18\x01\x12&\n\x1bMessageType_EosGetPu\ + blicKey\x10\xd8\x04\x1a\x04\x90\xb5\x18\x01\x12#\n\x18MessageType_EosPub\ + licKey\x10\xd9\x04\x1a\x04\x98\xb5\x18\x01\x12\x20\n\x15MessageType_EosS\ + ignTx\x10\xda\x04\x1a\x04\x90\xb5\x18\x01\x12)\n\x1eMessageType_EosTxAct\ + ionRequest\x10\xdb\x04\x1a\x04\x98\xb5\x18\x01\x12%\n\x1aMessageType_Eos\ + TxActionAck\x10\xdc\x04\x1a\x04\x90\xb5\x18\x01\x12\"\n\x17MessageType_E\ + osSignedTx\x10\xdd\x04\x1a\x04\x98\xb5\x18\x01\x12(\n\x1dMessageType_Bin\ + anceGetAddress\x10\xbc\x05\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType\ + _BinanceAddress\x10\xbd\x05\x1a\x04\x98\xb5\x18\x01\x12*\n\x1fMessageTyp\ + e_BinanceGetPublicKey\x10\xbe\x05\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMess\ + ageType_BinancePublicKey\x10\xbf\x05\x1a\x04\x98\xb5\x18\x01\x12$\n\x19M\ + essageType_BinanceSignTx\x10\xc0\x05\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cM\ + essageType_BinanceTxRequest\x10\xc1\x05\x1a\x04\x98\xb5\x18\x01\x12)\n\ + \x1eMessageType_BinanceTransferMsg\x10\xc2\x05\x1a\x04\x90\xb5\x18\x01\ + \x12&\n\x1bMessageType_BinanceOrderMsg\x10\xc3\x05\x1a\x04\x90\xb5\x18\ + \x01\x12'\n\x1cMessageType_BinanceCancelMsg\x10\xc4\x05\x1a\x04\x90\xb5\ + \x18\x01\x12&\n\x1bMessageType_BinanceSignedTx\x10\xc5\x05\x1a\x04\x98\ + \xb5\x18\x01\x126\n+MessageType_WebAuthnListResidentCredentials\x10\xa0\ + \x06\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_WebAuthnCredentials\ + \x10\xa1\x06\x1a\x04\x98\xb5\x18\x01\x124\n)MessageType_WebAuthnAddResid\ + entCredential\x10\xa2\x06\x1a\x04\x90\xb5\x18\x01\x127\n,MessageType_Web\ + AuthnRemoveResidentCredential\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_SolanaTxSignature\x10\x89\x07\x1a\x04\x98\ + \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\x04\xc8\xf3\x18\x01\"\x04\x08Z\x10\\\"\x04\x08G\x10J\"\ + \x04\x08r\x10z\"\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\xe8\x07\x10\xcb\x08B8\n#com.satoshilabs.trezor.lib.protobufB\rTrezo\ + rMessage\x80\xa6\x1d\x01\ "; /// `FileDescriptorProto` object which was a source for this generated file diff --git a/rust/trezor-client/src/protos/generated/messages_management.rs b/rust/trezor-client/src/protos/generated/messages_management.rs index 565223412c..fdaba60e40 100644 --- a/rust/trezor-client/src/protos/generated/messages_management.rs +++ b/rust/trezor-client/src/protos/generated/messages_management.rs @@ -6866,6 +6866,8 @@ pub struct ResetDevice { pub no_backup: ::std::option::Option, // @@protoc_insertion_point(field:hw.trezor.messages.management.ResetDevice.backup_type) pub backup_type: ::std::option::Option<::protobuf::EnumOrUnknown>, + // @@protoc_insertion_point(field:hw.trezor.messages.management.ResetDevice.entropy_check) + pub entropy_check: ::std::option::Option, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.management.ResetDevice.special_fields) pub special_fields: ::protobuf::SpecialFields, @@ -7090,8 +7092,27 @@ impl ResetDevice { self.backup_type = ::std::option::Option::Some(::protobuf::EnumOrUnknown::new(v)); } + // optional bool entropy_check = 11; + + pub fn entropy_check(&self) -> bool { + self.entropy_check.unwrap_or(false) + } + + pub fn clear_entropy_check(&mut self) { + self.entropy_check = ::std::option::Option::None; + } + + pub fn has_entropy_check(&self) -> bool { + self.entropy_check.is_some() + } + + // Param is passed by value, moved + pub fn set_entropy_check(&mut self, v: bool) { + self.entropy_check = ::std::option::Option::Some(v); + } + fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { - let mut fields = ::std::vec::Vec::with_capacity(9); + let mut fields = ::std::vec::Vec::with_capacity(10); let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "strength", @@ -7138,6 +7159,11 @@ impl ResetDevice { |m: &ResetDevice| { &m.backup_type }, |m: &mut ResetDevice| { &mut m.backup_type }, )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "entropy_check", + |m: &ResetDevice| { &m.entropy_check }, + |m: &mut ResetDevice| { &mut m.entropy_check }, + )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "ResetDevice", fields, @@ -7183,6 +7209,9 @@ impl ::protobuf::Message for ResetDevice { 80 => { self.backup_type = ::std::option::Option::Some(is.read_enum_or_unknown()?); }, + 88 => { + self.entropy_check = ::std::option::Option::Some(is.read_bool()?); + }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, @@ -7222,6 +7251,9 @@ impl ::protobuf::Message for ResetDevice { if let Some(v) = self.backup_type { my_size += ::protobuf::rt::int32_size(10, v.value()); } + if let Some(v) = self.entropy_check { + 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 @@ -7255,6 +7287,9 @@ impl ::protobuf::Message for ResetDevice { if let Some(v) = self.backup_type { os.write_enum(10, ::protobuf::EnumOrUnknown::value(&v))?; } + if let Some(v) = self.entropy_check { + os.write_bool(11, v)?; + } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } @@ -7281,6 +7316,7 @@ impl ::protobuf::Message for ResetDevice { self.skip_backup = ::std::option::Option::None; self.no_backup = ::std::option::Option::None; self.backup_type = ::std::option::Option::None; + self.entropy_check = ::std::option::Option::None; self.special_fields.clear(); } @@ -7295,6 +7331,7 @@ impl ::protobuf::Message for ResetDevice { skip_backup: ::std::option::Option::None, no_backup: ::std::option::Option::None, backup_type: ::std::option::Option::None, + entropy_check: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance @@ -7673,6 +7710,11 @@ pub mod backup_device { // @@protoc_insertion_point(message:hw.trezor.messages.management.EntropyRequest) #[derive(PartialEq,Clone,Default,Debug)] pub struct EntropyRequest { + // message fields + // @@protoc_insertion_point(field:hw.trezor.messages.management.EntropyRequest.entropy_commitment) + pub entropy_commitment: ::std::option::Option<::std::vec::Vec>, + // @@protoc_insertion_point(field:hw.trezor.messages.management.EntropyRequest.prev_entropy) + pub prev_entropy: ::std::option::Option<::std::vec::Vec>, // special fields // @@protoc_insertion_point(special_field:hw.trezor.messages.management.EntropyRequest.special_fields) pub special_fields: ::protobuf::SpecialFields, @@ -7689,9 +7731,91 @@ impl EntropyRequest { ::std::default::Default::default() } + // optional bytes entropy_commitment = 1; + + pub fn entropy_commitment(&self) -> &[u8] { + match self.entropy_commitment.as_ref() { + Some(v) => v, + None => &[], + } + } + + pub fn clear_entropy_commitment(&mut self) { + self.entropy_commitment = ::std::option::Option::None; + } + + pub fn has_entropy_commitment(&self) -> bool { + self.entropy_commitment.is_some() + } + + // Param is passed by value, moved + pub fn set_entropy_commitment(&mut self, v: ::std::vec::Vec) { + self.entropy_commitment = ::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_entropy_commitment(&mut self) -> &mut ::std::vec::Vec { + if self.entropy_commitment.is_none() { + self.entropy_commitment = ::std::option::Option::Some(::std::vec::Vec::new()); + } + self.entropy_commitment.as_mut().unwrap() + } + + // Take field + pub fn take_entropy_commitment(&mut self) -> ::std::vec::Vec { + self.entropy_commitment.take().unwrap_or_else(|| ::std::vec::Vec::new()) + } + + // optional bytes prev_entropy = 2; + + pub fn prev_entropy(&self) -> &[u8] { + match self.prev_entropy.as_ref() { + Some(v) => v, + None => &[], + } + } + + pub fn clear_prev_entropy(&mut self) { + self.prev_entropy = ::std::option::Option::None; + } + + pub fn has_prev_entropy(&self) -> bool { + self.prev_entropy.is_some() + } + + // Param is passed by value, moved + pub fn set_prev_entropy(&mut self, v: ::std::vec::Vec) { + self.prev_entropy = ::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_prev_entropy(&mut self) -> &mut ::std::vec::Vec { + if self.prev_entropy.is_none() { + self.prev_entropy = ::std::option::Option::Some(::std::vec::Vec::new()); + } + self.prev_entropy.as_mut().unwrap() + } + + // Take field + pub fn take_prev_entropy(&mut self) -> ::std::vec::Vec { + self.prev_entropy.take().unwrap_or_else(|| ::std::vec::Vec::new()) + } + fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData { - let mut fields = ::std::vec::Vec::with_capacity(0); + 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::<_, _>( + "entropy_commitment", + |m: &EntropyRequest| { &m.entropy_commitment }, + |m: &mut EntropyRequest| { &mut m.entropy_commitment }, + )); + fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( + "prev_entropy", + |m: &EntropyRequest| { &m.prev_entropy }, + |m: &mut EntropyRequest| { &mut m.prev_entropy }, + )); ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( "EntropyRequest", fields, @@ -7710,6 +7834,12 @@ impl ::protobuf::Message for EntropyRequest { 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.entropy_commitment = ::std::option::Option::Some(is.read_bytes()?); + }, + 18 => { + self.prev_entropy = ::std::option::Option::Some(is.read_bytes()?); + }, tag => { ::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?; }, @@ -7722,12 +7852,24 @@ impl ::protobuf::Message for EntropyRequest { #[allow(unused_variables)] fn compute_size(&self) -> u64 { let mut my_size = 0; + if let Some(v) = self.entropy_commitment.as_ref() { + my_size += ::protobuf::rt::bytes_size(1, &v); + } + if let Some(v) = self.prev_entropy.as_ref() { + my_size += ::protobuf::rt::bytes_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.entropy_commitment.as_ref() { + os.write_bytes(1, v)?; + } + if let Some(v) = self.prev_entropy.as_ref() { + os.write_bytes(2, v)?; + } os.write_unknown_fields(self.special_fields.unknown_fields())?; ::std::result::Result::Ok(()) } @@ -7745,11 +7887,15 @@ impl ::protobuf::Message for EntropyRequest { } fn clear(&mut self) { + self.entropy_commitment = ::std::option::Option::None; + self.prev_entropy = ::std::option::Option::None; self.special_fields.clear(); } fn default_instance() -> &'static EntropyRequest { static instance: EntropyRequest = EntropyRequest { + entropy_commitment: ::std::option::Option::None, + prev_entropy: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; &instance @@ -7934,6 +8080,212 @@ impl ::protobuf::reflect::ProtobufValue for EntropyAck { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } +// @@protoc_insertion_point(message:hw.trezor.messages.management.ResetDeviceContinue) +#[derive(PartialEq,Clone,Default,Debug)] +pub struct ResetDeviceContinue { + // special fields + // @@protoc_insertion_point(special_field:hw.trezor.messages.management.ResetDeviceContinue.special_fields) + pub special_fields: ::protobuf::SpecialFields, +} + +impl<'a> ::std::default::Default for &'a ResetDeviceContinue { + fn default() -> &'a ResetDeviceContinue { + ::default_instance() + } +} + +impl ResetDeviceContinue { + pub fn new() -> ResetDeviceContinue { + ::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::( + "ResetDeviceContinue", + fields, + oneofs, + ) + } +} + +impl ::protobuf::Message for ResetDeviceContinue { + const NAME: &'static str = "ResetDeviceContinue"; + + 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() -> ResetDeviceContinue { + ResetDeviceContinue::new() + } + + fn clear(&mut self) { + self.special_fields.clear(); + } + + fn default_instance() -> &'static ResetDeviceContinue { + static instance: ResetDeviceContinue = ResetDeviceContinue { + special_fields: ::protobuf::SpecialFields::new(), + }; + &instance + } +} + +impl ::protobuf::MessageFull for ResetDeviceContinue { + 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("ResetDeviceContinue").unwrap()).clone() + } +} + +impl ::std::fmt::Display for ResetDeviceContinue { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for ResetDeviceContinue { + type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; +} + +// @@protoc_insertion_point(message:hw.trezor.messages.management.ResetDeviceFinish) +#[derive(PartialEq,Clone,Default,Debug)] +pub struct ResetDeviceFinish { + // special fields + // @@protoc_insertion_point(special_field:hw.trezor.messages.management.ResetDeviceFinish.special_fields) + pub special_fields: ::protobuf::SpecialFields, +} + +impl<'a> ::std::default::Default for &'a ResetDeviceFinish { + fn default() -> &'a ResetDeviceFinish { + ::default_instance() + } +} + +impl ResetDeviceFinish { + pub fn new() -> ResetDeviceFinish { + ::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::( + "ResetDeviceFinish", + fields, + oneofs, + ) + } +} + +impl ::protobuf::Message for ResetDeviceFinish { + const NAME: &'static str = "ResetDeviceFinish"; + + 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() -> ResetDeviceFinish { + ResetDeviceFinish::new() + } + + fn clear(&mut self) { + self.special_fields.clear(); + } + + fn default_instance() -> &'static ResetDeviceFinish { + static instance: ResetDeviceFinish = ResetDeviceFinish { + special_fields: ::protobuf::SpecialFields::new(), + }; + &instance + } +} + +impl ::protobuf::MessageFull for ResetDeviceFinish { + 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("ResetDeviceFinish").unwrap()).clone() + } +} + +impl ::std::fmt::Display for ResetDeviceFinish { + fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { + ::protobuf::text_format::fmt(self, f) + } +} + +impl ::protobuf::reflect::ProtobufValue for ResetDeviceFinish { + type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; +} + // @@protoc_insertion_point(message:hw.trezor.messages.management.RecoveryDevice) #[derive(PartialEq,Clone,Default,Debug)] pub struct RecoveryDevice { @@ -11285,7 +11637,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\ ecksum\x18\x07\x20\x01(\x08R\x0cskipChecksum\x12\x1f\n\x0bu2f_counter\ \x18\x08\x20\x01(\rR\nu2fCounter\x12!\n\x0cneeds_backup\x18\t\x20\x01(\ \x08R\x0bneedsBackup\x12\x1b\n\tno_backup\x18\n\x20\x01(\x08R\x08noBacku\ - p\"\xf8\x02\n\x0bResetDevice\x12\x1f\n\x08strength\x18\x02\x20\x01(\r:\ + p\"\x9d\x03\n\x0bResetDevice\x12\x1f\n\x08strength\x18\x02\x20\x01(\r:\ \x03256R\x08strength\x123\n\x15passphrase_protection\x18\x03\x20\x01(\ \x08R\x14passphraseProtection\x12%\n\x0epin_protection\x18\x04\x20\x01(\ \x08R\rpinProtection\x12\x1e\n\x08language\x18\x05\x20\x01(\tR\x08langua\ @@ -11293,57 +11645,61 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \n\x0bu2f_counter\x18\x07\x20\x01(\rR\nu2fCounter\x12\x1f\n\x0bskip_back\ up\x18\x08\x20\x01(\x08R\nskipBackup\x12\x1b\n\tno_backup\x18\t\x20\x01(\ \x08R\x08noBackup\x12Q\n\x0bbackup_type\x18\n\x20\x01(\x0e2).hw.trezor.m\ - essages.management.BackupType:\x05Bip39R\nbackupTypeJ\x04\x08\x01\x10\ - \x02\"\xe5\x01\n\x0cBackupDevice\x12'\n\x0fgroup_threshold\x18\x01\x20\ - \x01(\rR\x0egroupThreshold\x12O\n\x06groups\x18\x02\x20\x03(\x0b27.hw.tr\ - ezor.messages.management.BackupDevice.Slip39GroupR\x06groups\x1a[\n\x0bS\ - lip39Group\x12)\n\x10member_threshold\x18\x01\x20\x02(\rR\x0fmemberThres\ - hold\x12!\n\x0cmember_count\x18\x02\x20\x02(\rR\x0bmemberCount\"\x10\n\ - \x0eEntropyRequest\"&\n\nEntropyAck\x12\x18\n\x07entropy\x18\x01\x20\x02\ - (\x0cR\x07entropy\"\x8d\x04\n\x0eRecoveryDevice\x12\x1d\n\nword_count\ - \x18\x01\x20\x01(\rR\twordCount\x123\n\x15passphrase_protection\x18\x02\ - \x20\x01(\x08R\x14passphraseProtection\x12%\n\x0epin_protection\x18\x03\ - \x20\x01(\x08R\rpinProtection\x12\x1e\n\x08language\x18\x04\x20\x01(\tR\ - \x08languageB\x02\x18\x01\x12\x14\n\x05label\x18\x05\x20\x01(\tR\x05labe\ - l\x12)\n\x10enforce_wordlist\x18\x06\x20\x01(\x08R\x0fenforceWordlist\ - \x12j\n\x0cinput_method\x18\x08\x20\x01(\x0e2G.hw.trezor.messages.manage\ - ment.RecoveryDevice.RecoveryDeviceInputMethodR\x0binputMethod\x12\x1f\n\ - \x0bu2f_counter\x18\t\x20\x01(\rR\nu2fCounter\x12O\n\x04type\x18\n\x20\ - \x01(\x0e2+.hw.trezor.messages.management.RecoveryType:\x0eNormalRecover\ - yR\x04type\";\n\x19RecoveryDeviceInputMethod\x12\x12\n\x0eScrambledWords\ - \x10\0\x12\n\n\x06Matrix\x10\x01J\x04\x08\x07\x10\x08\"\xc5\x01\n\x0bWor\ - dRequest\x12N\n\x04type\x18\x01\x20\x02(\x0e2:.hw.trezor.messages.manage\ - ment.WordRequest.WordRequestTypeR\x04type\"f\n\x0fWordRequestType\x12\ - \x19\n\x15WordRequestType_Plain\x10\0\x12\x1b\n\x17WordRequestType_Matri\ - x9\x10\x01\x12\x1b\n\x17WordRequestType_Matrix6\x10\x02\"\x1d\n\x07WordA\ - ck\x12\x12\n\x04word\x18\x01\x20\x02(\tR\x04word\"0\n\rSetU2FCounter\x12\ - \x1f\n\x0bu2f_counter\x18\x01\x20\x02(\rR\nu2fCounter\"\x13\n\x11GetNext\ - U2FCounter\"1\n\x0eNextU2FCounter\x12\x1f\n\x0bu2f_counter\x18\x01\x20\ - \x02(\rR\nu2fCounter\"\x11\n\x0fDoPreauthorized\"\x16\n\x14Preauthorized\ - Request\"\x15\n\x13CancelAuthorization\"\x9a\x02\n\x12RebootToBootloader\ - \x12o\n\x0cboot_command\x18\x01\x20\x01(\x0e2=.hw.trezor.messages.manage\ - ment.RebootToBootloader.BootCommand:\rSTOP_AND_WAITR\x0bbootCommand\x12'\ - \n\x0ffirmware_header\x18\x02\x20\x01(\x0cR\x0efirmwareHeader\x123\n\x14\ - language_data_length\x18\x03\x20\x01(\r:\x010R\x12languageDataLength\"5\ - \n\x0bBootCommand\x12\x11\n\rSTOP_AND_WAIT\x10\0\x12\x13\n\x0fINSTALL_UP\ - GRADE\x10\x01\"\x10\n\x08GetNonce:\x04\x88\xb2\x19\x01\"#\n\x05Nonce\x12\ - \x14\n\x05nonce\x18\x01\x20\x02(\x0cR\x05nonce:\x04\x88\xb2\x19\x01\";\n\ - \nUnlockPath\x12\x1b\n\taddress_n\x18\x01\x20\x03(\rR\x08addressN\x12\ - \x10\n\x03mac\x18\x02\x20\x01(\x0cR\x03mac\"'\n\x13UnlockedPathRequest\ - \x12\x10\n\x03mac\x18\x01\x20\x01(\x0cR\x03mac\"\x14\n\x12ShowDeviceTuto\ - rial\"\x12\n\x10UnlockBootloader\"%\n\rSetBrightness\x12\x14\n\x05value\ - \x18\x01\x20\x01(\rR\x05value*\x99\x01\n\nBackupType\x12\t\n\x05Bip39\ - \x10\0\x12\x10\n\x0cSlip39_Basic\x10\x01\x12\x13\n\x0fSlip39_Advanced\ - \x10\x02\x12\x1c\n\x18Slip39_Single_Extendable\x10\x03\x12\x1b\n\x17Slip\ - 39_Basic_Extendable\x10\x04\x12\x1e\n\x1aSlip39_Advanced_Extendable\x10\ - \x05*G\n\x10SafetyCheckLevel\x12\n\n\x06Strict\x10\0\x12\x10\n\x0cPrompt\ - Always\x10\x01\x12\x15\n\x11PromptTemporarily\x10\x02*=\n\x0fDisplayRota\ - tion\x12\t\n\x05North\x10\0\x12\x08\n\x04East\x10Z\x12\n\n\x05South\x10\ - \xb4\x01\x12\t\n\x04West\x10\x8e\x02*0\n\x10HomescreenFormat\x12\x08\n\ - \x04Toif\x10\x01\x12\x08\n\x04Jpeg\x10\x02\x12\x08\n\x04ToiG\x10\x03*H\n\ - \x0cRecoveryType\x12\x12\n\x0eNormalRecovery\x10\0\x12\n\n\x06DryRun\x10\ - \x01\x12\x18\n\x14UnlockRepeatedBackup\x10\x02BB\n#com.satoshilabs.trezo\ - r.lib.protobufB\x17TrezorMessageManagement\x80\xa6\x1d\x01\ + essages.management.BackupType:\x05Bip39R\nbackupType\x12#\n\rentropy_che\ + ck\x18\x0b\x20\x01(\x08R\x0centropyCheckJ\x04\x08\x01\x10\x02\"\xe5\x01\ + \n\x0cBackupDevice\x12'\n\x0fgroup_threshold\x18\x01\x20\x01(\rR\x0egrou\ + pThreshold\x12O\n\x06groups\x18\x02\x20\x03(\x0b27.hw.trezor.messages.ma\ + nagement.BackupDevice.Slip39GroupR\x06groups\x1a[\n\x0bSlip39Group\x12)\ + \n\x10member_threshold\x18\x01\x20\x02(\rR\x0fmemberThreshold\x12!\n\x0c\ + member_count\x18\x02\x20\x02(\rR\x0bmemberCount\"b\n\x0eEntropyRequest\ + \x12-\n\x12entropy_commitment\x18\x01\x20\x01(\x0cR\x11entropyCommitment\ + \x12!\n\x0cprev_entropy\x18\x02\x20\x01(\x0cR\x0bprevEntropy\"&\n\nEntro\ + pyAck\x12\x18\n\x07entropy\x18\x01\x20\x02(\x0cR\x07entropy\"\x15\n\x13R\ + esetDeviceContinue\"\x13\n\x11ResetDeviceFinish\"\x8d\x04\n\x0eRecoveryD\ + evice\x12\x1d\n\nword_count\x18\x01\x20\x01(\rR\twordCount\x123\n\x15pas\ + sphrase_protection\x18\x02\x20\x01(\x08R\x14passphraseProtection\x12%\n\ + \x0epin_protection\x18\x03\x20\x01(\x08R\rpinProtection\x12\x1e\n\x08lan\ + guage\x18\x04\x20\x01(\tR\x08languageB\x02\x18\x01\x12\x14\n\x05label\ + \x18\x05\x20\x01(\tR\x05label\x12)\n\x10enforce_wordlist\x18\x06\x20\x01\ + (\x08R\x0fenforceWordlist\x12j\n\x0cinput_method\x18\x08\x20\x01(\x0e2G.\ + hw.trezor.messages.management.RecoveryDevice.RecoveryDeviceInputMethodR\ + \x0binputMethod\x12\x1f\n\x0bu2f_counter\x18\t\x20\x01(\rR\nu2fCounter\ + \x12O\n\x04type\x18\n\x20\x01(\x0e2+.hw.trezor.messages.management.Recov\ + eryType:\x0eNormalRecoveryR\x04type\";\n\x19RecoveryDeviceInputMethod\ + \x12\x12\n\x0eScrambledWords\x10\0\x12\n\n\x06Matrix\x10\x01J\x04\x08\ + \x07\x10\x08\"\xc5\x01\n\x0bWordRequest\x12N\n\x04type\x18\x01\x20\x02(\ + \x0e2:.hw.trezor.messages.management.WordRequest.WordRequestTypeR\x04typ\ + e\"f\n\x0fWordRequestType\x12\x19\n\x15WordRequestType_Plain\x10\0\x12\ + \x1b\n\x17WordRequestType_Matrix9\x10\x01\x12\x1b\n\x17WordRequestType_M\ + atrix6\x10\x02\"\x1d\n\x07WordAck\x12\x12\n\x04word\x18\x01\x20\x02(\tR\ + \x04word\"0\n\rSetU2FCounter\x12\x1f\n\x0bu2f_counter\x18\x01\x20\x02(\r\ + R\nu2fCounter\"\x13\n\x11GetNextU2FCounter\"1\n\x0eNextU2FCounter\x12\ + \x1f\n\x0bu2f_counter\x18\x01\x20\x02(\rR\nu2fCounter\"\x11\n\x0fDoPreau\ + thorized\"\x16\n\x14PreauthorizedRequest\"\x15\n\x13CancelAuthorization\ + \"\x9a\x02\n\x12RebootToBootloader\x12o\n\x0cboot_command\x18\x01\x20\ + \x01(\x0e2=.hw.trezor.messages.management.RebootToBootloader.BootCommand\ + :\rSTOP_AND_WAITR\x0bbootCommand\x12'\n\x0ffirmware_header\x18\x02\x20\ + \x01(\x0cR\x0efirmwareHeader\x123\n\x14language_data_length\x18\x03\x20\ + \x01(\r:\x010R\x12languageDataLength\"5\n\x0bBootCommand\x12\x11\n\rSTOP\ + _AND_WAIT\x10\0\x12\x13\n\x0fINSTALL_UPGRADE\x10\x01\"\x10\n\x08GetNonce\ + :\x04\x88\xb2\x19\x01\"#\n\x05Nonce\x12\x14\n\x05nonce\x18\x01\x20\x02(\ + \x0cR\x05nonce:\x04\x88\xb2\x19\x01\";\n\nUnlockPath\x12\x1b\n\taddress_\ + n\x18\x01\x20\x03(\rR\x08addressN\x12\x10\n\x03mac\x18\x02\x20\x01(\x0cR\ + \x03mac\"'\n\x13UnlockedPathRequest\x12\x10\n\x03mac\x18\x01\x20\x01(\ + \x0cR\x03mac\"\x14\n\x12ShowDeviceTutorial\"\x12\n\x10UnlockBootloader\"\ + %\n\rSetBrightness\x12\x14\n\x05value\x18\x01\x20\x01(\rR\x05value*\x99\ + \x01\n\nBackupType\x12\t\n\x05Bip39\x10\0\x12\x10\n\x0cSlip39_Basic\x10\ + \x01\x12\x13\n\x0fSlip39_Advanced\x10\x02\x12\x1c\n\x18Slip39_Single_Ext\ + endable\x10\x03\x12\x1b\n\x17Slip39_Basic_Extendable\x10\x04\x12\x1e\n\ + \x1aSlip39_Advanced_Extendable\x10\x05*G\n\x10SafetyCheckLevel\x12\n\n\ + \x06Strict\x10\0\x12\x10\n\x0cPromptAlways\x10\x01\x12\x15\n\x11PromptTe\ + mporarily\x10\x02*=\n\x0fDisplayRotation\x12\t\n\x05North\x10\0\x12\x08\ + \n\x04East\x10Z\x12\n\n\x05South\x10\xb4\x01\x12\t\n\x04West\x10\x8e\x02\ + *0\n\x10HomescreenFormat\x12\x08\n\x04Toif\x10\x01\x12\x08\n\x04Jpeg\x10\ + \x02\x12\x08\n\x04ToiG\x10\x03*H\n\x0cRecoveryType\x12\x12\n\x0eNormalRe\ + covery\x10\0\x12\n\n\x06DryRun\x10\x01\x12\x18\n\x14UnlockRepeatedBackup\ + \x10\x02BB\n#com.satoshilabs.trezor.lib.protobufB\x17TrezorMessageManage\ + ment\x80\xa6\x1d\x01\ "; /// `FileDescriptorProto` object which was a source for this generated file @@ -11362,7 +11718,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { 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(46); + let mut messages = ::std::vec::Vec::with_capacity(48); messages.push(Initialize::generated_message_descriptor_data()); messages.push(GetFeatures::generated_message_descriptor_data()); messages.push(Features::generated_message_descriptor_data()); @@ -11391,6 +11747,8 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { messages.push(BackupDevice::generated_message_descriptor_data()); messages.push(EntropyRequest::generated_message_descriptor_data()); messages.push(EntropyAck::generated_message_descriptor_data()); + messages.push(ResetDeviceContinue::generated_message_descriptor_data()); + messages.push(ResetDeviceFinish::generated_message_descriptor_data()); messages.push(RecoveryDevice::generated_message_descriptor_data()); messages.push(WordRequest::generated_message_descriptor_data()); messages.push(WordAck::generated_message_descriptor_data());