// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.2 // protoc v5.27.1 // source: matchmaking/v1/virtually/spots.proto package v1 import ( _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type GetBotDigitalTradeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Status int64 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` // 状态码 PageSize int64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` // 每页显示条数 PageCount int64 `protobuf:"varint,3,opt,name=pageCount,proto3" json:"pageCount,omitempty"` // 开始的位置 } func (x *GetBotDigitalTradeRequest) Reset() { *x = GetBotDigitalTradeRequest{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetBotDigitalTradeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetBotDigitalTradeRequest) ProtoMessage() {} func (x *GetBotDigitalTradeRequest) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetBotDigitalTradeRequest.ProtoReflect.Descriptor instead. func (*GetBotDigitalTradeRequest) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_spots_proto_rawDescGZIP(), []int{0} } func (x *GetBotDigitalTradeRequest) GetStatus() int64 { if x != nil { return x.Status } return 0 } func (x *GetBotDigitalTradeRequest) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *GetBotDigitalTradeRequest) GetPageCount() int64 { if x != nil { return x.PageCount } return 0 } type GetBotDigitalTradeReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // 状态码 Data *BotDigitalTradeData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` // 返回结果 Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // 返回消息提示 } func (x *GetBotDigitalTradeReply) Reset() { *x = GetBotDigitalTradeReply{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GetBotDigitalTradeReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetBotDigitalTradeReply) ProtoMessage() {} func (x *GetBotDigitalTradeReply) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetBotDigitalTradeReply.ProtoReflect.Descriptor instead. func (*GetBotDigitalTradeReply) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_spots_proto_rawDescGZIP(), []int{1} } func (x *GetBotDigitalTradeReply) GetCode() int64 { if x != nil { return x.Code } return 0 } func (x *GetBotDigitalTradeReply) GetData() *BotDigitalTradeData { if x != nil { return x.Data } return nil } func (x *GetBotDigitalTradeReply) GetMessage() string { if x != nil { return x.Message } return "" } type BotDigitalTradeData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PageSize int64 `protobuf:"varint,1,opt,name=pageSize,proto3" json:"pageSize,omitempty"` // 每页显示条数 PageCount int64 `protobuf:"varint,2,opt,name=pageCount,proto3" json:"pageCount,omitempty"` // 开始的位置 Data []*BotDigitalTrade `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` // 返回结果 TotalCount int64 `protobuf:"varint,4,opt,name=totalCount,proto3" json:"totalCount,omitempty"` // 总数据 } func (x *BotDigitalTradeData) Reset() { *x = BotDigitalTradeData{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BotDigitalTradeData) String() string { return protoimpl.X.MessageStringOf(x) } func (*BotDigitalTradeData) ProtoMessage() {} func (x *BotDigitalTradeData) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BotDigitalTradeData.ProtoReflect.Descriptor instead. func (*BotDigitalTradeData) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_spots_proto_rawDescGZIP(), []int{2} } func (x *BotDigitalTradeData) GetPageSize() int64 { if x != nil { return x.PageSize } return 0 } func (x *BotDigitalTradeData) GetPageCount() int64 { if x != nil { return x.PageCount } return 0 } func (x *BotDigitalTradeData) GetData() []*BotDigitalTrade { if x != nil { return x.Data } return nil } func (x *BotDigitalTradeData) GetTotalCount() int64 { if x != nil { return x.TotalCount } return 0 } type BotDigitalTrade struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OrderId string `protobuf:"bytes,1,opt,name=orderId,proto3" json:"orderId,omitempty"` // 订单ID DigitalId string `protobuf:"bytes,2,opt,name=digitalId,proto3" json:"digitalId,omitempty"` // 现货交易对 TradeType int64 `protobuf:"varint,3,opt,name=tradeType,proto3" json:"tradeType,omitempty"` // 交易类型 DealType int64 `protobuf:"varint,4,opt,name=dealType,proto3" json:"dealType,omitempty"` // 交易方式 DealPrice string `protobuf:"bytes,7,opt,name=dealPrice,proto3" json:"dealPrice,omitempty"` // 开仓价 ClosingPrice string `protobuf:"bytes,8,opt,name=closingPrice,proto3" json:"closingPrice,omitempty"` // 平仓价格 LimitPrice string `protobuf:"bytes,5,opt,name=limitPrice,proto3" json:"limitPrice,omitempty"` // 限价 MarketPrice string `protobuf:"bytes,6,opt,name=marketPrice,proto3" json:"marketPrice,omitempty"` // 市价 OrderNumber string `protobuf:"bytes,9,opt,name=orderNumber,proto3" json:"orderNumber,omitempty"` // 订单数量 ServiceCost string `protobuf:"bytes,10,opt,name=serviceCost,proto3" json:"serviceCost,omitempty"` // 开仓手续费 OrderMoney string `protobuf:"bytes,11,opt,name=orderMoney,proto3" json:"orderMoney,omitempty"` // 订单金额 TotalMoney string `protobuf:"bytes,12,opt,name=totalMoney,proto3" json:"totalMoney,omitempty"` // 订单总金额 Status int64 `protobuf:"varint,13,opt,name=status,proto3" json:"status,omitempty"` // 订单状态 CreateTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=createTime,proto3" json:"createTime,omitempty"` // 订单创建时间 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=updateTime,proto3" json:"updateTime,omitempty"` // 订单更新时间 OpenTime *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=openTime,proto3" json:"openTime,omitempty"` // 订单开仓时间 ClosingTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=closingTime,proto3" json:"closingTime,omitempty"` // 订单平仓时间 ClosingCost string `protobuf:"bytes,18,opt,name=closingCost,proto3" json:"closingCost,omitempty"` // 平仓手续费 KeepDecimal string `protobuf:"bytes,19,opt,name=keepDecimal,proto3" json:"keepDecimal,omitempty"` // 保留小数位 } func (x *BotDigitalTrade) Reset() { *x = BotDigitalTrade{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BotDigitalTrade) String() string { return protoimpl.X.MessageStringOf(x) } func (*BotDigitalTrade) ProtoMessage() {} func (x *BotDigitalTrade) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BotDigitalTrade.ProtoReflect.Descriptor instead. func (*BotDigitalTrade) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_spots_proto_rawDescGZIP(), []int{3} } func (x *BotDigitalTrade) GetOrderId() string { if x != nil { return x.OrderId } return "" } func (x *BotDigitalTrade) GetDigitalId() string { if x != nil { return x.DigitalId } return "" } func (x *BotDigitalTrade) GetTradeType() int64 { if x != nil { return x.TradeType } return 0 } func (x *BotDigitalTrade) GetDealType() int64 { if x != nil { return x.DealType } return 0 } func (x *BotDigitalTrade) GetDealPrice() string { if x != nil { return x.DealPrice } return "" } func (x *BotDigitalTrade) GetClosingPrice() string { if x != nil { return x.ClosingPrice } return "" } func (x *BotDigitalTrade) GetLimitPrice() string { if x != nil { return x.LimitPrice } return "" } func (x *BotDigitalTrade) GetMarketPrice() string { if x != nil { return x.MarketPrice } return "" } func (x *BotDigitalTrade) GetOrderNumber() string { if x != nil { return x.OrderNumber } return "" } func (x *BotDigitalTrade) GetServiceCost() string { if x != nil { return x.ServiceCost } return "" } func (x *BotDigitalTrade) GetOrderMoney() string { if x != nil { return x.OrderMoney } return "" } func (x *BotDigitalTrade) GetTotalMoney() string { if x != nil { return x.TotalMoney } return "" } func (x *BotDigitalTrade) GetStatus() int64 { if x != nil { return x.Status } return 0 } func (x *BotDigitalTrade) GetCreateTime() *timestamppb.Timestamp { if x != nil { return x.CreateTime } return nil } func (x *BotDigitalTrade) GetUpdateTime() *timestamppb.Timestamp { if x != nil { return x.UpdateTime } return nil } func (x *BotDigitalTrade) GetOpenTime() *timestamppb.Timestamp { if x != nil { return x.OpenTime } return nil } func (x *BotDigitalTrade) GetClosingTime() *timestamppb.Timestamp { if x != nil { return x.ClosingTime } return nil } func (x *BotDigitalTrade) GetClosingCost() string { if x != nil { return x.ClosingCost } return "" } func (x *BotDigitalTrade) GetKeepDecimal() string { if x != nil { return x.KeepDecimal } return "" } type SpotsOrderRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DigitalId string `protobuf:"bytes,1,opt,name=digitalId,proto3" json:"digitalId,omitempty"` // 交易对 TradeType int64 `protobuf:"varint,2,opt,name=tradeType,proto3" json:"tradeType,omitempty"` // 交易类型:1买入,2卖出 DealType int64 `protobuf:"varint,3,opt,name=dealType,proto3" json:"dealType,omitempty"` // 委托方式:1限价,2市价 LimitPrice string `protobuf:"bytes,4,opt,name=limitPrice,proto3" json:"limitPrice,omitempty"` // 限价 MarketPrice string `protobuf:"bytes,5,opt,name=marketPrice,proto3" json:"marketPrice,omitempty"` // 市价 DealPrice string `protobuf:"bytes,6,opt,name=dealPrice,proto3" json:"dealPrice,omitempty"` // 订单价格 OrderNumber string `protobuf:"bytes,7,opt,name=orderNumber,proto3" json:"orderNumber,omitempty"` // 订单数量 OrderMoney string `protobuf:"bytes,8,opt,name=orderMoney,proto3" json:"orderMoney,omitempty"` // 订单金额 ServiceCost string `protobuf:"bytes,9,opt,name=serviceCost,proto3" json:"serviceCost,omitempty"` // 手续费 } func (x *SpotsOrderRequest) Reset() { *x = SpotsOrderRequest{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SpotsOrderRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SpotsOrderRequest) ProtoMessage() {} func (x *SpotsOrderRequest) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SpotsOrderRequest.ProtoReflect.Descriptor instead. func (*SpotsOrderRequest) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_spots_proto_rawDescGZIP(), []int{4} } func (x *SpotsOrderRequest) GetDigitalId() string { if x != nil { return x.DigitalId } return "" } func (x *SpotsOrderRequest) GetTradeType() int64 { if x != nil { return x.TradeType } return 0 } func (x *SpotsOrderRequest) GetDealType() int64 { if x != nil { return x.DealType } return 0 } func (x *SpotsOrderRequest) GetLimitPrice() string { if x != nil { return x.LimitPrice } return "" } func (x *SpotsOrderRequest) GetMarketPrice() string { if x != nil { return x.MarketPrice } return "" } func (x *SpotsOrderRequest) GetDealPrice() string { if x != nil { return x.DealPrice } return "" } func (x *SpotsOrderRequest) GetOrderNumber() string { if x != nil { return x.OrderNumber } return "" } func (x *SpotsOrderRequest) GetOrderMoney() string { if x != nil { return x.OrderMoney } return "" } func (x *SpotsOrderRequest) GetServiceCost() string { if x != nil { return x.ServiceCost } return "" } type CancelSpotsOrderRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OrderId string `protobuf:"bytes,1,opt,name=orderId,proto3" json:"orderId,omitempty"` // 订单ID } func (x *CancelSpotsOrderRequest) Reset() { *x = CancelSpotsOrderRequest{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CancelSpotsOrderRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CancelSpotsOrderRequest) ProtoMessage() {} func (x *CancelSpotsOrderRequest) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CancelSpotsOrderRequest.ProtoReflect.Descriptor instead. func (*CancelSpotsOrderRequest) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_spots_proto_rawDescGZIP(), []int{5} } func (x *CancelSpotsOrderRequest) GetOrderId() string { if x != nil { return x.OrderId } return "" } type SpotsOrderReply struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // 状态码 Data *SpotsOrderResult `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` // 返回结果 Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // 返回消息提示 } func (x *SpotsOrderReply) Reset() { *x = SpotsOrderReply{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SpotsOrderReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*SpotsOrderReply) ProtoMessage() {} func (x *SpotsOrderReply) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SpotsOrderReply.ProtoReflect.Descriptor instead. func (*SpotsOrderReply) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_spots_proto_rawDescGZIP(), []int{6} } func (x *SpotsOrderReply) GetCode() int64 { if x != nil { return x.Code } return 0 } func (x *SpotsOrderReply) GetData() *SpotsOrderResult { if x != nil { return x.Data } return nil } func (x *SpotsOrderReply) GetMessage() string { if x != nil { return x.Message } return "" } type SpotsOrderResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OrderId string `protobuf:"bytes,1,opt,name=orderId,proto3" json:"orderId,omitempty"` // 订单Id } func (x *SpotsOrderResult) Reset() { *x = SpotsOrderResult{} if protoimpl.UnsafeEnabled { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SpotsOrderResult) String() string { return protoimpl.X.MessageStringOf(x) } func (*SpotsOrderResult) ProtoMessage() {} func (x *SpotsOrderResult) ProtoReflect() protoreflect.Message { mi := &file_matchmaking_v1_virtually_spots_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SpotsOrderResult.ProtoReflect.Descriptor instead. func (*SpotsOrderResult) Descriptor() ([]byte, []int) { return file_matchmaking_v1_virtually_spots_proto_rawDescGZIP(), []int{7} } func (x *SpotsOrderResult) GetOrderId() string { if x != nil { return x.OrderId } return "" } var File_matchmaking_v1_virtually_spots_proto protoreflect.FileDescriptor var file_matchmaking_v1_virtually_spots_proto_rawDesc = []byte{ 0x0a, 0x24, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x2f, 0x73, 0x70, 0x6f, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x80, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x13, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xd5, 0x05, 0x0a, 0x0f, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6b, 0x65, 0x65, 0x70, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6b, 0x65, 0x65, 0x70, 0x44, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, 0x22, 0xaf, 0x02, 0x0a, 0x11, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x22, 0x33, 0x0a, 0x17, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x22, 0x75, 0x0a, 0x0f, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x2c, 0x0a, 0x10, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x32, 0xac, 0x04, 0x0a, 0x05, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x12, 0x29, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x73, 0x2f, 0x73, 0x70, 0x6f, 0x74, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x73, 0x2f, 0x73, 0x70, 0x6f, 0x74, 0x73, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x7d, 0x0a, 0x0b, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x27, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x73, 0x2f, 0x73, 0x70, 0x6f, 0x74, 0x73, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x91, 0x01, 0x0a, 0x17, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x4f, 0x6e, 0x65, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x52, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x6f, 0x74, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x70, 0x6f, 0x74, 0x73, 0x2f, 0x73, 0x70, 0x6f, 0x74, 0x73, 0x5f, 0x6f, 0x6e, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x64, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x2a, 0x5a, 0x28, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2d, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_matchmaking_v1_virtually_spots_proto_rawDescOnce sync.Once file_matchmaking_v1_virtually_spots_proto_rawDescData = file_matchmaking_v1_virtually_spots_proto_rawDesc ) func file_matchmaking_v1_virtually_spots_proto_rawDescGZIP() []byte { file_matchmaking_v1_virtually_spots_proto_rawDescOnce.Do(func() { file_matchmaking_v1_virtually_spots_proto_rawDescData = protoimpl.X.CompressGZIP(file_matchmaking_v1_virtually_spots_proto_rawDescData) }) return file_matchmaking_v1_virtually_spots_proto_rawDescData } var file_matchmaking_v1_virtually_spots_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_matchmaking_v1_virtually_spots_proto_goTypes = []any{ (*GetBotDigitalTradeRequest)(nil), // 0: matchmaking.v1.GetBotDigitalTradeRequest (*GetBotDigitalTradeReply)(nil), // 1: matchmaking.v1.GetBotDigitalTradeReply (*BotDigitalTradeData)(nil), // 2: matchmaking.v1.BotDigitalTradeData (*BotDigitalTrade)(nil), // 3: matchmaking.v1.BotDigitalTrade (*SpotsOrderRequest)(nil), // 4: matchmaking.v1.SpotsOrderRequest (*CancelSpotsOrderRequest)(nil), // 5: matchmaking.v1.CancelSpotsOrderRequest (*SpotsOrderReply)(nil), // 6: matchmaking.v1.SpotsOrderReply (*SpotsOrderResult)(nil), // 7: matchmaking.v1.SpotsOrderResult (*timestamppb.Timestamp)(nil), // 8: google.protobuf.Timestamp } var file_matchmaking_v1_virtually_spots_proto_depIdxs = []int32{ 2, // 0: matchmaking.v1.GetBotDigitalTradeReply.data:type_name -> matchmaking.v1.BotDigitalTradeData 3, // 1: matchmaking.v1.BotDigitalTradeData.data:type_name -> matchmaking.v1.BotDigitalTrade 8, // 2: matchmaking.v1.BotDigitalTrade.createTime:type_name -> google.protobuf.Timestamp 8, // 3: matchmaking.v1.BotDigitalTrade.updateTime:type_name -> google.protobuf.Timestamp 8, // 4: matchmaking.v1.BotDigitalTrade.openTime:type_name -> google.protobuf.Timestamp 8, // 5: matchmaking.v1.BotDigitalTrade.closingTime:type_name -> google.protobuf.Timestamp 7, // 6: matchmaking.v1.SpotsOrderReply.data:type_name -> matchmaking.v1.SpotsOrderResult 0, // 7: matchmaking.v1.Spots.GetBotDigitalTrade:input_type -> matchmaking.v1.GetBotDigitalTradeRequest 4, // 8: matchmaking.v1.Spots.SpotsPlaceOrder:input_type -> matchmaking.v1.SpotsOrderRequest 5, // 9: matchmaking.v1.Spots.SpotsCancel:input_type -> matchmaking.v1.CancelSpotsOrderRequest 4, // 10: matchmaking.v1.Spots.SpotsOneClickRedemption:input_type -> matchmaking.v1.SpotsOrderRequest 1, // 11: matchmaking.v1.Spots.GetBotDigitalTrade:output_type -> matchmaking.v1.GetBotDigitalTradeReply 6, // 12: matchmaking.v1.Spots.SpotsPlaceOrder:output_type -> matchmaking.v1.SpotsOrderReply 6, // 13: matchmaking.v1.Spots.SpotsCancel:output_type -> matchmaking.v1.SpotsOrderReply 6, // 14: matchmaking.v1.Spots.SpotsOneClickRedemption:output_type -> matchmaking.v1.SpotsOrderReply 11, // [11:15] is the sub-list for method output_type 7, // [7:11] is the sub-list for method input_type 7, // [7:7] is the sub-list for extension type_name 7, // [7:7] is the sub-list for extension extendee 0, // [0:7] is the sub-list for field type_name } func init() { file_matchmaking_v1_virtually_spots_proto_init() } func file_matchmaking_v1_virtually_spots_proto_init() { if File_matchmaking_v1_virtually_spots_proto != nil { return } if !protoimpl.UnsafeEnabled { file_matchmaking_v1_virtually_spots_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*GetBotDigitalTradeRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_matchmaking_v1_virtually_spots_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*GetBotDigitalTradeReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_matchmaking_v1_virtually_spots_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*BotDigitalTradeData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_matchmaking_v1_virtually_spots_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*BotDigitalTrade); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_matchmaking_v1_virtually_spots_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*SpotsOrderRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_matchmaking_v1_virtually_spots_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*CancelSpotsOrderRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_matchmaking_v1_virtually_spots_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*SpotsOrderReply); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_matchmaking_v1_virtually_spots_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*SpotsOrderResult); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_matchmaking_v1_virtually_spots_proto_rawDesc, NumEnums: 0, NumMessages: 8, NumExtensions: 0, NumServices: 1, }, GoTypes: file_matchmaking_v1_virtually_spots_proto_goTypes, DependencyIndexes: file_matchmaking_v1_virtually_spots_proto_depIdxs, MessageInfos: file_matchmaking_v1_virtually_spots_proto_msgTypes, }.Build() File_matchmaking_v1_virtually_spots_proto = out.File file_matchmaking_v1_virtually_spots_proto_rawDesc = nil file_matchmaking_v1_virtually_spots_proto_goTypes = nil file_matchmaking_v1_virtually_spots_proto_depIdxs = nil }