contracts-imtbl/deploy/9_deploy_timelock.ts
2024-09-07 22:24:03 +08:00

36 lines
1.1 KiB
TypeScript

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;