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.
Moving to #support:zeppelinos
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
Hi @Chrissie there is an issue for this https://github.com/zeppelinos/zos/issues/196 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?