Files
semaphore/packages/contracts/tasks/utils.ts
2024-02-10 15:26:06 +00:00

22 lines
631 B
TypeScript

import { DefenderHardhatUpgrades } from "@openzeppelin/hardhat-upgrades"
import { ContractFactory } from "ethers"
export async function deployContract(
defender: DefenderHardhatUpgrades,
contractFactory: ContractFactory,
network?: string,
args: any[] = []
) {
let contract
if (network !== undefined && network !== "hardhat" && network !== "localhost") {
contract = await defender.deployContract(contractFactory, args, { salt: process.env.CREATE2_SALT })
await contract.waitForDeployment()
} else {
contract = await contractFactory.deploy(...args)
}
return contract
}