"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateParams = exports.cancelContinuousFund = exports.createContinuousFund = exports.communityPoolSpend = exports.fundCommunityPool = void 0;
const helper_func_types_1 = require("../../../helper-func-types");
const tx_1 = require("./tx");
/**
 * FundCommunityPool defines a method to allow an account to directly
 * fund the community pool.
 * @name fundCommunityPool
 * @package cosmos.protocolpool.v1
 * @see proto service: cosmos.protocolpool.v1.FundCommunityPool
 */
exports.fundCommunityPool = (0, helper_func_types_1.buildTx)({
    msg: tx_1.MsgFundCommunityPool
});
/**
 * CommunityPoolSpend defines a governance operation for sending tokens from
 * the community pool in the x/protocolpool module to another account, which
 * could be the governance module itself. The authority is defined in the
 * keeper.
 * @name communityPoolSpend
 * @package cosmos.protocolpool.v1
 * @see proto service: cosmos.protocolpool.v1.CommunityPoolSpend
 */
exports.communityPoolSpend = (0, helper_func_types_1.buildTx)({
    msg: tx_1.MsgCommunityPoolSpend
});
/**
 * CreateContinuousFund defines a method to distribute a percentage of funds to an address continuously.
 * This ContinuousFund can be indefinite or run until a given expiry time.
 * Funds come from validator block rewards from x/distribution, but may also come from
 * any user who funds the ProtocolPoolEscrow module account directly through x/bank.
 * @name createContinuousFund
 * @package cosmos.protocolpool.v1
 * @see proto service: cosmos.protocolpool.v1.CreateContinuousFund
 */
exports.createContinuousFund = (0, helper_func_types_1.buildTx)({
    msg: tx_1.MsgCreateContinuousFund
});
/**
 * CancelContinuousFund defines a method for cancelling continuous fund.
 * @name cancelContinuousFund
 * @package cosmos.protocolpool.v1
 * @see proto service: cosmos.protocolpool.v1.CancelContinuousFund
 */
exports.cancelContinuousFund = (0, helper_func_types_1.buildTx)({
    msg: tx_1.MsgCancelContinuousFund
});
/**
 * UpdateParams defines a governance operation for updating the x/protocolpool module parameters.
 * The authority is defined in the keeper.
 * @name updateParams
 * @package cosmos.protocolpool.v1
 * @see proto service: cosmos.protocolpool.v1.UpdateParams
 */
exports.updateParams = (0, helper_func_types_1.buildTx)({
    msg: tx_1.MsgUpdateParams
});
