[ProxyAdmin] Upgrade implementation of multiple proxies with one tx
See original GitHub issue🧐 Motivation
I have 2 upgradable smart contracts that trust and interact with each other. I want to upgrade both of them in a way that changes their interaction API.
Upgrading them one by one will cause the downtime of the system when first contract is upgraded and second one is not. I don’t see a way to perform such operation even though proxies are owned by the same ProxyAdmin contract.
📝 Details
contract ProxyAdmin {
function upgradeAll(TransparentUpgradeableProxy[] proxies, address[] implementations) public virtual onlyOwner {
...
}
}
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (3 by maintainers)
Top Results From Across the Web
Proxy Upgrade Pattern - OpenZeppelin Docs
This article describes the "unstructured storage" proxy pattern, ... point to a different logic implementation and in doing so, the software is "upgraded"....
Read more >Web3 Tutorial: write upgradeable smart contract (proxy) using ...
When upgrading the contract, what we do is: deploy a new "Implementation contract"; upgrade in "ProxyAdmin contract" by redirecting all calls to ...
Read more >Upgrading multiple proxy contracts in Solidity in one call
As I wrote in my previous post: Each implementation contract is called a facet, like the facets of a diamond. In the proxy's...
Read more >Upgradeable BEP20 Contracts on BSC
You can use your Solidity contracts in the OpenZeppelin Upgrades without any modifications, except for their constructors. Due to a requirement of the...
Read more >Upgrading Smart Contracts - Should You Do it and How?
Smart contract upgrades are essentially different strategies one might ... upgrade patterns rely on a proxy contract and an implementation ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
You might want to do
using the new multi-call utility.
Yes, that works.