"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.revoke = exports.exec = exports.grant = void 0;
const helper_func_types_1 = require("../../../helper-func-types");
const tx_1 = require("./tx");
/**
 * 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 grant
 * @package cosmos.authz.v1beta1
 * @see proto service: cosmos.authz.v1beta1.Grant
 */
exports.grant = (0, helper_func_types_1.buildTx)({
    msg: tx_1.MsgGrant
});
/**
 * 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 exec
 * @package cosmos.authz.v1beta1
 * @see proto service: cosmos.authz.v1beta1.Exec
 */
exports.exec = (0, helper_func_types_1.buildTx)({
    msg: tx_1.MsgExec
});
/**
 * Revoke revokes any authorization corresponding to the provided method name on the
 * granter's account that has been granted to the grantee.
 * @name revoke
 * @package cosmos.authz.v1beta1
 * @see proto service: cosmos.authz.v1beta1.Revoke
 */
exports.revoke = (0, helper_func_types_1.buildTx)({
    msg: tx_1.MsgRevoke
});
