"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.useRevoke = exports.useExec = exports.useGrant = void 0;
const vue_query_1 = require("../../../vue-query");
const tx_rpc_func_1 = require("./tx.rpc.func");
/**
 * Grant grants the provided authorization to the grantee on the granter's
 * account with the provided expiration time. If there is already a grant
 * for the given (granter, grantee, Authorization) triple, then the grant
 * will be overwritten.
 * @name useGrant
 * @package cosmos.authz.v1beta1
 * @see proto service: cosmos.authz.v1beta1.Grant
 */
exports.useGrant = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.grant
});
/**
 * Exec attempts to execute the provided messages using
 * authorizations granted to the grantee. Each message should have only
 * one signer corresponding to the granter of the authorization.
 * @name useExec
 * @package cosmos.authz.v1beta1
 * @see proto service: cosmos.authz.v1beta1.Exec
 */
exports.useExec = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.exec
});
/**
 * Revoke revokes any authorization corresponding to the provided method name on the
 * granter's account that has been granted to the grantee.
 * @name useRevoke
 * @package cosmos.authz.v1beta1
 * @see proto service: cosmos.authz.v1beta1.Revoke
 */
exports.useRevoke = (0, vue_query_1.buildUseVueMutation)({
    builderMutationFn: tx_rpc_func_1.revoke
});
