// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.26.0 // protoc v3.15.6 // source: proto/crypto.proto package crypto import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" 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 Article struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // title of the article Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` // its description Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` // the source url Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` // the date published Date string `protobuf:"bytes,4,opt,name=date,proto3" json:"date,omitempty"` // the source Source string `protobuf:"bytes,5,opt,name=source,proto3" json:"source,omitempty"` } func (x *Article) Reset() { *x = Article{} if protoimpl.UnsafeEnabled { mi := &file_proto_crypto_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Article) String() string { return protoimpl.X.MessageStringOf(x) } func (*Article) ProtoMessage() {} func (x *Article) ProtoReflect() protoreflect.Message { mi := &file_proto_crypto_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 Article.ProtoReflect.Descriptor instead. func (*Article) Descriptor() ([]byte, []int) { return file_proto_crypto_proto_rawDescGZIP(), []int{0} } func (x *Article) GetTitle() string { if x != nil { return x.Title } return "" } func (x *Article) GetDescription() string { if x != nil { return x.Description } return "" } func (x *Article) GetUrl() string { if x != nil { return x.Url } return "" } func (x *Article) GetDate() string { if x != nil { return x.Date } return "" } func (x *Article) GetSource() string { if x != nil { return x.Source } return "" } // Get news related to a currency type NewsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // cryptocurrency to request news for e.g BTC Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` } func (x *NewsRequest) Reset() { *x = NewsRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_crypto_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NewsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NewsRequest) ProtoMessage() {} func (x *NewsRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_crypto_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 NewsRequest.ProtoReflect.Descriptor instead. func (*NewsRequest) Descriptor() ([]byte, []int) { return file_proto_crypto_proto_rawDescGZIP(), []int{1} } func (x *NewsRequest) GetSymbol() string { if x != nil { return x.Symbol } return "" } type NewsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // symbol requested for Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` // list of articles Articles []*Article `protobuf:"bytes,2,rep,name=articles,proto3" json:"articles,omitempty"` } func (x *NewsResponse) Reset() { *x = NewsResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_crypto_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *NewsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NewsResponse) ProtoMessage() {} func (x *NewsResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_crypto_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 NewsResponse.ProtoReflect.Descriptor instead. func (*NewsResponse) Descriptor() ([]byte, []int) { return file_proto_crypto_proto_rawDescGZIP(), []int{2} } func (x *NewsResponse) GetSymbol() string { if x != nil { return x.Symbol } return "" } func (x *NewsResponse) GetArticles() []*Article { if x != nil { return x.Articles } return nil } // Get the last price for a given crypto ticker type PriceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // crypto symbol e.g BTCUSD Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` } func (x *PriceRequest) Reset() { *x = PriceRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_crypto_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PriceRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*PriceRequest) ProtoMessage() {} func (x *PriceRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_crypto_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 PriceRequest.ProtoReflect.Descriptor instead. func (*PriceRequest) Descriptor() ([]byte, []int) { return file_proto_crypto_proto_rawDescGZIP(), []int{3} } func (x *PriceRequest) GetSymbol() string { if x != nil { return x.Symbol } return "" } type PriceResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // the crypto symbol e.g BTCUSD Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` // the last price Price float64 `protobuf:"fixed64,2,opt,name=price,proto3" json:"price,omitempty"` } func (x *PriceResponse) Reset() { *x = PriceResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_crypto_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PriceResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PriceResponse) ProtoMessage() {} func (x *PriceResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_crypto_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 PriceResponse.ProtoReflect.Descriptor instead. func (*PriceResponse) Descriptor() ([]byte, []int) { return file_proto_crypto_proto_rawDescGZIP(), []int{4} } func (x *PriceResponse) GetSymbol() string { if x != nil { return x.Symbol } return "" } func (x *PriceResponse) GetPrice() float64 { if x != nil { return x.Price } return 0 } // Get the last quote for the crypto type QuoteRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // the crypto symbol e.g BTCUSD Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` } func (x *QuoteRequest) Reset() { *x = QuoteRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_crypto_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QuoteRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*QuoteRequest) ProtoMessage() {} func (x *QuoteRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_crypto_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 QuoteRequest.ProtoReflect.Descriptor instead. func (*QuoteRequest) Descriptor() ([]byte, []int) { return file_proto_crypto_proto_rawDescGZIP(), []int{5} } func (x *QuoteRequest) GetSymbol() string { if x != nil { return x.Symbol } return "" } type QuoteResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // the crypto symbol Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` // the asking price AskPrice float64 `protobuf:"fixed64,2,opt,name=ask_price,json=askPrice,proto3" json:"ask_price,omitempty"` // the bidding price BidPrice float64 `protobuf:"fixed64,3,opt,name=bid_price,json=bidPrice,proto3" json:"bid_price,omitempty"` // the ask size AskSize float64 `protobuf:"fixed64,4,opt,name=ask_size,json=askSize,proto3" json:"ask_size,omitempty"` // the bid size BidSize float64 `protobuf:"fixed64,5,opt,name=bid_size,json=bidSize,proto3" json:"bid_size,omitempty"` // the UTC timestamp of the quote Timestamp string `protobuf:"bytes,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } func (x *QuoteResponse) Reset() { *x = QuoteResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_crypto_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *QuoteResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*QuoteResponse) ProtoMessage() {} func (x *QuoteResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_crypto_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 QuoteResponse.ProtoReflect.Descriptor instead. func (*QuoteResponse) Descriptor() ([]byte, []int) { return file_proto_crypto_proto_rawDescGZIP(), []int{6} } func (x *QuoteResponse) GetSymbol() string { if x != nil { return x.Symbol } return "" } func (x *QuoteResponse) GetAskPrice() float64 { if x != nil { return x.AskPrice } return 0 } func (x *QuoteResponse) GetBidPrice() float64 { if x != nil { return x.BidPrice } return 0 } func (x *QuoteResponse) GetAskSize() float64 { if x != nil { return x.AskSize } return 0 } func (x *QuoteResponse) GetBidSize() float64 { if x != nil { return x.BidSize } return 0 } func (x *QuoteResponse) GetTimestamp() string { if x != nil { return x.Timestamp } return "" } // Returns the history for the previous close type HistoryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // the crypto symbol e.g BTCUSD Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` } func (x *HistoryRequest) Reset() { *x = HistoryRequest{} if protoimpl.UnsafeEnabled { mi := &file_proto_crypto_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HistoryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*HistoryRequest) ProtoMessage() {} func (x *HistoryRequest) ProtoReflect() protoreflect.Message { mi := &file_proto_crypto_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 HistoryRequest.ProtoReflect.Descriptor instead. func (*HistoryRequest) Descriptor() ([]byte, []int) { return file_proto_crypto_proto_rawDescGZIP(), []int{7} } func (x *HistoryRequest) GetSymbol() string { if x != nil { return x.Symbol } return "" } type HistoryResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // the crypto symbol Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` // the open price Open float64 `protobuf:"fixed64,2,opt,name=open,proto3" json:"open,omitempty"` // the close price Close float64 `protobuf:"fixed64,3,opt,name=close,proto3" json:"close,omitempty"` // the peak price High float64 `protobuf:"fixed64,4,opt,name=high,proto3" json:"high,omitempty"` // the low price Low float64 `protobuf:"fixed64,5,opt,name=low,proto3" json:"low,omitempty"` // the volume Volume float64 `protobuf:"fixed64,6,opt,name=volume,proto3" json:"volume,omitempty"` // the date Date string `protobuf:"bytes,7,opt,name=date,proto3" json:"date,omitempty"` } func (x *HistoryResponse) Reset() { *x = HistoryResponse{} if protoimpl.UnsafeEnabled { mi := &file_proto_crypto_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *HistoryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*HistoryResponse) ProtoMessage() {} func (x *HistoryResponse) ProtoReflect() protoreflect.Message { mi := &file_proto_crypto_proto_msgTypes[8] 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 HistoryResponse.ProtoReflect.Descriptor instead. func (*HistoryResponse) Descriptor() ([]byte, []int) { return file_proto_crypto_proto_rawDescGZIP(), []int{8} } func (x *HistoryResponse) GetSymbol() string { if x != nil { return x.Symbol } return "" } func (x *HistoryResponse) GetOpen() float64 { if x != nil { return x.Open } return 0 } func (x *HistoryResponse) GetClose() float64 { if x != nil { return x.Close } return 0 } func (x *HistoryResponse) GetHigh() float64 { if x != nil { return x.High } return 0 } func (x *HistoryResponse) GetLow() float64 { if x != nil { return x.Low } return 0 } func (x *HistoryResponse) GetVolume() float64 { if x != nil { return x.Volume } return 0 } func (x *HistoryResponse) GetDate() string { if x != nil { return x.Date } return "" } var File_proto_crypto_proto protoreflect.FileDescriptor var file_proto_crypto_proto_rawDesc = []byte{ 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x22, 0x7f, 0x0a, 0x07, 0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x25, 0x0a, 0x0b, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x22, 0x53, 0x0a, 0x0c, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x2b, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x0c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x22, 0x3d, 0x0a, 0x0d, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x22, 0x26, 0x0a, 0x0c, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x22, 0xb5, 0x01, 0x0a, 0x0d, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x62, 0x69, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x61, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x69, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x62, 0x69, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x28, 0x0a, 0x0e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x22, 0xa5, 0x01, 0x0a, 0x0f, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x63, 0x6c, 0x6f, 0x73, 0x65, 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, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x65, 0x32, 0xeb, 0x01, 0x0a, 0x06, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x12, 0x33, 0x0a, 0x04, 0x4e, 0x65, 0x77, 0x73, 0x12, 0x13, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x4e, 0x65, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x05, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x14, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x14, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x07, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x10, 0x5a, 0x0e, 0x2e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x3b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_proto_crypto_proto_rawDescOnce sync.Once file_proto_crypto_proto_rawDescData = file_proto_crypto_proto_rawDesc ) func file_proto_crypto_proto_rawDescGZIP() []byte { file_proto_crypto_proto_rawDescOnce.Do(func() { file_proto_crypto_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_crypto_proto_rawDescData) }) return file_proto_crypto_proto_rawDescData } var file_proto_crypto_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_proto_crypto_proto_goTypes = []interface{}{ (*Article)(nil), // 0: crypto.Article (*NewsRequest)(nil), // 1: crypto.NewsRequest (*NewsResponse)(nil), // 2: crypto.NewsResponse (*PriceRequest)(nil), // 3: crypto.PriceRequest (*PriceResponse)(nil), // 4: crypto.PriceResponse (*QuoteRequest)(nil), // 5: crypto.QuoteRequest (*QuoteResponse)(nil), // 6: crypto.QuoteResponse (*HistoryRequest)(nil), // 7: crypto.HistoryRequest (*HistoryResponse)(nil), // 8: crypto.HistoryResponse } var file_proto_crypto_proto_depIdxs = []int32{ 0, // 0: crypto.NewsResponse.articles:type_name -> crypto.Article 1, // 1: crypto.Crypto.News:input_type -> crypto.NewsRequest 5, // 2: crypto.Crypto.Quote:input_type -> crypto.QuoteRequest 3, // 3: crypto.Crypto.Price:input_type -> crypto.PriceRequest 7, // 4: crypto.Crypto.History:input_type -> crypto.HistoryRequest 2, // 5: crypto.Crypto.News:output_type -> crypto.NewsResponse 6, // 6: crypto.Crypto.Quote:output_type -> crypto.QuoteResponse 4, // 7: crypto.Crypto.Price:output_type -> crypto.PriceResponse 8, // 8: crypto.Crypto.History:output_type -> crypto.HistoryResponse 5, // [5:9] is the sub-list for method output_type 1, // [1:5] is the sub-list for method input_type 1, // [1:1] is the sub-list for extension type_name 1, // [1:1] is the sub-list for extension extendee 0, // [0:1] is the sub-list for field type_name } func init() { file_proto_crypto_proto_init() } func file_proto_crypto_proto_init() { if File_proto_crypto_proto != nil { return } if !protoimpl.UnsafeEnabled { file_proto_crypto_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Article); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_crypto_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NewsRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_crypto_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NewsResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_crypto_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_crypto_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PriceResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_crypto_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuoteRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_crypto_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuoteResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_crypto_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HistoryRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_proto_crypto_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HistoryResponse); 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_proto_crypto_proto_rawDesc, NumEnums: 0, NumMessages: 9, NumExtensions: 0, NumServices: 1, }, GoTypes: file_proto_crypto_proto_goTypes, DependencyIndexes: file_proto_crypto_proto_depIdxs, MessageInfos: file_proto_crypto_proto_msgTypes, }.Build() File_proto_crypto_proto = out.File file_proto_crypto_proto_rawDesc = nil file_proto_crypto_proto_goTypes = nil file_proto_crypto_proto_depIdxs = nil }