import { Rpc } from "../../helpers"; import * as _m0 from "protobufjs/minimal"; import { QueryClient, createProtobufRpcClient } from "@cosmjs/stargate"; import { QueryMarketPriceRequest, QueryMarketPriceResponse, QueryAllMarketPricesRequest, QueryAllMarketPricesResponse, QueryMarketParamRequest, QueryMarketParamResponse, QueryAllMarketParamsRequest, QueryAllMarketParamsResponse, QueryNextMarketIdRequest, QueryNextMarketIdResponse } from "./query"; /** Query defines the gRPC querier service. */ export interface Query { /** Queries a MarketPrice by id. */ marketPrice(request: QueryMarketPriceRequest): Promise; /** Queries a list of MarketPrice items. */ allMarketPrices(request?: QueryAllMarketPricesRequest): Promise; /** Queries a MarketParam by id. */ marketParam(request: QueryMarketParamRequest): Promise; /** Queries a list of MarketParam items. */ allMarketParams(request?: QueryAllMarketParamsRequest): Promise; /** Queries the next market id. */ nextMarketId(request?: QueryNextMarketIdRequest): Promise; } export class QueryClientImpl implements Query { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.marketPrice = this.marketPrice.bind(this); this.allMarketPrices = this.allMarketPrices.bind(this); this.marketParam = this.marketParam.bind(this); this.allMarketParams = this.allMarketParams.bind(this); this.nextMarketId = this.nextMarketId.bind(this); } marketPrice(request: QueryMarketPriceRequest): Promise { const data = QueryMarketPriceRequest.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.prices.Query", "MarketPrice", data); return promise.then(data => QueryMarketPriceResponse.decode(new _m0.Reader(data))); } allMarketPrices(request: QueryAllMarketPricesRequest = { pagination: undefined }): Promise { const data = QueryAllMarketPricesRequest.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.prices.Query", "AllMarketPrices", data); return promise.then(data => QueryAllMarketPricesResponse.decode(new _m0.Reader(data))); } marketParam(request: QueryMarketParamRequest): Promise { const data = QueryMarketParamRequest.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.prices.Query", "MarketParam", data); return promise.then(data => QueryMarketParamResponse.decode(new _m0.Reader(data))); } allMarketParams(request: QueryAllMarketParamsRequest = { pagination: undefined }): Promise { const data = QueryAllMarketParamsRequest.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.prices.Query", "AllMarketParams", data); return promise.then(data => QueryAllMarketParamsResponse.decode(new _m0.Reader(data))); } nextMarketId(request: QueryNextMarketIdRequest = {}): Promise { const data = QueryNextMarketIdRequest.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.prices.Query", "NextMarketId", data); return promise.then(data => QueryNextMarketIdResponse.decode(new _m0.Reader(data))); } } export const createRpcQueryExtension = (base: QueryClient) => { const rpc = createProtobufRpcClient(base); const queryService = new QueryClientImpl(rpc); return { marketPrice(request: QueryMarketPriceRequest): Promise { return queryService.marketPrice(request); }, allMarketPrices(request?: QueryAllMarketPricesRequest): Promise { return queryService.allMarketPrices(request); }, marketParam(request: QueryMarketParamRequest): Promise { return queryService.marketParam(request); }, allMarketParams(request?: QueryAllMarketParamsRequest): Promise { return queryService.allMarketParams(request); }, nextMarketId(request?: QueryNextMarketIdRequest): Promise { return queryService.nextMarketId(request); } }; };