mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-11-04 00:27:41 +00:00 
			
		
		
		
	* start makefile refactor to smaller units; break out proto-dep updating; add check-proto-deps target for use in CI in order to determine if depdencies have diverged * add proto check workflow * download go modules before checking proto deps * clean up -- hide output and add error message for check target * add error message for check-rsync * update any type, and ibc-go protos for v3.4.0 * add buf generate files for gogo, docs, and swagger * update swagger dirs and run with latest swagger gen * ignore new build directories * refactor proto makefile logic -- use buf instead of scripts * remove old protobuf scripts * run all proto checks on push * remove moved file * set default value for protoc machine * install build deps seperately * fetch master for buf check breaking * checkout from https url in CI for buf breaking * fix rsync file permissions on darwin * ignore build dirs * fix issue with apple provided make; clean up build deps; switch to buf format * remove clang format file -- using buf format now * run make proto-format (buf format changes) * update generated files for proto format changes
		
			
				
	
	
		
			164 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			164 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
syntax = "proto3";
 | 
						|
package kava.pricefeed.v1beta1;
 | 
						|
 | 
						|
import "gogoproto/gogo.proto";
 | 
						|
import "google/api/annotations.proto";
 | 
						|
import "google/protobuf/timestamp.proto";
 | 
						|
import "kava/pricefeed/v1beta1/store.proto";
 | 
						|
 | 
						|
option go_package = "github.com/kava-labs/kava/x/pricefeed/types";
 | 
						|
option (gogoproto.equal_all) = true;
 | 
						|
option (gogoproto.verbose_equal_all) = true;
 | 
						|
 | 
						|
// Query defines the gRPC querier service for pricefeed module
 | 
						|
service Query {
 | 
						|
  // Params queries all parameters of the pricefeed module.
 | 
						|
  rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
 | 
						|
    option (google.api.http).get = "/kava/pricefeed/v1beta1/params";
 | 
						|
  }
 | 
						|
 | 
						|
  // Price queries price details based on a market
 | 
						|
  rpc Price(QueryPriceRequest) returns (QueryPriceResponse) {
 | 
						|
    option (google.api.http).get = "/kava/pricefeed/v1beta1/prices/{market_id}";
 | 
						|
  }
 | 
						|
 | 
						|
  // Prices queries all prices
 | 
						|
  rpc Prices(QueryPricesRequest) returns (QueryPricesResponse) {
 | 
						|
    option (google.api.http).get = "/kava/pricefeed/v1beta1/prices";
 | 
						|
  }
 | 
						|
 | 
						|
  // RawPrices queries all raw prices based on a market
 | 
						|
  rpc RawPrices(QueryRawPricesRequest) returns (QueryRawPricesResponse) {
 | 
						|
    option (google.api.http).get = "/kava/pricefeed/v1beta1/rawprices/{market_id}";
 | 
						|
  }
 | 
						|
 | 
						|
  // Oracles queries all oracles based on a market
 | 
						|
  rpc Oracles(QueryOraclesRequest) returns (QueryOraclesResponse) {
 | 
						|
    option (google.api.http).get = "/kava/pricefeed/v1beta1/oracles/{market_id}";
 | 
						|
  }
 | 
						|
 | 
						|
  // Markets queries all markets
 | 
						|
  rpc Markets(QueryMarketsRequest) returns (QueryMarketsResponse) {
 | 
						|
    option (google.api.http).get = "/kava/pricefeed/v1beta1/markets";
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
// QueryParamsRequest defines the request type for querying x/pricefeed
 | 
						|
// parameters.
 | 
						|
message QueryParamsRequest {}
 | 
						|
 | 
						|
// QueryParamsResponse defines the response type for querying x/pricefeed
 | 
						|
// parameters.
 | 
						|
message QueryParamsResponse {
 | 
						|
  option (gogoproto.goproto_getters) = false;
 | 
						|
 | 
						|
  Params params = 1 [(gogoproto.nullable) = false];
 | 
						|
}
 | 
						|
 | 
						|
// QueryPriceRequest is the request type for the Query/PriceRequest RPC method.
 | 
						|
message QueryPriceRequest {
 | 
						|
  option (gogoproto.goproto_getters) = false;
 | 
						|
 | 
						|
  string market_id = 1;
 | 
						|
}
 | 
						|
 | 
						|
// QueryPriceResponse is the response type for the Query/Prices RPC method.
 | 
						|
message QueryPriceResponse {
 | 
						|
  option (gogoproto.goproto_getters) = false;
 | 
						|
 | 
						|
  CurrentPriceResponse price = 1 [(gogoproto.nullable) = false];
 | 
						|
}
 | 
						|
 | 
						|
// QueryPricesRequest is the request type for the Query/Prices RPC method.
 | 
						|
message QueryPricesRequest {}
 | 
						|
 | 
						|
// QueryPricesResponse is the response type for the Query/Prices RPC method.
 | 
						|
message QueryPricesResponse {
 | 
						|
  option (gogoproto.goproto_getters) = false;
 | 
						|
 | 
						|
  repeated CurrentPriceResponse prices = 1 [
 | 
						|
    (gogoproto.castrepeated) = "CurrentPriceResponses",
 | 
						|
    (gogoproto.nullable) = false
 | 
						|
  ];
 | 
						|
}
 | 
						|
 | 
						|
// QueryRawPricesRequest is the request type for the Query/RawPrices RPC method.
 | 
						|
message QueryRawPricesRequest {
 | 
						|
  option (gogoproto.goproto_getters) = false;
 | 
						|
 | 
						|
  string market_id = 1;
 | 
						|
}
 | 
						|
 | 
						|
// QueryRawPricesResponse is the response type for the Query/RawPrices RPC
 | 
						|
// method.
 | 
						|
message QueryRawPricesResponse {
 | 
						|
  option (gogoproto.goproto_getters) = false;
 | 
						|
 | 
						|
  repeated PostedPriceResponse raw_prices = 1 [
 | 
						|
    (gogoproto.castrepeated) = "PostedPriceResponses",
 | 
						|
    (gogoproto.nullable) = false
 | 
						|
  ];
 | 
						|
}
 | 
						|
 | 
						|
// QueryOraclesRequest is the request type for the Query/Oracles RPC method.
 | 
						|
message QueryOraclesRequest {
 | 
						|
  option (gogoproto.goproto_getters) = false;
 | 
						|
 | 
						|
  string market_id = 1;
 | 
						|
}
 | 
						|
 | 
						|
// QueryOraclesResponse is the response type for the Query/Oracles RPC method.
 | 
						|
message QueryOraclesResponse {
 | 
						|
  option (gogoproto.goproto_getters) = false;
 | 
						|
 | 
						|
  // List of oracle addresses
 | 
						|
  repeated string oracles = 1;
 | 
						|
}
 | 
						|
 | 
						|
// QueryMarketsRequest is the request type for the Query/Markets RPC method.
 | 
						|
message QueryMarketsRequest {}
 | 
						|
 | 
						|
// QueryMarketsResponse is the response type for the Query/Markets RPC method.
 | 
						|
message QueryMarketsResponse {
 | 
						|
  option (gogoproto.goproto_getters) = false;
 | 
						|
 | 
						|
  // List of markets
 | 
						|
  repeated MarketResponse markets = 1 [
 | 
						|
    (gogoproto.castrepeated) = "MarketResponses",
 | 
						|
    (gogoproto.nullable) = false
 | 
						|
  ];
 | 
						|
}
 | 
						|
 | 
						|
// PostedPriceResponse defines a price for market posted by a specific oracle.
 | 
						|
message PostedPriceResponse {
 | 
						|
  string market_id = 1 [(gogoproto.customname) = "MarketID"];
 | 
						|
  string oracle_address = 2;
 | 
						|
  string price = 3 [
 | 
						|
    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
 | 
						|
    (gogoproto.nullable) = false
 | 
						|
  ];
 | 
						|
  google.protobuf.Timestamp expiry = 4 [
 | 
						|
    (gogoproto.stdtime) = true,
 | 
						|
    (gogoproto.nullable) = false
 | 
						|
  ];
 | 
						|
}
 | 
						|
 | 
						|
// CurrentPriceResponse defines a current price for a particular market in the pricefeed
 | 
						|
// module.
 | 
						|
message CurrentPriceResponse {
 | 
						|
  string market_id = 1 [(gogoproto.customname) = "MarketID"];
 | 
						|
  string price = 2 [
 | 
						|
    (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
 | 
						|
    (gogoproto.nullable) = false
 | 
						|
  ];
 | 
						|
}
 | 
						|
 | 
						|
// MarketResponse defines an asset in the pricefeed.
 | 
						|
message MarketResponse {
 | 
						|
  string market_id = 1 [(gogoproto.customname) = "MarketID"];
 | 
						|
  string base_asset = 2;
 | 
						|
  string quote_asset = 3;
 | 
						|
  repeated string oracles = 4;
 | 
						|
  bool active = 5;
 | 
						|
}
 |