github.com/ethereum/go-ethereum@v1.16.1/accounts/usbwallet/trezor/messages.proto (about)

     1  // This file originates from the SatoshiLabs Trezor `common` repository at:
     2  //   https://github.com/trezor/trezor-common/blob/master/protob/messages.proto
     3  // dated 28.05.2019, commit 893fd219d4a01bcffa0cd9cfa631856371ec5aa9.
     4  
     5  syntax = "proto2";
     6  package hw.trezor.messages;
     7  
     8  /**
     9   * Messages for TREZOR communication
    10   */
    11  
    12  option go_package  = "github.com/ethereum/go-ethereum/accounts/usbwallet/trezor";
    13  
    14  // Sugar for easier handling in Java
    15  option java_package = "com.satoshilabs.trezor.lib.protobuf";
    16  option java_outer_classname = "TrezorMessage";
    17  
    18  
    19  import "google/protobuf/descriptor.proto";
    20  
    21  /**
    22   * Options for specifying message direction and type of wire (normal/debug)
    23   */
    24  extend google.protobuf.EnumValueOptions {
    25      optional bool wire_in = 50002;              // message can be transmitted via wire from PC to TREZOR
    26      optional bool wire_out = 50003;             // message can be transmitted via wire from TREZOR to PC
    27      optional bool wire_debug_in = 50004;        // message can be transmitted via debug wire from PC to TREZOR
    28      optional bool wire_debug_out = 50005;       // message can be transmitted via debug wire from TREZOR to PC
    29      optional bool wire_tiny = 50006;            // message is handled by TREZOR when the USB stack is in tiny mode
    30      optional bool wire_bootloader = 50007;      // message is only handled by TREZOR Bootloader
    31      optional bool wire_no_fsm = 50008;          // message is not handled by TREZOR unless the USB stack is in tiny mode
    32  }
    33  
    34  /**
    35   * Mapping between TREZOR wire identifier (uint) and a protobuf message
    36   */
    37  enum MessageType {
    38  
    39      // Management
    40      MessageType_Initialize = 0 [(wire_in) = true, (wire_tiny) = true];
    41      MessageType_Ping = 1 [(wire_in) = true];
    42      MessageType_Success = 2 [(wire_out) = true];
    43      MessageType_Failure = 3 [(wire_out) = true];
    44      MessageType_ChangePin = 4 [(wire_in) = true];
    45      MessageType_WipeDevice = 5 [(wire_in) = true];
    46      MessageType_GetEntropy = 9 [(wire_in) = true];
    47      MessageType_Entropy = 10 [(wire_out) = true];
    48      MessageType_LoadDevice = 13 [(wire_in) = true];
    49      MessageType_ResetDevice = 14 [(wire_in) = true];
    50      MessageType_Features = 17 [(wire_out) = true];
    51      MessageType_PinMatrixRequest = 18 [(wire_out) = true];
    52      MessageType_PinMatrixAck = 19 [(wire_in) = true, (wire_tiny) = true, (wire_no_fsm) = true];
    53      MessageType_Cancel = 20 [(wire_in) = true, (wire_tiny) = true];
    54      MessageType_ClearSession = 24 [(wire_in) = true];
    55      MessageType_ApplySettings = 25 [(wire_in) = true];
    56      MessageType_ButtonRequest = 26 [(wire_out) = true];
    57      MessageType_ButtonAck = 27 [(wire_in) = true, (wire_tiny) = true, (wire_no_fsm) = true];
    58      MessageType_ApplyFlags = 28 [(wire_in) = true];
    59      MessageType_BackupDevice = 34 [(wire_in) = true];
    60      MessageType_EntropyRequest = 35 [(wire_out) = true];
    61      MessageType_EntropyAck = 36 [(wire_in) = true];
    62      MessageType_PassphraseRequest = 41 [(wire_out) = true];
    63      MessageType_PassphraseAck = 42 [(wire_in) = true, (wire_tiny) = true, (wire_no_fsm) = true];
    64      MessageType_PassphraseStateRequest = 77 [(wire_out) = true];
    65      MessageType_PassphraseStateAck = 78 [(wire_in) = true, (wire_tiny) = true, (wire_no_fsm) = true];
    66      MessageType_RecoveryDevice = 45 [(wire_in) = true];
    67      MessageType_WordRequest = 46 [(wire_out) = true];
    68      MessageType_WordAck = 47 [(wire_in) = true];
    69      MessageType_GetFeatures = 55 [(wire_in) = true];
    70      MessageType_SetU2FCounter = 63 [(wire_in) = true];
    71  
    72      // Bootloader
    73      MessageType_FirmwareErase = 6 [(wire_in) = true, (wire_bootloader) = true];
    74      MessageType_FirmwareUpload = 7 [(wire_in) = true, (wire_bootloader) = true];
    75      MessageType_FirmwareRequest = 8 [(wire_out) = true, (wire_bootloader) = true];
    76      MessageType_SelfTest = 32 [(wire_in) = true, (wire_bootloader) = true];
    77  
    78      // Bitcoin
    79      MessageType_GetPublicKey = 11 [(wire_in) = true];
    80      MessageType_PublicKey = 12 [(wire_out) = true];
    81      MessageType_SignTx = 15 [(wire_in) = true];
    82      MessageType_TxRequest = 21 [(wire_out) = true];
    83      MessageType_TxAck = 22 [(wire_in) = true];
    84      MessageType_GetAddress = 29 [(wire_in) = true];
    85      MessageType_Address = 30 [(wire_out) = true];
    86      MessageType_SignMessage = 38 [(wire_in) = true];
    87      MessageType_VerifyMessage = 39 [(wire_in) = true];
    88      MessageType_MessageSignature = 40 [(wire_out) = true];
    89  
    90      // Crypto
    91      MessageType_CipherKeyValue = 23 [(wire_in) = true];
    92      MessageType_CipheredKeyValue = 48 [(wire_out) = true];
    93      MessageType_SignIdentity = 53 [(wire_in) = true];
    94      MessageType_SignedIdentity = 54 [(wire_out) = true];
    95      MessageType_GetECDHSessionKey = 61 [(wire_in) = true];
    96      MessageType_ECDHSessionKey = 62 [(wire_out) = true];
    97      MessageType_CosiCommit = 71 [(wire_in) = true];
    98      MessageType_CosiCommitment = 72 [(wire_out) = true];
    99      MessageType_CosiSign = 73 [(wire_in) = true];
   100      MessageType_CosiSignature = 74 [(wire_out) = true];
   101  
   102      // Debug
   103      MessageType_DebugLinkDecision = 100 [(wire_debug_in) = true, (wire_tiny) = true, (wire_no_fsm) = true];
   104      MessageType_DebugLinkGetState = 101 [(wire_debug_in) = true, (wire_tiny) = true];
   105      MessageType_DebugLinkState = 102 [(wire_debug_out) = true];
   106      MessageType_DebugLinkStop = 103 [(wire_debug_in) = true];
   107      MessageType_DebugLinkLog = 104 [(wire_debug_out) = true];
   108      MessageType_DebugLinkMemoryRead = 110 [(wire_debug_in) = true];
   109      MessageType_DebugLinkMemory = 111 [(wire_debug_out) = true];
   110      MessageType_DebugLinkMemoryWrite = 112 [(wire_debug_in) = true];
   111      MessageType_DebugLinkFlashErase = 113 [(wire_debug_in) = true];
   112  
   113      // Ethereum
   114      MessageType_EthereumGetPublicKey = 450 [(wire_in) = true];
   115      MessageType_EthereumPublicKey = 451 [(wire_out) = true];
   116      MessageType_EthereumGetAddress = 56 [(wire_in) = true];
   117      MessageType_EthereumAddress = 57 [(wire_out) = true];
   118      MessageType_EthereumSignTx = 58 [(wire_in) = true];
   119      MessageType_EthereumTxRequest = 59 [(wire_out) = true];
   120      MessageType_EthereumTxAck = 60 [(wire_in) = true];
   121      MessageType_EthereumSignMessage = 64 [(wire_in) = true];
   122      MessageType_EthereumVerifyMessage = 65 [(wire_in) = true];
   123      MessageType_EthereumMessageSignature = 66 [(wire_out) = true];
   124  
   125      // NEM
   126      MessageType_NEMGetAddress = 67 [(wire_in) = true];
   127      MessageType_NEMAddress = 68 [(wire_out) = true];
   128      MessageType_NEMSignTx = 69 [(wire_in) = true];
   129      MessageType_NEMSignedTx = 70 [(wire_out) = true];
   130      MessageType_NEMDecryptMessage = 75 [(wire_in) = true];
   131      MessageType_NEMDecryptedMessage = 76 [(wire_out) = true];
   132  
   133      // Lisk
   134      MessageType_LiskGetAddress = 114 [(wire_in) = true];
   135      MessageType_LiskAddress = 115 [(wire_out) = true];
   136      MessageType_LiskSignTx = 116 [(wire_in) = true];
   137      MessageType_LiskSignedTx = 117 [(wire_out) = true];
   138      MessageType_LiskSignMessage = 118 [(wire_in) = true];
   139      MessageType_LiskMessageSignature = 119 [(wire_out) = true];
   140      MessageType_LiskVerifyMessage = 120 [(wire_in) = true];
   141      MessageType_LiskGetPublicKey = 121 [(wire_in) = true];
   142      MessageType_LiskPublicKey = 122 [(wire_out) = true];
   143  
   144      // Tezos
   145      MessageType_TezosGetAddress = 150 [(wire_in) = true];
   146      MessageType_TezosAddress = 151 [(wire_out) = true];
   147      MessageType_TezosSignTx = 152 [(wire_in) = true];
   148      MessageType_TezosSignedTx = 153 [(wire_out) = true];
   149      MessageType_TezosGetPublicKey = 154 [(wire_in) = true];
   150      MessageType_TezosPublicKey = 155 [(wire_out) = true];
   151  
   152      // Stellar
   153      MessageType_StellarSignTx = 202 [(wire_in) = true];
   154      MessageType_StellarTxOpRequest = 203 [(wire_out) = true];
   155      MessageType_StellarGetAddress = 207 [(wire_in) = true];
   156      MessageType_StellarAddress = 208 [(wire_out) = true];
   157      MessageType_StellarCreateAccountOp = 210 [(wire_in) = true];
   158      MessageType_StellarPaymentOp = 211 [(wire_in) = true];
   159      MessageType_StellarPathPaymentOp = 212 [(wire_in) = true];
   160      MessageType_StellarManageOfferOp = 213 [(wire_in) = true];
   161      MessageType_StellarCreatePassiveOfferOp = 214 [(wire_in) = true];
   162      MessageType_StellarSetOptionsOp = 215 [(wire_in) = true];
   163      MessageType_StellarChangeTrustOp = 216 [(wire_in) = true];
   164      MessageType_StellarAllowTrustOp = 217 [(wire_in) = true];
   165      MessageType_StellarAccountMergeOp = 218 [(wire_in) = true];
   166      // omitted: StellarInflationOp is not a supported operation, would be 219
   167      MessageType_StellarManageDataOp = 220 [(wire_in) = true];
   168      MessageType_StellarBumpSequenceOp = 221 [(wire_in) = true];
   169      MessageType_StellarSignedTx = 230 [(wire_out) = true];
   170  
   171      // TRON
   172      MessageType_TronGetAddress = 250 [(wire_in) = true];
   173      MessageType_TronAddress = 251 [(wire_out) = true];
   174      MessageType_TronSignTx = 252 [(wire_in) = true];
   175      MessageType_TronSignedTx = 253 [(wire_out) = true];
   176  
   177      // Cardano
   178      // dropped Sign/VerifyMessage ids 300-302
   179      MessageType_CardanoSignTx = 303 [(wire_in) = true];
   180      MessageType_CardanoTxRequest = 304 [(wire_out) = true];
   181      MessageType_CardanoGetPublicKey = 305 [(wire_in) = true];
   182      MessageType_CardanoPublicKey = 306 [(wire_out) = true];
   183      MessageType_CardanoGetAddress = 307 [(wire_in) = true];
   184      MessageType_CardanoAddress = 308 [(wire_out) = true];
   185      MessageType_CardanoTxAck = 309 [(wire_in) = true];
   186      MessageType_CardanoSignedTx = 310 [(wire_out) = true];
   187  
   188      // Ontology
   189      MessageType_OntologyGetAddress = 350 [(wire_in) = true];
   190      MessageType_OntologyAddress = 351 [(wire_out) = true];
   191      MessageType_OntologyGetPublicKey = 352 [(wire_in) = true];
   192      MessageType_OntologyPublicKey = 353 [(wire_out) = true];
   193      MessageType_OntologySignTransfer = 354 [(wire_in) = true];
   194      MessageType_OntologySignedTransfer = 355 [(wire_out) = true];
   195      MessageType_OntologySignWithdrawOng = 356 [(wire_in) = true];
   196      MessageType_OntologySignedWithdrawOng = 357 [(wire_out) = true];
   197      MessageType_OntologySignOntIdRegister = 358 [(wire_in) = true];
   198      MessageType_OntologySignedOntIdRegister = 359 [(wire_out) = true];
   199      MessageType_OntologySignOntIdAddAttributes = 360 [(wire_in) = true];
   200      MessageType_OntologySignedOntIdAddAttributes = 361 [(wire_out) = true];
   201  
   202      // Ripple
   203      MessageType_RippleGetAddress = 400 [(wire_in) = true];
   204      MessageType_RippleAddress = 401 [(wire_out) = true];
   205      MessageType_RippleSignTx = 402 [(wire_in) = true];
   206      MessageType_RippleSignedTx = 403 [(wire_in) = true];
   207  
   208      // Monero
   209      MessageType_MoneroTransactionInitRequest = 501 [(wire_out) = true];
   210      MessageType_MoneroTransactionInitAck = 502 [(wire_out) = true];
   211      MessageType_MoneroTransactionSetInputRequest = 503 [(wire_out) = true];
   212      MessageType_MoneroTransactionSetInputAck = 504 [(wire_out) = true];
   213      MessageType_MoneroTransactionInputsPermutationRequest = 505 [(wire_out) = true];
   214      MessageType_MoneroTransactionInputsPermutationAck = 506 [(wire_out) = true];
   215      MessageType_MoneroTransactionInputViniRequest = 507 [(wire_out) = true];
   216      MessageType_MoneroTransactionInputViniAck = 508 [(wire_out) = true];
   217      MessageType_MoneroTransactionAllInputsSetRequest = 509 [(wire_out) = true];
   218      MessageType_MoneroTransactionAllInputsSetAck = 510 [(wire_out) = true];
   219      MessageType_MoneroTransactionSetOutputRequest = 511 [(wire_out) = true];
   220      MessageType_MoneroTransactionSetOutputAck = 512 [(wire_out) = true];
   221      MessageType_MoneroTransactionAllOutSetRequest = 513 [(wire_out) = true];
   222      MessageType_MoneroTransactionAllOutSetAck = 514 [(wire_out) = true];
   223      MessageType_MoneroTransactionSignInputRequest = 515 [(wire_out) = true];
   224      MessageType_MoneroTransactionSignInputAck = 516 [(wire_out) = true];
   225      MessageType_MoneroTransactionFinalRequest = 517 [(wire_out) = true];
   226      MessageType_MoneroTransactionFinalAck = 518 [(wire_out) = true];
   227      MessageType_MoneroKeyImageExportInitRequest = 530 [(wire_out) = true];
   228      MessageType_MoneroKeyImageExportInitAck = 531 [(wire_out) = true];
   229      MessageType_MoneroKeyImageSyncStepRequest = 532 [(wire_out) = true];
   230      MessageType_MoneroKeyImageSyncStepAck = 533 [(wire_out) = true];
   231      MessageType_MoneroKeyImageSyncFinalRequest = 534 [(wire_out) = true];
   232      MessageType_MoneroKeyImageSyncFinalAck = 535 [(wire_out) = true];
   233      MessageType_MoneroGetAddress = 540 [(wire_in) = true];
   234      MessageType_MoneroAddress = 541 [(wire_out) = true];
   235      MessageType_MoneroGetWatchKey = 542 [(wire_in) = true];
   236      MessageType_MoneroWatchKey = 543 [(wire_out) = true];
   237      MessageType_DebugMoneroDiagRequest = 546 [(wire_in) = true];
   238      MessageType_DebugMoneroDiagAck = 547 [(wire_out) = true];
   239      MessageType_MoneroGetTxKeyRequest = 550 [(wire_in) = true];
   240      MessageType_MoneroGetTxKeyAck = 551 [(wire_out) = true];
   241      MessageType_MoneroLiveRefreshStartRequest = 552 [(wire_in) = true];
   242      MessageType_MoneroLiveRefreshStartAck = 553 [(wire_out) = true];
   243      MessageType_MoneroLiveRefreshStepRequest = 554 [(wire_in) = true];
   244      MessageType_MoneroLiveRefreshStepAck = 555 [(wire_out) = true];
   245      MessageType_MoneroLiveRefreshFinalRequest = 556 [(wire_in) = true];
   246      MessageType_MoneroLiveRefreshFinalAck = 557 [(wire_out) = true];
   247  
   248      // EOS
   249      MessageType_EosGetPublicKey = 600 [(wire_in) = true];
   250      MessageType_EosPublicKey = 601 [(wire_out) = true];
   251      MessageType_EosSignTx = 602 [(wire_in) = true];
   252      MessageType_EosTxActionRequest = 603 [(wire_out) = true];
   253      MessageType_EosTxActionAck = 604 [(wire_in) = true];
   254      MessageType_EosSignedTx = 605 [(wire_out) = true];
   255  
   256      // Binance
   257      MessageType_BinanceGetAddress = 700 [(wire_in) = true];
   258      MessageType_BinanceAddress = 701 [(wire_out) = true];
   259      MessageType_BinanceGetPublicKey = 702 [(wire_in) = true];
   260      MessageType_BinancePublicKey = 703 [(wire_out) = true];
   261      MessageType_BinanceSignTx = 704 [(wire_in) = true];
   262      MessageType_BinanceTxRequest = 705 [(wire_out) = true];
   263      MessageType_BinanceTransferMsg = 706 [(wire_in) = true];
   264      MessageType_BinanceOrderMsg = 707 [(wire_in) = true];
   265      MessageType_BinanceCancelMsg = 708 [(wire_in) = true];
   266      MessageType_BinanceSignedTx = 709 [(wire_out) = true];
   267  }