@dydxfoundation/governance
Version:
dYdX governance smart contracts
22 lines (21 loc) • 1.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const config_1 = require("hardhat/config");
const hre_1 = require("../../src/hre");
const logging_1 = require("../../src/lib/logging");
const safety_module_recovery_1 = require("../../src/migrations/safety-module-recovery");
(0, hre_1.hardhatTask)('deploy:safety-module-recovery', 'Deploy the Safety Module recovery contracts.')
.addParam('startStep', 'Which step to start with', 1, config_1.types.int)
.addOptionalParam('onlyStep', 'Which step to run', undefined, config_1.types.int)
.addParam('dydxTokenAddress', 'Previously deployed dYdX token address', undefined, config_1.types.string)
.addParam('shortTimelockAddress', 'Previously deployed short timelock executor address', undefined, config_1.types.string)
.addParam('rewardsTreasuryAddress', 'Previously deployed rewards treasury address', undefined, config_1.types.string)
.addOptionalParam('safetyModuleNewImplAddress', 'Previously deployed SafetyModuleV2 implementation contract', undefined, config_1.types.string)
.addOptionalParam('safetyModuleRecoveryAddress', 'Previously deployed SM2Recovery contract', undefined, config_1.types.string)
.addOptionalParam('safetyModuleRecoveryProxyAdminAddress', 'Previously deployed SM2Recovery Proxy Admin contract', undefined, config_1.types.string)
.setAction(async (args) => {
const { safetyModuleNewImpl, safetyModuleRecovery, safetyModuleRecoveryProxyAdmin, } = await (0, safety_module_recovery_1.deploySafetyModuleRecovery)(args);
(0, logging_1.log)(`New Safety Module implementation deployed to: ${safetyModuleNewImpl.address}`);
(0, logging_1.log)(`Safety Module recovery contract deployed to: ${safetyModuleRecovery.address}`);
(0, logging_1.log)(`Safety Module recovery proxy admin deployed to: ${safetyModuleRecoveryProxyAdmin.address}`);
});