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.
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:
We know that we can use the .json file provided in some community answers, but would love some more direction.
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.
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.
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.
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.