UNPKG

@venusprotocol/governance-contracts

Version:
119 lines 5.92 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const hardhat_1 = require("hardhat"); const constants_1 = require("../helpers/deploy/constants"); const deploymentUtils_1 = require("../helpers/deploy/deploymentUtils"); const func = function (hre) { return __awaiter(this, void 0, void 0, function* () { const { deployments, getNamedAccounts } = hre; const { deploy } = deployments; const { deployer } = yield getNamedAccounts(); const networkName = hre.network.name; const normalTimelockAddress = (yield hre.ethers.getContract("NormalTimelock")).address; const accessControlManager = yield hre.ethers.getContract("AccessControlManager"); const defaultProxyAdmin = yield hre.artifacts.readArtifact("hardhat-deploy/solc_0.8/openzeppelin/proxy/transparent/ProxyAdmin.sol:ProxyAdmin"); const lzEndpoint = yield (0, deploymentUtils_1.getLzV2Endpoint)(networkName); const destinationChainId = constants_1.LZ_V2_EID[networkName]; yield deploy("DestinationStewardReceiver", { from: deployer, log: true, args: [lzEndpoint, destinationChainId], proxy: { owner: networkName === "hardhat" ? deployer : normalTimelockAddress, proxyContract: "OptimizedTransparentUpgradeableProxy", execute: { methodName: "initialize", args: [accessControlManager.address, normalTimelockAddress], }, viaAdminContract: { name: "DefaultProxyAdmin", artifact: defaultProxyAdmin, }, }, skipIfAlreadyDeployed: true, }); const destinationRiskStewardReceiver = yield hre.ethers.getContract("DestinationStewardReceiver"); if ((yield destinationRiskStewardReceiver.owner()) === deployer) { yield destinationRiskStewardReceiver.transferOwnership(normalTimelockAddress); } yield deploy("MarketCapsRiskSteward", { from: deployer, log: true, args: [destinationRiskStewardReceiver.address], proxy: { owner: networkName === "hardhat" ? deployer : normalTimelockAddress, proxyContract: "OptimizedTransparentUpgradeableProxy", execute: { methodName: "initialize", args: [accessControlManager.address], }, viaAdminContract: { name: "DefaultProxyAdmin", artifact: defaultProxyAdmin, }, }, skipIfAlreadyDeployed: true, }); const marketCapsSteward = yield hre.ethers.getContract("MarketCapsRiskSteward"); if ((yield marketCapsSteward.owner()) === deployer) { yield marketCapsSteward.transferOwnership(normalTimelockAddress); } yield deploy("CollateralFactorsRiskSteward", { from: deployer, log: true, args: [hardhat_1.ethers.constants.AddressZero, destinationRiskStewardReceiver.address], proxy: { owner: networkName === "hardhat" ? deployer : normalTimelockAddress, proxyContract: "OptimizedTransparentUpgradeableProxy", execute: { methodName: "initialize", args: [accessControlManager.address], }, viaAdminContract: { name: "DefaultProxyAdmin", artifact: defaultProxyAdmin, }, }, skipIfAlreadyDeployed: true, }); const collateralFactorsSteward = yield hre.ethers.getContract("CollateralFactorsRiskSteward"); if ((yield collateralFactorsSteward.owner()) === deployer) { yield collateralFactorsSteward.transferOwnership(normalTimelockAddress); } yield deploy("IRMRiskSteward", { from: deployer, log: true, args: [hardhat_1.ethers.constants.AddressZero, destinationRiskStewardReceiver.address], proxy: { owner: networkName === "hardhat" ? deployer : normalTimelockAddress, proxyContract: "OptimizedTransparentUpgradeableProxy", execute: { methodName: "initialize", args: [accessControlManager.address], }, viaAdminContract: { name: "DefaultProxyAdmin", artifact: defaultProxyAdmin, }, }, skipIfAlreadyDeployed: true, }); const irmRiskSteward = yield hre.ethers.getContract("IRMRiskSteward"); if ((yield irmRiskSteward.owner()) === deployer) { yield irmRiskSteward.transferOwnership(normalTimelockAddress); } }); }; func.tags = ["risk-stewards", "remote"]; func.skip = (hre) => __awaiter(void 0, void 0, void 0, function* () { return hre.network.name === "bsctestnet" || hre.network.name === "bscmainnet"; }); exports.default = func; //# sourceMappingURL=013-remote-risk-stewards.js.map