"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCommunityPool = exports.getDelegatorWithdrawAddress = exports.getDelegatorValidators = exports.getDelegationTotalRewards = exports.getDelegationRewards = exports.getValidatorSlashes = exports.getValidatorCommission = exports.getValidatorOutstandingRewards = exports.getValidatorDistributionInfo = exports.getParams = void 0;
const helper_func_types_1 = require("../../../helper-func-types");
const query_1 = require("./query");
/**
 * Params queries params of the distribution module.
 * @name getParams
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.Params
 */
exports.getParams = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryParamsRequest.encode,
    decode: query_1.QueryParamsResponse.decode,
    service: "cosmos.distribution.v1beta1.Query",
    method: "Params",
    deps: [query_1.QueryParamsRequest, query_1.QueryParamsResponse]
});
/**
 * ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator
 * @name getValidatorDistributionInfo
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.ValidatorDistributionInfo
 */
exports.getValidatorDistributionInfo = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryValidatorDistributionInfoRequest.encode,
    decode: query_1.QueryValidatorDistributionInfoResponse.decode,
    service: "cosmos.distribution.v1beta1.Query",
    method: "ValidatorDistributionInfo",
    deps: [query_1.QueryValidatorDistributionInfoRequest, query_1.QueryValidatorDistributionInfoResponse]
});
/**
 * ValidatorOutstandingRewards queries rewards of a validator address.
 * @name getValidatorOutstandingRewards
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.ValidatorOutstandingRewards
 */
exports.getValidatorOutstandingRewards = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryValidatorOutstandingRewardsRequest.encode,
    decode: query_1.QueryValidatorOutstandingRewardsResponse.decode,
    service: "cosmos.distribution.v1beta1.Query",
    method: "ValidatorOutstandingRewards",
    deps: [query_1.QueryValidatorOutstandingRewardsRequest, query_1.QueryValidatorOutstandingRewardsResponse]
});
/**
 * ValidatorCommission queries accumulated commission for a validator.
 * @name getValidatorCommission
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.ValidatorCommission
 */
exports.getValidatorCommission = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryValidatorCommissionRequest.encode,
    decode: query_1.QueryValidatorCommissionResponse.decode,
    service: "cosmos.distribution.v1beta1.Query",
    method: "ValidatorCommission",
    deps: [query_1.QueryValidatorCommissionRequest, query_1.QueryValidatorCommissionResponse]
});
/**
 * ValidatorSlashes queries slash events of a validator.
 * @name getValidatorSlashes
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.ValidatorSlashes
 */
exports.getValidatorSlashes = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryValidatorSlashesRequest.encode,
    decode: query_1.QueryValidatorSlashesResponse.decode,
    service: "cosmos.distribution.v1beta1.Query",
    method: "ValidatorSlashes",
    deps: [query_1.QueryValidatorSlashesRequest, query_1.QueryValidatorSlashesResponse]
});
/**
 * DelegationRewards queries the total rewards accrued by a delegation.
 * @name getDelegationRewards
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.DelegationRewards
 */
exports.getDelegationRewards = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryDelegationRewardsRequest.encode,
    decode: query_1.QueryDelegationRewardsResponse.decode,
    service: "cosmos.distribution.v1beta1.Query",
    method: "DelegationRewards",
    deps: [query_1.QueryDelegationRewardsRequest, query_1.QueryDelegationRewardsResponse]
});
/**
 * DelegationTotalRewards queries the total rewards accrued by each
 * validator.
 * @name getDelegationTotalRewards
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.DelegationTotalRewards
 */
exports.getDelegationTotalRewards = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryDelegationTotalRewardsRequest.encode,
    decode: query_1.QueryDelegationTotalRewardsResponse.decode,
    service: "cosmos.distribution.v1beta1.Query",
    method: "DelegationTotalRewards",
    deps: [query_1.QueryDelegationTotalRewardsRequest, query_1.QueryDelegationTotalRewardsResponse]
});
/**
 * DelegatorValidators queries the validators of a delegator.
 * @name getDelegatorValidators
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.DelegatorValidators
 */
exports.getDelegatorValidators = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryDelegatorValidatorsRequest.encode,
    decode: query_1.QueryDelegatorValidatorsResponse.decode,
    service: "cosmos.distribution.v1beta1.Query",
    method: "DelegatorValidators",
    deps: [query_1.QueryDelegatorValidatorsRequest, query_1.QueryDelegatorValidatorsResponse]
});
/**
 * DelegatorWithdrawAddress queries withdraw address of a delegator.
 * @name getDelegatorWithdrawAddress
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.DelegatorWithdrawAddress
 */
exports.getDelegatorWithdrawAddress = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryDelegatorWithdrawAddressRequest.encode,
    decode: query_1.QueryDelegatorWithdrawAddressResponse.decode,
    service: "cosmos.distribution.v1beta1.Query",
    method: "DelegatorWithdrawAddress",
    deps: [query_1.QueryDelegatorWithdrawAddressRequest, query_1.QueryDelegatorWithdrawAddressResponse]
});
/**
 * CommunityPool queries the community pool coins.
 *
 * WARNING: This query will fail if an external community pool is used.
 * @name getCommunityPool
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.CommunityPool
 */
exports.getCommunityPool = (0, helper_func_types_1.buildQuery)({
    encode: query_1.QueryCommunityPoolRequest.encode,
    decode: query_1.QueryCommunityPoolResponse.decode,
    service: "cosmos.distribution.v1beta1.Query",
    method: "CommunityPool",
    deps: [query_1.QueryCommunityPoolRequest, query_1.QueryCommunityPoolResponse]
});
