I read the contracts code related to upgradeability and found proxyAdmin and InitializableAdminUpgradeabilityProxy.
What is difference between these two?
Thank you!
Hey @Shinsaku! Glad you asked!
They are quite different. ProxyAdmin
is an admin which manages the proxy itself and InitializableAdminUpgradeabilityProxy
is the Proxy itself which can be upgraded and have an admin. Hope it brings some clarity. Let me know if you have any more questions and we are interested to know on what you are working on?
Thank you very much!
It was really easy to understand.
Thank you.
What kind of relation they have?
It seems like when implementation is deployed with Open Zeppelin SDK, there are three contracts are deployed sequential.
I think last one is implementation but I don’t know rest of two contract.
How to realize the upgradeability using these two contracts?
When we upgrade the implementation, InitializableAdminUpgradeabilityProxy is also upgraded?
Hey @Shinsaku!
How to realize the upgradeability using these two contracts?
I suggest to use our CLI it hides all the complexity behind easy to use interactive commands.
When we upgrade the implementation, InitializableAdminUpgradeabilityProxy is also upgraded?
No. To upgrade a smart contract implementation _upgradeTo
method is called with a new implementation. Checkout this paper on Proxy Upgrade Pattern to learn more about how it works.