syntax = "proto2"; package hw.trezor.messages; // Sugar for easier handling in Java option java_package = "com.satoshilabs.trezor.lib.protobuf"; option java_outer_classname = "TrezorOptions"; import "google/protobuf/descriptor.proto"; /** * Options for specifying message direction and type of wire (normal/debug) */ extend google.protobuf.EnumValueOptions { optional bool wire_in = 50002; // message can be transmitted via wire from PC to Trezor optional bool wire_out = 50003; // message can be transmitted via wire from Trezor to PC optional bool wire_debug_in = 50004; // message can be transmitted via debug wire from PC to Trezor optional bool wire_debug_out = 50005; // message can be transmitted via debug wire from Trezor to PC optional bool wire_tiny = 50006; // message is handled by Trezor when the USB stack is in tiny mode optional bool wire_bootloader = 50007; // message is only handled by Trezor Bootloader optional bool wire_no_fsm = 50008; // message is not handled by Trezor unless the USB stack is in tiny mode optional bool channel_in = 50009; optional bool channel_out = 50010; optional bool pairing_in = 50011; optional bool pairing_out = 50012; optional bool bitcoin_only = 60000; // enum value is available on BITCOIN_ONLY build // (messages not marked bitcoin_only will be EXCLUDED) } /** Options for tagging enum types */ extend google.protobuf.EnumOptions { optional bool has_bitcoin_only_values = 51001; // indicate that some values should be excluded on BITCOIN_ONLY builds } /** Options for tagging message types */ extend google.protobuf.MessageOptions { optional bool experimental_message = 52001; // indicate that a message is intended for development and beta testing only and its definition may change at any time optional uint32 wire_type = 52002; // override wire type specified in the MessageType enum optional bool internal_only = 52003; // indicate that a message is intended for internal use only and should not be transmitted via the wire } /** Options for tagging field types */ extend google.protobuf.FieldOptions { optional bool experimental_field = 53001; // indicate that a field is intended for development and beta testing only } /** Options for tagging files with protobuf definitions */ extend google.protobuf.FileOptions { optional bool include_in_bitcoin_only = 60000; // definitions are available on BITCOIN_ONLY build // intentionally identical to `bitcoin_only` from enum }