syntax = "proto3"; package forex; option go_package = "./proto;forex"; service Forex { rpc Quote(QuoteRequest) returns (QuoteResponse) {} rpc Price(PriceRequest) returns (PriceResponse) {} rpc History(HistoryRequest) returns (HistoryResponse) {} } // Get the latest price for a given forex ticker message PriceRequest { // forex symbol e.g GBPUSD string symbol = 1; } message PriceResponse { // the forex symbol e.g GBPUSD string symbol = 1; // the last price double price = 2; } // Get the latest quote for the forex message QuoteRequest { // the forex symbol e.g GBPUSD string symbol = 1; } message QuoteResponse { // the forex symbol string symbol = 1; // the asking price double ask_price = 2; // the bidding price double bid_price = 3; // the UTC timestamp of the quote string timestamp = 4; } // Returns the data for the previous close message HistoryRequest { // the forex symbol e.g GBPUSD string symbol = 1; } message HistoryResponse { // the forex symbol string symbol = 1; // the open price double open = 2; // the close price double close = 3; // the peak price double high = 4; // the low price double low = 5; // the volume double volume = 6; // the date string date = 7; }