UNPKG

@matterlabs/hardhat-zksync-verify

Version:
52 lines 2.79 kB
"use strict"; 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 chalk_1 = __importDefault(require("chalk")); const constants_1 = require("../../constants"); const errors_1 = require("../../errors"); const constants_2 = require("../constants"); const service_1 = require("./service"); const chain_config_1 = require("./chain-config"); (0, config_1.subtask)(constants_1.TASK_VERIFY_ETHERSCAN) .addFlag('noCompile') .setAction(async (taskArgs, { run, network }, runSuper) => { if (!network.config.zksync) { return await runSuper(taskArgs); } const { address, constructorArguments, libraries, contractFQN, force } = await run(constants_1.TASK_VERIFY_RESOLVE_ARGUMENTS, taskArgs); return await run(constants_1.TASK_VERIFY_ZKSYNC_ETHERSCAN, { address, constructorArguments, libraries, contractFQN, force, noCompile: taskArgs.noCompile, }); }); (0, config_1.subtask)(constants_1.TASK_VERIFY_ZKSYNC_ETHERSCAN) .addParam('address') .addOptionalParam('constructorArguments', undefined, undefined, config_1.types.any) .addOptionalParam('libraries', undefined, undefined, config_1.types.any) .addOptionalParam('contract') .addFlag('force') .addFlag('noCompile') .setAction(async (taskArgs, hre) => { const chainConfig = await service_1.ZkSyncEtherscanExplorerService.getCurrentChainConfig(hre.network.provider, hre.config.etherscan.customChains, chain_config_1.builtinChains); const etherscan = await service_1.ZkSyncEtherscanExplorerService.fromChainConfig(hre, hre.config.etherscan.apiKey, chainConfig); const { verificationId, contractVerifyDataInfo } = await etherscan.verify(taskArgs.address, taskArgs.contract, taskArgs.constructorArguments, taskArgs.libraries, taskArgs.noCompile); const result = await etherscan.getVerificationStatusWithRetry(verificationId, contractVerifyDataInfo); if (result.isSuccess()) { return; } console.warn(chalk_1.default.red((0, constants_2.TRYING_VERIFICATION_WITH_FULL_COMPILER_INPUT)(contractVerifyDataInfo.contractName))); const { verificationId: verificationIdFallback } = await etherscan.verify(taskArgs.address, taskArgs.contract, taskArgs.constructorArguments, taskArgs.libraries, taskArgs.noCompile, true); const fallbackResult = await etherscan.getVerificationStatusWithRetry(verificationIdFallback, contractVerifyDataInfo); if (fallbackResult.isSuccess()) { return; } throw new errors_1.ZkSyncVerifyPluginError(fallbackResult.message); }); //# sourceMappingURL=task-actions.js.map