@tenderly/hardhat-tenderly
Version:
Package for overloading some of the HardhatRuntimeEnvironment components
48 lines • 2.22 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const config_1 = require("hardhat/config");
const logger_1 = require("../logger");
const path_1 = __importDefault(require("path"));
const plugins_1 = require("hardhat/plugins");
const constants_1 = require("@tenderly/hardhat-integration/dist/constants");
const ignition_core_1 = require("@nomicfoundation/ignition-core");
require("@nomicfoundation/ignition-core");
require("fs-extra");
require("hardhat/config");
require("hardhat/plugins");
require("path");
const ignitionScope = (0, config_1.scope)("ignition", "Deploy your smart contracts using Hardhat Ignition");
ignitionScope
.task("deploy")
.setAction(async ({ deploymentId, includeUnrelatedContracts, }, hre, runSuper) => {
await runSuper();
const shouldVerify = process.env.AUTOMATIC_VERIFICATION_ENABLED || process.env.TENDERLY_AUTOMATIC_VERIFICATION;
if (!shouldVerify)
return;
logger_1.logger.debug("Automatic verification is enabled, extending ignition deploy task.");
if (deploymentId === undefined || deploymentId === "") {
throw new plugins_1.HardhatPluginError(constants_1.PLUGIN_NAME, "No deployment ID provided, Refer to the following link and search `hardhat-ignition`: https://docs.tenderly.co/faq/contract-verification");
}
const deploymentDir = path_1.default.join(
// @ts-ignore
hre.config.paths.ignition, "deployments", deploymentId);
const customChainConfigs = [];
try {
for await (const [chainConfig, contractInfo,] of (0, ignition_core_1.getVerificationInformation)(deploymentDir, customChainConfigs, includeUnrelatedContracts)) {
await hre.tenderly.verify({
name: contractInfo.name,
address: contractInfo.address,
});
}
}
catch (e) {
if (e instanceof ignition_core_1.IgnitionError) {
throw new plugins_1.HardhatPluginError(constants_1.PLUGIN_NAME, e.message, e);
}
throw e;
}
});
//# sourceMappingURL=extend-ignition-deploy-task.js.map