mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-22 15:38:11 +00:00
protob: update message workflow comments
This commit is contained in:
parent
a5563af0fa
commit
25bc3b4570
@ -1,4 +1,4 @@
|
||||
check: messages.pb messages-bitcoin.pb messages-bootloader.pb messages-cardano.pb messages-crypto.pb messages-debug.pb messages-ethereum.pb messages-lisk.pb messages-management.pb messages-nem.pb messages-stellar.pb messages-tezos.pb
|
||||
check: messages.pb messages-bitcoin.pb messages-bootloader.pb messages-cardano.pb messages-common.pb messages-crypto.pb messages-debug.pb messages-ethereum.pb messages-lisk.pb messages-management.pb messages-nem.pb messages-ripple.pb messages-stellar.pb messages-tezos.pb
|
||||
|
||||
%.pb: %.proto
|
||||
protoc -I/usr/include -I. $< -o $@
|
||||
|
@ -19,6 +19,7 @@ enum InputScriptType {
|
||||
|
||||
/**
|
||||
* Type of redeem script used in input
|
||||
* @embed
|
||||
*/
|
||||
message MultisigRedeemScriptType {
|
||||
repeated HDNodePathType pubkeys = 1; // pubkeys from multisig address (sorted lexicographically)
|
||||
@ -35,7 +36,7 @@ message MultisigRedeemScriptType {
|
||||
|
||||
/**
|
||||
* Request: Ask device for public key corresponding to address_n path
|
||||
* @next PassphraseRequest
|
||||
* @start
|
||||
* @next PublicKey
|
||||
* @next Failure
|
||||
*/
|
||||
@ -48,7 +49,7 @@ message GetPublicKey {
|
||||
|
||||
/**
|
||||
* Response: Contains public key derived from device private seed
|
||||
* @prev GetPublicKey
|
||||
* @end
|
||||
*/
|
||||
message PublicKey {
|
||||
required HDNodeType node = 1; // BIP32 public node
|
||||
@ -57,7 +58,6 @@ message PublicKey {
|
||||
|
||||
/**
|
||||
* Request: Ask device for address corresponding to address_n path
|
||||
* @next PassphraseRequest
|
||||
* @next Address
|
||||
* @next Failure
|
||||
*/
|
||||
@ -71,7 +71,7 @@ message GetAddress {
|
||||
|
||||
/**
|
||||
* Response: Contains address derived from device private seed
|
||||
* @prev GetAddress
|
||||
* @end
|
||||
*/
|
||||
message Address {
|
||||
required string address = 1; // Coin address in Base58 encoding
|
||||
@ -79,6 +79,7 @@ message Address {
|
||||
|
||||
/**
|
||||
* Request: Ask device to sign message
|
||||
* @start
|
||||
* @next MessageSignature
|
||||
* @next Failure
|
||||
*/
|
||||
@ -89,8 +90,18 @@ message SignMessage {
|
||||
optional InputScriptType script_type = 4 [default=SPENDADDRESS]; // used to distinguish between various address formats (non-segwit, segwit, etc.)
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Signed message
|
||||
* @end
|
||||
*/
|
||||
message MessageSignature {
|
||||
optional string address = 1; // address used to sign the message
|
||||
optional bytes signature = 2; // signature of the message
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device to verify message
|
||||
* @start
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
@ -101,19 +112,9 @@ message VerifyMessage {
|
||||
optional string coin_name = 4 [default='Bitcoin']; // coin to use for verifying
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Signed message
|
||||
* @prev SignMessage
|
||||
*/
|
||||
message MessageSignature {
|
||||
optional string address = 1; // address used to sign the message
|
||||
optional bytes signature = 2; // signature of the message
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device to sign transaction
|
||||
* @next PassphraseRequest
|
||||
* @next PinMatrixRequest
|
||||
* @start
|
||||
* @next TxRequest
|
||||
* @next Failure
|
||||
*/
|
||||
@ -131,8 +132,8 @@ message SignTx {
|
||||
* Response: Device asks for information for signing transaction or returns the last result
|
||||
* If request_index is set, device awaits TxAck message (with fields filled in according to request_type)
|
||||
* If signature_index is set, 'signature' contains signed input of signature_index's input
|
||||
* @prev SignTx
|
||||
* @prev TxAck
|
||||
* @end
|
||||
* @next TxAck
|
||||
*/
|
||||
message TxRequest {
|
||||
optional RequestType request_type = 1; // what should be filled in TxAck message?
|
||||
@ -169,7 +170,6 @@ message TxRequest {
|
||||
|
||||
/**
|
||||
* Request: Reported transaction data
|
||||
* @prev TxRequest
|
||||
* @next TxRequest
|
||||
*/
|
||||
message TxAck {
|
||||
|
@ -6,9 +6,8 @@ option java_outer_classname = "TrezorMessageBootloader";
|
||||
|
||||
/**
|
||||
* Request: Ask device to erase its firmware (so it can be replaced via FirmwareUpload)
|
||||
* @next Success
|
||||
* @start
|
||||
* @next FirmwareRequest
|
||||
* @next Failure
|
||||
*/
|
||||
message FirmwareErase {
|
||||
optional uint32 length = 1; // length of new firmware
|
||||
@ -25,6 +24,7 @@ message FirmwareRequest {
|
||||
|
||||
/**
|
||||
* Request: Send firmware in binary form to the device
|
||||
* @next FirmwareRequest
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
|
@ -8,6 +8,7 @@ import "messages-common.proto";
|
||||
|
||||
/**
|
||||
* Request: Ask device for Cardano address
|
||||
* @start
|
||||
* @next CardanoAddress
|
||||
* @next Failure
|
||||
*/
|
||||
@ -18,15 +19,35 @@ message CardanoGetAddress {
|
||||
|
||||
/**
|
||||
* Request: Ask device for Cardano address
|
||||
* @next CardanoAddress
|
||||
* @next Failure
|
||||
* @end
|
||||
*/
|
||||
message CardanoAddress {
|
||||
optional string address = 1; // Base58 cardano address
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device for public key corresponding to address_n path
|
||||
* @start
|
||||
* @next CardanoPublicKey
|
||||
* @next Failure
|
||||
*/
|
||||
message CardanoGetPublicKey {
|
||||
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Contains public key derived from device private seed
|
||||
* @end
|
||||
*/
|
||||
message CardanoPublicKey {
|
||||
optional string xpub = 1; // Xpub key
|
||||
optional HDNodeType node = 2; // BIP-32 public node
|
||||
optional string root_hd_passphrase = 3; // HD passphrase for root in hex format
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device to sign Cardano message
|
||||
* @start
|
||||
* @next CardanoMessageSignature
|
||||
* @next Failure
|
||||
*/
|
||||
@ -35,47 +56,30 @@ message CardanoSignMessage {
|
||||
optional bytes message = 2; // message to be signed
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device for public key corresponding to address_n path
|
||||
* @next CardanoPublicKey
|
||||
* @next Failure
|
||||
*/
|
||||
message CardanoGetPublicKey {
|
||||
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Contains public key derived from device private seed
|
||||
* @prev CardanoGetPublicKey
|
||||
*/
|
||||
message CardanoPublicKey {
|
||||
optional string xpub = 1; // Xpub key
|
||||
optional HDNodeType node = 2; // BIP-32 public node
|
||||
optional string root_hd_passphrase = 3; // HD passphrase for root in hex format
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device to verify Cardano message
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
message CardanoVerifyMessage {
|
||||
optional bytes public_key = 1; // Public key which was used to sign message
|
||||
optional bytes signature = 2; // signature to verify
|
||||
optional bytes message = 3; // message to verify
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Signed Cardano message
|
||||
* @prev CardanoSignMessage
|
||||
* @end
|
||||
*/
|
||||
message CardanoMessageSignature {
|
||||
optional bytes public_key = 1; // public key which was used to sign mesage
|
||||
optional bytes signature = 2; // signature of the message
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device to verify Cardano message
|
||||
* @start
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
message CardanoVerifyMessage {
|
||||
optional bytes public_key = 1; // Public key which was used to sign message
|
||||
optional bytes signature = 2; // signature to verify
|
||||
optional bytes message = 3; // message to verify
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device to sign Cardano transaction
|
||||
* @start
|
||||
* @next CardanoSignedTransaction
|
||||
* @next CardanoTxRequest
|
||||
* @next Failure
|
||||
@ -106,7 +110,6 @@ message CardanoSignTransaction {
|
||||
/**
|
||||
* Response: Serialised signed cardano transaction if tx_index is not specified.
|
||||
* If tx_index is specified, trezor will wait for transaction
|
||||
* @prev CardanoSignTransaction
|
||||
* @next CardanoTxAck
|
||||
*/
|
||||
message CardanoTxRequest {
|
||||
@ -117,7 +120,7 @@ message CardanoTxRequest {
|
||||
|
||||
/**
|
||||
* Response: Serialised signed cardano transaction
|
||||
* @prev CardanoSignTransaction
|
||||
* @end
|
||||
*/
|
||||
message CardanoSignedTransaction {
|
||||
optional bytes tx_hash = 1; // hash of the signed transaction
|
||||
@ -126,7 +129,6 @@ message CardanoSignedTransaction {
|
||||
|
||||
/**
|
||||
* Request: Reported transaction data
|
||||
* @prev CardanoTxRequest
|
||||
* @next CardanoTxRequest
|
||||
*/
|
||||
message CardanoTxAck {
|
||||
|
@ -2,14 +2,16 @@ syntax = "proto2";
|
||||
|
||||
/**
|
||||
* Response: Success of the previous request
|
||||
* @end
|
||||
*/
|
||||
message Success {
|
||||
optional string message = 1; // human readable description of action or request-specific payload
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Failure of the previous request
|
||||
*/
|
||||
* Response: Failure of the previous request
|
||||
* @end
|
||||
*/
|
||||
message Failure {
|
||||
optional FailureType code = 1; // computer-readable definition of the error state
|
||||
optional string message = 2; // human-readable message of the error state
|
||||
@ -32,8 +34,8 @@ message Failure {
|
||||
|
||||
/**
|
||||
* Response: Device is waiting for HW button press.
|
||||
* @auxstart
|
||||
* @next ButtonAck
|
||||
* @next Cancel
|
||||
*/
|
||||
message ButtonRequest {
|
||||
optional ButtonRequestType code = 1;
|
||||
@ -61,15 +63,15 @@ message ButtonRequest {
|
||||
|
||||
/**
|
||||
* Request: Computer agrees to wait for HW button press
|
||||
* @prev ButtonRequest
|
||||
* @auxend
|
||||
*/
|
||||
message ButtonAck {
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Device is asking computer to show PIN matrix and awaits PIN encoded using this matrix scheme
|
||||
* @auxstart
|
||||
* @next PinMatrixAck
|
||||
* @next Cancel
|
||||
*/
|
||||
message PinMatrixRequest {
|
||||
optional PinMatrixRequestType type = 1;
|
||||
@ -85,7 +87,7 @@ message PinMatrixRequest {
|
||||
|
||||
/**
|
||||
* Request: Computer responds with encoded PIN
|
||||
* @prev PinMatrixRequest
|
||||
* @auxend
|
||||
*/
|
||||
message PinMatrixAck {
|
||||
required string pin = 1; // matrix encoded PIN entered by user
|
||||
@ -93,8 +95,8 @@ message PinMatrixAck {
|
||||
|
||||
/**
|
||||
* Response: Device awaits encryption passphrase
|
||||
* @auxstart
|
||||
* @next PassphraseAck
|
||||
* @next Cancel
|
||||
*/
|
||||
message PassphraseRequest {
|
||||
optional bool on_device = 1; // passphrase is being entered on the device
|
||||
@ -102,7 +104,6 @@ message PinMatrixAck {
|
||||
|
||||
/**
|
||||
* Request: Send passphrase back
|
||||
* @prev PassphraseRequest
|
||||
* @next PassphraseStateRequest
|
||||
*/
|
||||
message PassphraseAck {
|
||||
@ -111,7 +112,7 @@ message PassphraseAck {
|
||||
}
|
||||
|
||||
/**
|
||||
* @prev PassphraseAck
|
||||
* Response: Device awaits passphrase state
|
||||
* @next PassphraseStateAck
|
||||
*/
|
||||
message PassphraseStateRequest {
|
||||
@ -119,14 +120,16 @@ message PassphraseStateRequest {
|
||||
}
|
||||
|
||||
/**
|
||||
* @prev PassphraseStateRequest
|
||||
* Request: Send passphrase state back
|
||||
* @auxend
|
||||
*/
|
||||
message PassphraseStateAck {
|
||||
message PassphraseStateAck {
|
||||
}
|
||||
|
||||
/**
|
||||
* Structure representing BIP32 (hierarchical deterministic) node
|
||||
* Used for imports of private key into the device and exporting public key out of device
|
||||
* @embed
|
||||
*/
|
||||
message HDNodeType {
|
||||
required uint32 depth = 1;
|
||||
|
@ -6,6 +6,7 @@ option java_outer_classname = "TrezorMessageCrypto";
|
||||
|
||||
/**
|
||||
* Request: Ask device to encrypt or decrypt value of given key
|
||||
* @start
|
||||
* @next CipheredKeyValue
|
||||
* @next Failure
|
||||
*/
|
||||
@ -21,15 +22,16 @@ message CipherKeyValue {
|
||||
|
||||
/**
|
||||
* Response: Return ciphered/deciphered value
|
||||
* @prev CipherKeyValue
|
||||
* @end
|
||||
*/
|
||||
message CipheredKeyValue {
|
||||
optional bytes value = 1; // ciphered/deciphered value
|
||||
}
|
||||
|
||||
/**
|
||||
* Structure representing identity data
|
||||
*/
|
||||
* Structure representing identity data
|
||||
* @embed
|
||||
*/
|
||||
message IdentityType {
|
||||
optional string proto = 1; // proto part of URI
|
||||
optional string user = 2; // user part of URI
|
||||
@ -41,6 +43,7 @@ message IdentityType {
|
||||
|
||||
/**
|
||||
* Request: Ask device to sign identity
|
||||
* @start
|
||||
* @next SignedIdentity
|
||||
* @next Failure
|
||||
*/
|
||||
@ -53,7 +56,7 @@ message SignIdentity {
|
||||
|
||||
/**
|
||||
* Response: Device provides signed identity
|
||||
* @prev SignIdentity
|
||||
* @end
|
||||
*/
|
||||
message SignedIdentity {
|
||||
optional string address = 1; // identity address
|
||||
@ -63,6 +66,7 @@ message SignedIdentity {
|
||||
|
||||
/**
|
||||
* Request: Ask device to generate ECDH session key
|
||||
* @start
|
||||
* @next ECDHSessionKey
|
||||
* @next Failure
|
||||
*/
|
||||
@ -74,7 +78,7 @@ message GetECDHSessionKey {
|
||||
|
||||
/**
|
||||
* Response: Device provides ECDH session key
|
||||
* @prev GetECDHSessionKey
|
||||
* @end
|
||||
*/
|
||||
message ECDHSessionKey {
|
||||
optional bytes session_key = 1; // ECDH session key
|
||||
@ -82,6 +86,7 @@ message ECDHSessionKey {
|
||||
|
||||
/**
|
||||
* Request: Ask device to commit to CoSi signing
|
||||
* @start
|
||||
* @next CosiCommitment
|
||||
* @next Failure
|
||||
*/
|
||||
@ -92,7 +97,7 @@ message CosiCommit {
|
||||
|
||||
/**
|
||||
* Response: Contains a CoSi commitment
|
||||
* @prev CosiCommit
|
||||
* @end
|
||||
*/
|
||||
message CosiCommitment {
|
||||
optional bytes commitment = 1; // Commitment
|
||||
@ -101,6 +106,7 @@ message CosiCommitment {
|
||||
|
||||
/**
|
||||
* Request: Ask device to sign using CoSi
|
||||
* @start
|
||||
* @next CosiSignature
|
||||
* @next Failure
|
||||
*/
|
||||
@ -113,7 +119,7 @@ message CosiSign {
|
||||
|
||||
/**
|
||||
* Response: Contains a CoSi signature
|
||||
* @prev CosiSign
|
||||
* @end
|
||||
*/
|
||||
message CosiSignature {
|
||||
optional bytes signature = 1; // Signature
|
||||
|
@ -8,6 +8,7 @@ import "messages-common.proto";
|
||||
|
||||
/**
|
||||
* Request: "Press" the button on the device
|
||||
* @start
|
||||
* @next Success
|
||||
*/
|
||||
message DebugLinkDecision {
|
||||
@ -18,6 +19,7 @@ message DebugLinkDecision {
|
||||
|
||||
/**
|
||||
* Request: Computer asks for device state
|
||||
* @start
|
||||
* @next DebugLinkState
|
||||
*/
|
||||
message DebugLinkGetState {
|
||||
@ -25,7 +27,7 @@ message DebugLinkGetState {
|
||||
|
||||
/**
|
||||
* Response: Device current state
|
||||
* @prev DebugLinkGetState
|
||||
* @end
|
||||
*/
|
||||
message DebugLinkState {
|
||||
optional bytes layout = 1; // raw buffer of display
|
||||
@ -43,6 +45,7 @@ message DebugLinkState {
|
||||
|
||||
/**
|
||||
* Request: Ask device to restart
|
||||
* @start
|
||||
*/
|
||||
message DebugLinkStop {
|
||||
}
|
||||
@ -58,6 +61,7 @@ message DebugLinkLog {
|
||||
|
||||
/**
|
||||
* Request: Read memory from device
|
||||
* @start
|
||||
* @next DebugLinkMemory
|
||||
*/
|
||||
message DebugLinkMemoryRead {
|
||||
@ -67,7 +71,7 @@ message DebugLinkMemoryRead {
|
||||
|
||||
/**
|
||||
* Response: Device sends memory back
|
||||
* @prev DebugLinkMemoryRead
|
||||
* @end
|
||||
*/
|
||||
message DebugLinkMemory {
|
||||
optional bytes memory = 1;
|
||||
@ -76,6 +80,9 @@ message DebugLinkMemory {
|
||||
/**
|
||||
* Request: Write memory to device.
|
||||
* WARNING: Writing to the wrong location can irreparably break the device.
|
||||
* @start
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
message DebugLinkMemoryWrite {
|
||||
optional uint32 address = 1;
|
||||
@ -86,6 +93,9 @@ message DebugLinkMemoryWrite {
|
||||
/**
|
||||
* Request: Erase block of flash on device
|
||||
* WARNING: Writing to the wrong location can irreparably break the device.
|
||||
* @start
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
message DebugLinkFlashErase {
|
||||
optional uint32 sector = 1;
|
||||
|
@ -6,7 +6,7 @@ option java_outer_classname = "TrezorMessageEthereum";
|
||||
|
||||
/**
|
||||
* Request: Ask device for Ethereum address corresponding to address_n path
|
||||
* @next PassphraseRequest
|
||||
* @start
|
||||
* @next EthereumAddress
|
||||
* @next Failure
|
||||
*/
|
||||
@ -17,7 +17,7 @@ message EthereumGetAddress {
|
||||
|
||||
/**
|
||||
* Response: Contains an Ethereum address derived from device private seed
|
||||
* @prev EthereumGetAddress
|
||||
* @end
|
||||
*/
|
||||
message EthereumAddress {
|
||||
required bytes address = 1; // Coin address as an Ethereum 160 bit hash
|
||||
@ -27,8 +27,7 @@ message EthereumAddress {
|
||||
* Request: Ask device to sign transaction
|
||||
* All fields are optional from the protocol's point of view. Each field defaults to value `0` if missing.
|
||||
* Note: the first at most 1024 bytes of data MUST be transmitted as part of this message.
|
||||
* @next PassphraseRequest
|
||||
* @next PinMatrixRequest
|
||||
* @start
|
||||
* @next EthereumTxRequest
|
||||
* @next Failure
|
||||
*/
|
||||
@ -49,7 +48,7 @@ message EthereumSignTx {
|
||||
* Response: Device asks for more data from transaction payload, or returns the signature.
|
||||
* If data_length is set, device awaits that many more bytes of payload.
|
||||
* Otherwise, the signature_* fields contain the computed transaction signature. All three fields will be present.
|
||||
* @prev EthereumSignTx
|
||||
* @end
|
||||
* @next EthereumTxAck
|
||||
*/
|
||||
message EthereumTxRequest {
|
||||
@ -61,7 +60,6 @@ message EthereumTxRequest {
|
||||
|
||||
/**
|
||||
* Request: Transaction payload data.
|
||||
* @prev EthereumTxRequest
|
||||
* @next EthereumTxRequest
|
||||
*/
|
||||
message EthereumTxAck {
|
||||
@ -70,6 +68,7 @@ message EthereumTxAck {
|
||||
|
||||
/**
|
||||
* Request: Ask device to sign message
|
||||
* @start
|
||||
* @next EthereumMessageSignature
|
||||
* @next Failure
|
||||
*/
|
||||
@ -78,22 +77,23 @@ message EthereumSignMessage {
|
||||
required bytes message = 2; // message to be signed
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device to verify message
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
message EthereumVerifyMessage {
|
||||
optional bytes address = 1; // address to verify
|
||||
optional bytes signature = 2; // signature to verify
|
||||
optional bytes message = 3; // message to verify
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Signed message
|
||||
* @prev EthereumSignMessage
|
||||
* @end
|
||||
*/
|
||||
message EthereumMessageSignature {
|
||||
optional bytes address = 1; // address used to sign the message
|
||||
optional bytes signature = 2; // signature of the message
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device to verify message
|
||||
* @start
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
message EthereumVerifyMessage {
|
||||
optional bytes address = 1; // address to verify
|
||||
optional bytes signature = 2; // signature to verify
|
||||
optional bytes message = 3; // message to verify
|
||||
}
|
||||
|
@ -4,10 +4,30 @@ syntax = "proto2";
|
||||
option java_package = "com.satoshilabs.trezor.lib.protobuf";
|
||||
option java_outer_classname = "TrezorMessageLisk";
|
||||
|
||||
/**
|
||||
* Request: Ask device for Lisk address corresponding to address_n path
|
||||
* @start
|
||||
* @next LiskAddress
|
||||
* @next Failure
|
||||
*/
|
||||
message LiskGetAddress {
|
||||
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
|
||||
optional bool show_display = 2; // Optionally show on display before sending the result
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Contains Lisk address derived from device private seed
|
||||
* @end
|
||||
*/
|
||||
message LiskAddress {
|
||||
optional string address = 1; // Lisk address
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device for Lisk public key corresponding to address_n path
|
||||
* @start
|
||||
* @next LiskPublicKey
|
||||
*/
|
||||
*/
|
||||
message LiskGetPublicKey {
|
||||
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
|
||||
optional bool show_display = 2; // Optionally show on display before sending the result
|
||||
@ -15,41 +35,24 @@ message LiskGetPublicKey {
|
||||
|
||||
/**
|
||||
* Response: Contains Lisk public key derived from device private seed
|
||||
* @prev LiskGetPublicKey
|
||||
*/
|
||||
* @end
|
||||
*/
|
||||
message LiskPublicKey {
|
||||
optional bytes public_key = 1; // Lisk public key
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device for Lisk address corresponding to address_n path
|
||||
* @next PassphraseRequest
|
||||
* @next LiskAddress
|
||||
* @next Failure
|
||||
*/
|
||||
message LiskGetAddress {
|
||||
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
|
||||
optional bool show_display = 2; // Optionally show on display before sending the result
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Contains Lisk address derived from device private seed
|
||||
* @prev LiskGetAddress
|
||||
*/
|
||||
message LiskAddress {
|
||||
optional string address = 1; // Lisk address
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device to sign Lisk transaction
|
||||
* @start
|
||||
* @next LiskSignedTx
|
||||
* @next Failure
|
||||
*/
|
||||
message LiskSignTx {
|
||||
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
|
||||
optional LiskTransactionCommon transaction = 2; // Lisk transaction structure
|
||||
/**
|
||||
* Structure representing the common part for Lisk transactions
|
||||
*/
|
||||
* Structure representing the common part for Lisk transactions
|
||||
*/
|
||||
message LiskTransactionCommon {
|
||||
optional LiskTransactionType type = 1;
|
||||
optional uint64 amount = 2 [default=0];
|
||||
@ -61,8 +64,8 @@ message LiskSignTx {
|
||||
optional uint32 timestamp = 8;
|
||||
optional LiskTransactionAsset asset = 9;
|
||||
/**
|
||||
* Type of Lisk transaction
|
||||
*/
|
||||
* Type of Lisk transaction
|
||||
*/
|
||||
enum LiskTransactionType {
|
||||
Transfer = 0;
|
||||
RegisterSecondPassphrase = 1;
|
||||
@ -74,8 +77,8 @@ message LiskSignTx {
|
||||
TransferOutOfDapp = 7;
|
||||
}
|
||||
/**
|
||||
* Structure representing the asset field in the Lisk transaction
|
||||
*/
|
||||
* Structure representing the asset field in the Lisk transaction
|
||||
*/
|
||||
message LiskTransactionAsset {
|
||||
optional LiskSignatureType signature = 1;
|
||||
optional LiskDelegateType delegate = 2;
|
||||
@ -83,20 +86,20 @@ message LiskSignTx {
|
||||
optional LiskMultisignatureType multisignature = 4;
|
||||
optional string data = 5;
|
||||
/**
|
||||
* Structure representing the signature field in the Lisk transaction asset field
|
||||
*/
|
||||
* Structure representing the signature field in the Lisk transaction asset field
|
||||
*/
|
||||
message LiskSignatureType {
|
||||
optional bytes public_key = 1;
|
||||
}
|
||||
/**
|
||||
* Structure representing the delegate field in the Lisk transaction asset field
|
||||
*/
|
||||
* Structure representing the delegate field in the Lisk transaction asset field
|
||||
*/
|
||||
message LiskDelegateType {
|
||||
optional string username = 1;
|
||||
}
|
||||
/**
|
||||
* Structure representing the multisignature field in the Lisk transaction asset field
|
||||
*/
|
||||
* Structure representing the multisignature field in the Lisk transaction asset field
|
||||
*/
|
||||
message LiskMultisignatureType {
|
||||
optional uint32 min = 1;
|
||||
optional uint32 life_time = 2;
|
||||
@ -107,37 +110,39 @@ message LiskSignTx {
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Contains Lisk transaction signature
|
||||
* @prev LiskSignTx
|
||||
*/
|
||||
* Response: Contains Lisk transaction signature
|
||||
* @end
|
||||
*/
|
||||
message LiskSignedTx {
|
||||
optional bytes signature = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device to sign message
|
||||
* @next LiskMessageSignature
|
||||
* @next Failure
|
||||
*/
|
||||
* Request: Ask device to sign message
|
||||
* @start
|
||||
* @next LiskMessageSignature
|
||||
* @next Failure
|
||||
*/
|
||||
message LiskSignMessage {
|
||||
repeated uint32 address_n = 1;
|
||||
optional bytes message = 2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Signed message
|
||||
* @prev LiskSignMessage
|
||||
*/
|
||||
* Response: Signed message
|
||||
* @end
|
||||
*/
|
||||
message LiskMessageSignature {
|
||||
optional bytes public_key = 1;
|
||||
optional bytes signature = 2;
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device to verify message
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
* Request: Ask device to verify message
|
||||
* @start
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
message LiskVerifyMessage {
|
||||
optional bytes public_key = 1;
|
||||
optional bytes signature = 2;
|
||||
|
@ -8,6 +8,7 @@ import "messages-common.proto";
|
||||
|
||||
/**
|
||||
* Request: Reset device to default state and ask for device details
|
||||
* @start
|
||||
* @next Features
|
||||
*/
|
||||
message Initialize {
|
||||
@ -17,6 +18,7 @@ message Initialize {
|
||||
|
||||
/**
|
||||
* Request: Ask for device details (no device reset)
|
||||
* @start
|
||||
* @next Features
|
||||
*/
|
||||
message GetFeatures {
|
||||
@ -24,8 +26,7 @@ message GetFeatures {
|
||||
|
||||
/**
|
||||
* Response: Reports various information about the device
|
||||
* @prev Initialize
|
||||
* @prev GetFeatures
|
||||
* @end
|
||||
*/
|
||||
message Features {
|
||||
optional string vendor = 1; // name of the manufacturer, e.g. "trezor.io"
|
||||
@ -58,6 +59,7 @@ message Features {
|
||||
|
||||
/**
|
||||
* Request: clear session (removes cached PIN, passphrase, etc).
|
||||
* @start
|
||||
* @next Success
|
||||
*/
|
||||
message ClearSession {
|
||||
@ -65,10 +67,9 @@ message ClearSession {
|
||||
|
||||
/**
|
||||
* Request: change language and/or label of the device
|
||||
* @start
|
||||
* @next Success
|
||||
* @next Failure
|
||||
* @next ButtonRequest
|
||||
* @next PinMatrixRequest
|
||||
*/
|
||||
message ApplySettings {
|
||||
optional string language = 1;
|
||||
@ -89,6 +90,7 @@ message ApplySettings {
|
||||
|
||||
/**
|
||||
* Request: set flags of the device
|
||||
* @start
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
@ -98,8 +100,9 @@ message ApplyFlags {
|
||||
|
||||
/**
|
||||
* Request: Starts workflow for setting/changing/removing the PIN
|
||||
* @next ButtonRequest
|
||||
* @next PinMatrixRequest
|
||||
* @start
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
message ChangePin {
|
||||
optional bool remove = 1; // is PIN removal requested?
|
||||
@ -107,6 +110,7 @@ message ChangePin {
|
||||
|
||||
/**
|
||||
* Request: Test if the device is alive, device sends back the message in Success response
|
||||
* @start
|
||||
* @next Success
|
||||
*/
|
||||
message Ping {
|
||||
@ -118,16 +122,14 @@ message Ping {
|
||||
|
||||
/**
|
||||
* Request: Abort last operation that required user interaction
|
||||
* @prev ButtonRequest
|
||||
* @prev PinMatrixRequest
|
||||
* @prev PassphraseRequest
|
||||
* @start
|
||||
*/
|
||||
message Cancel {
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Request a sample of random data generated by hardware RNG. May be used for testing.
|
||||
* @next ButtonRequest
|
||||
* @start
|
||||
* @next Entropy
|
||||
* @next Failure
|
||||
*/
|
||||
@ -137,7 +139,7 @@ message GetEntropy {
|
||||
|
||||
/**
|
||||
* Response: Reply with random data generated by internal RNG
|
||||
* @prev GetEntropy
|
||||
* @end
|
||||
*/
|
||||
message Entropy {
|
||||
required bytes entropy = 1; // chunk of random generated bytes
|
||||
@ -145,14 +147,16 @@ message Entropy {
|
||||
|
||||
/**
|
||||
* Request: Request device to wipe all sensitive data and settings
|
||||
* @next ButtonRequest
|
||||
* @start
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
message WipeDevice {
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Load seed and related internal settings from the computer
|
||||
* @next ButtonRequest
|
||||
* @start
|
||||
* @next Success
|
||||
* @next Failure
|
||||
*/
|
||||
@ -169,6 +173,7 @@ message LoadDevice {
|
||||
|
||||
/**
|
||||
* Request: Ask device to do initialization involving user interaction
|
||||
* @start
|
||||
* @next EntropyRequest
|
||||
* @next Failure
|
||||
*/
|
||||
@ -185,14 +190,14 @@ message ResetDevice {
|
||||
|
||||
/**
|
||||
* Request: Perform backup of the device seed if not backed up using ResetDevice
|
||||
* @next ButtonRequest
|
||||
* @start
|
||||
* @next Success
|
||||
*/
|
||||
message BackupDevice {
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Ask for additional entropy from host computer
|
||||
* @prev ResetDevice
|
||||
* @next EntropyAck
|
||||
*/
|
||||
message EntropyRequest {
|
||||
@ -200,8 +205,7 @@ message EntropyRequest {
|
||||
|
||||
/**
|
||||
* Request: Provide additional entropy for seed generation function
|
||||
* @prev EntropyRequest
|
||||
* @next ButtonRequest
|
||||
* @next Success
|
||||
*/
|
||||
message EntropyAck {
|
||||
optional bytes entropy = 1; // 256 bits (32 bytes) of random data
|
||||
@ -210,6 +214,7 @@ message EntropyAck {
|
||||
/**
|
||||
* Request: Start recovery workflow asking user for specific words of mnemonic
|
||||
* Used to recovery device safely even on untrusted computer.
|
||||
* @start
|
||||
* @next WordRequest
|
||||
*/
|
||||
message RecoveryDevice {
|
||||
@ -241,8 +246,7 @@ message RecoveryDevice {
|
||||
/**
|
||||
* Response: Device is waiting for user to enter word of the mnemonic
|
||||
* Its position is shown only on device's internal display.
|
||||
* @prev RecoveryDevice
|
||||
* @prev WordAck
|
||||
* @next WordAck
|
||||
*/
|
||||
message WordRequest {
|
||||
optional WordRequestType type = 1;
|
||||
@ -258,7 +262,6 @@ message WordRequest {
|
||||
|
||||
/**
|
||||
* Request: Computer replies with word from the mnemonic
|
||||
* @prev WordRequest
|
||||
* @next WordRequest
|
||||
* @next Success
|
||||
* @next Failure
|
||||
@ -269,6 +272,7 @@ message WordAck {
|
||||
|
||||
/**
|
||||
* Request: Set U2F counter
|
||||
* @start
|
||||
* @next Success
|
||||
*/
|
||||
message SetU2FCounter {
|
||||
|
@ -6,7 +6,7 @@ option java_outer_classname = "TrezorMessageNem";
|
||||
|
||||
/**
|
||||
* Request: Ask device for NEM address corresponding to address_n path
|
||||
* @next PassphraseRequest
|
||||
* @start
|
||||
* @next NEMAddress
|
||||
* @next Failure
|
||||
*/
|
||||
@ -18,7 +18,7 @@ message NEMGetAddress {
|
||||
|
||||
/**
|
||||
* Response: Contains NEM address derived from device private seed
|
||||
* @prev NEMGetAddress
|
||||
* @end
|
||||
*/
|
||||
message NEMAddress {
|
||||
required string address = 1; // NEM address in Base32 encoding
|
||||
@ -26,6 +26,7 @@ message NEMAddress {
|
||||
|
||||
/**
|
||||
* Request: Ask device to sign transaction
|
||||
* @start
|
||||
* @next NEMSignedTx
|
||||
* @next Failure
|
||||
*/
|
||||
@ -167,7 +168,7 @@ message NEMSignTx {
|
||||
|
||||
/**
|
||||
* Response: Contains NEM transaction data and signature
|
||||
* @prev NEMSignTx
|
||||
* @end
|
||||
*/
|
||||
message NEMSignedTx {
|
||||
optional bytes data = 1; // Transaction data
|
||||
@ -176,6 +177,7 @@ message NEMSignedTx {
|
||||
|
||||
/**
|
||||
* Request: Ask device to decrypt NEM transaction payload
|
||||
* @start
|
||||
* @next NEMDecryptedMessage
|
||||
* @next Failure
|
||||
*/
|
||||
@ -188,7 +190,7 @@ message NEMDecryptMessage {
|
||||
|
||||
/**
|
||||
* Response: Contains decrypted NEM transaction payload
|
||||
* @prev NEMDecryptMessage
|
||||
* @end
|
||||
*/
|
||||
message NEMDecryptedMessage {
|
||||
optional bytes payload = 1; // Actual message data (unencrypted)
|
||||
|
@ -6,6 +6,7 @@ option java_outer_classname = "TrezorMessageRipple";
|
||||
|
||||
/**
|
||||
* Request: Address at the specified index
|
||||
* @start
|
||||
* @next RippleAddress
|
||||
*/
|
||||
message RippleGetAddress {
|
||||
@ -15,7 +16,7 @@ message RippleGetAddress {
|
||||
|
||||
/**
|
||||
* Response: Address for the given index
|
||||
* @prev RippleGetAddress
|
||||
* @end
|
||||
*/
|
||||
message RippleAddress {
|
||||
optional string address = 1; // Address in Ripple format (base58 of a pubkey with checksum)
|
||||
@ -23,6 +24,7 @@ message RippleAddress {
|
||||
|
||||
/**
|
||||
* Request: ask device to sign Ripple transaction
|
||||
* @start
|
||||
* @next RippleSignedTx
|
||||
*/
|
||||
message RippleSignTx {
|
||||
@ -47,7 +49,7 @@ message RippleSignTx {
|
||||
|
||||
/**
|
||||
* Response: signature for transaction
|
||||
* @prev RippleSignTx
|
||||
* @end
|
||||
*/
|
||||
message RippleSignedTx {
|
||||
optional bytes signature = 1;
|
||||
|
@ -6,6 +6,7 @@ option java_outer_classname = "TrezorMessageStellar";
|
||||
|
||||
/**
|
||||
* Describes a Stellar asset
|
||||
* @embed
|
||||
*/
|
||||
message StellarAssetType {
|
||||
optional uint32 type = 1; // 0 = native asset (XLM), 1 = alphanum 4, 2 = alphanum 12
|
||||
@ -13,25 +14,9 @@ message StellarAssetType {
|
||||
optional string issuer = 3; // issuing address
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Public key at the specified index
|
||||
* @next StellarPublicKey
|
||||
*/
|
||||
message StellarGetPublicKey {
|
||||
repeated uint32 address_n = 1; // BIP-32 path. For compatibility with other wallets, must be m/44'/148'/index'
|
||||
optional bool show_display = 2; // optionally show on display before sending the result
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Public key for the given index
|
||||
* @prev StellarGetPublicKey
|
||||
*/
|
||||
message StellarPublicKey {
|
||||
optional bytes public_key = 1; // Raw bytes of the public key (no version or checksum)
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Address at the specified index
|
||||
* @start
|
||||
* @next StellarAddress
|
||||
*/
|
||||
message StellarGetAddress {
|
||||
@ -41,12 +26,30 @@ message StellarGetAddress {
|
||||
|
||||
/**
|
||||
* Response: Address for the given index
|
||||
* @prev StellarGetAddress
|
||||
* @end
|
||||
*/
|
||||
message StellarAddress {
|
||||
optional string address = 1; // Address in Stellar format (base32 of a pubkey with checksum)
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Public key at the specified index
|
||||
* @start
|
||||
* @next StellarPublicKey
|
||||
*/
|
||||
message StellarGetPublicKey {
|
||||
repeated uint32 address_n = 1; // BIP-32 path. For compatibility with other wallets, must be m/44'/148'/index'
|
||||
optional bool show_display = 2; // optionally show on display before sending the result
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Public key for the given index
|
||||
* @end
|
||||
*/
|
||||
message StellarPublicKey {
|
||||
optional bytes public_key = 1; // Raw bytes of the public key (no version or checksum)
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: ask device to sign Stellar transaction
|
||||
* @next StellarTxOpRequest
|
||||
@ -68,7 +71,6 @@ message StellarSignTx {
|
||||
|
||||
/**
|
||||
* Response: device is ready for client to send the next operation
|
||||
* @prev StellarSignTx
|
||||
* @next StellarPaymentOp
|
||||
* @next StellarCreateAccountOp
|
||||
* @next StellarPathPaymentOp
|
||||
@ -86,7 +88,6 @@ message StellarTxOpRequest {
|
||||
|
||||
/**
|
||||
* Request: ask device to confirm this operation type
|
||||
* @prev StellarTxOpRequest
|
||||
* @next StellarTxOpRequest
|
||||
* @next StellarSignedTx
|
||||
*/
|
||||
@ -99,7 +100,6 @@ message StellarPaymentOp {
|
||||
|
||||
/**
|
||||
* Request: ask device to confirm this operation type
|
||||
* @prev StellarTxOpRequest
|
||||
* @next StellarTxOpRequest
|
||||
* @next StellarSignedTx
|
||||
*/
|
||||
@ -111,7 +111,6 @@ message StellarCreateAccountOp {
|
||||
|
||||
/**
|
||||
* Request: ask device to confirm this operation type
|
||||
* @prev StellarTxOpRequest
|
||||
* @next StellarTxOpRequest
|
||||
* @next StellarSignedTx
|
||||
*/
|
||||
@ -127,7 +126,6 @@ message StellarPathPaymentOp {
|
||||
|
||||
/**
|
||||
* Request: ask device to confirm this operation type
|
||||
* @prev StellarTxOpRequest
|
||||
* @next StellarTxOpRequest
|
||||
* @next StellarSignedTx
|
||||
*/
|
||||
@ -143,7 +141,6 @@ message StellarManageOfferOp {
|
||||
|
||||
/**
|
||||
* Request: ask device to confirm this operation type
|
||||
* @prev StellarTxOpRequest
|
||||
* @next StellarTxOpRequest
|
||||
* @next StellarSignedTx
|
||||
*/
|
||||
@ -158,7 +155,6 @@ message StellarCreatePassiveOfferOp {
|
||||
|
||||
/**
|
||||
* Request: ask device to confirm this operation type
|
||||
* @prev StellarTxOpRequest
|
||||
* @next StellarTxOpRequest
|
||||
* @next StellarSignedTx
|
||||
*/
|
||||
@ -179,7 +175,6 @@ message StellarSetOptionsOp {
|
||||
|
||||
/**
|
||||
* Request: ask device to confirm this operation type
|
||||
* @prev StellarTxOpRequest
|
||||
* @next StellarTxOpRequest
|
||||
* @next StellarSignedTx
|
||||
*/
|
||||
@ -191,7 +186,6 @@ message StellarChangeTrustOp {
|
||||
|
||||
/**
|
||||
* Request: ask device to confirm this operation type
|
||||
* @prev StellarTxOpRequest
|
||||
* @next StellarTxOpRequest
|
||||
* @next StellarSignedTx
|
||||
*/
|
||||
@ -205,7 +199,6 @@ message StellarAllowTrustOp {
|
||||
|
||||
/**
|
||||
* Request: ask device to confirm this operation type
|
||||
* @prev StellarTxOpRequest
|
||||
* @next StellarTxOpRequest
|
||||
* @next StellarSignedTx
|
||||
*/
|
||||
@ -216,7 +209,6 @@ message StellarAccountMergeOp {
|
||||
|
||||
/**
|
||||
* Request: ask device to confirm this operation type
|
||||
* @prev StellarTxOpRequest
|
||||
* @next StellarTxOpRequest
|
||||
* @next StellarSignedTx
|
||||
*/
|
||||
@ -228,7 +220,6 @@ message StellarManageDataOp {
|
||||
|
||||
/**
|
||||
* Request: ask device to confirm this operation type
|
||||
* @prev StellarTxOpRequest
|
||||
* @next StellarTxOpRequest
|
||||
* @next StellarSignedTx
|
||||
*/
|
||||
@ -239,17 +230,7 @@ message StellarBumpSequenceOp {
|
||||
|
||||
/**
|
||||
* Response: signature for transaction
|
||||
* @prev StellarPaymentOp
|
||||
* @prev StellarCreateAccountOp
|
||||
* @prev StellarPathPaymentOp
|
||||
* @prev StellarManageOfferOp
|
||||
* @prev StellarCreatePassiveOfferOp
|
||||
* @prev StellarSetOptionsOp
|
||||
* @prev StellarChangeTrustOp
|
||||
* @prev StellarAllowTrustOp
|
||||
* @prev StellarAccountMergeOp
|
||||
* @prev StellarManageDataOp
|
||||
* @prev StellarBumpSequenceOp
|
||||
* @end
|
||||
*/
|
||||
message StellarSignedTx {
|
||||
optional bytes public_key = 1; // public key for the private key used to sign data
|
||||
|
@ -6,7 +6,7 @@ option java_outer_classname = "TrezorMessageTezos";
|
||||
|
||||
/**
|
||||
* Request: Ask device for Tezos address corresponding to address_n path
|
||||
* @next PassphraseRequest
|
||||
* @start
|
||||
* @next TezosAddress
|
||||
* @next Failure
|
||||
*/
|
||||
@ -17,14 +17,33 @@ message TezosGetAddress {
|
||||
|
||||
/**
|
||||
* Response: Contains Tezos address derived from device private seed
|
||||
* @prev TezosGetAddress
|
||||
* @end
|
||||
*/
|
||||
message TezosAddress {
|
||||
optional string address = 1; // Coin address in Base58 encoding
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device for Tezos public key corresponding to address_n path
|
||||
* @start
|
||||
* @next TezosPublicKey
|
||||
*/
|
||||
message TezosGetPublicKey {
|
||||
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
|
||||
optional bool show_display = 2; // Optionally show on display before sending the result
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Contains Tezos public key derived from device private seed
|
||||
* @end
|
||||
*/
|
||||
message TezosPublicKey {
|
||||
optional bytes public_key = 1; // Tezos public key
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device to sign Tezos transaction
|
||||
* @start
|
||||
* @next TezosSignedTx
|
||||
*/
|
||||
message TezosSignTx {
|
||||
@ -95,28 +114,11 @@ message TezosSignTx {
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Contains Tezos transaction signature
|
||||
* @prev TezosSignTx
|
||||
*/
|
||||
* Response: Contains Tezos transaction signature
|
||||
* @end
|
||||
*/
|
||||
message TezosSignedTx {
|
||||
optional bytes signature = 1; // Tezos transaction signature
|
||||
optional bytes sig_op_contents = 2; // Signed operation contents
|
||||
optional string operation_hash = 3; // b58 check encoded blake2b hashed operation contents
|
||||
}
|
||||
|
||||
/**
|
||||
* Request: Ask device for Tezos public key corresponding to address_n path
|
||||
* @next TezosPublicKey
|
||||
*/
|
||||
message TezosGetPublicKey {
|
||||
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
|
||||
optional bool show_display = 2; // Optionally show on display before sending the result
|
||||
}
|
||||
|
||||
/**
|
||||
* Response: Contains Tezos public key derived from device private seed
|
||||
* @prev TezosGetPublicKey
|
||||
*/
|
||||
message TezosPublicKey {
|
||||
optional bytes public_key = 1; // Tezos public key
|
||||
}
|
||||
|
@ -155,7 +155,7 @@ enum MessageType {
|
||||
MessageType_StellarChangeTrustOp = 216 [(wire_in) = true];
|
||||
MessageType_StellarAllowTrustOp = 217 [(wire_in) = true];
|
||||
MessageType_StellarAccountMergeOp = 218 [(wire_in) = true];
|
||||
// Omitted: inflation is not a supported operation, would be 219
|
||||
// omitted: StellarInflationOp is not a supported operation, would be 219
|
||||
MessageType_StellarManageDataOp = 220 [(wire_in) = true];
|
||||
MessageType_StellarBumpSequenceOp = 221 [(wire_in) = true];
|
||||
MessageType_StellarSignedTx = 230 [(wire_out) = true];
|
||||
|
Loading…
Reference in New Issue
Block a user