@simbachain/hardhat
Version:
Simba Chain plugin for hardhat
108 lines • 3.83 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSimbaInfo = void 0;
const web3_suites_1 = require("@simbachain/web3-suites");
// const log: Logger = new Logger({minLevel: "error"});
const chalk_1 = __importDefault(require("chalk"));
var SimbaJsonFields;
(function (SimbaJsonFields) {
SimbaJsonFields["ALL"] = "all";
SimbaJsonFields["ORG"] = "org";
SimbaJsonFields["APP"] = "app";
SimbaJsonFields["DEPLOY"] = "deploy";
SimbaJsonFields["AUTH"] = "auth";
SimbaJsonFields["CONTRACTS"] = "contracts";
SimbaJsonFields["W3"] = "web3";
SimbaJsonFields["BASEURL"] = "baseurl";
SimbaJsonFields["AUTHTOKEN"] = "authtoken";
})(SimbaJsonFields || (SimbaJsonFields = {}));
/**
* meant to be used to print pretty info from simba.json, so that
* users do not have to directly interact with/view their simba.json
* @param field
* @param contract
* @returns
*/
const getSimbaInfo = (field, contract) => {
const entryParams = {
field,
contract,
};
web3_suites_1.SimbaConfig.log.debug(`:: ENTER : entryParams : ${JSON.stringify(entryParams)}`);
if (!contract && !field) {
web3_suites_1.SimbaInfo.printAllSimbaJson();
web3_suites_1.SimbaConfig.log.debug(`:: EXIT :`);
return;
}
if (contract) {
switch (contract) {
case ("all"): {
web3_suites_1.SimbaInfo.printAllContracts();
break;
}
default: {
web3_suites_1.SimbaInfo.printSingleContract(contract);
break;
}
}
web3_suites_1.SimbaConfig.log.debug(`:: EXIT :`);
return;
}
if (field) {
switch (field) {
case (SimbaJsonFields.ALL): {
web3_suites_1.SimbaInfo.printAllSimbaJson();
break;
}
case (SimbaJsonFields.APP): {
web3_suites_1.SimbaInfo.printApp();
break;
}
case (SimbaJsonFields.ORG): {
web3_suites_1.SimbaInfo.printOrg();
break;
}
case (SimbaJsonFields.AUTH): {
web3_suites_1.SimbaInfo.printAuthProviderInfo();
break;
}
case (SimbaJsonFields.CONTRACTS): {
web3_suites_1.SimbaInfo.printAllContracts();
break;
}
case (SimbaJsonFields.DEPLOY): {
web3_suites_1.SimbaInfo.printMostRecentDeploymentInfo();
break;
}
case (SimbaJsonFields.BASEURL): {
web3_suites_1.SimbaInfo.printBaseURL();
break;
}
case (SimbaJsonFields.AUTHTOKEN): {
web3_suites_1.SimbaInfo.printAuthToken();
break;
}
case (SimbaJsonFields.W3): {
web3_suites_1.SimbaInfo.printWeb3Suite();
break;
}
default: {
const simbaFieldObject = web3_suites_1.SimbaConfig.ProjectConfigStore.get(field);
if (simbaFieldObject) {
web3_suites_1.SimbaInfo.printChalkedObject(simbaFieldObject, field);
}
else {
web3_suites_1.SimbaConfig.log.error(`${chalk_1.default.redBright(`field ${chalk_1.default.greenBright(`${field}`)} is not present in your simba.json`)}`);
}
break;
}
}
web3_suites_1.SimbaConfig.log.debug(`:: EXIT :`);
return;
}
};
exports.getSimbaInfo = getSimbaInfo;
//# sourceMappingURL=simbainfo.js.map