diff --git a/common/protob/messages-bootloader.proto b/common/protob/messages-bootloader.proto index f41d9cb91..57cff1c77 100644 --- a/common/protob/messages-bootloader.proto +++ b/common/protob/messages-bootloader.proto @@ -35,10 +35,10 @@ message FirmwareUpload { } /** - * Request: Perform a device self-test + * Request: Perform a prodtest on T1 * @next Success * @next Failure */ -message SelfTest { - optional bytes payload = 1; // payload to be used in self-test +message ProdTestT1 { + optional bytes payload = 1; // payload to be used in prodtest } diff --git a/common/protob/messages.proto b/common/protob/messages.proto index 97203f8db..f0a5d0cf5 100644 --- a/common/protob/messages.proto +++ b/common/protob/messages.proto @@ -141,7 +141,7 @@ enum MessageType { MessageType_FirmwareErase = 6 [(bitcoin_only) = true, (wire_in) = true, (wire_bootloader) = true]; MessageType_FirmwareUpload = 7 [(bitcoin_only) = true, (wire_in) = true, (wire_bootloader) = true]; MessageType_FirmwareRequest = 8 [(bitcoin_only) = true, (wire_out) = true, (wire_bootloader) = true]; - MessageType_SelfTest = 32 [(bitcoin_only) = true, (wire_in) = true, (wire_bootloader) = true]; + MessageType_ProdTestT1 = 32 [(bitcoin_only) = true, (wire_in) = true, (wire_bootloader) = true]; // Bitcoin MessageType_GetPublicKey = 11 [(bitcoin_only) = true, (wire_in) = true]; diff --git a/core/src/trezor/enums/MessageType.py b/core/src/trezor/enums/MessageType.py index 6b67595b4..0023ef9f1 100644 --- a/core/src/trezor/enums/MessageType.py +++ b/core/src/trezor/enums/MessageType.py @@ -56,7 +56,7 @@ TranslationDataAck = 992 FirmwareErase = 6 FirmwareUpload = 7 FirmwareRequest = 8 -SelfTest = 32 +ProdTestT1 = 32 GetPublicKey = 11 PublicKey = 12 SignTx = 15 diff --git a/core/src/trezor/enums/__init__.py b/core/src/trezor/enums/__init__.py index bf45a7540..cce49799f 100644 --- a/core/src/trezor/enums/__init__.py +++ b/core/src/trezor/enums/__init__.py @@ -78,7 +78,7 @@ if TYPE_CHECKING: FirmwareErase = 6 FirmwareUpload = 7 FirmwareRequest = 8 - SelfTest = 32 + ProdTestT1 = 32 GetPublicKey = 11 PublicKey = 12 SignTx = 15 diff --git a/python/.changelog.d/3504.changed b/python/.changelog.d/3504.changed new file mode 100644 index 000000000..b04eb4f09 --- /dev/null +++ b/python/.changelog.d/3504.changed @@ -0,0 +1 @@ +Renamed `trezorctl device self-test` command to `trezorctl device prodtest-t1` diff --git a/python/docs/OPTIONS.rst b/python/docs/OPTIONS.rst index 5c2d1e3b0..c0f01ca40 100644 --- a/python/docs/OPTIONS.rst +++ b/python/docs/OPTIONS.rst @@ -57,6 +57,7 @@ on one page here. ping Send ping message. ripple Ripple commands. set Device settings. + solana Solana commands. stellar Stellar commands. tezos Tezos commands. usb-reset Perform USB reset on stuck devices. @@ -211,10 +212,10 @@ Device management commands - setup, recover seed, wipe, etc. authenticate Get information to verify the authenticity of the device. backup Perform device seed backup. load Upload seed and custom configuration to the device. + prodtest-t1 Perform a prodtest on Model One. reboot-to-bootloader Reboot device into bootloader mode. recover Start safe recovery workflow. sd-protect Secure the device with SD card protection. - self-test Perform a factory self-test. set-busy Show a "Do not disconnect" dialog. setup Perform device setup and generate new seed. tutorial Show on-device tutorial. @@ -409,11 +410,33 @@ Device settings. flags Set device flags. homescreen Set new homescreen. label Set new device label. + language Set new language with translations. passphrase Enable, disable or configure passphrase protection. pin Set, change or remove PIN. safety-checks Set safety check level. wipe-code Set or remove the wipe code. +Solana commands. +~~~~~~~~~~~~~~~~ + +.. code:: + + trezorctl solana --help + +.. code:: + + Usage: trezorctl solana [OPTIONS] COMMAND [ARGS]... + + Solana commands. + + Options: + --help Show this message and exit. + + Commands: + get-address Get Solana address. + get-public-key Get Solana public key. + sign-tx Sign Solana transaction. + Stellar commands. ~~~~~~~~~~~~~~~~~ diff --git a/python/src/trezorlib/cli/debug.py b/python/src/trezorlib/cli/debug.py index 741aff2d5..e262b1fea 100644 --- a/python/src/trezorlib/cli/debug.py +++ b/python/src/trezorlib/cli/debug.py @@ -19,7 +19,11 @@ from typing import TYPE_CHECKING, Union import click from .. import mapping, messages, protobuf -from ..debuglink import TrezorClientDebugLink, record_screen +from ..client import TrezorClient +from ..debuglink import TrezorClientDebugLink +from ..debuglink import prodtest_t1 as debuglink_prodtest_t1 +from ..debuglink import record_screen +from . import with_client if TYPE_CHECKING: from . import TrezorConnection @@ -98,3 +102,13 @@ def record_screen_from_connection( debug_client.open() record_screen(debug_client, directory, report_func=click.echo) debug_client.close() + + +@cli.command() +@with_client +def prodtest_t1(client: "TrezorClient") -> str: + """Perform a prodtest on Model One. + + Only available on PRODTEST firmware and on T1B1. Formerly named self-test. + """ + return debuglink_prodtest_t1(client) diff --git a/python/src/trezorlib/cli/device.py b/python/src/trezorlib/cli/device.py index 379e01a00..e8d365da1 100644 --- a/python/src/trezorlib/cli/device.py +++ b/python/src/trezorlib/cli/device.py @@ -51,16 +51,6 @@ def cli() -> None: """Device management commands - setup, recover seed, wipe, etc.""" -@cli.command() -@with_client -def self_test(client: "TrezorClient") -> str: - """Perform a factory self-test. - - Only available on PRODTEST firmware. - """ - return debuglink.self_test(client) - - @cli.command() @click.option( "-b", diff --git a/python/src/trezorlib/cli/trezorctl.py b/python/src/trezorlib/cli/trezorctl.py index e00c965ae..611cbf1a7 100755 --- a/python/src/trezorlib/cli/trezorctl.py +++ b/python/src/trezorlib/cli/trezorctl.py @@ -69,7 +69,7 @@ COMMAND_ALIASES = { "backup-device": device.backup, "sd-protect": device.sd_protect, "load-device": device.load, - "self-test": device.self_test, + "prodtest-t1": debug.prodtest_t1, "get-entropy": crypto.get_entropy, "encrypt-keyvalue": crypto.encrypt_keyvalue, "decrypt-keyvalue": crypto.decrypt_keyvalue, diff --git a/python/src/trezorlib/debuglink.py b/python/src/trezorlib/debuglink.py index 989d6006d..8a15eeda6 100644 --- a/python/src/trezorlib/debuglink.py +++ b/python/src/trezorlib/debuglink.py @@ -1275,12 +1275,12 @@ load_device_by_mnemonic = load_device @expect(messages.Success, field="message", ret_type=str) -def self_test(client: "TrezorClient") -> protobuf.MessageType: +def prodtest_t1(client: "TrezorClient") -> protobuf.MessageType: if client.features.bootloader_mode is not True: raise RuntimeError("Device must be in bootloader mode") return client.call( - messages.SelfTest( + messages.ProdTestT1( payload=b"\x00\xFF\x55\xAA\x66\x99\x33\xCCABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!\x00\xFF\x55\xAA\x66\x99\x33\xCC" ) ) diff --git a/python/src/trezorlib/messages.py b/python/src/trezorlib/messages.py index b2e50c896..05bd146f9 100644 --- a/python/src/trezorlib/messages.py +++ b/python/src/trezorlib/messages.py @@ -86,7 +86,7 @@ class MessageType(IntEnum): FirmwareErase = 6 FirmwareUpload = 7 FirmwareRequest = 8 - SelfTest = 32 + ProdTestT1 = 32 GetPublicKey = 11 PublicKey = 12 SignTx = 15 @@ -2137,7 +2137,7 @@ class FirmwareUpload(protobuf.MessageType): self.hash = hash -class SelfTest(protobuf.MessageType): +class ProdTestT1(protobuf.MessageType): MESSAGE_WIRE_TYPE = 32 FIELDS = { 1: protobuf.Field("payload", "bytes", repeated=False, required=False, default=None), diff --git a/rust/trezor-client/src/messages/generated.rs b/rust/trezor-client/src/messages/generated.rs index db5e13217..f0737a52a 100644 --- a/rust/trezor-client/src/messages/generated.rs +++ b/rust/trezor-client/src/messages/generated.rs @@ -56,7 +56,7 @@ trezor_message_impl! { FirmwareErase => MessageType_FirmwareErase, FirmwareUpload => MessageType_FirmwareUpload, FirmwareRequest => MessageType_FirmwareRequest, - SelfTest => MessageType_SelfTest, + ProdTestT1 => MessageType_ProdTestT1, CipherKeyValue => MessageType_CipherKeyValue, CipheredKeyValue => MessageType_CipheredKeyValue, SignIdentity => MessageType_SignIdentity, diff --git a/rust/trezor-client/src/protos/generated/messages.rs b/rust/trezor-client/src/protos/generated/messages.rs index 6983b8a65..ebd3224f2 100644 --- a/rust/trezor-client/src/protos/generated/messages.rs +++ b/rust/trezor-client/src/protos/generated/messages.rs @@ -142,8 +142,8 @@ pub enum MessageType { MessageType_FirmwareUpload = 7, // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_FirmwareRequest) MessageType_FirmwareRequest = 8, - // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_SelfTest) - MessageType_SelfTest = 32, + // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_ProdTestT1) + MessageType_ProdTestT1 = 32, // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_GetPublicKey) MessageType_GetPublicKey = 11, // @@protoc_insertion_point(enum_value:hw.trezor.messages.MessageType.MessageType_PublicKey) @@ -582,7 +582,7 @@ impl ::protobuf::Enum for MessageType { 6 => ::std::option::Option::Some(MessageType::MessageType_FirmwareErase), 7 => ::std::option::Option::Some(MessageType::MessageType_FirmwareUpload), 8 => ::std::option::Option::Some(MessageType::MessageType_FirmwareRequest), - 32 => ::std::option::Option::Some(MessageType::MessageType_SelfTest), + 32 => ::std::option::Option::Some(MessageType::MessageType_ProdTestT1), 11 => ::std::option::Option::Some(MessageType::MessageType_GetPublicKey), 12 => ::std::option::Option::Some(MessageType::MessageType_PublicKey), 15 => ::std::option::Option::Some(MessageType::MessageType_SignTx), @@ -831,7 +831,7 @@ impl ::protobuf::Enum for MessageType { "MessageType_FirmwareErase" => ::std::option::Option::Some(MessageType::MessageType_FirmwareErase), "MessageType_FirmwareUpload" => ::std::option::Option::Some(MessageType::MessageType_FirmwareUpload), "MessageType_FirmwareRequest" => ::std::option::Option::Some(MessageType::MessageType_FirmwareRequest), - "MessageType_SelfTest" => ::std::option::Option::Some(MessageType::MessageType_SelfTest), + "MessageType_ProdTestT1" => ::std::option::Option::Some(MessageType::MessageType_ProdTestT1), "MessageType_GetPublicKey" => ::std::option::Option::Some(MessageType::MessageType_GetPublicKey), "MessageType_PublicKey" => ::std::option::Option::Some(MessageType::MessageType_PublicKey), "MessageType_SignTx" => ::std::option::Option::Some(MessageType::MessageType_SignTx), @@ -1079,7 +1079,7 @@ impl ::protobuf::Enum for MessageType { MessageType::MessageType_FirmwareErase, MessageType::MessageType_FirmwareUpload, MessageType::MessageType_FirmwareRequest, - MessageType::MessageType_SelfTest, + MessageType::MessageType_ProdTestT1, MessageType::MessageType_GetPublicKey, MessageType::MessageType_PublicKey, MessageType::MessageType_SignTx, @@ -1333,7 +1333,7 @@ impl ::protobuf::EnumFull for MessageType { MessageType::MessageType_FirmwareErase => 54, MessageType::MessageType_FirmwareUpload => 55, MessageType::MessageType_FirmwareRequest => 56, - MessageType::MessageType_SelfTest => 57, + MessageType::MessageType_ProdTestT1 => 57, MessageType::MessageType_GetPublicKey => 58, MessageType::MessageType_PublicKey => 59, MessageType::MessageType_SignTx => 60, @@ -1568,7 +1568,7 @@ pub mod exts { static file_descriptor_proto_data: &'static [u8] = b"\ \n\x0emessages.proto\x12\x12hw.trezor.messages\x1a\x20google/protobuf/de\ - scriptor.proto*\x98T\n\x0bMessageType\x12(\n\x16MessageType_Initialize\ + scriptor.proto*\x9aT\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\ @@ -1636,106 +1636,106 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x80\xa6\x1d\x01\x90\xb5\x18\x01\x12,\n\x1aMessageType_FirmwareUpload\ \x10\x07\x1a\x0c\xb8\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12-\n\ \x1bMessageType_FirmwareRequest\x10\x08\x1a\x0c\xb8\xb5\x18\x01\x80\xa6\ - \x1d\x01\x98\xb5\x18\x01\x12&\n\x14MessageType_SelfTest\x10\x20\x1a\x0c\ - \xb8\xb5\x18\x01\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12&\n\x18MessageType_G\ - etPublicKey\x10\x0b\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12#\n\x15Me\ - ssageType_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_TxAckPaym\ - entRequest\x10%\x1a\x04\x90\xb5\x18\x01\x12%\n\x17MessageType_SignMessag\ - e\x10&\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12'\n\x19MessageType_Ver\ - ifyMessage\x10'\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12*\n\x1cMessag\ - eType_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\x101\x1a\x08\ - \x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMessageType_OwnershipProof\ - \x102\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12+\n\x1dMessageType_Auth\ - orizeCoinJoin\x103\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMes\ - sageType_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_GetECDHSessionKey\ - \x10=\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1aMessageType_ECDH\ - SessionKey\x10>\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\x12$\n\x16Messag\ - eType_CosiCommit\x10G\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\x12(\n\x1a\ - MessageType_CosiCommitment\x10H\x1a\x08\x80\xa6\x1d\x01\x98\xb5\x18\x01\ - \x12\"\n\x14MessageType_CosiSign\x10I\x1a\x08\x80\xa6\x1d\x01\x90\xb5\ - \x18\x01\x12'\n\x19MessageType_CosiSignature\x10J\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_DebugLinkGetState\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_DebugLink\ - Stop\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\x1fMess\ - ageType_DebugLinkMemoryRead\x10n\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\ - \x12)\n\x1bMessageType_DebugLinkMemory\x10o\x1a\x08\x80\xa6\x1d\x01\xa8\ - \xb5\x18\x01\x12.\n\x20MessageType_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_Debu\ - gLinkLayout\x10\xa9F\x1a\x08\x80\xa6\x1d\x01\xa8\xb5\x18\x01\x120\n!Mess\ - ageType_DebugLinkReseedRandom\x10\xaaF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\ - \x18\x01\x120\n!MessageType_DebugLinkRecordScreen\x10\xabF\x1a\x08\x80\ - \xa6\x1d\x01\xa0\xb5\x18\x01\x12/\n\x20MessageType_DebugLinkEraseSdCard\ - \x10\xadF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12/\n\x20MessageType_\ - DebugLinkWatchLayout\x10\xaeF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\ - \x124\n%MessageType_DebugLinkResetDebugEvents\x10\xafF\x1a\x08\x80\xa6\ - \x1d\x01\xa0\xb5\x18\x01\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_EthereumGetAd\ - dress\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\x10\ - B\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\ + \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\x12$\n\ + \x16MessageType_CosiCommit\x10G\x1a\x08\x80\xa6\x1d\x01\x90\xb5\x18\x01\ + \x12(\n\x1aMessageType_CosiCommitment\x10H\x1a\x08\x80\xa6\x1d\x01\x98\ + \xb5\x18\x01\x12\"\n\x14MessageType_CosiSign\x10I\x1a\x08\x80\xa6\x1d\ + \x01\x90\xb5\x18\x01\x12'\n\x19MessageType_CosiSignature\x10J\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_DebugLinkGetState\x10e\x1a\x0c\x80\xa6\ + \x1d\x01\xb0\xb5\x18\x01\xa0\xb5\x18\x01\x12(\n\x1aMessageType_DebugLink\ + State\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\x18Me\ + ssageType_DebugLinkLog\x10h\x1a\x08\x80\xa6\x1d\x01\xa8\xb5\x18\x01\x12-\ + \n\x1fMessageType_DebugLinkMemoryRead\x10n\x1a\x08\x80\xa6\x1d\x01\xa0\ + \xb5\x18\x01\x12)\n\x1bMessageType_DebugLinkMemory\x10o\x1a\x08\x80\xa6\ + \x1d\x01\xa8\xb5\x18\x01\x12.\n\x20MessageType_DebugLinkMemoryWrite\x10p\ + \x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12-\n\x1fMessageType_DebugLink\ + FlashErase\x10q\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12*\n\x1bMessag\ + eType_DebugLinkLayout\x10\xa9F\x1a\x08\x80\xa6\x1d\x01\xa8\xb5\x18\x01\ + \x120\n!MessageType_DebugLinkReseedRandom\x10\xaaF\x1a\x08\x80\xa6\x1d\ + \x01\xa0\xb5\x18\x01\x120\n!MessageType_DebugLinkRecordScreen\x10\xabF\ + \x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12/\n\x20MessageType_DebugLink\ + EraseSdCard\x10\xadF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12/\n\x20M\ + essageType_DebugLinkWatchLayout\x10\xaeF\x1a\x08\x80\xa6\x1d\x01\xa0\xb5\ + \x18\x01\x124\n%MessageType_DebugLinkResetDebugEvents\x10\xafF\x1a\x08\ + \x80\xa6\x1d\x01\xa0\xb5\x18\x01\x12+\n\x20MessageType_EthereumGetPublic\ + Key\x10\xc2\x03\x1a\x04\x90\xb5\x18\x01\x12(\n\x1dMessageType_EthereumPu\ + blicKey\x10\xc3\x03\x1a\x04\x98\xb5\x18\x01\x12(\n\x1eMessageType_Ethere\ + umGetAddress\x108\x1a\x04\x90\xb5\x18\x01\x12%\n\x1bMessageType_Ethereum\ + Address\x109\x1a\x04\x98\xb5\x18\x01\x12$\n\x1aMessageType_EthereumSignT\ + x\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\ \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\ diff --git a/rust/trezor-client/src/protos/generated/messages_bootloader.rs b/rust/trezor-client/src/protos/generated/messages_bootloader.rs index 17c933118..622188a30 100644 --- a/rust/trezor-client/src/protos/generated/messages_bootloader.rs +++ b/rust/trezor-client/src/protos/generated/messages_bootloader.rs @@ -565,25 +565,25 @@ impl ::protobuf::reflect::ProtobufValue for FirmwareUpload { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } -// @@protoc_insertion_point(message:hw.trezor.messages.bootloader.SelfTest) +// @@protoc_insertion_point(message:hw.trezor.messages.bootloader.ProdTestT1) #[derive(PartialEq,Clone,Default,Debug)] -pub struct SelfTest { +pub struct ProdTestT1 { // message fields - // @@protoc_insertion_point(field:hw.trezor.messages.bootloader.SelfTest.payload) + // @@protoc_insertion_point(field:hw.trezor.messages.bootloader.ProdTestT1.payload) pub payload: ::std::option::Option<::std::vec::Vec>, // special fields - // @@protoc_insertion_point(special_field:hw.trezor.messages.bootloader.SelfTest.special_fields) + // @@protoc_insertion_point(special_field:hw.trezor.messages.bootloader.ProdTestT1.special_fields) pub special_fields: ::protobuf::SpecialFields, } -impl<'a> ::std::default::Default for &'a SelfTest { - fn default() -> &'a SelfTest { - ::default_instance() +impl<'a> ::std::default::Default for &'a ProdTestT1 { + fn default() -> &'a ProdTestT1 { + ::default_instance() } } -impl SelfTest { - pub fn new() -> SelfTest { +impl ProdTestT1 { + pub fn new() -> ProdTestT1 { ::std::default::Default::default() } @@ -628,19 +628,19 @@ impl SelfTest { let mut oneofs = ::std::vec::Vec::with_capacity(0); fields.push(::protobuf::reflect::rt::v2::make_option_accessor::<_, _>( "payload", - |m: &SelfTest| { &m.payload }, - |m: &mut SelfTest| { &mut m.payload }, + |m: &ProdTestT1| { &m.payload }, + |m: &mut ProdTestT1| { &mut m.payload }, )); - ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( - "SelfTest", + ::protobuf::reflect::GeneratedMessageDescriptorData::new_2::( + "ProdTestT1", fields, oneofs, ) } } -impl ::protobuf::Message for SelfTest { - const NAME: &'static str = "SelfTest"; +impl ::protobuf::Message for ProdTestT1 { + const NAME: &'static str = "ProdTestT1"; fn is_initialized(&self) -> bool { true @@ -688,8 +688,8 @@ impl ::protobuf::Message for SelfTest { &mut self.special_fields } - fn new() -> SelfTest { - SelfTest::new() + fn new() -> ProdTestT1 { + ProdTestT1::new() } fn clear(&mut self) { @@ -697,8 +697,8 @@ impl ::protobuf::Message for SelfTest { self.special_fields.clear(); } - fn default_instance() -> &'static SelfTest { - static instance: SelfTest = SelfTest { + fn default_instance() -> &'static ProdTestT1 { + static instance: ProdTestT1 = ProdTestT1 { payload: ::std::option::Option::None, special_fields: ::protobuf::SpecialFields::new(), }; @@ -706,20 +706,20 @@ impl ::protobuf::Message for SelfTest { } } -impl ::protobuf::MessageFull for SelfTest { +impl ::protobuf::MessageFull for ProdTestT1 { fn descriptor() -> ::protobuf::reflect::MessageDescriptor { static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new(); - descriptor.get(|| file_descriptor().message_by_package_relative_name("SelfTest").unwrap()).clone() + descriptor.get(|| file_descriptor().message_by_package_relative_name("ProdTestT1").unwrap()).clone() } } -impl ::std::fmt::Display for SelfTest { +impl ::std::fmt::Display for ProdTestT1 { fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { ::protobuf::text_format::fmt(self, f) } } -impl ::protobuf::reflect::ProtobufValue for SelfTest { +impl ::protobuf::reflect::ProtobufValue for ProdTestT1 { type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage; } @@ -729,7 +729,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\ \x0fFirmwareRequest\x12\x16\n\x06offset\x18\x01\x20\x02(\rR\x06offset\ \x12\x16\n\x06length\x18\x02\x20\x02(\rR\x06length\">\n\x0eFirmwareUploa\ d\x12\x18\n\x07payload\x18\x01\x20\x02(\x0cR\x07payload\x12\x12\n\x04has\ - h\x18\x02\x20\x01(\x0cR\x04hash\"$\n\x08SelfTest\x12\x18\n\x07payload\ + h\x18\x02\x20\x01(\x0cR\x04hash\"&\n\nProdTestT1\x12\x18\n\x07payload\ \x18\x01\x20\x01(\x0cR\x07payloadB>\n#com.satoshilabs.trezor.lib.protobu\ fB\x17TrezorMessageBootloader\ "; @@ -753,7 +753,7 @@ pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor { messages.push(FirmwareErase::generated_message_descriptor_data()); messages.push(FirmwareRequest::generated_message_descriptor_data()); messages.push(FirmwareUpload::generated_message_descriptor_data()); - messages.push(SelfTest::generated_message_descriptor_data()); + messages.push(ProdTestT1::generated_message_descriptor_data()); let mut enums = ::std::vec::Vec::with_capacity(0); ::protobuf::reflect::GeneratedFileDescriptor::new_generated( file_descriptor_proto(),