tornado-pool-factory/scripts/deploySidechainInstanceFactory.js

33 lines
1.2 KiB
JavaScript
Raw Permalink Normal View History

2022-02-23 17:27:44 +01:00
const { ethers } = require('hardhat')
const config = require('../config')
const { generate } = require('../src/generateAddresses')
async function deploy({ address, bytecode, singletonFactory }) {
const contractCode = await ethers.provider.getCode(address)
if (contractCode !== '0x') {
console.log(`Contract ${address} already deployed. Skipping...`)
return
}
await singletonFactory.deploy(bytecode, config.salt, { gasLimit: config.deployGasLimit })
}
async function main() {
const singletonFactory = await ethers.getContractAt('SingletonFactory', config.singletonFactory)
const contracts = await generate()
2022-07-28 12:26:39 +02:00
await deploy({ ...contracts.sidechainFactory.implementation, singletonFactory })
await deploy({ ...contracts.sidechainFactory.proxy, singletonFactory })
2022-03-31 21:40:12 +02:00
console.log(
2022-07-28 12:26:39 +02:00
`SidechainInstanceFactory contract have been deployed on ${contracts.sidechainFactory.implementation.address} address`,
2022-07-26 19:07:04 +02:00
)
console.log(
2022-07-28 12:26:39 +02:00
`SidechainInstanceFactory proxy contract have been deployed on ${contracts.sidechainFactory.proxy.address} address`,
2022-03-31 21:40:12 +02:00
)
2022-02-23 17:27:44 +01:00
}
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error)
process.exit(1)
})