import { Rpc } from "../../helpers"; import * as _m0 from "protobufjs/minimal"; import { QueryClient, createProtobufRpcClient } from "@cosmjs/stargate"; import { QueryParamsRequest, QueryParamsResponse, QueryVaultRequest, QueryVaultResponse, QueryAllVaultsRequest, QueryAllVaultsResponse, QueryMegavaultTotalSharesRequest, QueryMegavaultTotalSharesResponse, QueryMegavaultOwnerSharesRequest, QueryMegavaultOwnerSharesResponse, QueryMegavaultAllOwnerSharesRequest, QueryMegavaultAllOwnerSharesResponse, QueryVaultParamsRequest, QueryVaultParamsResponse, QueryMegavaultWithdrawalInfoRequest, QueryMegavaultWithdrawalInfoResponse } from "./query"; /** Query defines the gRPC querier service. */ export interface Query { /** Queries the Params. */ params(request?: QueryParamsRequest): Promise; /** Queries a Vault by type and number. */ vault(request: QueryVaultRequest): Promise; /** Queries all vaults. */ allVaults(request?: QueryAllVaultsRequest): Promise; /** Queries total shares of megavault. */ megavaultTotalShares(request?: QueryMegavaultTotalSharesRequest): Promise; /** Queries owner shares of megavault. */ megavaultOwnerShares(request: QueryMegavaultOwnerSharesRequest): Promise; /** Queries all owner shares of megavault. */ megavaultAllOwnerShares(request?: QueryMegavaultAllOwnerSharesRequest): Promise; /** Queries vault params of a vault. */ vaultParams(request: QueryVaultParamsRequest): Promise; /** Queries withdrawal info for megavault. */ megavaultWithdrawalInfo(request: QueryMegavaultWithdrawalInfoRequest): Promise; } export class QueryClientImpl implements Query { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.params = this.params.bind(this); this.vault = this.vault.bind(this); this.allVaults = this.allVaults.bind(this); this.megavaultTotalShares = this.megavaultTotalShares.bind(this); this.megavaultOwnerShares = this.megavaultOwnerShares.bind(this); this.megavaultAllOwnerShares = this.megavaultAllOwnerShares.bind(this); this.vaultParams = this.vaultParams.bind(this); this.megavaultWithdrawalInfo = this.megavaultWithdrawalInfo.bind(this); } params(request: QueryParamsRequest = {}): Promise { const data = QueryParamsRequest.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.vault.Query", "Params", data); return promise.then(data => QueryParamsResponse.decode(new _m0.Reader(data))); } vault(request: QueryVaultRequest): Promise { const data = QueryVaultRequest.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.vault.Query", "Vault", data); return promise.then(data => QueryVaultResponse.decode(new _m0.Reader(data))); } allVaults(request: QueryAllVaultsRequest = { pagination: undefined }): Promise { const data = QueryAllVaultsRequest.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.vault.Query", "AllVaults", data); return promise.then(data => QueryAllVaultsResponse.decode(new _m0.Reader(data))); } megavaultTotalShares(request: QueryMegavaultTotalSharesRequest = {}): Promise { const data = QueryMegavaultTotalSharesRequest.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.vault.Query", "MegavaultTotalShares", data); return promise.then(data => QueryMegavaultTotalSharesResponse.decode(new _m0.Reader(data))); } megavaultOwnerShares(request: QueryMegavaultOwnerSharesRequest): Promise { const data = QueryMegavaultOwnerSharesRequest.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.vault.Query", "MegavaultOwnerShares", data); return promise.then(data => QueryMegavaultOwnerSharesResponse.decode(new _m0.Reader(data))); } megavaultAllOwnerShares(request: QueryMegavaultAllOwnerSharesRequest = { pagination: undefined }): Promise { const data = QueryMegavaultAllOwnerSharesRequest.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.vault.Query", "MegavaultAllOwnerShares", data); return promise.then(data => QueryMegavaultAllOwnerSharesResponse.decode(new _m0.Reader(data))); } vaultParams(request: QueryVaultParamsRequest): Promise { const data = QueryVaultParamsRequest.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.vault.Query", "VaultParams", data); return promise.then(data => QueryVaultParamsResponse.decode(new _m0.Reader(data))); } megavaultWithdrawalInfo(request: QueryMegavaultWithdrawalInfoRequest): Promise { const data = QueryMegavaultWithdrawalInfoRequest.encode(request).finish(); const promise = this.rpc.request("dydxprotocol.vault.Query", "MegavaultWithdrawalInfo", data); return promise.then(data => QueryMegavaultWithdrawalInfoResponse.decode(new _m0.Reader(data))); } } export const createRpcQueryExtension = (base: QueryClient) => { const rpc = createProtobufRpcClient(base); const queryService = new QueryClientImpl(rpc); return { params(request?: QueryParamsRequest): Promise { return queryService.params(request); }, vault(request: QueryVaultRequest): Promise { return queryService.vault(request); }, allVaults(request?: QueryAllVaultsRequest): Promise { return queryService.allVaults(request); }, megavaultTotalShares(request?: QueryMegavaultTotalSharesRequest): Promise { return queryService.megavaultTotalShares(request); }, megavaultOwnerShares(request: QueryMegavaultOwnerSharesRequest): Promise { return queryService.megavaultOwnerShares(request); }, megavaultAllOwnerShares(request?: QueryMegavaultAllOwnerSharesRequest): Promise { return queryService.megavaultAllOwnerShares(request); }, vaultParams(request: QueryVaultParamsRequest): Promise { return queryService.vaultParams(request); }, megavaultWithdrawalInfo(request: QueryMegavaultWithdrawalInfoRequest): Promise { return queryService.megavaultWithdrawalInfo(request); } }; };