@simbachain/web3-suites
Version:
common code for web3 suite plugins. Code in this repo can be used for truffle or hardhat, but is designed to be applicable to future web3 suite plugins as well.
65 lines • 3.01 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.printAllContracts = exports.allContracts = void 0;
const chalk_1 = __importDefault(require("chalk"));
const lib_1 = require("../lib");
const authentication_1 = require("../lib/authentication");
/**
* Returns data on contract name, version, and design_id
* @returns {Promise<ContractDesignWithCode[] | void>}
*/
async function allContracts() {
lib_1.SimbaConfig.log.debug(`:: ENTER :`);
let contractDesigns = [];
const url = `v2/organisations/${lib_1.SimbaConfig.organisation.id}/contract_designs/`;
const authStore = await lib_1.SimbaConfig.authStore();
if (authStore) {
lib_1.SimbaConfig.log.info(`${chalk_1.default.cyanBright(`\nsimba: retrieving all contracts for organisation ${chalk_1.default.greenBright(`${lib_1.SimbaConfig.organisation.name}`)}`)}`);
let resp = await authStore.doGetRequest(url);
lib_1.SimbaConfig.log.debug(`resp: ${JSON.stringify(resp)}`);
if (resp) {
let res = resp;
contractDesigns = contractDesigns.concat(res.results);
while (res.next !== null) {
const q = res.next.split('?').pop();
lib_1.SimbaConfig.log.debug(`\nsimba: retrieving contract ${JSON.stringify(q)}`);
res = await authStore.doGetRequest(`${url}?${q}`);
contractDesigns = contractDesigns.concat(res.results);
}
lib_1.SimbaConfig.log.debug(`contractDesigns: ${JSON.stringify(contractDesigns)}`);
lib_1.SimbaConfig.log.debug(`:: EXIT :`);
return contractDesigns;
}
else {
lib_1.SimbaConfig.log.error(`${chalk_1.default.redBright(`\nsimba: error acquiring contract designs for organisation ${chalk_1.default.greenBright(`${lib_1.SimbaConfig.organisation.id}`)}`)}`);
lib_1.SimbaConfig.log.debug(`:: EXIT :`);
return;
}
}
else {
lib_1.SimbaConfig.log.error(authentication_1.authErrors.badAuthProviderInfo);
return;
}
}
exports.allContracts = allContracts;
/**
* Prints data on contract name, version, and design_id
*/
async function printAllContracts() {
let contractDesigns;
const _allContracts = await allContracts();
if (_allContracts) {
contractDesigns = _allContracts;
for (let i = 0; i < contractDesigns.length; i++) {
lib_1.SimbaConfig.log.info(`\n\t${chalk_1.default.green(contractDesigns[i].name)}\n\tversion ${contractDesigns[i].version}\n\tid ${contractDesigns[i].id}\n\tcreated_on ${contractDesigns[i].created_on}\n\tupdated_on ${contractDesigns[i].updated_on}`);
}
}
else {
lib_1.SimbaConfig.log.error(`\nsimba: error obtaining contracts`);
}
}
exports.printAllContracts = printAllContracts;
//# sourceMappingURL=list.js.map