Destroying or Sealing ProxyAdmin

I would like to use a terminable upgradability pattern for an upgradable contract. By that I mean I want to be able to provably end the ability for the contract to be modified after a certain point.

I was thinking the best way to do this would be to self destruct or “seal” the ProxyAdmin so that it can no longer change the implementation address. I have having trouble figuring out how to change the ProxyAdmin implementation using the truffle-upgrades plugin, though. Is this a reasonable approach?

1 Like

Upon further investigation, I believe calling renounceOwnership would solve this.

1 Like

Hi @STC,

Welcome to the community :wave:

renounceOwnership would mean the ProxyAdmin no longer had an owner and you could no longer upgrade so that should suit your needs.
https://docs.openzeppelin.com/contracts/4.x/api/access#Ownable-renounceOwnership--