|
|
|
@ -72,6 +72,9 @@ enum MessageType {
|
|
|
|
|
MessageType_GetECDHSessionKey = 61 [(wire_in) = true];
|
|
|
|
|
MessageType_ECDHSessionKey = 62 [(wire_out) = true];
|
|
|
|
|
MessageType_SetU2FCounter = 63 [(wire_in) = true];
|
|
|
|
|
MessageType_EthereumSignMessage = 64 [(wire_in) = true];
|
|
|
|
|
MessageType_EthereumVerifyMessage = 65 [(wire_in) = true];
|
|
|
|
|
MessageType_EthereumMessageSignature = 66 [(wire_out) = true];
|
|
|
|
|
MessageType_DebugLinkDecision = 100 [(wire_debug_in) = true, (wire_tiny) = true];
|
|
|
|
|
MessageType_DebugLinkGetState = 101 [(wire_debug_in) = true];
|
|
|
|
|
MessageType_DebugLinkState = 102 [(wire_debug_out) = true];
|
|
|
|
@ -659,6 +662,40 @@ message EthereumTxAck {
|
|
|
|
|
optional bytes data_chunk = 1; // Bytes from transaction payload (<= 1024 bytes)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////////
|
|
|
|
|
// Ethereum: Message signing messages //
|
|
|
|
|
////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Request: Ask device to sign message
|
|
|
|
|
* @next EthereumMessageSignature
|
|
|
|
|
* @next Failure
|
|
|
|
|
*/
|
|
|
|
|
message EthereumSignMessage {
|
|
|
|
|
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
|
|
|
|
|
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
|
|
|
|
|
*/
|
|
|
|
|
message EthereumMessageSignature {
|
|
|
|
|
optional bytes address = 1; // address used to sign the message
|
|
|
|
|
optional bytes signature = 2; // signature of the message
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
///////////////////////
|
|
|
|
|
// Identity messages //
|
|
|
|
|
///////////////////////
|
|
|
|
|