It seems there’s no renounceOwnership function on proxy admin contract, so I tried to set the proxy admin address as null (address(0)), but it returns “Cannot change the admin of a proxy to the zero address”.
Is there a correct way to remove the admin for the proxy contract?
There is no way in the plugin API to renounce ownership, but the contract itself does have the function. We have the following issue which I think would be the ideal way to expose this in our API.
Regarding admin(), the thing is because of the way the Transparent Proxy works, we can’t make it a view function. Unless the admin calls the function, admin() will be forwarded to the proxy implementation and that function is not necessarily view.
There are alternatives to the transparent proxy pattern such as UUPS proxies that do not have this issue, that we would like to offer as an alternative (or even the main proxy implementation) in the future.