parent
e42e87174f
commit
5be6d07693
@ -0,0 +1,60 @@
|
||||
syntax = "proto2";
|
||||
package hw.trezor.messages.ethereum_definitions;
|
||||
|
||||
// Sugar for easier handling in Java
|
||||
option java_package = "com.satoshilabs.trezor.lib.protobuf";
|
||||
option java_outer_classname = "TrezorMessageEthereumDefinitions";
|
||||
|
||||
|
||||
/**
|
||||
* Ethereum definitions type enum.
|
||||
* Used to check the encoded EthereumNetworkInfo or EthereumTokenInfo message.
|
||||
*/
|
||||
enum EthereumDefinitionType {
|
||||
NETWORK = 0;
|
||||
TOKEN = 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ethereum network definition. Used to (de)serialize the definition.
|
||||
*
|
||||
* Definition types should not be cross-parseable, i.e., it should not be possible to
|
||||
* incorrectly parse network info as token info or vice versa.
|
||||
* To achieve that, the first field is wire type varint while the second field is wire type
|
||||
* length-delimited. Both are a mismatch for the token definition.
|
||||
*
|
||||
* @embed
|
||||
*/
|
||||
message EthereumNetworkInfo {
|
||||
required uint64 chain_id = 1;
|
||||
required string symbol = 2;
|
||||
required uint32 slip44 = 3;
|
||||
required string name = 4;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ethereum token definition. Used to (de)serialize the definition.
|
||||
*
|
||||
* Definition types should not be cross-parseable, i.e., it should not be possible to
|
||||
* incorrectly parse network info as token info or vice versa.
|
||||
* To achieve that, the first field is wire type length-delimited while the second field
|
||||
* is wire type varint. Both are a mismatch for the network definition.
|
||||
*
|
||||
* @embed
|
||||
*/
|
||||
message EthereumTokenInfo {
|
||||
required bytes address = 1;
|
||||
required uint64 chain_id = 2;
|
||||
required string symbol = 3;
|
||||
required uint32 decimals = 4;
|
||||
required string name = 5;
|
||||
}
|
||||
|
||||
/**
|
||||
* Contains an encoded Ethereum network and/or token definition. See ethereum-definitions.md for details.
|
||||
* @embed
|
||||
*/
|
||||
message EthereumDefinitions {
|
||||
optional bytes encoded_network = 1; // encoded Ethereum network
|
||||
optional bytes encoded_token = 2; // encoded Ethereum token
|
||||
}
|
Loading…
Reference in new issue