import { buildUseVueMutation } from "../../../vue-query";
import { fundCommunityPool, communityPoolSpend, createContinuousFund, cancelContinuousFund, updateParams } from "./tx.rpc.func";
/**
 * FundCommunityPool defines a method to allow an account to directly
 * fund the community pool.
 * @name useFundCommunityPool
 * @package cosmos.protocolpool.v1
 * @see proto service: cosmos.protocolpool.v1.FundCommunityPool
 */
export const useFundCommunityPool = buildUseVueMutation({
    builderMutationFn: fundCommunityPool
});
/**
 * 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 useCommunityPoolSpend
 * @package cosmos.protocolpool.v1
 * @see proto service: cosmos.protocolpool.v1.CommunityPoolSpend
 */
export const useCommunityPoolSpend = buildUseVueMutation({
    builderMutationFn: communityPoolSpend
});
/**
 * 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 useCreateContinuousFund
 * @package cosmos.protocolpool.v1
 * @see proto service: cosmos.protocolpool.v1.CreateContinuousFund
 */
export const useCreateContinuousFund = buildUseVueMutation({
    builderMutationFn: createContinuousFund
});
/**
 * CancelContinuousFund defines a method for cancelling continuous fund.
 * @name useCancelContinuousFund
 * @package cosmos.protocolpool.v1
 * @see proto service: cosmos.protocolpool.v1.CancelContinuousFund
 */
export const useCancelContinuousFund = buildUseVueMutation({
    builderMutationFn: cancelContinuousFund
});
/**
 * UpdateParams defines a governance operation for updating the x/protocolpool module parameters.
 * The authority is defined in the keeper.
 * @name useUpdateParams
 * @package cosmos.protocolpool.v1
 * @see proto service: cosmos.protocolpool.v1.UpdateParams
 */
export const useUpdateParams = buildUseVueMutation({
    builderMutationFn: updateParams
});
