Trying to upgrade a already deployed proxy contact on etherscan

Since your proxy is deployed as your custom TransparentProxy contract, you would need to verify it manually, because its bytecode is different from what the Hardhat plugin normally deploys. See How to verify a contract on Etherscan/BscScan/PolygonScan for general info on verification.

Note: your pattern to use Ownable within the proxy itself is not recommended, because that risks storage clash and possible function selector clashes with the implementation. See https://docs.openzeppelin.com/upgrades-plugins/1.x/proxies. Instead, consider using OwnableUpgradeable in your implementation instead.

1 Like