You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a deployment script that I've been using for the past six months or so to deploy and verify contracts on Polygon. Recently I've begun deploying on Base Sepolia, and the verification process is failing without any changes on my end to the project dependencies. I'm using:
Pretty straightforward. The console output is quite confusing though:
Verifying implementation: 0x5361353EB7195fd782A017cF5Ad27a0ae81a402E
The contract 0x5361353EB7195fd782A017cF5Ad27a0ae81a402E has already been verified on Etherscan. https://sepolia.basescan.org/address/0x5361353EB7195fd782A017cF5Ad27a0ae81a402E#code
Verifying proxy: 0xCe4A2F1FaAab75551728c3c49332350E69111770
Contract at 0xCe4A2F1FaAab75551728c3c49332350E69111770 already verified.
Linking proxy 0xCe4A2F1FaAab75551728c3c49332350E69111770 with implementation.
Failed to link proxy 0xCe4A2F1FaAab75551728c3c49332350E69111770 with its implementation. Reason: The implementation contract at 0x5361353eb7195fd782a017cf5ad27a0ae81a402e does not seem to be verified. Please verify and publish the contract source before proceeding with this proxy verification.
The "already been verified" messages make sense as this contract's source exactly matches a previously deployed contract. But the final error message contradicts the earlier output. Any insights here would be greatly appreciated. I have not yet confirmed whether or not this is an issue on mainnet. I have confirmed that the error message is coming back from the Basescan API itself.
I've also confirmed that I can manually link the proxy in Basescan UI by the whole "Is this a proxy?" process, further confusing me as to why it isn't working programmatically.
The text was updated successfully, but these errors were encountered:
This looks like a Basescan/Etherscan issue where the "Similar Match Source Code" status leads to the first "already been verified" message, but since it is not an exact match, the proxy linking fails.
I don't think there is anything that we can do from the Hardhat plugin to avoid this. For mainnets, you could contact Basescan/Etherscan to re-verify to promote your contract to Full Match (see https://info.etherscan.com/update-on-similar-match-contract-verification/). For testnets, if you can link it in the Basescan UI, is that sufficient?
I have a deployment script that I've been using for the past six months or so to deploy and verify contracts on Polygon. Recently I've begun deploying on Base Sepolia, and the verification process is failing without any changes on my end to the project dependencies. I'm using:
Here's how I'm kicking off verification:
Pretty straightforward. The console output is quite confusing though:
The "already been verified" messages make sense as this contract's source exactly matches a previously deployed contract. But the final error message contradicts the earlier output. Any insights here would be greatly appreciated. I have not yet confirmed whether or not this is an issue on mainnet. I have confirmed that the error message is coming back from the Basescan API itself.
I've also confirmed that I can manually link the proxy in Basescan UI by the whole "Is this a proxy?" process, further confusing me as to why it isn't working programmatically.
The text was updated successfully, but these errors were encountered: