import { ProposalStatus, Proposal, Vote, VotingParams, DepositParams, TallyParams, Deposit, TallyResult } from "./gov"; import { PageRequest, PageResponse } from "../../base/query/v1beta1/pagination"; import { Rpc } from "@osmonauts/helpers"; import * as _m0 from "protobufjs/minimal"; import { QueryProposalRequest, QueryProposalResponse, QueryProposalsRequest, QueryProposalsResponse, QueryVoteRequest, QueryVoteResponse, QueryVotesRequest, QueryVotesResponse, QueryParamsRequest, QueryParamsResponse, QueryDepositRequest, QueryDepositResponse, QueryDepositsRequest, QueryDepositsResponse, QueryTallyResultRequest, QueryTallyResultResponse } from "./query"; /** Query defines the RPC service */ export interface Query { proposal(request: QueryProposalRequest): Promise; /*Proposal queries proposal details based on ProposalID.*/ proposals(request: QueryProposalsRequest): Promise; /*Proposals queries all proposals based on given status.*/ vote(request: QueryVoteRequest): Promise; /*Vote queries voted information based on proposalID, voterAddr.*/ votes(request: QueryVotesRequest): Promise; /*Votes queries votes of a given proposal.*/ params(request: QueryParamsRequest): Promise; /*Params queries all parameters of the gov module.*/ deposit(request: QueryDepositRequest): Promise; /*Deposit queries single deposit information based proposalID, depositAddr.*/ deposits(request: QueryDepositsRequest): Promise; /*Deposits queries all deposits of a single proposal.*/ tallyResult(request: QueryTallyResultRequest): Promise; /*TallyResult queries the tally of a proposal vote.*/ } export class QueryClientImpl implements Query { private readonly rpc: Rpc; constructor(rpc: Rpc) { this.rpc = rpc; this.proposal = this.proposal.bind(this); this.proposals = this.proposals.bind(this); this.vote = this.vote.bind(this); this.votes = this.votes.bind(this); this.params = this.params.bind(this); this.deposit = this.deposit.bind(this); this.deposits = this.deposits.bind(this); this.tallyResult = this.tallyResult.bind(this); } proposal(request: QueryProposalRequest): Promise { const data = QueryProposalRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.gov.v1.Query", "Proposal", data); return promise.then(data => QueryProposalResponse.decode(new _m0.Reader(data))); } proposals(request: QueryProposalsRequest): Promise { const data = QueryProposalsRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.gov.v1.Query", "Proposals", data); return promise.then(data => QueryProposalsResponse.decode(new _m0.Reader(data))); } vote(request: QueryVoteRequest): Promise { const data = QueryVoteRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.gov.v1.Query", "Vote", data); return promise.then(data => QueryVoteResponse.decode(new _m0.Reader(data))); } votes(request: QueryVotesRequest): Promise { const data = QueryVotesRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.gov.v1.Query", "Votes", data); return promise.then(data => QueryVotesResponse.decode(new _m0.Reader(data))); } params(request: QueryParamsRequest): Promise { const data = QueryParamsRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.gov.v1.Query", "Params", data); return promise.then(data => QueryParamsResponse.decode(new _m0.Reader(data))); } deposit(request: QueryDepositRequest): Promise { const data = QueryDepositRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.gov.v1.Query", "Deposit", data); return promise.then(data => QueryDepositResponse.decode(new _m0.Reader(data))); } deposits(request: QueryDepositsRequest): Promise { const data = QueryDepositsRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.gov.v1.Query", "Deposits", data); return promise.then(data => QueryDepositsResponse.decode(new _m0.Reader(data))); } tallyResult(request: QueryTallyResultRequest): Promise { const data = QueryTallyResultRequest.encode(request).finish(); const promise = this.rpc.request("cosmos.gov.v1.Query", "TallyResult", data); return promise.then(data => QueryTallyResultResponse.decode(new _m0.Reader(data))); } }