UNPKG

@mean-finance/dca-v2-core

Version:

Core smart contracts of DCA v2 by mean.finance

32 lines (28 loc) 1.1 kB
import { HardhatRuntimeEnvironment } from 'hardhat/types'; import TimelockController from '@openzeppelin/contracts/build/contracts/TimelockController.json'; import { DeployFunction } from '@0xged/hardhat-deploy/types'; import moment from 'moment'; import { deployThroughDeterministicFactory } from '@mean-finance/deterministic-factory/utils/deployment'; const deployFunction: DeployFunction = async function (hre: HardhatRuntimeEnvironment) { const { deployer, msig } = await hre.getNamedAccounts(); const minDelay = moment.duration('3', 'days').as('seconds'); const proposers = [msig]; const executors = [msig]; await deployThroughDeterministicFactory({ deployer, name: 'Timelock', salt: 'MF-DCAV2-Timelock-V1', contract: TimelockController, bytecode: TimelockController.bytecode, constructorArgs: { types: ['uint256', 'address[]', 'address[]'], values: [minDelay, proposers, executors], }, log: !process.env.TEST, overrides: { gasLimit: 4_000_000, }, }); }; deployFunction.tags = ['Timelock']; export default deployFunction;