diff --git a/common/protob/messages-bitcoin.proto b/common/protob/messages-bitcoin.proto index c6c1b7df9d1..9635cc8bebe 100644 --- a/common/protob/messages-bitcoin.proto +++ b/common/protob/messages-bitcoin.proto @@ -5,10 +5,10 @@ package hw.trezor.messages.bitcoin; option java_package = "com.satoshilabs.trezor.lib.protobuf"; option java_outer_classname = "TrezorMessageBitcoin"; -option (include_in_bitcoin_only) = true; - -import "messages.proto"; import "messages-common.proto"; +import "options.proto"; + +option (include_in_bitcoin_only) = true; /** * Type of script which will be used for transaction input diff --git a/common/protob/messages-common.proto b/common/protob/messages-common.proto index 500ddf73894..3e8cb9537ce 100644 --- a/common/protob/messages-common.proto +++ b/common/protob/messages-common.proto @@ -5,9 +5,9 @@ package hw.trezor.messages.common; option java_package = "com.satoshilabs.trezor.lib.protobuf"; option java_outer_classname = "TrezorMessageCommon"; -option (include_in_bitcoin_only) = true; +import "options.proto"; -import "messages.proto"; +option (include_in_bitcoin_only) = true; /** * Response: Success of the previous request diff --git a/common/protob/messages-crypto.proto b/common/protob/messages-crypto.proto index de39735d2ad..a1300de042b 100644 --- a/common/protob/messages-crypto.proto +++ b/common/protob/messages-crypto.proto @@ -5,9 +5,9 @@ package hw.trezor.messages.crypto; option java_package = "com.satoshilabs.trezor.lib.protobuf"; option java_outer_classname = "TrezorMessageCrypto"; -option (include_in_bitcoin_only) = true; +import "options.proto"; -import "messages.proto"; +option (include_in_bitcoin_only) = true; /** * Request: Ask device to encrypt or decrypt value of given key diff --git a/common/protob/messages-debug.proto b/common/protob/messages-debug.proto index bdac48b0c23..04a7ad63135 100644 --- a/common/protob/messages-debug.proto +++ b/common/protob/messages-debug.proto @@ -5,11 +5,11 @@ package hw.trezor.messages.debug; option java_package = "com.satoshilabs.trezor.lib.protobuf"; option java_outer_classname = "TrezorMessageDebug"; -option (include_in_bitcoin_only) = true; - -import "messages.proto"; import "messages-common.proto"; import "messages-management.proto"; +import "options.proto"; + +option (include_in_bitcoin_only) = true; /** * Request: "Press" the button on the device diff --git a/common/protob/messages-ethereum.proto b/common/protob/messages-ethereum.proto index 75d3744ddc5..ee4010bd083 100644 --- a/common/protob/messages-ethereum.proto +++ b/common/protob/messages-ethereum.proto @@ -8,7 +8,6 @@ option java_outer_classname = "TrezorMessageEthereum"; import "messages-common.proto"; import "messages-ethereum-definitions.proto"; - /** * Request: Ask device for public key corresponding to address_n path * @start diff --git a/common/protob/messages-management.proto b/common/protob/messages-management.proto index d743e91329d..5a5e90673d0 100644 --- a/common/protob/messages-management.proto +++ b/common/protob/messages-management.proto @@ -5,9 +5,9 @@ package hw.trezor.messages.management; option java_package = "com.satoshilabs.trezor.lib.protobuf"; option java_outer_classname = "TrezorMessageManagement"; -option (include_in_bitcoin_only) = true; +import "options.proto"; -import "messages.proto"; +option (include_in_bitcoin_only) = true; /** * Type of the mnemonic backup given/received by the device during reset/recovery. diff --git a/common/protob/messages-thp.proto b/common/protob/messages-thp.proto index 743cf3a1eee..c05d9f64d71 100644 --- a/common/protob/messages-thp.proto +++ b/common/protob/messages-thp.proto @@ -5,9 +5,9 @@ package hw.trezor.messages.thp; option java_package = "com.satoshilabs.trezor.lib.protobuf"; option java_outer_classname = "TrezorMessageThp"; -option (include_in_bitcoin_only) = true; +import "options.proto"; -import "messages.proto"; +option (include_in_bitcoin_only) = true; /** * Only for internal use. diff --git a/common/protob/messages.proto b/common/protob/messages.proto index 4838ea2de29..c8e862060cf 100644 --- a/common/protob/messages.proto +++ b/common/protob/messages.proto @@ -9,67 +9,9 @@ package hw.trezor.messages; option java_package = "com.satoshilabs.trezor.lib.protobuf"; option java_outer_classname = "TrezorMessage"; -option (include_in_bitcoin_only) = true; - -import "google/protobuf/descriptor.proto"; - -/************************* WARNING *********************** -Due to the way extensions are accessed in pb2py, there needs to be a globally unique -name-ID mapping for extensions. That means that two different extensions, e.g. for -EnumValueOptions and FieldOptions, MUST NOT have the same ID. - -Using the same ID indicates the same purpose (protobuf does not allow multiple -extensions with the same name), such as EnumValueOptions.bitcoin_only and -FileOptions.include_in_bitcoin_only. pb2py can then find the extension under -either name. - -The convention to achieve this is as follows: - - extensions specific to a type have the same prefix: - * 50xxx for EnumValueOptions - * 51xxx for EnumOptions - * 52xxx for MessageOptions - * 53xxx for FieldOptions - - extensions that might be used across types have the same "global" prefix 60xxx -*/ -/** - * Options for specifying message direction and type of wire (normal/debug) - */ -extend google.protobuf.EnumValueOptions { - optional bool wire_in = 50002; // message can be transmitted via wire from PC to Trezor - optional bool wire_out = 50003; // message can be transmitted via wire from Trezor to PC - optional bool wire_debug_in = 50004; // message can be transmitted via debug wire from PC to Trezor - optional bool wire_debug_out = 50005; // message can be transmitted via debug wire from Trezor to PC - optional bool wire_tiny = 50006; // message is handled by Trezor when the USB stack is in tiny mode - optional bool wire_bootloader = 50007; // message is only handled by Trezor Bootloader - optional bool wire_no_fsm = 50008; // message is not handled by Trezor unless the USB stack is in tiny mode - - optional bool bitcoin_only = 60000; // enum value is available on BITCOIN_ONLY build - // (messages not marked bitcoin_only will be EXCLUDED) -} - -/** Options for tagging enum types */ -extend google.protobuf.EnumOptions { - optional bool has_bitcoin_only_values = 51001; // indicate that some values should be excluded on BITCOIN_ONLY builds -} - -/** Options for tagging message types */ -extend google.protobuf.MessageOptions { - optional bool experimental_message = 52001; // indicate that a message is intended for development and beta testing only and its definition may change at any time - optional uint32 wire_type = 52002; // override wire type specified in the MessageType enum - optional bool internal_only = 52003; // indicate that a message is intended for internal use only and should not be transmitted via the wire -} - -/** Options for tagging field types */ -extend google.protobuf.FieldOptions { - optional bool experimental_field = 53001; // indicate that a field is intended for development and beta testing only -} - -/** Options for tagging files with protobuf definitions */ -extend google.protobuf.FileOptions { - optional bool include_in_bitcoin_only = 60000; // definitions are available on BITCOIN_ONLY build - // intentionally identical to `bitcoin_only` from enum -} +import "options.proto"; +option (include_in_bitcoin_only) = true; /** * Mapping between Trezor wire identifier (uint) and a protobuf message diff --git a/common/protob/options.proto b/common/protob/options.proto new file mode 100644 index 00000000000..f4559a44993 --- /dev/null +++ b/common/protob/options.proto @@ -0,0 +1,70 @@ +syntax = "proto2"; +package hw.trezor.messages; + +// Sugar for easier handling in Java +option java_package = "com.satoshilabs.trezor.lib.protobuf"; +option java_outer_classname = "TrezorOptions"; + +import "google/protobuf/descriptor.proto"; + +/************************* WARNING *********************** +Due to the way extensions are accessed in pb2py, there needs to be a globally unique +name-ID mapping for extensions. That means that two different extensions, e.g. for +EnumValueOptions and FieldOptions, MUST NOT have the same ID. + +Using the same ID indicates the same purpose (protobuf does not allow multiple +extensions with the same name), such as EnumValueOptions.bitcoin_only and +FileOptions.include_in_bitcoin_only. pb2py can then find the extension under +either name. + +The convention to achieve this is as follows: + - extensions specific to a type have the same prefix: + * 50xxx for EnumValueOptions + * 51xxx for EnumOptions + * 52xxx for MessageOptions + * 53xxx for FieldOptions + - extensions that might be used across types have the same "global" prefix 60xxx +*/ + +/** + * Options for specifying message direction and type of wire (normal/debug) + */ + extend google.protobuf.EnumValueOptions { + optional bool wire_in = 50002; // message can be transmitted via wire from PC to Trezor + optional bool wire_out = 50003; // message can be transmitted via wire from Trezor to PC + optional bool wire_debug_in = 50004; // message can be transmitted via debug wire from PC to Trezor + optional bool wire_debug_out = 50005; // message can be transmitted via debug wire from Trezor to PC + optional bool wire_tiny = 50006; // message is handled by Trezor when the USB stack is in tiny mode + optional bool wire_bootloader = 50007; // message is only handled by Trezor Bootloader + optional bool wire_no_fsm = 50008; // message is not handled by Trezor unless the USB stack is in tiny mode + optional bool channel_in = 50009; + optional bool channel_out = 50010; + optional bool pairing_in = 50011; + optional bool pairing_out = 50012; + + optional bool bitcoin_only = 60000; // enum value is available on BITCOIN_ONLY build + // (messages not marked bitcoin_only will be EXCLUDED) +} + +/** Options for tagging enum types */ +extend google.protobuf.EnumOptions { + optional bool has_bitcoin_only_values = 51001; // indicate that some values should be excluded on BITCOIN_ONLY builds +} + +/** Options for tagging message types */ +extend google.protobuf.MessageOptions { + optional bool experimental_message = 52001; // indicate that a message is intended for development and beta testing only and its definition may change at any time + optional uint32 wire_type = 52002; // override wire type specified in the MessageType enum + optional bool internal_only = 52003; // indicate that a message is intended for internal use only and should not be transmitted via the wire +} + +/** Options for tagging field types */ +extend google.protobuf.FieldOptions { + optional bool experimental_field = 53001; // indicate that a field is intended for development and beta testing only +} + +/** Options for tagging files with protobuf definitions */ +extend google.protobuf.FileOptions { + optional bool include_in_bitcoin_only = 60000; // definitions are available on BITCOIN_ONLY build + // intentionally identical to `bitcoin_only` from enum +} diff --git a/common/protob/pb2py b/common/protob/pb2py index 5eddadd42a2..2e873d2dede 100755 --- a/common/protob/pb2py +++ b/common/protob/pb2py @@ -714,7 +714,11 @@ def main( if verbose: logging.basicConfig(level=logging.DEBUG) - descriptor_proto = protoc(proto) + # The proto tuple is sorted to give consistent results in different environments + list_proto = list(proto) + list_proto.sort() + + descriptor_proto = protoc(list_proto) descriptor = Descriptor( descriptor_proto, include_deprecated=include_deprecated, diff --git a/core/src/trezor/enums/__init__.py b/core/src/trezor/enums/__init__.py index 7db42bbe866..603f634ffbc 100644 --- a/core/src/trezor/enums/__init__.py +++ b/core/src/trezor/enums/__init__.py @@ -24,253 +24,6 @@ class BinanceTimeInForce(IntEnum): TIF_RESERVED = 2 IOC = 3 - class MessageType(IntEnum): - Initialize = 0 - Ping = 1 - Success = 2 - Failure = 3 - ChangePin = 4 - WipeDevice = 5 - GetEntropy = 9 - Entropy = 10 - LoadDevice = 13 - ResetDevice = 14 - SetBusy = 16 - Features = 17 - PinMatrixRequest = 18 - PinMatrixAck = 19 - Cancel = 20 - LockDevice = 24 - ApplySettings = 25 - ButtonRequest = 26 - ButtonAck = 27 - ApplyFlags = 28 - GetNonce = 31 - Nonce = 33 - BackupDevice = 34 - EntropyRequest = 35 - EntropyAck = 36 - PassphraseRequest = 41 - PassphraseAck = 42 - RecoveryDevice = 45 - WordRequest = 46 - WordAck = 47 - GetFeatures = 55 - SdProtect = 79 - ChangeWipeCode = 82 - EndSession = 83 - DoPreauthorized = 84 - PreauthorizedRequest = 85 - CancelAuthorization = 86 - RebootToBootloader = 87 - GetFirmwareHash = 88 - FirmwareHash = 89 - UnlockPath = 93 - UnlockedPathRequest = 94 - ShowDeviceTutorial = 95 - UnlockBootloader = 96 - AuthenticateDevice = 97 - AuthenticityProof = 98 - ChangeLanguage = 990 - TranslationDataRequest = 991 - TranslationDataAck = 992 - SetBrightness = 993 - SetU2FCounter = 63 - GetNextU2FCounter = 80 - NextU2FCounter = 81 - Deprecated_PassphraseStateRequest = 77 - Deprecated_PassphraseStateAck = 78 - FirmwareErase = 6 - FirmwareUpload = 7 - FirmwareRequest = 8 - ProdTestT1 = 32 - GetPublicKey = 11 - PublicKey = 12 - SignTx = 15 - TxRequest = 21 - TxAck = 22 - GetAddress = 29 - Address = 30 - TxAckPaymentRequest = 37 - SignMessage = 38 - VerifyMessage = 39 - MessageSignature = 40 - GetOwnershipId = 43 - OwnershipId = 44 - GetOwnershipProof = 49 - OwnershipProof = 50 - AuthorizeCoinJoin = 51 - CipherKeyValue = 23 - CipheredKeyValue = 48 - SignIdentity = 53 - SignedIdentity = 54 - GetECDHSessionKey = 61 - ECDHSessionKey = 62 - DebugLinkDecision = 100 - DebugLinkGetState = 101 - DebugLinkState = 102 - DebugLinkStop = 103 - DebugLinkLog = 104 - DebugLinkMemoryRead = 110 - DebugLinkMemory = 111 - DebugLinkMemoryWrite = 112 - DebugLinkFlashErase = 113 - DebugLinkLayout = 9001 - DebugLinkReseedRandom = 9002 - DebugLinkRecordScreen = 9003 - DebugLinkEraseSdCard = 9005 - DebugLinkWatchLayout = 9006 - DebugLinkResetDebugEvents = 9007 - DebugLinkOptigaSetSecMax = 9008 - EthereumGetPublicKey = 450 - EthereumPublicKey = 451 - EthereumGetAddress = 56 - EthereumAddress = 57 - EthereumSignTx = 58 - EthereumSignTxEIP1559 = 452 - EthereumTxRequest = 59 - EthereumTxAck = 60 - EthereumSignMessage = 64 - EthereumVerifyMessage = 65 - EthereumMessageSignature = 66 - EthereumSignTypedData = 464 - EthereumTypedDataStructRequest = 465 - EthereumTypedDataStructAck = 466 - EthereumTypedDataValueRequest = 467 - EthereumTypedDataValueAck = 468 - EthereumTypedDataSignature = 469 - EthereumSignTypedHash = 470 - NEMGetAddress = 67 - NEMAddress = 68 - NEMSignTx = 69 - NEMSignedTx = 70 - NEMDecryptMessage = 75 - NEMDecryptedMessage = 76 - TezosGetAddress = 150 - TezosAddress = 151 - TezosSignTx = 152 - TezosSignedTx = 153 - TezosGetPublicKey = 154 - TezosPublicKey = 155 - StellarSignTx = 202 - StellarTxOpRequest = 203 - StellarGetAddress = 207 - StellarAddress = 208 - StellarCreateAccountOp = 210 - StellarPaymentOp = 211 - StellarPathPaymentStrictReceiveOp = 212 - StellarManageSellOfferOp = 213 - StellarCreatePassiveSellOfferOp = 214 - StellarSetOptionsOp = 215 - StellarChangeTrustOp = 216 - StellarAllowTrustOp = 217 - StellarAccountMergeOp = 218 - StellarManageDataOp = 220 - StellarBumpSequenceOp = 221 - StellarManageBuyOfferOp = 222 - StellarPathPaymentStrictSendOp = 223 - StellarClaimClaimableBalanceOp = 225 - StellarSignedTx = 230 - CardanoGetPublicKey = 305 - CardanoPublicKey = 306 - CardanoGetAddress = 307 - CardanoAddress = 308 - CardanoTxItemAck = 313 - CardanoTxAuxiliaryDataSupplement = 314 - CardanoTxWitnessRequest = 315 - CardanoTxWitnessResponse = 316 - CardanoTxHostAck = 317 - CardanoTxBodyHash = 318 - CardanoSignTxFinished = 319 - CardanoSignTxInit = 320 - CardanoTxInput = 321 - CardanoTxOutput = 322 - CardanoAssetGroup = 323 - CardanoToken = 324 - CardanoTxCertificate = 325 - CardanoTxWithdrawal = 326 - CardanoTxAuxiliaryData = 327 - CardanoPoolOwner = 328 - CardanoPoolRelayParameters = 329 - CardanoGetNativeScriptHash = 330 - CardanoNativeScriptHash = 331 - CardanoTxMint = 332 - CardanoTxCollateralInput = 333 - CardanoTxRequiredSigner = 334 - CardanoTxInlineDatumChunk = 335 - CardanoTxReferenceScriptChunk = 336 - CardanoTxReferenceInput = 337 - RippleGetAddress = 400 - RippleAddress = 401 - RippleSignTx = 402 - RippleSignedTx = 403 - MoneroTransactionInitRequest = 501 - MoneroTransactionInitAck = 502 - MoneroTransactionSetInputRequest = 503 - MoneroTransactionSetInputAck = 504 - MoneroTransactionInputViniRequest = 507 - MoneroTransactionInputViniAck = 508 - MoneroTransactionAllInputsSetRequest = 509 - MoneroTransactionAllInputsSetAck = 510 - MoneroTransactionSetOutputRequest = 511 - MoneroTransactionSetOutputAck = 512 - MoneroTransactionAllOutSetRequest = 513 - MoneroTransactionAllOutSetAck = 514 - MoneroTransactionSignInputRequest = 515 - MoneroTransactionSignInputAck = 516 - MoneroTransactionFinalRequest = 517 - MoneroTransactionFinalAck = 518 - MoneroKeyImageExportInitRequest = 530 - MoneroKeyImageExportInitAck = 531 - MoneroKeyImageSyncStepRequest = 532 - MoneroKeyImageSyncStepAck = 533 - MoneroKeyImageSyncFinalRequest = 534 - MoneroKeyImageSyncFinalAck = 535 - MoneroGetAddress = 540 - MoneroAddress = 541 - MoneroGetWatchKey = 542 - MoneroWatchKey = 543 - DebugMoneroDiagRequest = 546 - DebugMoneroDiagAck = 547 - MoneroGetTxKeyRequest = 550 - MoneroGetTxKeyAck = 551 - MoneroLiveRefreshStartRequest = 552 - MoneroLiveRefreshStartAck = 553 - MoneroLiveRefreshStepRequest = 554 - MoneroLiveRefreshStepAck = 555 - MoneroLiveRefreshFinalRequest = 556 - MoneroLiveRefreshFinalAck = 557 - EosGetPublicKey = 600 - EosPublicKey = 601 - EosSignTx = 602 - EosTxActionRequest = 603 - EosTxActionAck = 604 - EosSignedTx = 605 - BinanceGetAddress = 700 - BinanceAddress = 701 - BinanceGetPublicKey = 702 - BinancePublicKey = 703 - BinanceSignTx = 704 - BinanceTxRequest = 705 - BinanceTransferMsg = 706 - BinanceOrderMsg = 707 - BinanceCancelMsg = 708 - BinanceSignedTx = 709 - WebAuthnListResidentCredentials = 800 - WebAuthnCredentials = 801 - WebAuthnAddResidentCredential = 802 - WebAuthnRemoveResidentCredential = 803 - SolanaGetPublicKey = 900 - SolanaPublicKey = 901 - SolanaGetAddress = 902 - SolanaAddress = 903 - SolanaSignTx = 904 - SolanaTxSignature = 905 - BenchmarkListNames = 9100 - BenchmarkNames = 9101 - BenchmarkRun = 9102 - BenchmarkResult = 9103 - class FailureType(IntEnum): UnexpectedMessage = 1 ButtonExpected = 2 @@ -578,3 +331,250 @@ class TezosBallotType(IntEnum): Yay = 0 Nay = 1 Pass = 2 + + class MessageType(IntEnum): + Initialize = 0 + Ping = 1 + Success = 2 + Failure = 3 + ChangePin = 4 + WipeDevice = 5 + GetEntropy = 9 + Entropy = 10 + LoadDevice = 13 + ResetDevice = 14 + SetBusy = 16 + Features = 17 + PinMatrixRequest = 18 + PinMatrixAck = 19 + Cancel = 20 + LockDevice = 24 + ApplySettings = 25 + ButtonRequest = 26 + ButtonAck = 27 + ApplyFlags = 28 + GetNonce = 31 + Nonce = 33 + BackupDevice = 34 + EntropyRequest = 35 + EntropyAck = 36 + PassphraseRequest = 41 + PassphraseAck = 42 + RecoveryDevice = 45 + WordRequest = 46 + WordAck = 47 + GetFeatures = 55 + SdProtect = 79 + ChangeWipeCode = 82 + EndSession = 83 + DoPreauthorized = 84 + PreauthorizedRequest = 85 + CancelAuthorization = 86 + RebootToBootloader = 87 + GetFirmwareHash = 88 + FirmwareHash = 89 + UnlockPath = 93 + UnlockedPathRequest = 94 + ShowDeviceTutorial = 95 + UnlockBootloader = 96 + AuthenticateDevice = 97 + AuthenticityProof = 98 + ChangeLanguage = 990 + TranslationDataRequest = 991 + TranslationDataAck = 992 + SetBrightness = 993 + SetU2FCounter = 63 + GetNextU2FCounter = 80 + NextU2FCounter = 81 + Deprecated_PassphraseStateRequest = 77 + Deprecated_PassphraseStateAck = 78 + FirmwareErase = 6 + FirmwareUpload = 7 + FirmwareRequest = 8 + ProdTestT1 = 32 + GetPublicKey = 11 + PublicKey = 12 + SignTx = 15 + TxRequest = 21 + TxAck = 22 + GetAddress = 29 + Address = 30 + TxAckPaymentRequest = 37 + SignMessage = 38 + VerifyMessage = 39 + MessageSignature = 40 + GetOwnershipId = 43 + OwnershipId = 44 + GetOwnershipProof = 49 + OwnershipProof = 50 + AuthorizeCoinJoin = 51 + CipherKeyValue = 23 + CipheredKeyValue = 48 + SignIdentity = 53 + SignedIdentity = 54 + GetECDHSessionKey = 61 + ECDHSessionKey = 62 + DebugLinkDecision = 100 + DebugLinkGetState = 101 + DebugLinkState = 102 + DebugLinkStop = 103 + DebugLinkLog = 104 + DebugLinkMemoryRead = 110 + DebugLinkMemory = 111 + DebugLinkMemoryWrite = 112 + DebugLinkFlashErase = 113 + DebugLinkLayout = 9001 + DebugLinkReseedRandom = 9002 + DebugLinkRecordScreen = 9003 + DebugLinkEraseSdCard = 9005 + DebugLinkWatchLayout = 9006 + DebugLinkResetDebugEvents = 9007 + DebugLinkOptigaSetSecMax = 9008 + EthereumGetPublicKey = 450 + EthereumPublicKey = 451 + EthereumGetAddress = 56 + EthereumAddress = 57 + EthereumSignTx = 58 + EthereumSignTxEIP1559 = 452 + EthereumTxRequest = 59 + EthereumTxAck = 60 + EthereumSignMessage = 64 + EthereumVerifyMessage = 65 + EthereumMessageSignature = 66 + EthereumSignTypedData = 464 + EthereumTypedDataStructRequest = 465 + EthereumTypedDataStructAck = 466 + EthereumTypedDataValueRequest = 467 + EthereumTypedDataValueAck = 468 + EthereumTypedDataSignature = 469 + EthereumSignTypedHash = 470 + NEMGetAddress = 67 + NEMAddress = 68 + NEMSignTx = 69 + NEMSignedTx = 70 + NEMDecryptMessage = 75 + NEMDecryptedMessage = 76 + TezosGetAddress = 150 + TezosAddress = 151 + TezosSignTx = 152 + TezosSignedTx = 153 + TezosGetPublicKey = 154 + TezosPublicKey = 155 + StellarSignTx = 202 + StellarTxOpRequest = 203 + StellarGetAddress = 207 + StellarAddress = 208 + StellarCreateAccountOp = 210 + StellarPaymentOp = 211 + StellarPathPaymentStrictReceiveOp = 212 + StellarManageSellOfferOp = 213 + StellarCreatePassiveSellOfferOp = 214 + StellarSetOptionsOp = 215 + StellarChangeTrustOp = 216 + StellarAllowTrustOp = 217 + StellarAccountMergeOp = 218 + StellarManageDataOp = 220 + StellarBumpSequenceOp = 221 + StellarManageBuyOfferOp = 222 + StellarPathPaymentStrictSendOp = 223 + StellarClaimClaimableBalanceOp = 225 + StellarSignedTx = 230 + CardanoGetPublicKey = 305 + CardanoPublicKey = 306 + CardanoGetAddress = 307 + CardanoAddress = 308 + CardanoTxItemAck = 313 + CardanoTxAuxiliaryDataSupplement = 314 + CardanoTxWitnessRequest = 315 + CardanoTxWitnessResponse = 316 + CardanoTxHostAck = 317 + CardanoTxBodyHash = 318 + CardanoSignTxFinished = 319 + CardanoSignTxInit = 320 + CardanoTxInput = 321 + CardanoTxOutput = 322 + CardanoAssetGroup = 323 + CardanoToken = 324 + CardanoTxCertificate = 325 + CardanoTxWithdrawal = 326 + CardanoTxAuxiliaryData = 327 + CardanoPoolOwner = 328 + CardanoPoolRelayParameters = 329 + CardanoGetNativeScriptHash = 330 + CardanoNativeScriptHash = 331 + CardanoTxMint = 332 + CardanoTxCollateralInput = 333 + CardanoTxRequiredSigner = 334 + CardanoTxInlineDatumChunk = 335 + CardanoTxReferenceScriptChunk = 336 + CardanoTxReferenceInput = 337 + RippleGetAddress = 400 + RippleAddress = 401 + RippleSignTx = 402 + RippleSignedTx = 403 + MoneroTransactionInitRequest = 501 + MoneroTransactionInitAck = 502 + MoneroTransactionSetInputRequest = 503 + MoneroTransactionSetInputAck = 504 + MoneroTransactionInputViniRequest = 507 + MoneroTransactionInputViniAck = 508 + MoneroTransactionAllInputsSetRequest = 509 + MoneroTransactionAllInputsSetAck = 510 + MoneroTransactionSetOutputRequest = 511 + MoneroTransactionSetOutputAck = 512 + MoneroTransactionAllOutSetRequest = 513 + MoneroTransactionAllOutSetAck = 514 + MoneroTransactionSignInputRequest = 515 + MoneroTransactionSignInputAck = 516 + MoneroTransactionFinalRequest = 517 + MoneroTransactionFinalAck = 518 + MoneroKeyImageExportInitRequest = 530 + MoneroKeyImageExportInitAck = 531 + MoneroKeyImageSyncStepRequest = 532 + MoneroKeyImageSyncStepAck = 533 + MoneroKeyImageSyncFinalRequest = 534 + MoneroKeyImageSyncFinalAck = 535 + MoneroGetAddress = 540 + MoneroAddress = 541 + MoneroGetWatchKey = 542 + MoneroWatchKey = 543 + DebugMoneroDiagRequest = 546 + DebugMoneroDiagAck = 547 + MoneroGetTxKeyRequest = 550 + MoneroGetTxKeyAck = 551 + MoneroLiveRefreshStartRequest = 552 + MoneroLiveRefreshStartAck = 553 + MoneroLiveRefreshStepRequest = 554 + MoneroLiveRefreshStepAck = 555 + MoneroLiveRefreshFinalRequest = 556 + MoneroLiveRefreshFinalAck = 557 + EosGetPublicKey = 600 + EosPublicKey = 601 + EosSignTx = 602 + EosTxActionRequest = 603 + EosTxActionAck = 604 + EosSignedTx = 605 + BinanceGetAddress = 700 + BinanceAddress = 701 + BinanceGetPublicKey = 702 + BinancePublicKey = 703 + BinanceSignTx = 704 + BinanceTxRequest = 705 + BinanceTransferMsg = 706 + BinanceOrderMsg = 707 + BinanceCancelMsg = 708 + BinanceSignedTx = 709 + WebAuthnListResidentCredentials = 800 + WebAuthnCredentials = 801 + WebAuthnAddResidentCredential = 802 + WebAuthnRemoveResidentCredential = 803 + SolanaGetPublicKey = 900 + SolanaPublicKey = 901 + SolanaGetAddress = 902 + SolanaAddress = 903 + SolanaSignTx = 904 + SolanaTxSignature = 905 + BenchmarkListNames = 9100 + BenchmarkNames = 9101 + BenchmarkRun = 9102 + BenchmarkResult = 9103 diff --git a/legacy/firmware/fsm.h b/legacy/firmware/fsm.h index 9f18e3e5887..8b31c999148 100644 --- a/legacy/firmware/fsm.h +++ b/legacy/firmware/fsm.h @@ -28,6 +28,7 @@ #include "messages-management.pb.h" #include "messages-nem.pb.h" #include "messages-stellar.pb.h" +#include "messages.pb.h" // CoinJoin fee rate multiplier. #define FEE_RATE_DECIMALS (1000000) diff --git a/legacy/firmware/protob/Makefile b/legacy/firmware/protob/Makefile index ab039c30250..b6782666b03 100644 --- a/legacy/firmware/protob/Makefile +++ b/legacy/firmware/protob/Makefile @@ -20,7 +20,7 @@ endif PROTO_NAMES = messages messages-bitcoin messages-common messages-crypto messages-debug \ messages-ethereum messages-ethereum-definitions messages-management messages-nem \ - messages-stellar + messages-stellar options PROTO_OPTIONS = $(PROTO_NAMES:=.options) PROTO_COMPILED = $(PROTO_NAMES:=.pb) @@ -47,7 +47,7 @@ messages.pb.h: $(PROTO_COMPILED) $(PROTO_OPTIONS) @printf " PROTOC $@\n" $(Q)protoc -I/usr/include -I. $< --python_out=. -messages_map.h messages_map_limits.h: messages_map.py messages_pb2.py +messages_map.h messages_map_limits.h: messages_map.py messages_pb2.py options_pb2.py $(Q)$(PYTHON) $< ${SKIPPED_MESSAGES} clean: diff --git a/legacy/firmware/protob/messages_map.py b/legacy/firmware/protob/messages_map.py index a3bac8b3566..898ea038d0c 100755 --- a/legacy/firmware/protob/messages_map.py +++ b/legacy/firmware/protob/messages_map.py @@ -2,8 +2,8 @@ import sys from collections import defaultdict -from messages_pb2 import ( - MessageType, +from messages_pb2 import MessageType +from options_pb2 import ( wire_bootloader, wire_debug_in, wire_debug_out, diff --git a/legacy/firmware/protob/options.options b/legacy/firmware/protob/options.options new file mode 100644 index 00000000000..e69de29bb2d diff --git a/legacy/firmware/protob/options.proto b/legacy/firmware/protob/options.proto new file mode 120000 index 00000000000..9bc1544ee35 --- /dev/null +++ b/legacy/firmware/protob/options.proto @@ -0,0 +1 @@ +../../vendor/trezor-common/protob/options.proto \ No newline at end of file diff --git a/python/src/trezorlib/messages.py b/python/src/trezorlib/messages.py index 21db565f45b..d8ca51fc8ee 100644 --- a/python/src/trezorlib/messages.py +++ b/python/src/trezorlib/messages.py @@ -28,254 +28,6 @@ class BinanceTimeInForce(IntEnum): IOC = 3 -class MessageType(IntEnum): - Initialize = 0 - Ping = 1 - Success = 2 - Failure = 3 - ChangePin = 4 - WipeDevice = 5 - GetEntropy = 9 - Entropy = 10 - LoadDevice = 13 - ResetDevice = 14 - SetBusy = 16 - Features = 17 - PinMatrixRequest = 18 - PinMatrixAck = 19 - Cancel = 20 - LockDevice = 24 - ApplySettings = 25 - ButtonRequest = 26 - ButtonAck = 27 - ApplyFlags = 28 - GetNonce = 31 - Nonce = 33 - BackupDevice = 34 - EntropyRequest = 35 - EntropyAck = 36 - PassphraseRequest = 41 - PassphraseAck = 42 - RecoveryDevice = 45 - WordRequest = 46 - WordAck = 47 - GetFeatures = 55 - SdProtect = 79 - ChangeWipeCode = 82 - EndSession = 83 - DoPreauthorized = 84 - PreauthorizedRequest = 85 - CancelAuthorization = 86 - RebootToBootloader = 87 - GetFirmwareHash = 88 - FirmwareHash = 89 - UnlockPath = 93 - UnlockedPathRequest = 94 - ShowDeviceTutorial = 95 - UnlockBootloader = 96 - AuthenticateDevice = 97 - AuthenticityProof = 98 - ChangeLanguage = 990 - TranslationDataRequest = 991 - TranslationDataAck = 992 - SetBrightness = 993 - SetU2FCounter = 63 - GetNextU2FCounter = 80 - NextU2FCounter = 81 - Deprecated_PassphraseStateRequest = 77 - Deprecated_PassphraseStateAck = 78 - FirmwareErase = 6 - FirmwareUpload = 7 - FirmwareRequest = 8 - ProdTestT1 = 32 - GetPublicKey = 11 - PublicKey = 12 - SignTx = 15 - TxRequest = 21 - TxAck = 22 - GetAddress = 29 - Address = 30 - TxAckPaymentRequest = 37 - SignMessage = 38 - VerifyMessage = 39 - MessageSignature = 40 - GetOwnershipId = 43 - OwnershipId = 44 - GetOwnershipProof = 49 - OwnershipProof = 50 - AuthorizeCoinJoin = 51 - CipherKeyValue = 23 - CipheredKeyValue = 48 - SignIdentity = 53 - SignedIdentity = 54 - GetECDHSessionKey = 61 - ECDHSessionKey = 62 - DebugLinkDecision = 100 - DebugLinkGetState = 101 - DebugLinkState = 102 - DebugLinkStop = 103 - DebugLinkLog = 104 - DebugLinkMemoryRead = 110 - DebugLinkMemory = 111 - DebugLinkMemoryWrite = 112 - DebugLinkFlashErase = 113 - DebugLinkLayout = 9001 - DebugLinkReseedRandom = 9002 - DebugLinkRecordScreen = 9003 - DebugLinkEraseSdCard = 9005 - DebugLinkWatchLayout = 9006 - DebugLinkResetDebugEvents = 9007 - DebugLinkOptigaSetSecMax = 9008 - EthereumGetPublicKey = 450 - EthereumPublicKey = 451 - EthereumGetAddress = 56 - EthereumAddress = 57 - EthereumSignTx = 58 - EthereumSignTxEIP1559 = 452 - EthereumTxRequest = 59 - EthereumTxAck = 60 - EthereumSignMessage = 64 - EthereumVerifyMessage = 65 - EthereumMessageSignature = 66 - EthereumSignTypedData = 464 - EthereumTypedDataStructRequest = 465 - EthereumTypedDataStructAck = 466 - EthereumTypedDataValueRequest = 467 - EthereumTypedDataValueAck = 468 - EthereumTypedDataSignature = 469 - EthereumSignTypedHash = 470 - NEMGetAddress = 67 - NEMAddress = 68 - NEMSignTx = 69 - NEMSignedTx = 70 - NEMDecryptMessage = 75 - NEMDecryptedMessage = 76 - TezosGetAddress = 150 - TezosAddress = 151 - TezosSignTx = 152 - TezosSignedTx = 153 - TezosGetPublicKey = 154 - TezosPublicKey = 155 - StellarSignTx = 202 - StellarTxOpRequest = 203 - StellarGetAddress = 207 - StellarAddress = 208 - StellarCreateAccountOp = 210 - StellarPaymentOp = 211 - StellarPathPaymentStrictReceiveOp = 212 - StellarManageSellOfferOp = 213 - StellarCreatePassiveSellOfferOp = 214 - StellarSetOptionsOp = 215 - StellarChangeTrustOp = 216 - StellarAllowTrustOp = 217 - StellarAccountMergeOp = 218 - StellarManageDataOp = 220 - StellarBumpSequenceOp = 221 - StellarManageBuyOfferOp = 222 - StellarPathPaymentStrictSendOp = 223 - StellarClaimClaimableBalanceOp = 225 - StellarSignedTx = 230 - CardanoGetPublicKey = 305 - CardanoPublicKey = 306 - CardanoGetAddress = 307 - CardanoAddress = 308 - CardanoTxItemAck = 313 - CardanoTxAuxiliaryDataSupplement = 314 - CardanoTxWitnessRequest = 315 - CardanoTxWitnessResponse = 316 - CardanoTxHostAck = 317 - CardanoTxBodyHash = 318 - CardanoSignTxFinished = 319 - CardanoSignTxInit = 320 - CardanoTxInput = 321 - CardanoTxOutput = 322 - CardanoAssetGroup = 323 - CardanoToken = 324 - CardanoTxCertificate = 325 - CardanoTxWithdrawal = 326 - CardanoTxAuxiliaryData = 327 - CardanoPoolOwner = 328 - CardanoPoolRelayParameters = 329 - CardanoGetNativeScriptHash = 330 - CardanoNativeScriptHash = 331 - CardanoTxMint = 332 - CardanoTxCollateralInput = 333 - CardanoTxRequiredSigner = 334 - CardanoTxInlineDatumChunk = 335 - CardanoTxReferenceScriptChunk = 336 - CardanoTxReferenceInput = 337 - RippleGetAddress = 400 - RippleAddress = 401 - RippleSignTx = 402 - RippleSignedTx = 403 - MoneroTransactionInitRequest = 501 - MoneroTransactionInitAck = 502 - MoneroTransactionSetInputRequest = 503 - MoneroTransactionSetInputAck = 504 - MoneroTransactionInputViniRequest = 507 - MoneroTransactionInputViniAck = 508 - MoneroTransactionAllInputsSetRequest = 509 - MoneroTransactionAllInputsSetAck = 510 - MoneroTransactionSetOutputRequest = 511 - MoneroTransactionSetOutputAck = 512 - MoneroTransactionAllOutSetRequest = 513 - MoneroTransactionAllOutSetAck = 514 - MoneroTransactionSignInputRequest = 515 - MoneroTransactionSignInputAck = 516 - MoneroTransactionFinalRequest = 517 - MoneroTransactionFinalAck = 518 - MoneroKeyImageExportInitRequest = 530 - MoneroKeyImageExportInitAck = 531 - MoneroKeyImageSyncStepRequest = 532 - MoneroKeyImageSyncStepAck = 533 - MoneroKeyImageSyncFinalRequest = 534 - MoneroKeyImageSyncFinalAck = 535 - MoneroGetAddress = 540 - MoneroAddress = 541 - MoneroGetWatchKey = 542 - MoneroWatchKey = 543 - DebugMoneroDiagRequest = 546 - DebugMoneroDiagAck = 547 - MoneroGetTxKeyRequest = 550 - MoneroGetTxKeyAck = 551 - MoneroLiveRefreshStartRequest = 552 - MoneroLiveRefreshStartAck = 553 - MoneroLiveRefreshStepRequest = 554 - MoneroLiveRefreshStepAck = 555 - MoneroLiveRefreshFinalRequest = 556 - MoneroLiveRefreshFinalAck = 557 - EosGetPublicKey = 600 - EosPublicKey = 601 - EosSignTx = 602 - EosTxActionRequest = 603 - EosTxActionAck = 604 - EosSignedTx = 605 - BinanceGetAddress = 700 - BinanceAddress = 701 - BinanceGetPublicKey = 702 - BinancePublicKey = 703 - BinanceSignTx = 704 - BinanceTxRequest = 705 - BinanceTransferMsg = 706 - BinanceOrderMsg = 707 - BinanceCancelMsg = 708 - BinanceSignedTx = 709 - WebAuthnListResidentCredentials = 800 - WebAuthnCredentials = 801 - WebAuthnAddResidentCredential = 802 - WebAuthnRemoveResidentCredential = 803 - SolanaGetPublicKey = 900 - SolanaPublicKey = 901 - SolanaGetAddress = 902 - SolanaAddress = 903 - SolanaSignTx = 904 - SolanaTxSignature = 905 - BenchmarkListNames = 9100 - BenchmarkNames = 9101 - BenchmarkRun = 9102 - BenchmarkResult = 9103 - - class FailureType(IntEnum): UnexpectedMessage = 1 ButtonExpected = 2 @@ -630,6 +382,254 @@ class TezosBallotType(IntEnum): Pass = 2 +class MessageType(IntEnum): + Initialize = 0 + Ping = 1 + Success = 2 + Failure = 3 + ChangePin = 4 + WipeDevice = 5 + GetEntropy = 9 + Entropy = 10 + LoadDevice = 13 + ResetDevice = 14 + SetBusy = 16 + Features = 17 + PinMatrixRequest = 18 + PinMatrixAck = 19 + Cancel = 20 + LockDevice = 24 + ApplySettings = 25 + ButtonRequest = 26 + ButtonAck = 27 + ApplyFlags = 28 + GetNonce = 31 + Nonce = 33 + BackupDevice = 34 + EntropyRequest = 35 + EntropyAck = 36 + PassphraseRequest = 41 + PassphraseAck = 42 + RecoveryDevice = 45 + WordRequest = 46 + WordAck = 47 + GetFeatures = 55 + SdProtect = 79 + ChangeWipeCode = 82 + EndSession = 83 + DoPreauthorized = 84 + PreauthorizedRequest = 85 + CancelAuthorization = 86 + RebootToBootloader = 87 + GetFirmwareHash = 88 + FirmwareHash = 89 + UnlockPath = 93 + UnlockedPathRequest = 94 + ShowDeviceTutorial = 95 + UnlockBootloader = 96 + AuthenticateDevice = 97 + AuthenticityProof = 98 + ChangeLanguage = 990 + TranslationDataRequest = 991 + TranslationDataAck = 992 + SetBrightness = 993 + SetU2FCounter = 63 + GetNextU2FCounter = 80 + NextU2FCounter = 81 + Deprecated_PassphraseStateRequest = 77 + Deprecated_PassphraseStateAck = 78 + FirmwareErase = 6 + FirmwareUpload = 7 + FirmwareRequest = 8 + ProdTestT1 = 32 + GetPublicKey = 11 + PublicKey = 12 + SignTx = 15 + TxRequest = 21 + TxAck = 22 + GetAddress = 29 + Address = 30 + TxAckPaymentRequest = 37 + SignMessage = 38 + VerifyMessage = 39 + MessageSignature = 40 + GetOwnershipId = 43 + OwnershipId = 44 + GetOwnershipProof = 49 + OwnershipProof = 50 + AuthorizeCoinJoin = 51 + CipherKeyValue = 23 + CipheredKeyValue = 48 + SignIdentity = 53 + SignedIdentity = 54 + GetECDHSessionKey = 61 + ECDHSessionKey = 62 + DebugLinkDecision = 100 + DebugLinkGetState = 101 + DebugLinkState = 102 + DebugLinkStop = 103 + DebugLinkLog = 104 + DebugLinkMemoryRead = 110 + DebugLinkMemory = 111 + DebugLinkMemoryWrite = 112 + DebugLinkFlashErase = 113 + DebugLinkLayout = 9001 + DebugLinkReseedRandom = 9002 + DebugLinkRecordScreen = 9003 + DebugLinkEraseSdCard = 9005 + DebugLinkWatchLayout = 9006 + DebugLinkResetDebugEvents = 9007 + DebugLinkOptigaSetSecMax = 9008 + EthereumGetPublicKey = 450 + EthereumPublicKey = 451 + EthereumGetAddress = 56 + EthereumAddress = 57 + EthereumSignTx = 58 + EthereumSignTxEIP1559 = 452 + EthereumTxRequest = 59 + EthereumTxAck = 60 + EthereumSignMessage = 64 + EthereumVerifyMessage = 65 + EthereumMessageSignature = 66 + EthereumSignTypedData = 464 + EthereumTypedDataStructRequest = 465 + EthereumTypedDataStructAck = 466 + EthereumTypedDataValueRequest = 467 + EthereumTypedDataValueAck = 468 + EthereumTypedDataSignature = 469 + EthereumSignTypedHash = 470 + NEMGetAddress = 67 + NEMAddress = 68 + NEMSignTx = 69 + NEMSignedTx = 70 + NEMDecryptMessage = 75 + NEMDecryptedMessage = 76 + TezosGetAddress = 150 + TezosAddress = 151 + TezosSignTx = 152 + TezosSignedTx = 153 + TezosGetPublicKey = 154 + TezosPublicKey = 155 + StellarSignTx = 202 + StellarTxOpRequest = 203 + StellarGetAddress = 207 + StellarAddress = 208 + StellarCreateAccountOp = 210 + StellarPaymentOp = 211 + StellarPathPaymentStrictReceiveOp = 212 + StellarManageSellOfferOp = 213 + StellarCreatePassiveSellOfferOp = 214 + StellarSetOptionsOp = 215 + StellarChangeTrustOp = 216 + StellarAllowTrustOp = 217 + StellarAccountMergeOp = 218 + StellarManageDataOp = 220 + StellarBumpSequenceOp = 221 + StellarManageBuyOfferOp = 222 + StellarPathPaymentStrictSendOp = 223 + StellarClaimClaimableBalanceOp = 225 + StellarSignedTx = 230 + CardanoGetPublicKey = 305 + CardanoPublicKey = 306 + CardanoGetAddress = 307 + CardanoAddress = 308 + CardanoTxItemAck = 313 + CardanoTxAuxiliaryDataSupplement = 314 + CardanoTxWitnessRequest = 315 + CardanoTxWitnessResponse = 316 + CardanoTxHostAck = 317 + CardanoTxBodyHash = 318 + CardanoSignTxFinished = 319 + CardanoSignTxInit = 320 + CardanoTxInput = 321 + CardanoTxOutput = 322 + CardanoAssetGroup = 323 + CardanoToken = 324 + CardanoTxCertificate = 325 + CardanoTxWithdrawal = 326 + CardanoTxAuxiliaryData = 327 + CardanoPoolOwner = 328 + CardanoPoolRelayParameters = 329 + CardanoGetNativeScriptHash = 330 + CardanoNativeScriptHash = 331 + CardanoTxMint = 332 + CardanoTxCollateralInput = 333 + CardanoTxRequiredSigner = 334 + CardanoTxInlineDatumChunk = 335 + CardanoTxReferenceScriptChunk = 336 + CardanoTxReferenceInput = 337 + RippleGetAddress = 400 + RippleAddress = 401 + RippleSignTx = 402 + RippleSignedTx = 403 + MoneroTransactionInitRequest = 501 + MoneroTransactionInitAck = 502 + MoneroTransactionSetInputRequest = 503 + MoneroTransactionSetInputAck = 504 + MoneroTransactionInputViniRequest = 507 + MoneroTransactionInputViniAck = 508 + MoneroTransactionAllInputsSetRequest = 509 + MoneroTransactionAllInputsSetAck = 510 + MoneroTransactionSetOutputRequest = 511 + MoneroTransactionSetOutputAck = 512 + MoneroTransactionAllOutSetRequest = 513 + MoneroTransactionAllOutSetAck = 514 + MoneroTransactionSignInputRequest = 515 + MoneroTransactionSignInputAck = 516 + MoneroTransactionFinalRequest = 517 + MoneroTransactionFinalAck = 518 + MoneroKeyImageExportInitRequest = 530 + MoneroKeyImageExportInitAck = 531 + MoneroKeyImageSyncStepRequest = 532 + MoneroKeyImageSyncStepAck = 533 + MoneroKeyImageSyncFinalRequest = 534 + MoneroKeyImageSyncFinalAck = 535 + MoneroGetAddress = 540 + MoneroAddress = 541 + MoneroGetWatchKey = 542 + MoneroWatchKey = 543 + DebugMoneroDiagRequest = 546 + DebugMoneroDiagAck = 547 + MoneroGetTxKeyRequest = 550 + MoneroGetTxKeyAck = 551 + MoneroLiveRefreshStartRequest = 552 + MoneroLiveRefreshStartAck = 553 + MoneroLiveRefreshStepRequest = 554 + MoneroLiveRefreshStepAck = 555 + MoneroLiveRefreshFinalRequest = 556 + MoneroLiveRefreshFinalAck = 557 + EosGetPublicKey = 600 + EosPublicKey = 601 + EosSignTx = 602 + EosTxActionRequest = 603 + EosTxActionAck = 604 + EosSignedTx = 605 + BinanceGetAddress = 700 + BinanceAddress = 701 + BinanceGetPublicKey = 702 + BinancePublicKey = 703 + BinanceSignTx = 704 + BinanceTxRequest = 705 + BinanceTransferMsg = 706 + BinanceOrderMsg = 707 + BinanceCancelMsg = 708 + BinanceSignedTx = 709 + WebAuthnListResidentCredentials = 800 + WebAuthnCredentials = 801 + WebAuthnAddResidentCredential = 802 + WebAuthnRemoveResidentCredential = 803 + SolanaGetPublicKey = 900 + SolanaPublicKey = 901 + SolanaGetAddress = 902 + SolanaAddress = 903 + SolanaSignTx = 904 + SolanaTxSignature = 905 + BenchmarkListNames = 9100 + BenchmarkNames = 9101 + BenchmarkRun = 9102 + BenchmarkResult = 9103 + + class BenchmarkListNames(protobuf.MessageType): MESSAGE_WIRE_TYPE = 9100 diff --git a/rust/trezor-client/src/protos/generated/messages.rs b/rust/trezor-client/src/protos/generated/messages.rs index c7ecacb6d28..b9c86ce62d9 100644 --- a/rust/trezor-client/src/protos/generated/messages.rs +++ b/rust/trezor-client/src/protos/generated/messages.rs @@ -1548,206 +1548,174 @@ impl MessageType { } } -/// Extension fields -pub mod exts { - - pub const wire_in: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50002, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); - - pub const wire_out: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50003, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); - - pub const wire_debug_in: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50004, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); - - pub const wire_debug_out: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50005, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); - - pub const wire_tiny: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50006, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); - - pub const wire_bootloader: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50007, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); - - pub const wire_no_fsm: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50008, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); - - pub const bitcoin_only: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(60000, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); - - pub const has_bitcoin_only_values: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(51001, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); - - pub const experimental_message: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::MessageOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(52001, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); - - pub const wire_type: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::MessageOptions, u32> = ::protobuf::ext::ExtFieldOptional::new(52002, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_UINT32); - - pub const internal_only: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::MessageOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(52003, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); - - pub const experimental_field: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::FieldOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(53001, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); - - pub const include_in_bitcoin_only: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::FileOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(60000, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); -} - static file_descriptor_proto_data: &'static [u8] = b"\ - \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\x20google/protobuf/de\ - scriptor.proto*\x81U\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_Success\x10\x02\x1a\x0c\x80\xa6\x1d\x01\xa8\xb5\x18\ - \x01\x98\xb5\x18\x01\x12%\n\x13MessageType_Failure\x10\x03\x1a\x0c\x80\ - \xa6\x1d\x01\xa8\xb5\x18\x01\x98\xb5\x18\x01\x12#\n\x15MessageType_Chang\ - ePin\x10\x04\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageTy\ - pe_WipeDevice\x10\x05\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16\ - MessageType_GetEntropy\x10\t\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12\ - !\n\x13MessageType_Entropy\x10\n\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\ - \x12$\n\x16MessageType_LoadDevice\x10\r\x1a\x08\x80\xa6\x1d\x01\x90\xb5\ - \x18\x01\x12%\n\x17MessageType_ResetDevice\x10\x0e\x1a\x08\x80\xa6\x1d\ - \x01\x90\xb5\x18\x01\x12!\n\x13MessageType_SetBusy\x10\x10\x1a\x08\x80\ - \xa6\x1d\x01\x90\xb5\x18\x01\x12\"\n\x14MessageType_Features\x10\x11\x1a\ - \x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12*\n\x1cMessageType_PinMatrixRequ\ - est\x10\x12\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12.\n\x18MessageTyp\ - e_PinMatrixAck\x10\x13\x1a\x10\xc0\xb5\x18\x01\xb0\xb5\x18\x01\x80\xa6\ - \x1d\x01\x90\xb5\x18\x01\x12$\n\x12MessageType_Cancel\x10\x14\x1a\x0c\ - \x80\xa6\x1d\x01\xb0\xb5\x18\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_L\ - ockDevice\x10\x18\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12'\n\x19Mess\ - ageType_ApplySettings\x10\x19\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\ - \x12'\n\x19MessageType_ButtonRequest\x10\x1a\x1a\x08\x80\xa6\x1d\x01\x98\ - \xb5\x18\x01\x12+\n\x15MessageType_ButtonAck\x10\x1b\x1a\x10\xc0\xb5\x18\ - \x01\xb0\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageTy\ - pe_ApplyFlags\x10\x1c\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12\"\n\ - \x14MessageType_GetNonce\x10\x1f\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\ - \x12\x1f\n\x11MessageType_Nonce\x10!\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\ - \x01\x12&\n\x18MessageType_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_PassphraseReq\ - uest\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_GetF\ - eatures\x107\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12#\n\x15MessageTy\ - pe_SdProtect\x10O\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMess\ - ageType_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_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_CancelAuthorizati\ - on\x10V\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12,\n\x1eMessageType_Re\ - bootToBootloader\x10W\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12)\n\x1b\ - MessageType_GetFirmwareHash\x10X\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\ - \x12&\n\x18MessageType_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_ShowDeviceTutoria\ - l\x10_\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12*\n\x1cMessageType_Unl\ - ockBootloader\x10`\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12,\n\x1eMes\ - sageType_AuthenticateDevice\x10a\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\ - \x12+\n\x1dMessageType_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_TranslationData\ - Request\x10\xdf\x07\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12-\n\x1eMe\ - ssageType_TranslationDataAck\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\x1aMessageTy\ - pe_FirmwareUpload\x10\x07\x1a\x0c\xb8\xb5\x18\x01\x80\xa6\x1d\x01\x90\ - \xb5\x18\x01\x12-\n\x1bMessageType_FirmwareRequest\x10\x08\x1a\x0c\xb8\ - \xb5\x18\x01\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12(\n\x16MessageType_ProdT\ - estT1\x10\x20\x1a\x0c\xb8\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\ - \x12&\n\x18MessageType_GetPublicKey\x10\x0b\x1a\x08\x80\xa6\x1d\x01\x90\ - \xb5\x18\x01\x12#\n\x15MessageType_PublicKey\x10\x0c\x1a\x08\x80\xa6\x1d\ - \x01\x98\xb5\x18\x01\x12\x20\n\x12MessageType_SignTx\x10\x0f\x1a\x08\x80\ - \xa6\x1d\x01\x90\xb5\x18\x01\x12#\n\x15MessageType_TxRequest\x10\x15\x1a\ - \x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12\x1f\n\x11MessageType_TxAck\x10\ - \x16\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_GetAd\ - dress\x10\x1d\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12!\n\x13MessageT\ - ype_Address\x10\x1e\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12)\n\x1fMe\ - ssageType_TxAckPaymentRequest\x10%\x1a\x04\x90\xb5\x18\x01\x12%\n\x17Mes\ - sageType_SignMessage\x10&\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12'\n\ - \x19MessageType_VerifyMessage\x10'\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\ - \x01\x12*\n\x1cMessageType_MessageSignature\x10(\x1a\x08\x80\xa6\x1d\x01\ - \x98\xb5\x18\x01\x12(\n\x1aMessageType_GetOwnershipId\x10+\x1a\x08\x80\ - \xa6\x1d\x01\x90\xb5\x18\x01\x12%\n\x17MessageType_OwnershipId\x10,\x1a\ - \x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12+\n\x1dMessageType_GetOwnershipP\ - roof\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\x1dMe\ - ssageType_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_SignedIdentit\ - y\x106\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12+\n\x1dMessageType_Get\ - ECDHSessionKey\x10=\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMe\ - ssageType_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_D\ - ebugLinkGetState\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_DebugLink\ - MemoryRead\x10n\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12)\n\x1bMessag\ - eType_DebugLinkMemory\x10o\x1a\x08\x80\xa6\x1d\x01\xa8\xb5\x18\x01\x12.\ - \n\x20MessageType_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_DebugLi\ - nkReseedRandom\x10\xaaF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x120\n!M\ - essageType_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_DebugLinkWatchLay\ - out\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_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_EthereumPubli\ - cKey\x10\xc3\x03\x1a\x04\x98\xb5\x18\x01\x12(\n\x1eMessageType_EthereumG\ - etAddress\x108\x1a\x04\x90\xb5\x18\x01\x12%\n\x1bMessageType_EthereumAdd\ - ress\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_EthereumTxReq\ - uest\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_EthereumMessageSignatur\ - e\x10B\x1a\x04\x98\xb5\x18\x01\x12,\n!MessageType_EthereumSignTypedData\ - \x10\xd0\x03\x1a\x04\x90\xb5\x18\x01\x125\n*MessageType_EthereumTypedDat\ - aStructRequest\x10\xd1\x03\x1a\x04\x98\xb5\x18\x01\x121\n&MessageType_Et\ - hereumTypedDataStructAck\x10\xd2\x03\x1a\x04\x90\xb5\x18\x01\x124\n)Mess\ - ageType_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\ - \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_StellarCreateAc\ - countOp\x10\xd2\x01\x1a\x04\x90\xb5\x18\x01\x12'\n\x1cMessageType_Stella\ - rPaymentOp\x10\xd3\x01\x1a\x04\x90\xb5\x18\x01\x128\n-MessageType_Stella\ - rPathPaymentStrictReceiveOp\x10\xd4\x01\x1a\x04\x90\xb5\x18\x01\x12/\n$M\ - essageType_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_StellarAllowTrust\ - Op\x10\xd9\x01\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_StellarAccount\ - MergeOp\x10\xda\x01\x1a\x04\x90\xb5\x18\x01\x12*\n\x1fMessageType_Stella\ - rManageDataOp\x10\xdc\x01\x1a\x04\x90\xb5\x18\x01\x12,\n!MessageType_Ste\ - llarBumpSequenceOp\x10\xdd\x01\x1a\x04\x90\xb5\x18\x01\x12.\n#MessageTyp\ - e_StellarManageBuyOfferOp\x10\xde\x01\x1a\x04\x90\xb5\x18\x01\x125\n*Mes\ - sageType_StellarPathPaymentStrictSendOp\x10\xdf\x01\x1a\x04\x90\xb5\x18\ + \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\roptions.proto*\x81U\ + \n\x0bMessageType\x12(\n\x16MessageType_Initialize\x10\0\x1a\x0c\x80\xa6\ + \x1d\x01\xb0\xb5\x18\x01\x90\xb5\x18\x01\x12\x1e\n\x10MessageType_Ping\ + \x10\x01\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12%\n\x13MessageType_S\ + uccess\x10\x02\x1a\x0c\x80\xa6\x1d\x01\xa8\xb5\x18\x01\x98\xb5\x18\x01\ + \x12%\n\x13MessageType_Failure\x10\x03\x1a\x0c\x80\xa6\x1d\x01\xa8\xb5\ + \x18\x01\x98\xb5\x18\x01\x12#\n\x15MessageType_ChangePin\x10\x04\x1a\x08\ + \x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_WipeDevice\x10\ + \x05\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_GetEn\ + tropy\x10\t\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12!\n\x13MessageTyp\ + e_Entropy\x10\n\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12$\n\x16Messag\ + eType_LoadDevice\x10\r\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12%\n\ + \x17MessageType_ResetDevice\x10\x0e\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\ + \x01\x12!\n\x13MessageType_SetBusy\x10\x10\x1a\x08\x80\xa6\x1d\x01\x90\ + \xb5\x18\x01\x12\"\n\x14MessageType_Features\x10\x11\x1a\x08\x80\xa6\x1d\ + \x01\x98\xb5\x18\x01\x12*\n\x1cMessageType_PinMatrixRequest\x10\x12\x1a\ + \x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12.\n\x18MessageType_PinMatrixAck\ + \x10\x13\x1a\x10\xc0\xb5\x18\x01\xb0\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\ + \x18\x01\x12$\n\x12MessageType_Cancel\x10\x14\x1a\x0c\x80\xa6\x1d\x01\ + \xb0\xb5\x18\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_LockDevice\x10\ + \x18\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12'\n\x19MessageType_Apply\ + Settings\x10\x19\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12'\n\x19Messa\ + geType_ButtonRequest\x10\x1a\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12\ + +\n\x15MessageType_ButtonAck\x10\x1b\x1a\x10\xc0\xb5\x18\x01\xb0\xb5\x18\ + \x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12$\n\x16MessageType_ApplyFlags\ + \x10\x1c\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12\"\n\x14MessageType_\ + GetNonce\x10\x1f\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12\x1f\n\x11Me\ + ssageType_Nonce\x10!\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12&\n\x18M\ + essageType_BackupDevice\x10\"\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\ + \x12(\n\x1aMessageType_EntropyRequest\x10#\x1a\x08\x80\xa6\x1d\x01\x98\ + \xb5\x18\x01\x12$\n\x16MessageType_EntropyAck\x10$\x1a\x08\x80\xa6\x1d\ + \x01\x90\xb5\x18\x01\x12+\n\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\ @@ -1862,28 +1830,8 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \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:<\n\x07wire_in\x18\xd2\x86\x03\x20\x01(\x08\x12!.google.protobu\ - f.EnumValueOptionsR\x06wireIn:>\n\x08wire_out\x18\xd3\x86\x03\x20\x01(\ - \x08\x12!.google.protobuf.EnumValueOptionsR\x07wireOut:G\n\rwire_debug_i\ - n\x18\xd4\x86\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\ - \x0bwireDebugIn:I\n\x0ewire_debug_out\x18\xd5\x86\x03\x20\x01(\x08\x12!.\ - google.protobuf.EnumValueOptionsR\x0cwireDebugOut:@\n\twire_tiny\x18\xd6\ - \x86\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\x08wireTiny\ - :L\n\x0fwire_bootloader\x18\xd7\x86\x03\x20\x01(\x08\x12!.google.protobu\ - f.EnumValueOptionsR\x0ewireBootloader:C\n\x0bwire_no_fsm\x18\xd8\x86\x03\ - \x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\twireNoFsm:F\n\x0cb\ - itcoin_only\x18\xe0\xd4\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueO\ - ptionsR\x0bbitcoinOnly:U\n\x17has_bitcoin_only_values\x18\xb9\x8e\x03\ - \x20\x01(\x08\x12\x1c.google.protobuf.EnumOptionsR\x14hasBitcoinOnlyValu\ - es:T\n\x14experimental_message\x18\xa1\x96\x03\x20\x01(\x08\x12\x1f.goog\ - le.protobuf.MessageOptionsR\x13experimentalMessage:>\n\twire_type\x18\ - \xa2\x96\x03\x20\x01(\r\x12\x1f.google.protobuf.MessageOptionsR\x08wireT\ - ype:F\n\rinternal_only\x18\xa3\x96\x03\x20\x01(\x08\x12\x1f.google.proto\ - buf.MessageOptionsR\x0cinternalOnly:N\n\x12experimental_field\x18\x89\ - \x9e\x03\x20\x01(\x08\x12\x1d.google.protobuf.FieldOptionsR\x11experimen\ - talField:U\n\x17include_in_bitcoin_only\x18\xe0\xd4\x03\x20\x01(\x08\x12\ - \x1c.google.protobuf.FileOptionsR\x14includeInBitcoinOnlyB8\n#com.satosh\ - ilabs.trezor.lib.protobufB\rTrezorMessage\x80\xa6\x1d\x01\ + \xb8\x02B8\n#com.satoshilabs.trezor.lib.protobufB\rTrezorMessage\x80\xa6\ + \x1d\x01\ "; /// `FileDescriptorProto` object which was a source for this generated file @@ -1901,7 +1849,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { file_descriptor.get(|| { let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { let mut deps = ::std::vec::Vec::with_capacity(1); - deps.push(::protobuf::descriptor::file_descriptor().clone()); + deps.push(super::options::file_descriptor().clone()); let mut messages = ::std::vec::Vec::with_capacity(0); let mut enums = ::std::vec::Vec::with_capacity(1); enums.push(MessageType::generated_enum_descriptor_data()); diff --git a/rust/trezor-client/src/protos/generated/messages_bitcoin.rs b/rust/trezor-client/src/protos/generated/messages_bitcoin.rs index ed233a0507a..4cd79fe34fd 100644 --- a/rust/trezor-client/src/protos/generated/messages_bitcoin.rs +++ b/rust/trezor-client/src/protos/generated/messages_bitcoin.rs @@ -13345,17 +13345,17 @@ impl AmountUnit { } static file_descriptor_proto_data: &'static [u8] = b"\ - \n\x16messages-bitcoin.proto\x12\x1ahw.trezor.messages.bitcoin\x1a\x0eme\ - ssages.proto\x1a\x15messages-common.proto\"\xeb\x02\n\x18MultisigRedeemS\ - criptType\x12]\n\x07pubkeys\x18\x01\x20\x03(\x0b2C.hw.trezor.messages.bi\ - tcoin.MultisigRedeemScriptType.HDNodePathTypeR\x07pubkeys\x12\x1e\n\nsig\ - natures\x18\x02\x20\x03(\x0cR\nsignatures\x12\x0c\n\x01m\x18\x03\x20\x02\ - (\rR\x01m\x12;\n\x05nodes\x18\x04\x20\x03(\x0b2%.hw.trezor.messages.comm\ - on.HDNodeTypeR\x05nodes\x12\x1b\n\taddress_n\x18\x05\x20\x03(\rR\x08addr\ - essN\x1ah\n\x0eHDNodePathType\x129\n\x04node\x18\x01\x20\x02(\x0b2%.hw.t\ - rezor.messages.common.HDNodeTypeR\x04node\x12\x1b\n\taddress_n\x18\x02\ - \x20\x03(\rR\x08addressN\"\xa6\x02\n\x0cGetPublicKey\x12\x1b\n\taddress_\ - n\x18\x01\x20\x03(\rR\x08addressN\x12(\n\x10ecdsa_curve_name\x18\x02\x20\ + \n\x16messages-bitcoin.proto\x12\x1ahw.trezor.messages.bitcoin\x1a\x15me\ + ssages-common.proto\x1a\roptions.proto\"\xeb\x02\n\x18MultisigRedeemScri\ + ptType\x12]\n\x07pubkeys\x18\x01\x20\x03(\x0b2C.hw.trezor.messages.bitco\ + in.MultisigRedeemScriptType.HDNodePathTypeR\x07pubkeys\x12\x1e\n\nsignat\ + ures\x18\x02\x20\x03(\x0cR\nsignatures\x12\x0c\n\x01m\x18\x03\x20\x02(\r\ + R\x01m\x12;\n\x05nodes\x18\x04\x20\x03(\x0b2%.hw.trezor.messages.common.\ + HDNodeTypeR\x05nodes\x12\x1b\n\taddress_n\x18\x05\x20\x03(\rR\x08address\ + N\x1ah\n\x0eHDNodePathType\x129\n\x04node\x18\x01\x20\x02(\x0b2%.hw.trez\ + or.messages.common.HDNodeTypeR\x04node\x12\x1b\n\taddress_n\x18\x02\x20\ + \x03(\rR\x08addressN\"\xa6\x02\n\x0cGetPublicKey\x12\x1b\n\taddress_n\ + \x18\x01\x20\x03(\rR\x08addressN\x12(\n\x10ecdsa_curve_name\x18\x02\x20\ \x01(\tR\x0eecdsaCurveName\x12!\n\x0cshow_display\x18\x03\x20\x01(\x08R\ \x0bshowDisplay\x12$\n\tcoin_name\x18\x04\x20\x01(\t:\x07BitcoinR\x08coi\ nName\x12Z\n\x0bscript_type\x18\x05\x20\x01(\x0e2+.hw.trezor.messages.bi\ @@ -13605,8 +13605,8 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { file_descriptor.get(|| { let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { let mut deps = ::std::vec::Vec::with_capacity(2); - deps.push(super::messages::file_descriptor().clone()); deps.push(super::messages_common::file_descriptor().clone()); + deps.push(super::options::file_descriptor().clone()); let mut messages = ::std::vec::Vec::with_capacity(45); messages.push(MultisigRedeemScriptType::generated_message_descriptor_data()); messages.push(GetPublicKey::generated_message_descriptor_data()); diff --git a/rust/trezor-client/src/protos/generated/messages_common.rs b/rust/trezor-client/src/protos/generated/messages_common.rs index 46405da6692..4fd72b22f0b 100644 --- a/rust/trezor-client/src/protos/generated/messages_common.rs +++ b/rust/trezor-client/src/protos/generated/messages_common.rs @@ -2479,14 +2479,14 @@ impl ::protobuf::reflect::ProtobufValue for HDNodeType { } static file_descriptor_proto_data: &'static [u8] = b"\ - \n\x15messages-common.proto\x12\x19hw.trezor.messages.common\x1a\x0emess\ - ages.proto\"%\n\x07Success\x12\x1a\n\x07message\x18\x01\x20\x01(\t:\0R\ - \x07message\"\x8f\x04\n\x07Failure\x12B\n\x04code\x18\x01\x20\x01(\x0e2.\ - .hw.trezor.messages.common.Failure.FailureTypeR\x04code\x12\x18\n\x07mes\ - sage\x18\x02\x20\x01(\tR\x07message\"\xa5\x03\n\x0bFailureType\x12\x1d\n\ - \x19Failure_UnexpectedMessage\x10\x01\x12\x1a\n\x16Failure_ButtonExpecte\ - d\x10\x02\x12\x15\n\x11Failure_DataError\x10\x03\x12\x1b\n\x17Failure_Ac\ - tionCancelled\x10\x04\x12\x17\n\x13Failure_PinExpected\x10\x05\x12\x18\n\ + \n\x15messages-common.proto\x12\x19hw.trezor.messages.common\x1a\roption\ + s.proto\"%\n\x07Success\x12\x1a\n\x07message\x18\x01\x20\x01(\t:\0R\x07m\ + essage\"\x8f\x04\n\x07Failure\x12B\n\x04code\x18\x01\x20\x01(\x0e2..hw.t\ + rezor.messages.common.Failure.FailureTypeR\x04code\x12\x18\n\x07message\ + \x18\x02\x20\x01(\tR\x07message\"\xa5\x03\n\x0bFailureType\x12\x1d\n\x19\ + Failure_UnexpectedMessage\x10\x01\x12\x1a\n\x16Failure_ButtonExpected\ + \x10\x02\x12\x15\n\x11Failure_DataError\x10\x03\x12\x1b\n\x17Failure_Act\ + ionCancelled\x10\x04\x12\x17\n\x13Failure_PinExpected\x10\x05\x12\x18\n\ \x14Failure_PinCancelled\x10\x06\x12\x16\n\x12Failure_PinInvalid\x10\x07\ \x12\x1c\n\x18Failure_InvalidSignature\x10\x08\x12\x18\n\x14Failure_Proc\ essError\x10\t\x12\x1a\n\x16Failure_NotEnoughFunds\x10\n\x12\x1a\n\x16Fa\ @@ -2547,7 +2547,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { file_descriptor.get(|| { let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { let mut deps = ::std::vec::Vec::with_capacity(1); - deps.push(super::messages::file_descriptor().clone()); + deps.push(super::options::file_descriptor().clone()); let mut messages = ::std::vec::Vec::with_capacity(11); messages.push(Success::generated_message_descriptor_data()); messages.push(Failure::generated_message_descriptor_data()); diff --git a/rust/trezor-client/src/protos/generated/messages_crypto.rs b/rust/trezor-client/src/protos/generated/messages_crypto.rs index 70ffec3a856..cf309a754ad 100644 --- a/rust/trezor-client/src/protos/generated/messages_crypto.rs +++ b/rust/trezor-client/src/protos/generated/messages_crypto.rs @@ -2024,22 +2024,22 @@ impl ::protobuf::reflect::ProtobufValue for ECDHSessionKey { } static file_descriptor_proto_data: &'static [u8] = b"\ - \n\x15messages-crypto.proto\x12\x19hw.trezor.messages.crypto\x1a\x0emess\ - ages.proto\"\xcb\x01\n\x0eCipherKeyValue\x12\x1b\n\taddress_n\x18\x01\ - \x20\x03(\rR\x08addressN\x12\x10\n\x03key\x18\x02\x20\x02(\tR\x03key\x12\ - \x14\n\x05value\x18\x03\x20\x02(\x0cR\x05value\x12\x18\n\x07encrypt\x18\ - \x04\x20\x01(\x08R\x07encrypt\x12$\n\x0eask_on_encrypt\x18\x05\x20\x01(\ - \x08R\x0caskOnEncrypt\x12$\n\x0eask_on_decrypt\x18\x06\x20\x01(\x08R\x0c\ - askOnDecrypt\x12\x0e\n\x02iv\x18\x07\x20\x01(\x0cR\x02iv\"(\n\x10Ciphere\ - dKeyValue\x12\x14\n\x05value\x18\x01\x20\x02(\x0cR\x05value\"\x8d\x01\n\ - \x0cIdentityType\x12\x14\n\x05proto\x18\x01\x20\x01(\tR\x05proto\x12\x12\ - \n\x04user\x18\x02\x20\x01(\tR\x04user\x12\x12\n\x04host\x18\x03\x20\x01\ - (\tR\x04host\x12\x12\n\x04port\x18\x04\x20\x01(\tR\x04port\x12\x12\n\x04\ - path\x18\x05\x20\x01(\tR\x04path\x12\x17\n\x05index\x18\x06\x20\x01(\r:\ - \x010R\x05index\"\xd7\x01\n\x0cSignIdentity\x12C\n\x08identity\x18\x01\ - \x20\x02(\x0b2'.hw.trezor.messages.crypto.IdentityTypeR\x08identity\x12+\ - \n\x10challenge_hidden\x18\x02\x20\x01(\x0c:\0R\x0fchallengeHidden\x12+\ - \n\x10challenge_visual\x18\x03\x20\x01(\t:\0R\x0fchallengeVisual\x12(\n\ + \n\x15messages-crypto.proto\x12\x19hw.trezor.messages.crypto\x1a\roption\ + s.proto\"\xcb\x01\n\x0eCipherKeyValue\x12\x1b\n\taddress_n\x18\x01\x20\ + \x03(\rR\x08addressN\x12\x10\n\x03key\x18\x02\x20\x02(\tR\x03key\x12\x14\ + \n\x05value\x18\x03\x20\x02(\x0cR\x05value\x12\x18\n\x07encrypt\x18\x04\ + \x20\x01(\x08R\x07encrypt\x12$\n\x0eask_on_encrypt\x18\x05\x20\x01(\x08R\ + \x0caskOnEncrypt\x12$\n\x0eask_on_decrypt\x18\x06\x20\x01(\x08R\x0caskOn\ + Decrypt\x12\x0e\n\x02iv\x18\x07\x20\x01(\x0cR\x02iv\"(\n\x10CipheredKeyV\ + alue\x12\x14\n\x05value\x18\x01\x20\x02(\x0cR\x05value\"\x8d\x01\n\x0cId\ + entityType\x12\x14\n\x05proto\x18\x01\x20\x01(\tR\x05proto\x12\x12\n\x04\ + user\x18\x02\x20\x01(\tR\x04user\x12\x12\n\x04host\x18\x03\x20\x01(\tR\ + \x04host\x12\x12\n\x04port\x18\x04\x20\x01(\tR\x04port\x12\x12\n\x04path\ + \x18\x05\x20\x01(\tR\x04path\x12\x17\n\x05index\x18\x06\x20\x01(\r:\x010\ + R\x05index\"\xd7\x01\n\x0cSignIdentity\x12C\n\x08identity\x18\x01\x20\ + \x02(\x0b2'.hw.trezor.messages.crypto.IdentityTypeR\x08identity\x12+\n\ + \x10challenge_hidden\x18\x02\x20\x01(\x0c:\0R\x0fchallengeHidden\x12+\n\ + \x10challenge_visual\x18\x03\x20\x01(\t:\0R\x0fchallengeVisual\x12(\n\ \x10ecdsa_curve_name\x18\x04\x20\x01(\tR\x0eecdsaCurveName\"g\n\x0eSigne\ dIdentity\x12\x18\n\x07address\x18\x01\x20\x01(\tR\x07address\x12\x1d\n\ \npublic_key\x18\x02\x20\x02(\x0cR\tpublicKey\x12\x1c\n\tsignature\x18\ @@ -2068,7 +2068,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { file_descriptor.get(|| { let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { let mut deps = ::std::vec::Vec::with_capacity(1); - deps.push(super::messages::file_descriptor().clone()); + deps.push(super::options::file_descriptor().clone()); let mut messages = ::std::vec::Vec::with_capacity(7); messages.push(CipherKeyValue::generated_message_descriptor_data()); messages.push(CipheredKeyValue::generated_message_descriptor_data()); diff --git a/rust/trezor-client/src/protos/generated/messages_debug.rs b/rust/trezor-client/src/protos/generated/messages_debug.rs index e69ec5ec5fd..26d86847020 100644 --- a/rust/trezor-client/src/protos/generated/messages_debug.rs +++ b/rust/trezor-client/src/protos/generated/messages_debug.rs @@ -3558,8 +3558,8 @@ impl ::protobuf::reflect::ProtobufValue for DebugLinkOptigaSetSecMax { } static file_descriptor_proto_data: &'static [u8] = b"\ - \n\x14messages-debug.proto\x12\x18hw.trezor.messages.debug\x1a\x0emessag\ - es.proto\x1a\x15messages-common.proto\x1a\x19messages-management.proto\"\ + \n\x14messages-debug.proto\x12\x18hw.trezor.messages.debug\x1a\x15messag\ + es-common.proto\x1a\x19messages-management.proto\x1a\roptions.proto\"\ \xb0\x04\n\x11DebugLinkDecision\x12O\n\x06button\x18\x01\x20\x01(\x0e27.\ hw.trezor.messages.debug.DebugLinkDecision.DebugButtonR\x06button\x12U\n\ \x05swipe\x18\x02\x20\x01(\x0e2?.hw.trezor.messages.debug.DebugLinkDecis\ @@ -3624,9 +3624,9 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { file_descriptor.get(|| { let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { let mut deps = ::std::vec::Vec::with_capacity(3); - deps.push(super::messages::file_descriptor().clone()); deps.push(super::messages_common::file_descriptor().clone()); deps.push(super::messages_management::file_descriptor().clone()); + deps.push(super::options::file_descriptor().clone()); let mut messages = ::std::vec::Vec::with_capacity(16); messages.push(DebugLinkDecision::generated_message_descriptor_data()); messages.push(DebugLinkLayout::generated_message_descriptor_data()); diff --git a/rust/trezor-client/src/protos/generated/messages_management.rs b/rust/trezor-client/src/protos/generated/messages_management.rs index fd3438c9fd4..7fcecb10d4e 100644 --- a/rust/trezor-client/src/protos/generated/messages_management.rs +++ b/rust/trezor-client/src/protos/generated/messages_management.rs @@ -11086,7 +11086,7 @@ impl RecoveryType { static file_descriptor_proto_data: &'static [u8] = b"\ \n\x19messages-management.proto\x12\x1dhw.trezor.messages.management\x1a\ - \x0emessages.proto\"\x80\x01\n\nInitialize\x12\x1d\n\nsession_id\x18\x01\ + \roptions.proto\"\x80\x01\n\nInitialize\x12\x1d\n\nsession_id\x18\x01\ \x20\x01(\x0cR\tsessionId\x12,\n\x10_skip_passphrase\x18\x02\x20\x01(\ \x08R\x0eSkipPassphraseB\x02\x18\x01\x12%\n\x0ederive_cardano\x18\x03\ \x20\x01(\x08R\rderiveCardano\"\r\n\x0bGetFeatures\"\xd6\x17\n\x08Featur\ @@ -11276,7 +11276,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { file_descriptor.get(|| { let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { let mut deps = ::std::vec::Vec::with_capacity(1); - deps.push(super::messages::file_descriptor().clone()); + deps.push(super::options::file_descriptor().clone()); let mut messages = ::std::vec::Vec::with_capacity(46); messages.push(Initialize::generated_message_descriptor_data()); messages.push(GetFeatures::generated_message_descriptor_data()); diff --git a/rust/trezor-client/src/protos/generated/messages_thp.rs b/rust/trezor-client/src/protos/generated/messages_thp.rs index b42c245b3c8..9e0d8e8aea8 100644 --- a/rust/trezor-client/src/protos/generated/messages_thp.rs +++ b/rust/trezor-client/src/protos/generated/messages_thp.rs @@ -538,9 +538,9 @@ impl ::protobuf::reflect::ProtobufValue for ThpAuthenticatedCredentialData { } static file_descriptor_proto_data: &'static [u8] = b"\ - \n\x12messages-thp.proto\x12\x16hw.trezor.messages.thp\x1a\x0emessages.p\ - roto\":\n\x15ThpCredentialMetadata\x12\x1b\n\thost_name\x18\x01\x20\x01(\ - \tR\x08hostName:\x04\x98\xb2\x19\x01\"\x82\x01\n\x14ThpPairingCredential\ + \n\x12messages-thp.proto\x12\x16hw.trezor.messages.thp\x1a\roptions.prot\ + o\":\n\x15ThpCredentialMetadata\x12\x1b\n\thost_name\x18\x01\x20\x01(\tR\ + \x08hostName:\x04\x98\xb2\x19\x01\"\x82\x01\n\x14ThpPairingCredential\ \x12R\n\rcred_metadata\x18\x01\x20\x01(\x0b2-.hw.trezor.messages.thp.Thp\ CredentialMetadataR\x0ccredMetadata\x12\x10\n\x03mac\x18\x02\x20\x01(\ \x0cR\x03mac:\x04\x98\xb2\x19\x01\"\xa8\x01\n\x1eThpAuthenticatedCredent\ @@ -565,7 +565,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { file_descriptor.get(|| { let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { let mut deps = ::std::vec::Vec::with_capacity(1); - deps.push(super::messages::file_descriptor().clone()); + deps.push(super::options::file_descriptor().clone()); let mut messages = ::std::vec::Vec::with_capacity(3); messages.push(ThpCredentialMetadata::generated_message_descriptor_data()); messages.push(ThpPairingCredential::generated_message_descriptor_data()); diff --git a/rust/trezor-client/src/protos/generated/options.rs b/rust/trezor-client/src/protos/generated/options.rs new file mode 100644 index 00000000000..5d96704fd93 --- /dev/null +++ b/rust/trezor-client/src/protos/generated/options.rs @@ -0,0 +1,127 @@ +// This file is generated by rust-protobuf 3.3.0. Do not edit +// .proto file is parsed by protoc 3.19.6 +// @generated + +// https://github.com/rust-lang/rust-clippy/issues/702 +#![allow(unknown_lints)] +#![allow(clippy::all)] + +#![allow(unused_attributes)] +#![cfg_attr(rustfmt, rustfmt::skip)] + +#![allow(box_pointers)] +#![allow(dead_code)] +#![allow(missing_docs)] +#![allow(non_camel_case_types)] +#![allow(non_snake_case)] +#![allow(non_upper_case_globals)] +#![allow(trivial_casts)] +#![allow(unused_results)] +#![allow(unused_mut)] + +//! Generated file from `options.proto` + +/// Generated files are compatible only with the same version +/// of protobuf runtime. +const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_3_0; + +/// Extension fields +pub mod exts { + + pub const wire_in: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50002, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const wire_out: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50003, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const wire_debug_in: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50004, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const wire_debug_out: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50005, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const wire_tiny: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50006, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const wire_bootloader: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50007, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const wire_no_fsm: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50008, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const channel_in: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50009, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const channel_out: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50010, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const pairing_in: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50011, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const pairing_out: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(50012, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const bitcoin_only: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(60000, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const has_bitcoin_only_values: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(51001, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const experimental_message: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::MessageOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(52001, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const wire_type: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::MessageOptions, u32> = ::protobuf::ext::ExtFieldOptional::new(52002, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_UINT32); + + pub const internal_only: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::MessageOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(52003, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const experimental_field: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::FieldOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(53001, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); + + pub const include_in_bitcoin_only: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::FileOptions, bool> = ::protobuf::ext::ExtFieldOptional::new(60000, ::protobuf::descriptor::field_descriptor_proto::Type::TYPE_BOOL); +} + +static file_descriptor_proto_data: &'static [u8] = b"\ + \n\roptions.proto\x12\x12hw.trezor.messages\x1a\x20google/protobuf/descr\ + iptor.proto:<\n\x07wire_in\x18\xd2\x86\x03\x20\x01(\x08\x12!.google.prot\ + obuf.EnumValueOptionsR\x06wireIn:>\n\x08wire_out\x18\xd3\x86\x03\x20\x01\ + (\x08\x12!.google.protobuf.EnumValueOptionsR\x07wireOut:G\n\rwire_debug_\ + in\x18\xd4\x86\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\ + \x0bwireDebugIn:I\n\x0ewire_debug_out\x18\xd5\x86\x03\x20\x01(\x08\x12!.\ + google.protobuf.EnumValueOptionsR\x0cwireDebugOut:@\n\twire_tiny\x18\xd6\ + \x86\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\x08wireTiny\ + :L\n\x0fwire_bootloader\x18\xd7\x86\x03\x20\x01(\x08\x12!.google.protobu\ + f.EnumValueOptionsR\x0ewireBootloader:C\n\x0bwire_no_fsm\x18\xd8\x86\x03\ + \x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\twireNoFsm:B\n\ncha\ + nnel_in\x18\xd9\x86\x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptio\ + nsR\tchannelIn:D\n\x0bchannel_out\x18\xda\x86\x03\x20\x01(\x08\x12!.goog\ + le.protobuf.EnumValueOptionsR\nchannelOut:B\n\npairing_in\x18\xdb\x86\ + \x03\x20\x01(\x08\x12!.google.protobuf.EnumValueOptionsR\tpairingIn:D\n\ + \x0bpairing_out\x18\xdc\x86\x03\x20\x01(\x08\x12!.google.protobuf.EnumVa\ + lueOptionsR\npairingOut:F\n\x0cbitcoin_only\x18\xe0\xd4\x03\x20\x01(\x08\ + \x12!.google.protobuf.EnumValueOptionsR\x0bbitcoinOnly:U\n\x17has_bitcoi\ + n_only_values\x18\xb9\x8e\x03\x20\x01(\x08\x12\x1c.google.protobuf.EnumO\ + ptionsR\x14hasBitcoinOnlyValues:T\n\x14experimental_message\x18\xa1\x96\ + \x03\x20\x01(\x08\x12\x1f.google.protobuf.MessageOptionsR\x13experimenta\ + lMessage:>\n\twire_type\x18\xa2\x96\x03\x20\x01(\r\x12\x1f.google.protob\ + uf.MessageOptionsR\x08wireType:F\n\rinternal_only\x18\xa3\x96\x03\x20\ + \x01(\x08\x12\x1f.google.protobuf.MessageOptionsR\x0cinternalOnly:N\n\ + \x12experimental_field\x18\x89\x9e\x03\x20\x01(\x08\x12\x1d.google.proto\ + buf.FieldOptionsR\x11experimentalField:U\n\x17include_in_bitcoin_only\ + \x18\xe0\xd4\x03\x20\x01(\x08\x12\x1c.google.protobuf.FileOptionsR\x14in\ + cludeInBitcoinOnlyB4\n#com.satoshilabs.trezor.lib.protobufB\rTrezorOptio\ + ns\ +"; + +/// `FileDescriptorProto` object which was a source for this generated file +fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto { + static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new(); + file_descriptor_proto_lazy.get(|| { + ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap() + }) +} + +/// `FileDescriptor` object which allows dynamic access to files +pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { + static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new(); + static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new(); + file_descriptor.get(|| { + let generated_file_descriptor = generated_file_descriptor_lazy.get(|| { + let mut deps = ::std::vec::Vec::with_capacity(1); + deps.push(::protobuf::descriptor::file_descriptor().clone()); + let mut messages = ::std::vec::Vec::with_capacity(0); + let mut enums = ::std::vec::Vec::with_capacity(0); + ::protobuf::reflect::GeneratedFileDescriptor::new_generated( + file_descriptor_proto(), + deps, + messages, + enums, + ) + }); + ::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor) + }) +} diff --git a/rust/trezor-client/src/protos/mod.rs b/rust/trezor-client/src/protos/mod.rs index 651834353c8..7dd8483f9c4 100644 --- a/rust/trezor-client/src/protos/mod.rs +++ b/rust/trezor-client/src/protos/mod.rs @@ -22,6 +22,7 @@ mod generated { messages_debug messages_management messages_benchmark + options "bitcoin" => messages_bitcoin "ethereum" => messages_ethereum