Help with Exact Match Verification for Proxies

Hi OpenZeppelin Forum,

My team and I are looking into verifying our proxies to get an exact match, we are doing a project which requires us to also figure out how to exact match proxies when we do the verification.

At the moment we can only get a similar match, as I haven't found direct advice in regards to how to do the verification to get an exact match result.

We think a similar match usually is considered "good enough", but in our case is not.
The similar contracts which showcases other contracts is a bit of a throw off in our specific project, and we were hoping to get som directions in regards to how we can do the verification either manually (if possible post verification) or through HardHat.

:computer: Environment

Our contracts are based on the OpenZeppelin Upgradeable through Hardhat, we have deployed contracts in various compiler versions, but are currently using the newest compiler:

v0.8.15+commit.e14f2714

We know that we can use the .json file provided in some community answers, but would love some more direction.

Thanks in advance.

Hi @Felix_Theodoor, this looks like a limitation with Etherscan at the moment. I've reached out to the Etherscan team and will post an update here when I hear back.

1 Like

Hi @ericglau thank you, deeply gratefull.

Looking forward to hear back.

Following up on the above: for Mainnet only, if your proxy is a similar match and you want to make it an exact match, you can contact Etherscan at https://etherscan.io/contactus to request for a re-verification of your proxy contract. You would also need to provide them the Solc JSON input file, which you can find here.

1 Like

Hi @ericglau, for now this seems to be a reasonable way to do it, apreciate the Swift reply, thank you!

Do you have Any idea if it will be automated in the near future?

In terms of automation, you can use the Hardhat Upgrades plugin's verify task to verify your proxy and related contracts and implementation. However, you would still need to follow up with Etherscan if you need to change a similar match to exact match.

1 Like

@Felix_Theodoor Can you follow up sharing if you were able to get an exact match by contacting Etherscan?

Hey @frangi, i have made countless request and reached out both regularly and even tried to do a paid request as i never heard anything from Etherscan.

I have similar problem from bscscan and have not found out how to make it happen.

I know Etherscan dont reply to request they dont support, but wont tell if thats the case.

Not sure if i there is a better channel than https://etherscan.io/contactus to request the verification.

So far not luck, will follow up and share once with eveyone once I get my contract "exact verification"

Would love to get any assistance as It is something stil important to me.

In case you haven't seen it I found this article that explains how the process is supposed to work.

The content of this guide is something i do as a standard. But it stil requires you to contact Etherscan and ask for a exact match verification, and stil requires them to manually do this.

It does not help you, when they dont anwser requests for exact match verification.

For now, im just imensely dissapointed on the level of support and professionelism from their support team.

I have done regular token update requests which usualy gets picked up after a weeks waiting time.

But stil waiting for exact match verification for my proxies.. With request made weeks prior to other regular token update requests.

Havent given up yet, but havent suceeded either.

Ok thanks for this input. I agree that Exact Match is important and would like to make it a standard recommendatoin so we will try to contact the team and see if we can get a clear roadmap on more automated support for this.

1 Like

I apreciate the follow up, and happy you will pick this up with them. I could not agree more, a sort og automation or stremlined process would close the missing circle of utilizing proxy contracts.

Let me know if i can help in any way, I run the techniqal department of a company doing regulated blockchain development.

As this is important to me, and i find crucial for the community to utilize sage contract protokols like your uups proxies, im keen to help any way i can.

1 Like

Update:

I still have not been able to get a hold of etherscan regarding exact match verifications of my Proxies.

But, I have however been able to verify the BCS versions of my proxies. The process works similarly to etherscan, you reach out and they will enable re-verifications for your contract based on verified contracts within your bcscan account.

The process is the same as a regular contract verification where you upload your source code, which will be updated to Full Match upon verification, you have 7 days from activation of re-verification.

I experienced issues with verifying through HardHat and had to do it manually, as I was provided the following message once I made them aware of the issue.

"Verifications from the API side may not have been updated to check for Similar Match allowance, which may be causing automated tools via Hardhat to fail and is something we have to look into."

__

What confuses me is why my requests for exact match verification get ignored when requesting in etherscan.. as signatures from bcscan mails still have "Regards - Etherscan Team".

Just wanted to provide updates, hope i can get it solved within etherscan to soon.

1 Like