Is there a straightforward way to manage upgrades with the new ProxyAdmin when using gnosis multisig wallet?

We’re trying to upgrade our contact (Unlock.sol) on rinkeby. We’ve switched to using the Gnosis multisig wallet as the Admin address. For the upgrade, it’s not clear to me which address we should send the tx to. I believe it’s the newly created ProxyAdmin contract address. (I think I need to call the Upgrade function, rather than upgradeTo()? ). I’ve compiled and retrieved the abi for the ProxyAdmin contract, but it would be nice if you guys published a gist for this maybe? Anyway, I would love either confirmation that I’m on the right track, or some guidance in handling this (probably not uncommon) scenario!
I’m also wondering about keeping track of addresses, as I expect that If we can’t use the zos-cli to upgrade when using a multisig-wallet, then the zos network files (eg: zos.rinkeby.json) won’t be updated…Would we need to then keep track manually?
Thanks in advance.


Hey @n44o!
ProxyAdmin was introduced to simplify managing multiple proxies at once. You are right about sending your tx to ProxyAdmin contact address and yes you have to call upgrade method. There is no upgradeTo method on a ProxyAdmin class.

if you guys published a gist for this maybe?

Like js gist doing such task in a script?

Would we need to then keep track manually?

You always can figure out your addresses based on past transactions and events but generally speaking if you are not using cli yes, you have to keep track of them.

On a side note, I think it is better to enable support for multisig wallets on a cli level. I’ll keep you updating this on the post on that matter.


@ylv-io Thanks for the response. Yeah, ideally we’d love to see better support for multisig wallets on a cli level as well. That would be fantastic!
As for my comment about a gist, I was just thinking a simple raw json gist of the abi for ProxyAdmin.sol to avoid the need to compile and extract ourselves, but not a big deal either way. I just though of it because an older blog post on handling upgrades via gnosis linked to a gist containing the abi for AdminUpgradeabilityProxy.sol, purely for convenience.

1 Like

Moving to #support:zeppelinos

1 Like

I am currently doing the same thing right now, using the Gnosis Multisig Wallet (but changed to my own likings) for upgradeability.

Because ZeppelinOS only has AdminUpgradeability, the zos push on a new contract with multisig implemented will upgrade the implementation address in the cli, while not being updated for real - am I correct?

CLI support for this funcitonality would be great, to further decentralize the government. Like a AdminGroupUpgradeabilityProxy or something, where members of the group can propose an upgrade or vote for a proposal.

Happy to think along with you guys, keep me updated :slight_smile:


Hi @Chrissie there is an issue for this though discussion on the forum is great.

Welcome to the community, it would be awesome if you could take a moment to Introduce yourself here! or tell us What are you working on?