UNPKG

@gooddollar/goodcontracts

Version:
47 lines (40 loc) 1.61 kB
import { ethers, upgrades, network } from "hardhat"; import { networkNames } from "@openzeppelin/upgrades-core"; import { getSettings, releaser } from "../../scripts/getMigrationSettings"; import { fetchOrDeployProxyFactory } from "./fetchOrDeployProxyFactory"; console.log({ networkNames, network: network.name, upgrade: process.env.UPGRADE }); const { name: networkName } = network; networkNames[1] = networkName; networkNames[122] = networkName; networkNames[3] = networkName; async function main() { const { daoAddresses, modelAddresses, upgradableAddresses, founders } = await getSettings(networkName); const FuseFaucet = await ethers.getContractFactory("FuseFaucet"); const ProxyFactory = await fetchOrDeployProxyFactory(); let faucet = await upgrades.deployProxy(FuseFaucet, [daoAddresses.Identity], { kind: "uups" }); console.log("FuseFaucet deployed to:", faucet.address); releaser({ FuseFaucet: faucet.address }, networkName); console.log("Dont forget to top faucet!"); } async function upgrade() { console.log("Upgrading..."); const { daoAddresses, modelAddresses, upgradableAddresses, founders } = await getSettings(networkName); console.log({ daoAddresses, modelAddresses, upgradableAddresses, founders }); const FuseFaucet = await ethers.getContractFactory("FuseFaucet"); const faucet = await upgrades.upgradeProxy(upgradableAddresses.FuseStaking, FuseFaucet); console.log("FuseFaucet upgraded", { faucet }); } if (process.env.UPGRADE === "true") upgrade().catch(e => console.log(e)); else main().catch(e => console.log(e));