UNPKG

@substrate/api-sidecar

Version:

REST service that makes it easy to interact with blockchain nodes built using Substrate's FRAME framework.

51 lines 2.22 kB
"use strict"; // Copyright 2017-2025 Parity Technologies (UK) Ltd. // This file is part of Substrate API Sidecar. // // Substrate API Sidecar is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see <http://www.gnu.org/licenses/>. Object.defineProperty(exports, "__esModule", { value: true }); exports.ContractsInkService = void 0; const AbstractService_1 = require("../AbstractService"); class ContractsInkService extends AbstractService_1.AbstractService { /** * Query a given message method. * * @param contract ContractPromise that has decorated querys. * @param address Address to query with the contract. * @param method Message that will be queried. * @param args Args to attach to the query. * @param gasLimit Gas limit which will default to -1. * @param storageDepositLimit Storage Deposit Limit that will default to null. */ async fetchContractCall(contract, address, method, args, gasLimit, storageDepositLimit) { const options = { gasLimit: gasLimit || -1, storageDepositLimit: storageDepositLimit || null, }; const callResult = args && args.length > 0 ? await contract.query[method](address, options, args) : await contract.query[method](address, options); const { debugMessage, gasConsumed, gasRequired, output, result, storageDeposit } = callResult; return { debugMessage, gasConsumed, gasRequired, output, result, storageDeposit, }; } } exports.ContractsInkService = ContractsInkService; //# sourceMappingURL=ContractsInkService.js.map