@artherachain/hardhat-fakenet
Version:
Hardhat plugin for managing an Arthera fakenet node
40 lines • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const task_names_1 = require("hardhat/builtin-tasks/task-names");
const config_1 = require("hardhat/config");
require("./type-extensions");
const arthera_service_1 = require("./arthera-service");
function getDefaultOptions(hre) {
const defaultExecutable = "arthera-node";
const defaultPort = 18545;
return {
executable: defaultExecutable,
port: defaultPort,
};
}
/**
* Merges arthera defaults with user's arthera config
* @param {HardhatRuntimeEnvironment} hre
* @return {any}
*/
function getOptions(hre) {
return Object.assign(Object.assign({}, getDefaultOptions(hre)), hre.config.artheraNode);
}
(0, config_1.task)(task_names_1.TASK_TEST, async (_args, hre, runSuper) => {
return handlePluginTask(hre, runSuper);
});
(0, config_1.task)(task_names_1.TASK_RUN, async (_args, hre, runSuper) => {
return handlePluginTask(hre, runSuper);
});
async function handlePluginTask(hre, runSuper) {
if (hre.network.name !== "arthera") {
return runSuper();
}
const options = getOptions(hre);
const artheraService = await arthera_service_1.ArtheraService.create(options);
await artheraService.startServer();
const ret = await runSuper();
await artheraService.stopServer();
return ret;
}
//# sourceMappingURL=index.js.map