prepareUpgrade with upgradeAndCall to upgrade proxy

Hi using transparent proxy, and for example does upgrades plugin support upgrading to new implementation which is already deployed and address is known. I do not know if upgrades.prepareUpgrades is for this use-case? So basically I would like to have implementation deployed and after sometime, point proxy to new implementation.

Do I do prepareUpgrades and deploy with it implementation contract, this would validate it that all is ok (storage layout etc), but actual upgrade is done with executing ProxyAdmin.upgradeAndCall manually (without upgrades plugins) ?

Cause clearly I cannot do it with upgradeProxy as here implementation is deployed with proxy in same action.
Thanks.

1 Like

You could use validateUpgrade to run the storage layout validations, which is similar to prepareUpgrade but does not actually deploy new the implementation.

Then you can run ProxyAdmin.upgradeAndCall manually.

1 Like