Hi, I would like some help in understanding proxied and upgradeable contracts. If the implementation contract has a proxy (let's say it's using the UUPS proxy pattern), what would be the difference between using the @openzeppelin/contracts and the @openzeppelin/contracts-upgradeable libraries? Isn't the proxy used to delegate calls to the implementation contract, which should allow the implementation contract to be changed/upgraded?
Hey!
I believe the main difference is handling how the contracts are deployed. In upgradable contracts, you have to shift from the constructor to the initialize function. Read more:
Hi, I'm facing similar issues, to check out this link. What's the difference between upgradable and non upgradable Initializable contracts? Aren't all proxies meant to be support upgradable implementation contract?