diff --git a/protob/messages-ethereum.proto b/protob/messages-ethereum.proto index d059c14b89..bf14ff11e9 100644 --- a/protob/messages-ethereum.proto +++ b/protob/messages-ethereum.proto @@ -5,6 +5,27 @@ package hw.trezor.messages.ethereum; option java_package = "com.satoshilabs.trezor.lib.protobuf"; option java_outer_classname = "TrezorMessageEthereum"; +/** + * Request: Ask device for public key corresponding to address_n path + * @start + * @next EthereumPublicKey + * @next Failure + */ +message EthereumGetPublicKey { + 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 + optional uint32 chain_id = 3; // eth chain +} + +/** + * Response: Contains public key derived from device private seed + * @end + */ +message EthereumPublicKey { + required hw.trezor.messages.common.HDNodeType node = 1; // BIP32 public node + optional string xpub = 2; // serialized form of public node +} + /** * Request: Ask device for Ethereum address corresponding to address_n path * @start diff --git a/protob/messages.proto b/protob/messages.proto index 3ba33e5ad1..bb838bcf27 100644 --- a/protob/messages.proto +++ b/protob/messages.proto @@ -104,6 +104,8 @@ enum MessageType { MessageType_DebugLinkFlashErase = 113 [(wire_debug_in) = true]; // Ethereum + MessageType_EthereumGetPublicKey = 450 [(wire_in) = true]; + MessageType_EthereumPublicKey = 451 [(wire_out) = true]; MessageType_EthereumGetAddress = 56 [(wire_in) = true]; MessageType_EthereumAddress = 57 [(wire_out) = true]; MessageType_EthereumSignTx = 58 [(wire_in) = true];