const { ethers } = require('hardhat'); const fs = require('fs'); const contractAddresses = require('../../contract-addresses.json'); const contractAddressesWritePath = '../contract-addresses.json'; const network = process.env.HARDHAT_NETWORK; async function main() { const dao = await ethers.deployContract('DAO'); await dao.waitForDeployment(); console.log(`DAO deployed to ${dao.target}`); contractAddresses[network].DAO = dao.target; const WORK1_PRICE = ethers.parseEther('0.001'); const work1 = await ethers.deployContract('Work1', [dao.target, WORK1_PRICE]); await work1.waitForDeployment(); console.log(`Work1 deployed to ${work1.target}`); contractAddresses[network].Work1 = work1.target; fs.writeFileSync(contractAddressesWritePath, JSON.stringify(contractAddresses, null, 2)); console.log('Wrote file', fs.realpathSync(contractAddressesWritePath)); } // We recommend this pattern to be able to use async/await everywhere // and properly handle errors. main().catch((error) => { console.error(error); process.exitCode = 1; });