"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTallyResult = exports.getDeposits = exports.getDeposit = exports.getParams = exports.getVotes = exports.getVote = exports.getProposals = exports.getProposal = void 0;
const helper_func_types_1 = require("../../../helper-func-types");
const query_1 = require("./query");
/**
 * Proposal queries proposal details based on ProposalID.
 * @name getProposal
 * @package cosmos.gov.v1beta1
 * @see proto service: cosmos.gov.v1beta1.Proposal
 */
exports.getProposal = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryProposalRequest.encode,
    decode: query_1.QueryProposalResponse.decode,
    service: "cosmos.gov.v1beta1.Query",
    method: "Proposal",
    deps: [query_1.QueryProposalRequest, query_1.QueryProposalResponse]
});
/**
 * Proposals queries all proposals based on given status.
 * @name getProposals
 * @package cosmos.gov.v1beta1
 * @see proto service: cosmos.gov.v1beta1.Proposals
 */
exports.getProposals = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryProposalsRequest.encode,
    decode: query_1.QueryProposalsResponse.decode,
    service: "cosmos.gov.v1beta1.Query",
    method: "Proposals",
    deps: [query_1.QueryProposalsRequest, query_1.QueryProposalsResponse]
});
/**
 * Vote queries voted information based on proposalID, voterAddr.
 * @name getVote
 * @package cosmos.gov.v1beta1
 * @see proto service: cosmos.gov.v1beta1.Vote
 */
exports.getVote = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryVoteRequest.encode,
    decode: query_1.QueryVoteResponse.decode,
    service: "cosmos.gov.v1beta1.Query",
    method: "Vote",
    deps: [query_1.QueryVoteRequest, query_1.QueryVoteResponse]
});
/**
 * Votes queries votes of a given proposal.
 * @name getVotes
 * @package cosmos.gov.v1beta1
 * @see proto service: cosmos.gov.v1beta1.Votes
 */
exports.getVotes = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryVotesRequest.encode,
    decode: query_1.QueryVotesResponse.decode,
    service: "cosmos.gov.v1beta1.Query",
    method: "Votes",
    deps: [query_1.QueryVotesRequest, query_1.QueryVotesResponse]
});
/**
 * Params queries all parameters of the gov module.
 * @name getParams
 * @package cosmos.gov.v1beta1
 * @see proto service: cosmos.gov.v1beta1.Params
 */
exports.getParams = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryParamsRequest.encode,
    decode: query_1.QueryParamsResponse.decode,
    service: "cosmos.gov.v1beta1.Query",
    method: "Params",
    deps: [query_1.QueryParamsRequest, query_1.QueryParamsResponse]
});
/**
 * Deposit queries single deposit information based on proposalID, depositor address.
 * @name getDeposit
 * @package cosmos.gov.v1beta1
 * @see proto service: cosmos.gov.v1beta1.Deposit
 */
exports.getDeposit = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryDepositRequest.encode,
    decode: query_1.QueryDepositResponse.decode,
    service: "cosmos.gov.v1beta1.Query",
    method: "Deposit",
    deps: [query_1.QueryDepositRequest, query_1.QueryDepositResponse]
});
/**
 * Deposits queries all deposits of a single proposal.
 * @name getDeposits
 * @package cosmos.gov.v1beta1
 * @see proto service: cosmos.gov.v1beta1.Deposits
 */
exports.getDeposits = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryDepositsRequest.encode,
    decode: query_1.QueryDepositsResponse.decode,
    service: "cosmos.gov.v1beta1.Query",
    method: "Deposits",
    deps: [query_1.QueryDepositsRequest, query_1.QueryDepositsResponse]
});
/**
 * TallyResult queries the tally of a proposal vote.
 * @name getTallyResult
 * @package cosmos.gov.v1beta1
 * @see proto service: cosmos.gov.v1beta1.TallyResult
 */
exports.getTallyResult = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryTallyResultRequest.encode,
    decode: query_1.QueryTallyResultResponse.decode,
    service: "cosmos.gov.v1beta1.Query",
    method: "TallyResult",
    deps: [query_1.QueryTallyResultRequest, query_1.QueryTallyResultResponse]
});
