For quite some time, we have had the
set-admin command in the ZeppelinOS CLI. This command changes the admin of a proxy to the specified address, and it accepts either the alias or the address of the proxy to affect. As an example:
zos set-admin ERC20 $NEWADMIN # changes all ERC20 proxies to be managed by NEWADMIN zos set-admin 0x1234 $NEWADMIN # changes the proxy at 0x1234 to be managed by NEWADMIN
Note that there is no way to simultaneously change the admin of all proxies. However, if we follow the same conventions we use on
zos update, we could use a
--all flag for this, which changes the admin for all proxies individually.
Now, we have the upcoming ProxyAdmin component, that will act as a central admin for all proxies in an application. This means that we now have the option to change the address that manages all proxies by just changing the owner of the ProxyAdmin.
How do we want to support this operation? An option is via a new flag in
set-admin, that explains that the admin of all proxies will be moved to a new owner. To avoid confusions with
--all, we could use
zos set-admin --proxy-admin $NEWADMIN, though it sounds a bit repetitive.
Since we’re at it, we could also add an option to change the owner of the App and Package contracts from the CLI, if the project had been published. We could use a
zos set-admin --app $NEWADMIN for this.
We wanted to gather your feedback around this. How do you feel about these new features? Should we add them as flags in the existing
set-admin command? Or place them in a new command, such as
set-owner, to avoid cluttering a single command? Does it make sense to deprecate the previous usage of changing the admin of individual proxies, in favour of changing the admin of just the ProxyAdmin?
Thanks for reading, and please leave your thoughts below!