"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTxDecodeAmino = exports.getTxEncodeAmino = exports.getTxEncode = exports.getTxDecode = exports.getBlockWithTxs = exports.getTxsEvent = exports.getBroadcastTx = exports.getTx = exports.getSimulate = void 0;
const helper_func_types_1 = require("../../../helper-func-types");
const service_1 = require("./service");
/**
 * Simulate simulates executing a transaction for estimating gas usage.
 * @name getSimulate
 * @package cosmos.tx.v1beta1
 * @see proto service: cosmos.tx.v1beta1.Simulate
 */
exports.getSimulate = (0, helper_func_types_1.buildQuery)({
    encode: service_1.SimulateRequest.encode,
    decode: service_1.SimulateResponse.decode,
    service: "cosmos.tx.v1beta1.Service",
    method: "Simulate",
    deps: [service_1.SimulateRequest, service_1.SimulateResponse]
});
/**
 * GetTx fetches a tx by hash.
 * @name getTx
 * @package cosmos.tx.v1beta1
 * @see proto service: cosmos.tx.v1beta1.GetTx
 */
exports.getTx = (0, helper_func_types_1.buildQuery)({
    encode: service_1.GetTxRequest.encode,
    decode: service_1.GetTxResponse.decode,
    service: "cosmos.tx.v1beta1.Service",
    method: "GetTx",
    deps: [service_1.GetTxRequest, service_1.GetTxResponse]
});
/**
 * BroadcastTx broadcast transaction.
 * @name getBroadcastTx
 * @package cosmos.tx.v1beta1
 * @see proto service: cosmos.tx.v1beta1.BroadcastTx
 */
exports.getBroadcastTx = (0, helper_func_types_1.buildQuery)({
    encode: service_1.BroadcastTxRequest.encode,
    decode: service_1.BroadcastTxResponse.decode,
    service: "cosmos.tx.v1beta1.Service",
    method: "BroadcastTx",
    deps: [service_1.BroadcastTxRequest, service_1.BroadcastTxResponse]
});
/**
 * GetTxsEvent fetches txs by event.
 * @name getTxsEvent
 * @package cosmos.tx.v1beta1
 * @see proto service: cosmos.tx.v1beta1.GetTxsEvent
 */
exports.getTxsEvent = (0, helper_func_types_1.buildQuery)({
    encode: service_1.GetTxsEventRequest.encode,
    decode: service_1.GetTxsEventResponse.decode,
    service: "cosmos.tx.v1beta1.Service",
    method: "GetTxsEvent",
    deps: [service_1.GetTxsEventRequest, service_1.GetTxsEventResponse]
});
/**
 * GetBlockWithTxs fetches a block with decoded txs.
 * @name getBlockWithTxs
 * @package cosmos.tx.v1beta1
 * @see proto service: cosmos.tx.v1beta1.GetBlockWithTxs
 */
exports.getBlockWithTxs = (0, helper_func_types_1.buildQuery)({
    encode: service_1.GetBlockWithTxsRequest.encode,
    decode: service_1.GetBlockWithTxsResponse.decode,
    service: "cosmos.tx.v1beta1.Service",
    method: "GetBlockWithTxs",
    deps: [service_1.GetBlockWithTxsRequest, service_1.GetBlockWithTxsResponse]
});
/**
 * TxDecode decodes the transaction.
 * @name getTxDecode
 * @package cosmos.tx.v1beta1
 * @see proto service: cosmos.tx.v1beta1.TxDecode
 */
exports.getTxDecode = (0, helper_func_types_1.buildQuery)({
    encode: service_1.TxDecodeRequest.encode,
    decode: service_1.TxDecodeResponse.decode,
    service: "cosmos.tx.v1beta1.Service",
    method: "TxDecode",
    deps: [service_1.TxDecodeRequest, service_1.TxDecodeResponse]
});
/**
 * TxEncode encodes the transaction.
 * @name getTxEncode
 * @package cosmos.tx.v1beta1
 * @see proto service: cosmos.tx.v1beta1.TxEncode
 */
exports.getTxEncode = (0, helper_func_types_1.buildQuery)({
    encode: service_1.TxEncodeRequest.encode,
    decode: service_1.TxEncodeResponse.decode,
    service: "cosmos.tx.v1beta1.Service",
    method: "TxEncode",
    deps: [service_1.TxEncodeRequest, service_1.TxEncodeResponse]
});
/**
 * TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes.
 * @name getTxEncodeAmino
 * @package cosmos.tx.v1beta1
 * @see proto service: cosmos.tx.v1beta1.TxEncodeAmino
 */
exports.getTxEncodeAmino = (0, helper_func_types_1.buildQuery)({
    encode: service_1.TxEncodeAminoRequest.encode,
    decode: service_1.TxEncodeAminoResponse.decode,
    service: "cosmos.tx.v1beta1.Service",
    method: "TxEncodeAmino",
    deps: [service_1.TxEncodeAminoRequest, service_1.TxEncodeAminoResponse]
});
/**
 * TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON.
 * @name getTxDecodeAmino
 * @package cosmos.tx.v1beta1
 * @see proto service: cosmos.tx.v1beta1.TxDecodeAmino
 */
exports.getTxDecodeAmino = (0, helper_func_types_1.buildQuery)({
    encode: service_1.TxDecodeAminoRequest.encode,
    decode: service_1.TxDecodeAminoResponse.decode,
    service: "cosmos.tx.v1beta1.Service",
    method: "TxDecodeAmino",
    deps: [service_1.TxDecodeAminoRequest, service_1.TxDecodeAminoResponse]
});
