"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.useDepositValidatorRewardsPool = exports.useCommunityPoolSpend = exports.useUpdateParams = exports.useFundCommunityPool = exports.useWithdrawValidatorCommission = exports.useWithdrawDelegatorReward = exports.useSetWithdrawAddress = void 0;
const vue_query_1 = require("../../../vue-query");
const tx_rpc_func_1 = require("./tx.rpc.func");
/**
 * SetWithdrawAddress defines a method to change the withdraw address
 * for a delegator (or validator self-delegation).
 * @name useSetWithdrawAddress
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.SetWithdrawAddress
 */
exports.useSetWithdrawAddress = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.setWithdrawAddress
});
/**
 * WithdrawDelegatorReward defines a method to withdraw rewards of delegator
 * from a single validator.
 * @name useWithdrawDelegatorReward
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.WithdrawDelegatorReward
 */
exports.useWithdrawDelegatorReward = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.withdrawDelegatorReward
});
/**
 * WithdrawValidatorCommission defines a method to withdraw the
 * full commission to the validator address.
 * @name useWithdrawValidatorCommission
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.WithdrawValidatorCommission
 */
exports.useWithdrawValidatorCommission = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.withdrawValidatorCommission
});
/**
 * FundCommunityPool defines a method to allow an account to directly
 * fund the community pool.
 *
 * WARNING: This method will fail if an external community pool is used.
 * @name useFundCommunityPool
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.FundCommunityPool
 */
exports.useFundCommunityPool = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.fundCommunityPool
});
/**
 * UpdateParams defines a governance operation for updating the x/distribution
 * module parameters. The authority is defined in the keeper.
 * @name useUpdateParams
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.UpdateParams
 */
exports.useUpdateParams = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.updateParams
});
/**
 * CommunityPoolSpend defines a governance operation for sending tokens from
 * the community pool in the x/distribution module to another account, which
 * could be the governance module itself. The authority is defined in the
 * keeper.
 *
 * WARNING: This method will fail if an external community pool is used.
 * @name useCommunityPoolSpend
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.CommunityPoolSpend
 */
exports.useCommunityPoolSpend = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.communityPoolSpend
});
/**
 * DepositValidatorRewardsPool defines a method to provide additional rewards
 * to delegators to a specific validator.
 * @name useDepositValidatorRewardsPool
 * @package cosmos.distribution.v1beta1
 * @see proto service: cosmos.distribution.v1beta1.DepositValidatorRewardsPool
 */
exports.useDepositValidatorRewardsPool = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.depositValidatorRewardsPool
});
