I am upgrading an environment containing proxies from solc 0.5.x to 0.7.x. Previously, the proxy contracts were created using InitializableAdminUpgradeabilityProxy from "@openzeppelin/upgrades": "2.7.2", however it appears that the library has been deprecated in favour of native hardhat integration.
While I can see the benefit long term from creating better DX during testing and development, this limits my ability to do manual deployments for single contract deployments, or contracts that have nested dependencies (i.e. the initialize fn of one relies on the proxy address of another). Also It would be great for me to retain backwards compatibility in the codebase to ensure that subsequent upgrades on existing contracts go smoothly.
Are there any branches with 0.7.x ports of the contracts in question?
There is a Solidity 0.7 tagged release of OpenZeppelin Contracts.
Please note, the Upgrades Plugins don't currently use the proxy contracts from OpenZeppelin Contracts. They use a variant (prior to migration to OpenZeppelin Contracts) that is for Solidity 0.6.
Hmm. I don’t think its a necessity for me anymore… I was hoping to maintain backwards compatibility in the codebase itself, however since we aren’t re-deploying the proxy contracts, it shouldn’t affect the existing contract storage layout/functionality (although it’s always nice to test with the real thing).
Thanks for the info - will ping back here with more specifics if my current plan doesn’t work out
@abcoathup@frangio Can InitializableAdminUpgradeabilityProxy still be used in prod? Is it vulnerable to the malice of proxy selector clashing?
Is there something to be mindful of while using it?