1234567891011121314151617181920212223242526272829303132333435363738 |
- // deploys and connects the three primary contracts of Mirrorgate onto one chain
- // this deploy file does not connect these contracts to other contracts.
- module.exports = async ({ getNamedAccounts, deployments }) => {
- const { deploy } = deployments
- const { deployer } = await getNamedAccounts()
- let router = await ethers.getContract("Router")
- // deploy Factory.sol
- await deploy("Factory", {
- from: deployer,
- args: [router.address],
- log: true,
- skipIfAlreadyDeployed: true,
- waitConfirmations: 1,
- })
- // set router params
- let bridge = await ethers.getContract("Bridge")
- let factory = await ethers.getContract("Factory")
- let currRouterBridge = await router.bridge()
- let currRouterFactory = await router.factory()
- if (bridge.address !== currRouterBridge || factory.address !== currRouterFactory) {
- let tx = await (await router.setBridgeAndFactory(bridge.address, factory.address)).wait()
- if (hre.network.name !== "hardhat") {
- console.log(bridge.address, factory.address)
- console.log(`- router.setBridgeAndFactory( ${bridge.address}, ${factory.address} ) | tx: ${tx.transactionHash}`)
- }
- } else {
- if (hre.network.name !== "hardhat") {
- console.log(`- router.setBridgeAndFactory(${bridge.address}, ${factory.address}) | *already sets*`)
- }
- }
- }
- module.exports.tags = ["Factory", "test"]
- module.exports.dependencies = ["Bridge", "Router"]
|