Bscscan (Binance Smart Chain) shows invalid implementation address when attempting to verify

Hello!
My contract uses OpenZeppelin @openzeppelin/truffle-upgrades to deploy proxy for contract. It worked very well with ropsten and ethereum mainnet, in particular it was possible to interact with proxy contract via etherscan “Write as Proxy” interface.
However on bscscan which I believe is the clone of etherscan I can not verify proxy as proxy:
contract https://testnet.bscscan.com/address/0x894b3179392161dd6b12d043e361be40c9c2a28c#code gets verified but when I use “is this proxy” feature it can’t detect correct address, instead it suppose that implementation address is long senseless hex string. I also upgraded contract to new implementation, in case that there were any cache problems, but still no luck.
It is especially strange since the same contract was verified as proxy by somebody else before https://testnet.bscscan.com/address/0x3244260df6999253d551c7094a8985f0b61a466c#code

I’m not sure that it is openzeppelin issue, maybe something is wrong on bscscan side, but since this forum is the first place to go for openzeppelin users I believe it is appropriate place to discuss the issue.

1 Like

Hi @EmkoK,

I see the same error when using is this proxy with your contract:

The proxy contract verification completed with the message:
The implementation contract at 0x00000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000024536000000000000000000000000000000000000000000000000000000000000 does not seem to be verified.

The value’s displayed for your token don’t seem to be correct:

Are you able to interact with your upgradeable contract? If you can interact and get the appropriate name, symbol, totalSupply and balance of a holder then you may need to get in contact with the Etherscan team.