@simbachain/simbats
Version:
TypeScript SDK for SIMBA Chain
59 lines • 2.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SimbaSync = void 0;
const config_1 = require("./config");
const request_handler_1 = require("./request_handler");
const simba_1 = require("./simba");
const simba_contract_sync_1 = require("./simba_contract_sync");
/**
* extends Simba object, for making synhronous method calls
*/
class SimbaSync extends simba_1.Simba {
constructor(baseApiUrl = config_1.SimbaConfig.baseURL, requestHandler = new request_handler_1.RequestHandler()) {
super(baseApiUrl, requestHandler);
this.baseApiUrl = baseApiUrl;
this.requestHandler = requestHandler;
}
/**
* returns synchronous version of SimbaContract (SimbaContractSync)
* @param appName
* @param contractName
* @returns {SimbaContractSync}
*/
getSimbaContract(appName, contractName) {
const params = {
appName,
contractName,
};
config_1.SimbaConfig.log.debug(`:: SIMBA : ENTER : params : ${JSON.stringify(params)}`);
const simbaContract = new simba_contract_sync_1.SimbaContractSync(this.baseApiUrl, appName, contractName);
config_1.SimbaConfig.log.debug(`:: SIMBA : EXIT :`);
return simbaContract;
}
/**
* submit contract method synchronously
* @param appName
* @param contractName
* @param methodName
* @param inputs
* @param filePaths
* @param parseDataFromResponse
* @returns {Promise<AxiosResponse<any> | Record<any, any>>}
*/
async submitContractMethod(appName, contractName, methodName, inputs, filePaths, parseDataFromResponse = true) {
const params = {
appName,
contractName,
methodName,
inputs,
filePaths,
parseDataFromResponse,
};
config_1.SimbaConfig.log.debug(`:: SIMBA : ENTER : ${JSON.stringify(params)}`);
const res = await this.submitContractMethodSync(appName, contractName, methodName, inputs, filePaths, parseDataFromResponse);
config_1.SimbaConfig.log.debug(`:: SIMBA : EXIT : res : ${res}`);
return res;
}
}
exports.SimbaSync = SimbaSync;
//# sourceMappingURL=simba_sync.js.map