diff --git a/pkg/pb/bbgo.pb.go b/pkg/pb/bbgo.pb.go index 2e8ae9e26..1c5d10584 100644 --- a/pkg/pb/bbgo.pb.go +++ b/pkg/pb/bbgo.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.27.1 -// protoc v3.19.4 -// source: bbgo.proto +// protoc-gen-go v1.26.0 +// protoc v3.19.3 +// source: pkg/pb/bbgo.proto package pb @@ -20,6 +20,241 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type Event int32 + +const ( + Event_UNKNOWN Event = 0 + Event_SUBSCRIBED Event = 1 + Event_UNSUBSCRIBED Event = 2 + Event_SNAPSHOT Event = 3 + Event_UPDATE Event = 4 + Event_AUTHENTICATED Event = 5 + Event_ORDER_SNAPSHOT Event = 6 + Event_ORDER_UPDATE Event = 7 + Event_TRADE_SNAPSHOT Event = 8 + Event_TRADE_UPDATE Event = 9 + Event_ACCOUNT_SNAPSHOT Event = 10 + Event_ACCOUNT_UPDATE Event = 11 + Event_ERROR Event = 99 +) + +// Enum value maps for Event. +var ( + Event_name = map[int32]string{ + 0: "UNKNOWN", + 1: "SUBSCRIBED", + 2: "UNSUBSCRIBED", + 3: "SNAPSHOT", + 4: "UPDATE", + 5: "AUTHENTICATED", + 6: "ORDER_SNAPSHOT", + 7: "ORDER_UPDATE", + 8: "TRADE_SNAPSHOT", + 9: "TRADE_UPDATE", + 10: "ACCOUNT_SNAPSHOT", + 11: "ACCOUNT_UPDATE", + 99: "ERROR", + } + Event_value = map[string]int32{ + "UNKNOWN": 0, + "SUBSCRIBED": 1, + "UNSUBSCRIBED": 2, + "SNAPSHOT": 3, + "UPDATE": 4, + "AUTHENTICATED": 5, + "ORDER_SNAPSHOT": 6, + "ORDER_UPDATE": 7, + "TRADE_SNAPSHOT": 8, + "TRADE_UPDATE": 9, + "ACCOUNT_SNAPSHOT": 10, + "ACCOUNT_UPDATE": 11, + "ERROR": 99, + } +) + +func (x Event) Enum() *Event { + p := new(Event) + *p = x + return p +} + +func (x Event) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Event) Descriptor() protoreflect.EnumDescriptor { + return file_pkg_pb_bbgo_proto_enumTypes[0].Descriptor() +} + +func (Event) Type() protoreflect.EnumType { + return &file_pkg_pb_bbgo_proto_enumTypes[0] +} + +func (x Event) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Event.Descriptor instead. +func (Event) EnumDescriptor() ([]byte, []int) { + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{0} +} + +type Channel int32 + +const ( + Channel_BOOK Channel = 0 + Channel_TRADE Channel = 1 + Channel_TICKER Channel = 2 + Channel_USER Channel = 3 +) + +// Enum value maps for Channel. +var ( + Channel_name = map[int32]string{ + 0: "BOOK", + 1: "TRADE", + 2: "TICKER", + 3: "USER", + } + Channel_value = map[string]int32{ + "BOOK": 0, + "TRADE": 1, + "TICKER": 2, + "USER": 3, + } +) + +func (x Channel) Enum() *Channel { + p := new(Channel) + *p = x + return p +} + +func (x Channel) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Channel) Descriptor() protoreflect.EnumDescriptor { + return file_pkg_pb_bbgo_proto_enumTypes[1].Descriptor() +} + +func (Channel) Type() protoreflect.EnumType { + return &file_pkg_pb_bbgo_proto_enumTypes[1] +} + +func (x Channel) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Channel.Descriptor instead. +func (Channel) EnumDescriptor() ([]byte, []int) { + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{1} +} + +type Side int32 + +const ( + Side_BUY Side = 0 + Side_SELL Side = 1 +) + +// Enum value maps for Side. +var ( + Side_name = map[int32]string{ + 0: "BUY", + 1: "SELL", + } + Side_value = map[string]int32{ + "BUY": 0, + "SELL": 1, + } +) + +func (x Side) Enum() *Side { + p := new(Side) + *p = x + return p +} + +func (x Side) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Side) Descriptor() protoreflect.EnumDescriptor { + return file_pkg_pb_bbgo_proto_enumTypes[2].Descriptor() +} + +func (Side) Type() protoreflect.EnumType { + return &file_pkg_pb_bbgo_proto_enumTypes[2] +} + +func (x Side) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Side.Descriptor instead. +func (Side) EnumDescriptor() ([]byte, []int) { + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{2} +} + +type OrderType int32 + +const ( + OrderType_MARKET OrderType = 0 + OrderType_LIMIT OrderType = 1 + OrderType_STOP_MARKET OrderType = 2 + OrderType_STOP_LIMIT OrderType = 3 + OrderType_POST_ONLY OrderType = 4 + OrderType_IOC_LIMIT OrderType = 5 +) + +// Enum value maps for OrderType. +var ( + OrderType_name = map[int32]string{ + 0: "MARKET", + 1: "LIMIT", + 2: "STOP_MARKET", + 3: "STOP_LIMIT", + 4: "POST_ONLY", + 5: "IOC_LIMIT", + } + OrderType_value = map[string]int32{ + "MARKET": 0, + "LIMIT": 1, + "STOP_MARKET": 2, + "STOP_LIMIT": 3, + "POST_ONLY": 4, + "IOC_LIMIT": 5, + } +) + +func (x OrderType) Enum() *OrderType { + p := new(OrderType) + *p = x + return p +} + +func (x OrderType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (OrderType) Descriptor() protoreflect.EnumDescriptor { + return file_pkg_pb_bbgo_proto_enumTypes[3].Descriptor() +} + +func (OrderType) Type() protoreflect.EnumType { + return &file_pkg_pb_bbgo_proto_enumTypes[3] +} + +func (x OrderType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use OrderType.Descriptor instead. +func (OrderType) EnumDescriptor() ([]byte, []int) { + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{3} +} + type Empty struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -29,7 +264,7 @@ type Empty struct { func (x *Empty) Reset() { *x = Empty{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[0] + mi := &file_pkg_pb_bbgo_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -42,7 +277,7 @@ func (x *Empty) String() string { func (*Empty) ProtoMessage() {} func (x *Empty) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[0] + mi := &file_pkg_pb_bbgo_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -55,7 +290,7 @@ func (x *Empty) ProtoReflect() protoreflect.Message { // Deprecated: Use Empty.ProtoReflect.Descriptor instead. func (*Empty) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{0} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{0} } type Error struct { @@ -70,7 +305,7 @@ type Error struct { func (x *Error) Reset() { *x = Error{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[1] + mi := &file_pkg_pb_bbgo_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -83,7 +318,7 @@ func (x *Error) String() string { func (*Error) ProtoMessage() {} func (x *Error) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[1] + mi := &file_pkg_pb_bbgo_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96,7 +331,7 @@ func (x *Error) ProtoReflect() protoreflect.Message { // Deprecated: Use Error.ProtoReflect.Descriptor instead. func (*Error) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{1} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{1} } func (x *Error) GetErrorCode() int64 { @@ -124,7 +359,7 @@ type SubscribeRequest struct { func (x *SubscribeRequest) Reset() { *x = SubscribeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[2] + mi := &file_pkg_pb_bbgo_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -137,7 +372,7 @@ func (x *SubscribeRequest) String() string { func (*SubscribeRequest) ProtoMessage() {} func (x *SubscribeRequest) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[2] + mi := &file_pkg_pb_bbgo_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -150,7 +385,7 @@ func (x *SubscribeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubscribeRequest.ProtoReflect.Descriptor instead. func (*SubscribeRequest) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{2} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{2} } func (x *SubscribeRequest) GetSubscriptions() []*Subscription { @@ -165,16 +400,16 @@ type Subscription struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Exchange string `protobuf:"bytes,1,opt,name=exchange,proto3" json:"exchange,omitempty"` - Channel string `protobuf:"bytes,2,opt,name=channel,proto3" json:"channel,omitempty"` // book, trade, ticker - Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` - Depth int64 `protobuf:"varint,4,opt,name=depth,proto3" json:"depth,omitempty"` + Exchange string `protobuf:"bytes,1,opt,name=exchange,proto3" json:"exchange,omitempty"` + Channel Channel `protobuf:"varint,2,opt,name=channel,proto3,enum=pb.Channel" json:"channel,omitempty"` // book, trade, ticker + Symbol string `protobuf:"bytes,3,opt,name=symbol,proto3" json:"symbol,omitempty"` + Depth int64 `protobuf:"varint,4,opt,name=depth,proto3" json:"depth,omitempty"` } func (x *Subscription) Reset() { *x = Subscription{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[3] + mi := &file_pkg_pb_bbgo_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -187,7 +422,7 @@ func (x *Subscription) String() string { func (*Subscription) ProtoMessage() {} func (x *Subscription) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[3] + mi := &file_pkg_pb_bbgo_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -200,7 +435,7 @@ func (x *Subscription) ProtoReflect() protoreflect.Message { // Deprecated: Use Subscription.ProtoReflect.Descriptor instead. func (*Subscription) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{3} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{3} } func (x *Subscription) GetExchange() string { @@ -210,11 +445,11 @@ func (x *Subscription) GetExchange() string { return "" } -func (x *Subscription) GetChannel() string { +func (x *Subscription) GetChannel() Channel { if x != nil { return x.Channel } - return "" + return Channel_BOOK } func (x *Subscription) GetSymbol() string { @@ -238,8 +473,8 @@ type SubscribeResponse struct { Exchange string `protobuf:"bytes,1,opt,name=exchange,proto3" json:"exchange,omitempty"` Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` - Channel string `protobuf:"bytes,3,opt,name=channel,proto3" json:"channel,omitempty"` // book, trade, ticker, user - Event string `protobuf:"bytes,4,opt,name=event,proto3" json:"event,omitempty"` // snapshot, update, order_snapshot, ... + Channel Channel `protobuf:"varint,3,opt,name=channel,proto3,enum=pb.Channel" json:"channel,omitempty"` // book, trade, ticker, user + Event Event `protobuf:"varint,4,opt,name=event,proto3,enum=pb.Event" json:"event,omitempty"` // snapshot, update, order_snapshot, ... Depth *Depth `protobuf:"bytes,5,opt,name=depth,proto3" json:"depth,omitempty"` Trades []*Trade `protobuf:"bytes,6,rep,name=trades,proto3" json:"trades,omitempty"` Ticker *Ticker `protobuf:"bytes,7,opt,name=ticker,proto3" json:"ticker,omitempty"` @@ -252,7 +487,7 @@ type SubscribeResponse struct { func (x *SubscribeResponse) Reset() { *x = SubscribeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[4] + mi := &file_pkg_pb_bbgo_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -265,7 +500,7 @@ func (x *SubscribeResponse) String() string { func (*SubscribeResponse) ProtoMessage() {} func (x *SubscribeResponse) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[4] + mi := &file_pkg_pb_bbgo_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -278,7 +513,7 @@ func (x *SubscribeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SubscribeResponse.ProtoReflect.Descriptor instead. func (*SubscribeResponse) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{4} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{4} } func (x *SubscribeResponse) GetExchange() string { @@ -295,18 +530,18 @@ func (x *SubscribeResponse) GetSymbol() string { return "" } -func (x *SubscribeResponse) GetChannel() string { +func (x *SubscribeResponse) GetChannel() Channel { if x != nil { return x.Channel } - return "" + return Channel_BOOK } -func (x *SubscribeResponse) GetEvent() string { +func (x *SubscribeResponse) GetEvent() Event { if x != nil { return x.Event } - return "" + return Event_UNKNOWN } func (x *SubscribeResponse) GetDepth() *Depth { @@ -372,7 +607,7 @@ type Depth struct { func (x *Depth) Reset() { *x = Depth{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[5] + mi := &file_pkg_pb_bbgo_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -385,7 +620,7 @@ func (x *Depth) String() string { func (*Depth) ProtoMessage() {} func (x *Depth) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[5] + mi := &file_pkg_pb_bbgo_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -398,7 +633,7 @@ func (x *Depth) ProtoReflect() protoreflect.Message { // Deprecated: Use Depth.ProtoReflect.Descriptor instead. func (*Depth) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{5} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{5} } func (x *Depth) GetExchange() string { @@ -441,7 +676,7 @@ type PriceVolume struct { func (x *PriceVolume) Reset() { *x = PriceVolume{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[6] + mi := &file_pkg_pb_bbgo_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -454,7 +689,7 @@ func (x *PriceVolume) String() string { func (*PriceVolume) ProtoMessage() {} func (x *PriceVolume) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[6] + mi := &file_pkg_pb_bbgo_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -467,7 +702,7 @@ func (x *PriceVolume) ProtoReflect() protoreflect.Message { // Deprecated: Use PriceVolume.ProtoReflect.Descriptor instead. func (*PriceVolume) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{6} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{6} } func (x *PriceVolume) GetPrice() int64 { @@ -497,7 +732,7 @@ type Trade struct { Price float64 `protobuf:"fixed64,4,opt,name=price,proto3" json:"price,omitempty"` Volume float64 `protobuf:"fixed64,5,opt,name=volume,proto3" json:"volume,omitempty"` CreatedAt int64 `protobuf:"varint,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - Side string `protobuf:"bytes,7,opt,name=side,proto3" json:"side,omitempty"` + Side Side `protobuf:"varint,7,opt,name=side,proto3,enum=pb.Side" json:"side,omitempty"` Fee float64 `protobuf:"fixed64,8,opt,name=fee,proto3" json:"fee,omitempty"` FeeCurrency string `protobuf:"bytes,9,opt,name=fee_currency,json=feeCurrency,proto3" json:"fee_currency,omitempty"` Maker bool `protobuf:"varint,10,opt,name=maker,proto3" json:"maker,omitempty"` @@ -507,7 +742,7 @@ type Trade struct { func (x *Trade) Reset() { *x = Trade{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[7] + mi := &file_pkg_pb_bbgo_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -520,7 +755,7 @@ func (x *Trade) String() string { func (*Trade) ProtoMessage() {} func (x *Trade) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[7] + mi := &file_pkg_pb_bbgo_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -533,7 +768,7 @@ func (x *Trade) ProtoReflect() protoreflect.Message { // Deprecated: Use Trade.ProtoReflect.Descriptor instead. func (*Trade) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{7} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{7} } func (x *Trade) GetExchange() string { @@ -578,11 +813,11 @@ func (x *Trade) GetCreatedAt() int64 { return 0 } -func (x *Trade) GetSide() string { +func (x *Trade) GetSide() Side { if x != nil { return x.Side } - return "" + return Side_BUY } func (x *Trade) GetFee() float64 { @@ -631,7 +866,7 @@ type Ticker struct { func (x *Ticker) Reset() { *x = Ticker{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[8] + mi := &file_pkg_pb_bbgo_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -644,7 +879,7 @@ func (x *Ticker) String() string { func (*Ticker) ProtoMessage() {} func (x *Ticker) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[8] + mi := &file_pkg_pb_bbgo_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -657,7 +892,7 @@ func (x *Ticker) ProtoReflect() protoreflect.Message { // Deprecated: Use Ticker.ProtoReflect.Descriptor instead. func (*Ticker) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{8} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{8} } func (x *Ticker) GetExchange() string { @@ -715,27 +950,27 @@ type Order struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Exchange string `protobuf:"bytes,1,opt,name=exchange,proto3" json:"exchange,omitempty"` - Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` - Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` - Side string `protobuf:"bytes,4,opt,name=side,proto3" json:"side,omitempty"` - OrderType string `protobuf:"bytes,5,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` - Price float64 `protobuf:"fixed64,6,opt,name=price,proto3" json:"price,omitempty"` - StopPrice float64 `protobuf:"fixed64,7,opt,name=stop_price,json=stopPrice,proto3" json:"stop_price,omitempty"` - AvgPrice float64 `protobuf:"fixed64,8,opt,name=avg_price,json=avgPrice,proto3" json:"avg_price,omitempty"` - Status string `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"` - CreatedAt int64 `protobuf:"varint,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - Quantity float64 `protobuf:"fixed64,11,opt,name=quantity,proto3" json:"quantity,omitempty"` - ExecutedVolume float64 `protobuf:"fixed64,12,opt,name=executed_volume,json=executedVolume,proto3" json:"executed_volume,omitempty"` - TradesCount int64 `protobuf:"varint,13,opt,name=trades_count,json=tradesCount,proto3" json:"trades_count,omitempty"` - ClientOrderId string `protobuf:"bytes,14,opt,name=client_order_id,json=clientOrderId,proto3" json:"client_order_id,omitempty"` - GroupId int64 `protobuf:"varint,15,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + Exchange string `protobuf:"bytes,1,opt,name=exchange,proto3" json:"exchange,omitempty"` + Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` + Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` + Side Side `protobuf:"varint,4,opt,name=side,proto3,enum=pb.Side" json:"side,omitempty"` + OrderType OrderType `protobuf:"varint,5,opt,name=order_type,json=orderType,proto3,enum=pb.OrderType" json:"order_type,omitempty"` + Price float64 `protobuf:"fixed64,6,opt,name=price,proto3" json:"price,omitempty"` + StopPrice float64 `protobuf:"fixed64,7,opt,name=stop_price,json=stopPrice,proto3" json:"stop_price,omitempty"` + AvgPrice float64 `protobuf:"fixed64,8,opt,name=avg_price,json=avgPrice,proto3" json:"avg_price,omitempty"` + Status string `protobuf:"bytes,9,opt,name=status,proto3" json:"status,omitempty"` + CreatedAt int64 `protobuf:"varint,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Quantity float64 `protobuf:"fixed64,11,opt,name=quantity,proto3" json:"quantity,omitempty"` + ExecutedVolume float64 `protobuf:"fixed64,12,opt,name=executed_volume,json=executedVolume,proto3" json:"executed_volume,omitempty"` + TradesCount int64 `protobuf:"varint,13,opt,name=trades_count,json=tradesCount,proto3" json:"trades_count,omitempty"` + ClientOrderId string `protobuf:"bytes,14,opt,name=client_order_id,json=clientOrderId,proto3" json:"client_order_id,omitempty"` + GroupId int64 `protobuf:"varint,15,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` } func (x *Order) Reset() { *x = Order{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[9] + mi := &file_pkg_pb_bbgo_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -748,7 +983,7 @@ func (x *Order) String() string { func (*Order) ProtoMessage() {} func (x *Order) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[9] + mi := &file_pkg_pb_bbgo_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -761,7 +996,7 @@ func (x *Order) ProtoReflect() protoreflect.Message { // Deprecated: Use Order.ProtoReflect.Descriptor instead. func (*Order) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{9} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{9} } func (x *Order) GetExchange() string { @@ -785,18 +1020,18 @@ func (x *Order) GetId() string { return "" } -func (x *Order) GetSide() string { +func (x *Order) GetSide() Side { if x != nil { return x.Side } - return "" + return Side_BUY } -func (x *Order) GetOrderType() string { +func (x *Order) GetOrderType() OrderType { if x != nil { return x.OrderType } - return "" + return OrderType_MARKET } func (x *Order) GetPrice() float64 { @@ -874,21 +1109,21 @@ type SubmitOrder struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Exchange string `protobuf:"bytes,1,opt,name=exchange,proto3" json:"exchange,omitempty"` - Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` - Side string `protobuf:"bytes,3,opt,name=side,proto3" json:"side,omitempty"` - Quantity float64 `protobuf:"fixed64,4,opt,name=quantity,proto3" json:"quantity,omitempty"` - Price float64 `protobuf:"fixed64,5,opt,name=price,proto3" json:"price,omitempty"` - StopPrice float64 `protobuf:"fixed64,6,opt,name=stop_price,json=stopPrice,proto3" json:"stop_price,omitempty"` - OrderType string `protobuf:"bytes,7,opt,name=order_type,json=orderType,proto3" json:"order_type,omitempty"` - ClientOrderId string `protobuf:"bytes,8,opt,name=client_order_id,json=clientOrderId,proto3" json:"client_order_id,omitempty"` - GroupId int64 `protobuf:"varint,9,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + Exchange string `protobuf:"bytes,1,opt,name=exchange,proto3" json:"exchange,omitempty"` + Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` + Side Side `protobuf:"varint,3,opt,name=side,proto3,enum=pb.Side" json:"side,omitempty"` + Quantity float64 `protobuf:"fixed64,4,opt,name=quantity,proto3" json:"quantity,omitempty"` + Price float64 `protobuf:"fixed64,5,opt,name=price,proto3" json:"price,omitempty"` + StopPrice float64 `protobuf:"fixed64,6,opt,name=stop_price,json=stopPrice,proto3" json:"stop_price,omitempty"` + OrderType OrderType `protobuf:"varint,7,opt,name=order_type,json=orderType,proto3,enum=pb.OrderType" json:"order_type,omitempty"` + ClientOrderId string `protobuf:"bytes,8,opt,name=client_order_id,json=clientOrderId,proto3" json:"client_order_id,omitempty"` + GroupId int64 `protobuf:"varint,9,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` } func (x *SubmitOrder) Reset() { *x = SubmitOrder{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[10] + mi := &file_pkg_pb_bbgo_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -901,7 +1136,7 @@ func (x *SubmitOrder) String() string { func (*SubmitOrder) ProtoMessage() {} func (x *SubmitOrder) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[10] + mi := &file_pkg_pb_bbgo_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -914,7 +1149,7 @@ func (x *SubmitOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use SubmitOrder.ProtoReflect.Descriptor instead. func (*SubmitOrder) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{10} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{10} } func (x *SubmitOrder) GetExchange() string { @@ -931,11 +1166,11 @@ func (x *SubmitOrder) GetSymbol() string { return "" } -func (x *SubmitOrder) GetSide() string { +func (x *SubmitOrder) GetSide() Side { if x != nil { return x.Side } - return "" + return Side_BUY } func (x *SubmitOrder) GetQuantity() float64 { @@ -959,11 +1194,11 @@ func (x *SubmitOrder) GetStopPrice() float64 { return 0 } -func (x *SubmitOrder) GetOrderType() string { +func (x *SubmitOrder) GetOrderType() OrderType { if x != nil { return x.OrderType } - return "" + return OrderType_MARKET } func (x *SubmitOrder) GetClientOrderId() string { @@ -995,7 +1230,7 @@ type Balance struct { func (x *Balance) Reset() { *x = Balance{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[11] + mi := &file_pkg_pb_bbgo_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1008,7 +1243,7 @@ func (x *Balance) String() string { func (*Balance) ProtoMessage() {} func (x *Balance) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[11] + mi := &file_pkg_pb_bbgo_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1021,7 +1256,7 @@ func (x *Balance) ProtoReflect() protoreflect.Message { // Deprecated: Use Balance.ProtoReflect.Descriptor instead. func (*Balance) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{11} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{11} } func (x *Balance) GetExchange() string { @@ -1063,7 +1298,7 @@ type SubmitOrderRequest struct { func (x *SubmitOrderRequest) Reset() { *x = SubmitOrderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[12] + mi := &file_pkg_pb_bbgo_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1076,7 +1311,7 @@ func (x *SubmitOrderRequest) String() string { func (*SubmitOrderRequest) ProtoMessage() {} func (x *SubmitOrderRequest) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[12] + mi := &file_pkg_pb_bbgo_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1089,7 +1324,7 @@ func (x *SubmitOrderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubmitOrderRequest.ProtoReflect.Descriptor instead. func (*SubmitOrderRequest) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{12} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{12} } func (x *SubmitOrderRequest) GetSubmitOrder() *SubmitOrder { @@ -1111,7 +1346,7 @@ type SubmitOrderResponse struct { func (x *SubmitOrderResponse) Reset() { *x = SubmitOrderResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[13] + mi := &file_pkg_pb_bbgo_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1124,7 +1359,7 @@ func (x *SubmitOrderResponse) String() string { func (*SubmitOrderResponse) ProtoMessage() {} func (x *SubmitOrderResponse) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[13] + mi := &file_pkg_pb_bbgo_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1137,7 +1372,7 @@ func (x *SubmitOrderResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SubmitOrderResponse.ProtoReflect.Descriptor instead. func (*SubmitOrderResponse) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{13} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{13} } func (x *SubmitOrderResponse) GetOrder() *Order { @@ -1167,7 +1402,7 @@ type CancelOrderRequest struct { func (x *CancelOrderRequest) Reset() { *x = CancelOrderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[14] + mi := &file_pkg_pb_bbgo_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1180,7 +1415,7 @@ func (x *CancelOrderRequest) String() string { func (*CancelOrderRequest) ProtoMessage() {} func (x *CancelOrderRequest) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[14] + mi := &file_pkg_pb_bbgo_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1193,7 +1428,7 @@ func (x *CancelOrderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelOrderRequest.ProtoReflect.Descriptor instead. func (*CancelOrderRequest) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{14} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{14} } func (x *CancelOrderRequest) GetExchange() string { @@ -1229,7 +1464,7 @@ type CancelOrderResponse struct { func (x *CancelOrderResponse) Reset() { *x = CancelOrderResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[15] + mi := &file_pkg_pb_bbgo_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1242,7 +1477,7 @@ func (x *CancelOrderResponse) String() string { func (*CancelOrderResponse) ProtoMessage() {} func (x *CancelOrderResponse) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[15] + mi := &file_pkg_pb_bbgo_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1255,7 +1490,7 @@ func (x *CancelOrderResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CancelOrderResponse.ProtoReflect.Descriptor instead. func (*CancelOrderResponse) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{15} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{15} } func (x *CancelOrderResponse) GetOrder() *Order { @@ -1285,7 +1520,7 @@ type QueryOrderRequest struct { func (x *QueryOrderRequest) Reset() { *x = QueryOrderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[16] + mi := &file_pkg_pb_bbgo_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1298,7 +1533,7 @@ func (x *QueryOrderRequest) String() string { func (*QueryOrderRequest) ProtoMessage() {} func (x *QueryOrderRequest) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[16] + mi := &file_pkg_pb_bbgo_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1311,7 +1546,7 @@ func (x *QueryOrderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryOrderRequest.ProtoReflect.Descriptor instead. func (*QueryOrderRequest) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{16} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{16} } func (x *QueryOrderRequest) GetExchange() string { @@ -1347,7 +1582,7 @@ type QueryOrderResponse struct { func (x *QueryOrderResponse) Reset() { *x = QueryOrderResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[17] + mi := &file_pkg_pb_bbgo_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1360,7 +1595,7 @@ func (x *QueryOrderResponse) String() string { func (*QueryOrderResponse) ProtoMessage() {} func (x *QueryOrderResponse) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[17] + mi := &file_pkg_pb_bbgo_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1373,7 +1608,7 @@ func (x *QueryOrderResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryOrderResponse.ProtoReflect.Descriptor instead. func (*QueryOrderResponse) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{17} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{17} } func (x *QueryOrderResponse) GetOrder() *Order { @@ -1409,7 +1644,7 @@ type QueryOrdersRequest struct { func (x *QueryOrdersRequest) Reset() { *x = QueryOrdersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[18] + mi := &file_pkg_pb_bbgo_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1422,7 +1657,7 @@ func (x *QueryOrdersRequest) String() string { func (*QueryOrdersRequest) ProtoMessage() {} func (x *QueryOrdersRequest) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[18] + mi := &file_pkg_pb_bbgo_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1435,7 +1670,7 @@ func (x *QueryOrdersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryOrdersRequest.ProtoReflect.Descriptor instead. func (*QueryOrdersRequest) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{18} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{18} } func (x *QueryOrdersRequest) GetExchange() string { @@ -1513,7 +1748,7 @@ type QueryOrdersResponse struct { func (x *QueryOrdersResponse) Reset() { *x = QueryOrdersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[19] + mi := &file_pkg_pb_bbgo_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1526,7 +1761,7 @@ func (x *QueryOrdersResponse) String() string { func (*QueryOrdersResponse) ProtoMessage() {} func (x *QueryOrdersResponse) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[19] + mi := &file_pkg_pb_bbgo_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1539,7 +1774,7 @@ func (x *QueryOrdersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryOrdersResponse.ProtoReflect.Descriptor instead. func (*QueryOrdersResponse) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{19} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{19} } func (x *QueryOrdersResponse) GetOrders() []*Order { @@ -1576,7 +1811,7 @@ type QueryTradesRequest struct { func (x *QueryTradesRequest) Reset() { *x = QueryTradesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[20] + mi := &file_pkg_pb_bbgo_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1589,7 +1824,7 @@ func (x *QueryTradesRequest) String() string { func (*QueryTradesRequest) ProtoMessage() {} func (x *QueryTradesRequest) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[20] + mi := &file_pkg_pb_bbgo_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1602,7 +1837,7 @@ func (x *QueryTradesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryTradesRequest.ProtoReflect.Descriptor instead. func (*QueryTradesRequest) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{20} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{20} } func (x *QueryTradesRequest) GetExchange() string { @@ -1687,7 +1922,7 @@ type QueryTradesResponse struct { func (x *QueryTradesResponse) Reset() { *x = QueryTradesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[21] + mi := &file_pkg_pb_bbgo_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1700,7 +1935,7 @@ func (x *QueryTradesResponse) String() string { func (*QueryTradesResponse) ProtoMessage() {} func (x *QueryTradesResponse) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[21] + mi := &file_pkg_pb_bbgo_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1713,7 +1948,7 @@ func (x *QueryTradesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryTradesResponse.ProtoReflect.Descriptor instead. func (*QueryTradesResponse) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{21} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{21} } func (x *QueryTradesResponse) GetTrades() []*Trade { @@ -1737,15 +1972,15 @@ type QueryKLinesRequest struct { Exchange string `protobuf:"bytes,1,opt,name=exchange,proto3" json:"exchange,omitempty"` Symbol string `protobuf:"bytes,2,opt,name=symbol,proto3" json:"symbol,omitempty"` - Limit int64 `protobuf:"varint,3,opt,name=limit,proto3" json:"limit,omitempty"` - Interval int64 `protobuf:"varint,4,opt,name=interval,proto3" json:"interval,omitempty"` // time period of K line in minute - Timestamp int64 `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Interval string `protobuf:"bytes,3,opt,name=interval,proto3" json:"interval,omitempty"` // time period of K line in minute + Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Limit int64 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` } func (x *QueryKLinesRequest) Reset() { *x = QueryKLinesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[22] + mi := &file_pkg_pb_bbgo_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1758,7 +1993,7 @@ func (x *QueryKLinesRequest) String() string { func (*QueryKLinesRequest) ProtoMessage() {} func (x *QueryKLinesRequest) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[22] + mi := &file_pkg_pb_bbgo_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1771,7 +2006,7 @@ func (x *QueryKLinesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryKLinesRequest.ProtoReflect.Descriptor instead. func (*QueryKLinesRequest) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{22} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{22} } func (x *QueryKLinesRequest) GetExchange() string { @@ -1788,18 +2023,11 @@ func (x *QueryKLinesRequest) GetSymbol() string { return "" } -func (x *QueryKLinesRequest) GetLimit() int64 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *QueryKLinesRequest) GetInterval() int64 { +func (x *QueryKLinesRequest) GetInterval() string { if x != nil { return x.Interval } - return 0 + return "" } func (x *QueryKLinesRequest) GetTimestamp() int64 { @@ -1809,6 +2037,13 @@ func (x *QueryKLinesRequest) GetTimestamp() int64 { return 0 } +func (x *QueryKLinesRequest) GetLimit() int64 { + if x != nil { + return x.Limit + } + return 0 +} + type QueryKLinesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1821,7 +2056,7 @@ type QueryKLinesResponse struct { func (x *QueryKLinesResponse) Reset() { *x = QueryKLinesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[23] + mi := &file_pkg_pb_bbgo_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1834,7 +2069,7 @@ func (x *QueryKLinesResponse) String() string { func (*QueryKLinesResponse) ProtoMessage() {} func (x *QueryKLinesResponse) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[23] + mi := &file_pkg_pb_bbgo_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1847,7 +2082,7 @@ func (x *QueryKLinesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use QueryKLinesResponse.ProtoReflect.Descriptor instead. func (*QueryKLinesResponse) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{23} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{23} } func (x *QueryKLinesResponse) GetKlines() []*KLine { @@ -1883,7 +2118,7 @@ type KLine struct { func (x *KLine) Reset() { *x = KLine{} if protoimpl.UnsafeEnabled { - mi := &file_bbgo_proto_msgTypes[24] + mi := &file_pkg_pb_bbgo_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1896,7 +2131,7 @@ func (x *KLine) String() string { func (*KLine) ProtoMessage() {} func (x *KLine) ProtoReflect() protoreflect.Message { - mi := &file_bbgo_proto_msgTypes[24] + mi := &file_pkg_pb_bbgo_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1909,7 +2144,7 @@ func (x *KLine) ProtoReflect() protoreflect.Message { // Deprecated: Use KLine.ProtoReflect.Descriptor instead. func (*KLine) Descriptor() ([]byte, []int) { - return file_bbgo_proto_rawDescGZIP(), []int{24} + return file_pkg_pb_bbgo_proto_rawDescGZIP(), []int{24} } func (x *KLine) GetExchange() string { @@ -1975,379 +2210,427 @@ func (x *KLine) GetQuoteVolume() float64 { return 0 } -var File_bbgo_proto protoreflect.FileDescriptor +var File_pkg_pb_bbgo_proto protoreflect.FileDescriptor -var file_bbgo_proto_rawDesc = []byte{ - 0x0a, 0x0a, 0x62, 0x62, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, - 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x4b, 0x0a, 0x05, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4a, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x0d, 0x73, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x22, 0x72, 0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, - 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0xf1, 0x02, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, - 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x12, 0x1f, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x70, 0x74, 0x68, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, - 0x68, 0x12, 0x21, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, - 0x61, 0x64, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x72, - 0x52, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, - 0x70, 0x62, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x62, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x85, 0x01, 0x0a, 0x05, 0x44, - 0x65, 0x70, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x23, 0x0a, 0x04, 0x61, 0x73, 0x6b, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x04, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x23, 0x0a, - 0x04, 0x62, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, - 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x04, 0x62, 0x69, - 0x64, 0x73, 0x22, 0x3b, 0x0a, 0x0b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x22, - 0x8d, 0x02, 0x0a, 0x05, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, +var file_pkg_pb_bbgo_proto_rawDesc = []byte{ + 0x0a, 0x11, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x62, 0x2f, 0x62, 0x62, 0x67, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x22, 0x4b, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4a, 0x0a, + 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x36, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7f, 0x0a, 0x0c, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, - 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, - 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x64, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x66, 0x65, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x05, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x72, 0x65, - 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x72, 0x65, 0x6e, 0x64, 0x22, - 0xa4, 0x01, 0x0a, 0x06, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, - 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6f, 0x70, - 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, - 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x22, 0xb2, 0x03, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, + 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x89, 0x03, 0x0a, 0x11, 0x53, + 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, - 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x61, 0x76, 0x67, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x08, 0x61, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x56, - 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x72, 0x61, - 0x64, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x88, 0x02, 0x0a, 0x0b, - 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, - 0x69, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x77, 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x61, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x65, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x22, - 0x48, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, - 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x0b, 0x73, 0x75, - 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x57, 0x0a, 0x13, 0x53, 0x75, 0x62, - 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1f, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x22, 0x68, 0x0a, 0x12, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x13, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x67, 0x0a, 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, - 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, + 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x25, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x05, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x05, + 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, + 0x2e, 0x44, 0x65, 0x70, 0x74, 0x68, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x12, 0x21, 0x0a, + 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, + 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, + 0x12, 0x22, 0x0a, 0x06, 0x74, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0a, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x52, 0x06, 0x74, 0x69, + 0x63, 0x6b, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, + 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xf6, 0x01, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, - 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x42, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, - 0x59, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x87, 0x02, 0x0a, 0x12, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x42, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x22, 0x59, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, - 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x74, - 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, - 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x1f, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, - 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, - 0x98, 0x01, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4b, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x85, 0x01, 0x0a, 0x05, 0x44, 0x65, 0x70, 0x74, 0x68, + 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, + 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x23, 0x0a, 0x04, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x52, 0x04, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x23, 0x0a, 0x04, 0x62, 0x69, 0x64, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x69, + 0x63, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x04, 0x62, 0x69, 0x64, 0x73, 0x22, 0x3b, + 0x0a, 0x0b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x22, 0x97, 0x02, 0x0a, 0x05, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x04, 0x73, 0x69, 0x64, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x69, 0x64, 0x65, 0x52, 0x04, + 0x73, 0x69, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x5f, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x65, + 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6b, + 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x72, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x74, 0x72, 0x65, 0x6e, 0x64, 0x22, 0xa4, 0x01, 0x0a, 0x06, 0x54, 0x69, 0x63, 0x6b, 0x65, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, + 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x12, 0x10, 0x0a, 0x03, + 0x6c, 0x6f, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x14, + 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x63, + 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x22, 0xcb, 0x03, 0x0a, + 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x59, 0x0a, 0x13, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x4b, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6b, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x4b, 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x06, 0x6b, 0x6c, - 0x69, 0x6e, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xe4, 0x01, 0x0a, 0x05, 0x4b, 0x4c, 0x69, 0x6e, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x01, 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x6f, - 0x74, 0x65, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x32, 0x86, 0x04, 0x0a, - 0x04, 0x42, 0x42, 0x47, 0x4f, 0x12, 0x3b, 0x0a, 0x08, 0x53, 0x75, 0x62, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x30, 0x01, 0x12, 0x38, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x40, 0x0a, 0x0b, - 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x70, 0x62, - 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x40, - 0x0a, 0x0b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x16, 0x2e, - 0x70, 0x62, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x3d, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x15, - 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x40, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x16, - 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x40, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, - 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x64, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4b, 0x4c, 0x69, 0x6e, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x04, 0x73, 0x69, + 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x69, + 0x64, 0x65, 0x52, 0x04, 0x73, 0x69, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x70, + 0x62, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, + 0x76, 0x67, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, + 0x61, 0x76, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x0b, 0x53, + 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1c, + 0x0a, 0x04, 0x73, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x08, 0x2e, 0x70, + 0x62, 0x2e, 0x53, 0x69, 0x64, 0x65, 0x52, 0x04, 0x73, 0x69, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2c, 0x0a, + 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x09, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x77, + 0x0a, 0x07, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, + 0x06, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x48, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, + 0x0c, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x22, 0x57, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x68, 0x0a, 0x12, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0f, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x13, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x05, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, + 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x67, 0x0a, + 0x11, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, + 0x0a, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x05, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, + 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, + 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xf6, + 0x01, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x59, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, + 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, + 0x2e, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x73, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x22, 0x87, 0x02, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x66, + 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, + 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x74, 0x6f, 0x12, + 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x59, 0x0a, 0x13, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x06, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x98, 0x01, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x4b, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, + 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, + 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x1c, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x22, 0x59, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4b, 0x4c, 0x69, 0x6e, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x06, 0x6b, 0x6c, 0x69, + 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x4b, + 0x4c, 0x69, 0x6e, 0x65, 0x52, 0x06, 0x6b, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x70, 0x62, + 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xe4, 0x01, + 0x0a, 0x05, 0x4b, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x12, 0x0a, + 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x68, 0x69, 0x67, + 0x68, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, + 0x6c, 0x6f, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x71, 0x75, 0x6f, 0x74, 0x65, 0x56, 0x6f, + 0x6c, 0x75, 0x6d, 0x65, 0x2a, 0xe4, 0x01, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0b, + 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x53, + 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x55, + 0x4e, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, + 0x08, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x55, 0x54, 0x48, 0x45, + 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x52, + 0x44, 0x45, 0x52, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x06, 0x12, 0x10, + 0x0a, 0x0c, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x07, + 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, + 0x4f, 0x54, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x55, 0x50, + 0x44, 0x41, 0x54, 0x45, 0x10, 0x09, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, + 0x54, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x0a, 0x12, 0x12, 0x0a, 0x0e, + 0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0b, + 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x63, 0x2a, 0x34, 0x0a, 0x07, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x4f, 0x4b, 0x10, 0x00, + 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x44, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x54, + 0x49, 0x43, 0x4b, 0x45, 0x52, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, + 0x03, 0x2a, 0x19, 0x0a, 0x04, 0x53, 0x69, 0x64, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x55, 0x59, + 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x45, 0x4c, 0x4c, 0x10, 0x01, 0x2a, 0x61, 0x0a, 0x09, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x41, 0x52, + 0x4b, 0x45, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x01, + 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x4d, 0x41, 0x52, 0x4b, 0x45, 0x54, 0x10, + 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x4f, 0x50, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, + 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x04, + 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4f, 0x43, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x10, 0x05, 0x32, + 0x93, 0x01, 0x0a, 0x11, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x30, 0x01, 0x12, 0x40, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4b, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4b, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4b, 0x4c, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x07, 0x5a, 0x05, 0x2e, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x32, 0x4c, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, + 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x09, 0x2e, + 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x75, + 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x30, 0x01, 0x32, 0xd7, 0x02, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, + 0x70, 0x62, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0b, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0a, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0b, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0b, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x07, 0x5a, + 0x05, 0x2e, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_bbgo_proto_rawDescOnce sync.Once - file_bbgo_proto_rawDescData = file_bbgo_proto_rawDesc + file_pkg_pb_bbgo_proto_rawDescOnce sync.Once + file_pkg_pb_bbgo_proto_rawDescData = file_pkg_pb_bbgo_proto_rawDesc ) -func file_bbgo_proto_rawDescGZIP() []byte { - file_bbgo_proto_rawDescOnce.Do(func() { - file_bbgo_proto_rawDescData = protoimpl.X.CompressGZIP(file_bbgo_proto_rawDescData) +func file_pkg_pb_bbgo_proto_rawDescGZIP() []byte { + file_pkg_pb_bbgo_proto_rawDescOnce.Do(func() { + file_pkg_pb_bbgo_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_pb_bbgo_proto_rawDescData) }) - return file_bbgo_proto_rawDescData + return file_pkg_pb_bbgo_proto_rawDescData } -var file_bbgo_proto_msgTypes = make([]protoimpl.MessageInfo, 25) -var file_bbgo_proto_goTypes = []interface{}{ - (*Empty)(nil), // 0: pb.Empty - (*Error)(nil), // 1: pb.Error - (*SubscribeRequest)(nil), // 2: pb.SubscribeRequest - (*Subscription)(nil), // 3: pb.Subscription - (*SubscribeResponse)(nil), // 4: pb.SubscribeResponse - (*Depth)(nil), // 5: pb.Depth - (*PriceVolume)(nil), // 6: pb.PriceVolume - (*Trade)(nil), // 7: pb.Trade - (*Ticker)(nil), // 8: pb.Ticker - (*Order)(nil), // 9: pb.Order - (*SubmitOrder)(nil), // 10: pb.SubmitOrder - (*Balance)(nil), // 11: pb.Balance - (*SubmitOrderRequest)(nil), // 12: pb.SubmitOrderRequest - (*SubmitOrderResponse)(nil), // 13: pb.SubmitOrderResponse - (*CancelOrderRequest)(nil), // 14: pb.CancelOrderRequest - (*CancelOrderResponse)(nil), // 15: pb.CancelOrderResponse - (*QueryOrderRequest)(nil), // 16: pb.QueryOrderRequest - (*QueryOrderResponse)(nil), // 17: pb.QueryOrderResponse - (*QueryOrdersRequest)(nil), // 18: pb.QueryOrdersRequest - (*QueryOrdersResponse)(nil), // 19: pb.QueryOrdersResponse - (*QueryTradesRequest)(nil), // 20: pb.QueryTradesRequest - (*QueryTradesResponse)(nil), // 21: pb.QueryTradesResponse - (*QueryKLinesRequest)(nil), // 22: pb.QueryKLinesRequest - (*QueryKLinesResponse)(nil), // 23: pb.QueryKLinesResponse - (*KLine)(nil), // 24: pb.KLine +var file_pkg_pb_bbgo_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_pkg_pb_bbgo_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_pkg_pb_bbgo_proto_goTypes = []interface{}{ + (Event)(0), // 0: pb.Event + (Channel)(0), // 1: pb.Channel + (Side)(0), // 2: pb.Side + (OrderType)(0), // 3: pb.OrderType + (*Empty)(nil), // 4: pb.Empty + (*Error)(nil), // 5: pb.Error + (*SubscribeRequest)(nil), // 6: pb.SubscribeRequest + (*Subscription)(nil), // 7: pb.Subscription + (*SubscribeResponse)(nil), // 8: pb.SubscribeResponse + (*Depth)(nil), // 9: pb.Depth + (*PriceVolume)(nil), // 10: pb.PriceVolume + (*Trade)(nil), // 11: pb.Trade + (*Ticker)(nil), // 12: pb.Ticker + (*Order)(nil), // 13: pb.Order + (*SubmitOrder)(nil), // 14: pb.SubmitOrder + (*Balance)(nil), // 15: pb.Balance + (*SubmitOrderRequest)(nil), // 16: pb.SubmitOrderRequest + (*SubmitOrderResponse)(nil), // 17: pb.SubmitOrderResponse + (*CancelOrderRequest)(nil), // 18: pb.CancelOrderRequest + (*CancelOrderResponse)(nil), // 19: pb.CancelOrderResponse + (*QueryOrderRequest)(nil), // 20: pb.QueryOrderRequest + (*QueryOrderResponse)(nil), // 21: pb.QueryOrderResponse + (*QueryOrdersRequest)(nil), // 22: pb.QueryOrdersRequest + (*QueryOrdersResponse)(nil), // 23: pb.QueryOrdersResponse + (*QueryTradesRequest)(nil), // 24: pb.QueryTradesRequest + (*QueryTradesResponse)(nil), // 25: pb.QueryTradesResponse + (*QueryKLinesRequest)(nil), // 26: pb.QueryKLinesRequest + (*QueryKLinesResponse)(nil), // 27: pb.QueryKLinesResponse + (*KLine)(nil), // 28: pb.KLine } -var file_bbgo_proto_depIdxs = []int32{ - 3, // 0: pb.SubscribeRequest.subscriptions:type_name -> pb.Subscription - 5, // 1: pb.SubscribeResponse.depth:type_name -> pb.Depth - 7, // 2: pb.SubscribeResponse.trades:type_name -> pb.Trade - 8, // 3: pb.SubscribeResponse.ticker:type_name -> pb.Ticker - 9, // 4: pb.SubscribeResponse.orders:type_name -> pb.Order - 11, // 5: pb.SubscribeResponse.balances:type_name -> pb.Balance - 1, // 6: pb.SubscribeResponse.error:type_name -> pb.Error - 6, // 7: pb.Depth.asks:type_name -> pb.PriceVolume - 6, // 8: pb.Depth.bids:type_name -> pb.PriceVolume - 10, // 9: pb.SubmitOrderRequest.submit_order:type_name -> pb.SubmitOrder - 9, // 10: pb.SubmitOrderResponse.order:type_name -> pb.Order - 1, // 11: pb.SubmitOrderResponse.error:type_name -> pb.Error - 9, // 12: pb.CancelOrderResponse.order:type_name -> pb.Order - 1, // 13: pb.CancelOrderResponse.error:type_name -> pb.Error - 9, // 14: pb.QueryOrderResponse.order:type_name -> pb.Order - 1, // 15: pb.QueryOrderResponse.error:type_name -> pb.Error - 9, // 16: pb.QueryOrdersResponse.orders:type_name -> pb.Order - 1, // 17: pb.QueryOrdersResponse.error:type_name -> pb.Error - 7, // 18: pb.QueryTradesResponse.trades:type_name -> pb.Trade - 1, // 19: pb.QueryTradesResponse.error:type_name -> pb.Error - 24, // 20: pb.QueryKLinesResponse.klines:type_name -> pb.KLine - 1, // 21: pb.QueryKLinesResponse.error:type_name -> pb.Error - 2, // 22: pb.BBGO.Subcribe:input_type -> pb.SubscribeRequest - 0, // 23: pb.BBGO.SubcribeUserData:input_type -> pb.Empty - 12, // 24: pb.BBGO.SubmitOrder:input_type -> pb.SubmitOrderRequest - 14, // 25: pb.BBGO.CancelOrder:input_type -> pb.CancelOrderRequest - 16, // 26: pb.BBGO.QueryOrder:input_type -> pb.QueryOrderRequest - 18, // 27: pb.BBGO.QueryOrders:input_type -> pb.QueryOrdersRequest - 20, // 28: pb.BBGO.QueryTrades:input_type -> pb.QueryTradesRequest - 22, // 29: pb.BBGO.QueryKLines:input_type -> pb.QueryKLinesRequest - 4, // 30: pb.BBGO.Subcribe:output_type -> pb.SubscribeResponse - 4, // 31: pb.BBGO.SubcribeUserData:output_type -> pb.SubscribeResponse - 13, // 32: pb.BBGO.SubmitOrder:output_type -> pb.SubmitOrderResponse - 15, // 33: pb.BBGO.CancelOrder:output_type -> pb.CancelOrderResponse - 17, // 34: pb.BBGO.QueryOrder:output_type -> pb.QueryOrderResponse - 19, // 35: pb.BBGO.QueryOrders:output_type -> pb.QueryOrdersResponse - 21, // 36: pb.BBGO.QueryTrades:output_type -> pb.QueryTradesResponse - 23, // 37: pb.BBGO.QueryKLines:output_type -> pb.QueryKLinesResponse - 30, // [30:38] is the sub-list for method output_type - 22, // [22:30] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name +var file_pkg_pb_bbgo_proto_depIdxs = []int32{ + 7, // 0: pb.SubscribeRequest.subscriptions:type_name -> pb.Subscription + 1, // 1: pb.Subscription.channel:type_name -> pb.Channel + 1, // 2: pb.SubscribeResponse.channel:type_name -> pb.Channel + 0, // 3: pb.SubscribeResponse.event:type_name -> pb.Event + 9, // 4: pb.SubscribeResponse.depth:type_name -> pb.Depth + 11, // 5: pb.SubscribeResponse.trades:type_name -> pb.Trade + 12, // 6: pb.SubscribeResponse.ticker:type_name -> pb.Ticker + 13, // 7: pb.SubscribeResponse.orders:type_name -> pb.Order + 15, // 8: pb.SubscribeResponse.balances:type_name -> pb.Balance + 5, // 9: pb.SubscribeResponse.error:type_name -> pb.Error + 10, // 10: pb.Depth.asks:type_name -> pb.PriceVolume + 10, // 11: pb.Depth.bids:type_name -> pb.PriceVolume + 2, // 12: pb.Trade.side:type_name -> pb.Side + 2, // 13: pb.Order.side:type_name -> pb.Side + 3, // 14: pb.Order.order_type:type_name -> pb.OrderType + 2, // 15: pb.SubmitOrder.side:type_name -> pb.Side + 3, // 16: pb.SubmitOrder.order_type:type_name -> pb.OrderType + 14, // 17: pb.SubmitOrderRequest.submit_order:type_name -> pb.SubmitOrder + 13, // 18: pb.SubmitOrderResponse.order:type_name -> pb.Order + 5, // 19: pb.SubmitOrderResponse.error:type_name -> pb.Error + 13, // 20: pb.CancelOrderResponse.order:type_name -> pb.Order + 5, // 21: pb.CancelOrderResponse.error:type_name -> pb.Error + 13, // 22: pb.QueryOrderResponse.order:type_name -> pb.Order + 5, // 23: pb.QueryOrderResponse.error:type_name -> pb.Error + 13, // 24: pb.QueryOrdersResponse.orders:type_name -> pb.Order + 5, // 25: pb.QueryOrdersResponse.error:type_name -> pb.Error + 11, // 26: pb.QueryTradesResponse.trades:type_name -> pb.Trade + 5, // 27: pb.QueryTradesResponse.error:type_name -> pb.Error + 28, // 28: pb.QueryKLinesResponse.klines:type_name -> pb.KLine + 5, // 29: pb.QueryKLinesResponse.error:type_name -> pb.Error + 6, // 30: pb.MarketDataService.Subscribe:input_type -> pb.SubscribeRequest + 26, // 31: pb.MarketDataService.QueryKLines:input_type -> pb.QueryKLinesRequest + 4, // 32: pb.UserDataService.SubscribeUserData:input_type -> pb.Empty + 16, // 33: pb.TradingService.SubmitOrder:input_type -> pb.SubmitOrderRequest + 18, // 34: pb.TradingService.CancelOrder:input_type -> pb.CancelOrderRequest + 20, // 35: pb.TradingService.QueryOrder:input_type -> pb.QueryOrderRequest + 22, // 36: pb.TradingService.QueryOrders:input_type -> pb.QueryOrdersRequest + 24, // 37: pb.TradingService.QueryTrades:input_type -> pb.QueryTradesRequest + 8, // 38: pb.MarketDataService.Subscribe:output_type -> pb.SubscribeResponse + 27, // 39: pb.MarketDataService.QueryKLines:output_type -> pb.QueryKLinesResponse + 8, // 40: pb.UserDataService.SubscribeUserData:output_type -> pb.SubscribeResponse + 17, // 41: pb.TradingService.SubmitOrder:output_type -> pb.SubmitOrderResponse + 19, // 42: pb.TradingService.CancelOrder:output_type -> pb.CancelOrderResponse + 21, // 43: pb.TradingService.QueryOrder:output_type -> pb.QueryOrderResponse + 23, // 44: pb.TradingService.QueryOrders:output_type -> pb.QueryOrdersResponse + 25, // 45: pb.TradingService.QueryTrades:output_type -> pb.QueryTradesResponse + 38, // [38:46] is the sub-list for method output_type + 30, // [30:38] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name } -func init() { file_bbgo_proto_init() } -func file_bbgo_proto_init() { - if File_bbgo_proto != nil { +func init() { file_pkg_pb_bbgo_proto_init() } +func file_pkg_pb_bbgo_proto_init() { + if File_pkg_pb_bbgo_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_bbgo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Empty); i { case 0: return &v.state @@ -2359,7 +2642,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Error); i { case 0: return &v.state @@ -2371,7 +2654,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubscribeRequest); i { case 0: return &v.state @@ -2383,7 +2666,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Subscription); i { case 0: return &v.state @@ -2395,7 +2678,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubscribeResponse); i { case 0: return &v.state @@ -2407,7 +2690,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Depth); i { case 0: return &v.state @@ -2419,7 +2702,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceVolume); i { case 0: return &v.state @@ -2431,7 +2714,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Trade); i { case 0: return &v.state @@ -2443,7 +2726,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Ticker); i { case 0: return &v.state @@ -2455,7 +2738,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Order); i { case 0: return &v.state @@ -2467,7 +2750,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubmitOrder); i { case 0: return &v.state @@ -2479,7 +2762,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Balance); i { case 0: return &v.state @@ -2491,7 +2774,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubmitOrderRequest); i { case 0: return &v.state @@ -2503,7 +2786,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubmitOrderResponse); i { case 0: return &v.state @@ -2515,7 +2798,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CancelOrderRequest); i { case 0: return &v.state @@ -2527,7 +2810,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CancelOrderResponse); i { case 0: return &v.state @@ -2539,7 +2822,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryOrderRequest); i { case 0: return &v.state @@ -2551,7 +2834,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryOrderResponse); i { case 0: return &v.state @@ -2563,7 +2846,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryOrdersRequest); i { case 0: return &v.state @@ -2575,7 +2858,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryOrdersResponse); i { case 0: return &v.state @@ -2587,7 +2870,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryTradesRequest); i { case 0: return &v.state @@ -2599,7 +2882,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryTradesResponse); i { case 0: return &v.state @@ -2611,7 +2894,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryKLinesRequest); i { case 0: return &v.state @@ -2623,7 +2906,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QueryKLinesResponse); i { case 0: return &v.state @@ -2635,7 +2918,7 @@ func file_bbgo_proto_init() { return nil } } - file_bbgo_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_pkg_pb_bbgo_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*KLine); i { case 0: return &v.state @@ -2652,18 +2935,19 @@ func file_bbgo_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_bbgo_proto_rawDesc, - NumEnums: 0, + RawDescriptor: file_pkg_pb_bbgo_proto_rawDesc, + NumEnums: 4, NumMessages: 25, NumExtensions: 0, - NumServices: 1, + NumServices: 3, }, - GoTypes: file_bbgo_proto_goTypes, - DependencyIndexes: file_bbgo_proto_depIdxs, - MessageInfos: file_bbgo_proto_msgTypes, + GoTypes: file_pkg_pb_bbgo_proto_goTypes, + DependencyIndexes: file_pkg_pb_bbgo_proto_depIdxs, + EnumInfos: file_pkg_pb_bbgo_proto_enumTypes, + MessageInfos: file_pkg_pb_bbgo_proto_msgTypes, }.Build() - File_bbgo_proto = out.File - file_bbgo_proto_rawDesc = nil - file_bbgo_proto_goTypes = nil - file_bbgo_proto_depIdxs = nil + File_pkg_pb_bbgo_proto = out.File + file_pkg_pb_bbgo_proto_rawDesc = nil + file_pkg_pb_bbgo_proto_goTypes = nil + file_pkg_pb_bbgo_proto_depIdxs = nil } diff --git a/pkg/pb/bbgo.proto b/pkg/pb/bbgo.proto index f1ba64707..2996ad5b6 100644 --- a/pkg/pb/bbgo.proto +++ b/pkg/pb/bbgo.proto @@ -239,9 +239,9 @@ message QueryTradesResponse { message QueryKLinesRequest { string exchange = 1; string symbol = 2; - int64 limit = 3; - int64 interval = 4; // time period of K line in minute - int64 timestamp = 5; + string interval = 3; // time period of K line in minute + int64 timestamp = 4; + int64 limit = 5; } message QueryKLinesResponse {