nova-upgrade-proposal/src/0_generateAddresses.js

38 lines
881 B
JavaScript
Raw Normal View History

2022-01-27 12:51:44 +01:00
const { ethers } = require('hardhat')
async function generate(config) {
const singletonFactory = await ethers.getContractAt('SingletonFactory', config.singletonFactory)
const ProposalFactory = await ethers.getContractFactory('NovaUpgradeProposal')
const deploymentBytecodeProposal =
ProposalFactory.bytecode +
ProposalFactory.interface
.encodeDeploy([
config.novaProxy,
config.newNovaImpl,
2022-01-27 16:46:30 +01:00
config.ethAmbBridge,
2022-01-27 12:51:44 +01:00
config.gasLimit,
])
.slice(2)
const proposalAddress = ethers.utils.getCreate2Address(
singletonFactory.address,
config.salt,
ethers.utils.keccak256(deploymentBytecodeProposal),
)
const result = {
proposalContract: {
address: proposalAddress,
bytecode: deploymentBytecodeProposal,
isProxy: false,
},
}
return result
}
module.exports = {
generate,
}