tornado-governance/tasks/deploy_proposal.js

34 lines
1.2 KiB
JavaScript

require('dotenv').config()
const { task } = require('hardhat/config')
const { BigNumber } = require('@ethersproject/bignumber')
task('deploy_proposal', 'deploy the lottery/vault upgrade proposal')
.addParam('votingPeriod', 'the desired new voting period')
.setAction(async (taskArgs, hre) => {
const GasVaultFactory = await hre.ethers.getContractFactory(
'contracts/basefee/GasCompensationVault.sol:GasCompensationVault',
)
const GasVaultContract = await GasVaultFactory.deploy()
await GasVaultContract.deployTransaction.wait(5)
await hre.run('verify:verify', {
address: GasVaultContract.address,
})
const ProposalFactory = await hre.ethers.getContractFactory('VaultAndGasProposal')
const ProposalContract = await ProposalFactory.deploy(
GasVaultContract.address,
BigNumber.from(taskArgs.votingPeriod),
)
await ProposalContract.deployTransaction.wait(5)
await hre.run('verify:verify', {
address: ProposalContract.address,
constructorArguments: [GasVaultContract.address, BigNumber.from(taskArgs.votingPeriod)],
})
console.log('Successfully deployed proposal contract at: ', ProposalContract.address)
})