I have already deployed a number of proxy contracts using the upgrades package, and after doing so transferred the ownership of the proxy admin to a multisig.
Now, some time later, I want to deploy a new proxy contract (not upgrade an existing one) but I can not see a way to do so.
Calling deployProxy
would require the multisig to sign, which is not feasible.
The function deployImplementation
looked promising, however I could not see a way to provide intiializer arguments, which is necessary for this particular contract.
prepareUpgrade
looks close to what I need, but it appears that this is only effective for contracts that the proxy admin is already in control of.
In essense, what I am looking for is the (new) deployment equivalent to prepareUpgrade
, which does not appear to exist. Is there a way to achieve this?
Help would be greatly appreciated, thank you
Edit: Using openzeppelin/hardhat-upgrades@1.22.1