import { HardhatRuntimeEnvironment } from "hardhat/types"; import { DeployFunction } from "hardhat-deploy/types"; import { updateArray } from "../scripts/utils" const deployTimelock: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const provider = hre.ethers.provider; const from = await (await provider.getSigner()).getAddress(); const config = require(`../config/config_${hre.network.name}`); const { admin, proposers, executors } = config.admins const params: any[] = [3600*24, proposers, executors, admin] const ret = await hre.deployments.deploy("CFTimelockController", { from, args: params, log: true, }); console.log("==TimelockController addr=", ret.address); updateArray({ name: "TimelockController", type: "logic", json: "assets/contracts/CFTimelockController.json", address: ret.address, network: hre.network.name, }); // verify the contract await hre.run("verify:verify", { address: ret.address, constructorArguments: params, }); }; deployTimelock.tags = ["CFTimelockController"]; export default deployTimelock;