UNPKG

@simbachain/simbats

Version:
152 lines 5.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SimbaContract = void 0; const config_1 = require("./config"); const request_handler_1 = require("./request_handler"); const param_checking_contract_1 = require("./param_checking_contract"); const simba_1 = require("./simba"); /** * Main class for submitting contract methods */ class SimbaContract extends param_checking_contract_1.ParamCheckingContract { constructor(baseApiURL, appName, contractName) { super(appName, contractName, baseApiURL); this.paramsRestricted = null; this.baseApiURL = baseApiURL; this.appName = appName; this.contractName = contractName; this.requestHandler = new request_handler_1.RequestHandler(this.baseApiURL); this.simba = new simba_1.Simba(this.baseApiURL); } /** * returns past invocations of contract method calls for methodName * @param methodName * @returns {Promise<AxiosResponse<any> | Record<any, any>>} */ async callMethod(methodName) { const params = { methodName, }; config_1.SimbaConfig.log.debug(`:: SIMBA : ENTER : params : ${JSON.stringify(params)}`); const res = await this.simba.callContractMethod(this.appName, this.contractName, methodName); config_1.SimbaConfig.log.debug(`:: SIMBA : EXIT : res :${res}`); return res; } /** * invokes methodName * @param methodName * @param inputs * @param filePaths * @param validateParams * @returns {Promise<AxiosResponse<any> | Record<any, any>>} */ async submitMethod(methodName, inputs, filePaths, validateParams = true) { const params = { methodName, inputs, filePaths, }; config_1.SimbaConfig.log.debug(`:: SIMBA : ENTER : params : ${JSON.stringify(params)}`); if (validateParams && inputs) { await this.validateParams(methodName, inputs); } const res = await this.simba.submitContractMethod(this.appName, this.contractName, methodName, inputs, filePaths); config_1.SimbaConfig.log.debug(`:: SIMBA : EXIT : res : ${res}`); return res; } /** * returns transactions for methodName * @param methodName * @param queryParams * @returns {Promise<AxiosResponse<any> | Record<any, any>>} */ async getTransactionsByMethod(methodName, queryParams) { const params = { queryParams, }; config_1.SimbaConfig.log.debug(`:: SIMBA : ENTER : params : ${JSON.stringify(params)}`); const res = await this.simba.getTransactionsByMethod(this.appName, this.contractName, methodName, queryParams); config_1.SimbaConfig.log.debug(`:: SIMBA : EXIT : res : ${res}`); return res; } /** * returns events for eventName * @param eventName * @param queryParams * @returns {Promise<AxiosResponse<any> | Record<any, any>>} */ async getEvents(eventName, queryParams) { const params = { eventName, queryParams, }; config_1.SimbaConfig.log.debug(`:: SIMBA : ENTER : params : ${JSON.stringify(params)}`); const res = await this.simba.getEvents(this.appName, this.contractName, eventName, queryParams); config_1.SimbaConfig.log.debug(`:: SIMBA : EXIT : res : ${res}`); return res; } /** * validate bundleHash * @param bundleHash * @returns {Promise<AxiosResponse<any> | Record<any, any> | void>} */ async validateBundleHash(bundleHash) { const params = { bundleHash, }; config_1.SimbaConfig.log.debug(`:: SIMBA : ENTER : params : ${JSON.stringify(params)}`); const res = await this.simba.validateBundleHash(this.appName, this.contractName, bundleHash); config_1.SimbaConfig.log.debug(`:: SIMBA : EXIT : res : ${res}`); return res; } /** * get bundle from bundleHash * @param bundleHash * @param downloadLocation * @returns {Promise<AxiosResponse<any> | Record<any, any> | void | unknown>} */ async getBundle(bundleHash, downloadLocation) { const params = { bundleHash, downloadLocation, }; config_1.SimbaConfig.log.debug(`:: SIMBA : ENTER : params : ${JSON.stringify(params)}`); const res = await this.simba.getBundle(this.appName, this.contractName, bundleHash, downloadLocation); config_1.SimbaConfig.log.debug(`:: SIMBA : EXIT : res : ${res}`); return res; } /** * get file from bundleHash * @param bundleHash * @param fileName * @param downloadLocation * @returns {Promise<AxiosResponse<any> | Record<any, any> | void | unknown>} */ async getBundleFile(bundleHash, fileName, downloadLocation) { const params = { bundleHash, fileName, downloadLocation, }; config_1.SimbaConfig.log.debug(`:: SIMBA : ENTER : params : ${JSON.stringify(params)}`); const res = await this.simba.getBundleFile(this.appName, this.contractName, bundleHash, fileName, downloadLocation); config_1.SimbaConfig.log.debug(`:: SIMBA : EXIT : res : ${res}`); return res; } /** * get manifest from bundleHash * @param bundleHash * @returns {Promise<AxiosResponse<any> | Record<any, any> | void>} */ async getManifestFromBundleHash(bundleHash) { const params = { bundleHash, }; config_1.SimbaConfig.log.debug(`:: SIMBA : ENTER : params : ${JSON.stringify(params)}`); const res = await this.simba.getManifestForBundleFromBundleHash(this.appName, this.contractName, bundleHash); config_1.SimbaConfig.log.debug(`:: SIMBA : EXIT : res : ${res}`); return res; } } exports.SimbaContract = SimbaContract; //# sourceMappingURL=simba_contract.js.map