Based on ProxyAdmin
, an auxiliary contract in OpenZeppelin's upgradeability approach meant to act as the admin of a TransparentUpgradeableProxy
. This variant allows an additional actor, the "deputy", to perform upgrades, which originally can only be performed by the ProxyAdmin's owner. See OpenZeppelin's documentation for TransparentUpgradeableProxy
for more details on why a ProxyAdmin is recommended.
Upgrades proxy
to implementation
. This contract must be the admin of proxy
, and the caller must be this contract's owner or the deputy.
Upgrades proxy
to implementation
and calls a function on the new implementation. This contract must be the admin of proxy
, and the caller must be this contract's owner or the deputy.