-
Notifications
You must be signed in to change notification settings - Fork 44
Open
Description
I'm using defender and hardhat for my project that uses a Transparent proxy.
Currently, our multisig is the owner of our proxy therefore, a proposal must be made before upgrading the implementation contract.
When creating a proposal, I do not see an option to pass initializer arguments.
Here is my hardhat task :
task("propose-multisig-upgrade", "Propose a new updated contract to be upgraded via multisig")
.addParam("proxy", "Address of the proxy")
.addParam("name", "Name of the updated implementation contract (must be existant in artifacts)")
.setAction(async (taskArgs, hre) => {
try {
const NewImplementation = await hre.ethers.getContractFactory(taskArgs.name);
console.log("Preparing proposal...");
const proposal = await hre.defender.proposeUpgrade(taskArgs.proxy, NewImplementation);
console.log("Upgrade proposal created at:", proposal.url);
return proposal.url;
} catch (error) {
console.log(error);
}
});
Is there a work around for this?
PS : I do not want to deploy the implementation before hand manually then propose the upgrade.
Thank you in advance.
Metadata
Metadata
Assignees
Labels
No labels