Common Verification Errors
"Solidity Compilation Error: Identifier not found or not unique"
A compilation issue occured due to syntax errors in your Solidity source code.
"Library was required but suitable match not found"
Double check on your library names ( case sensitive such as "PRBMath" ) or ensure that a matching library name and library address is provided.
"Unable to locate ContractName , did you specify the correct Contract Name ?"
A match was not found with the name of the contract specified when multiple files are provided.
Ensure that you have provided the correct contract name to be matched against, and making sure you submit the main contract name not its dependencies.
"Compiled contract runtime bytecode does NOT match the on-chain runtime bytecode"
The compilation of your submitted source code does not match the runtime bytecode, ie the code stored within the contract address.
This is simply due a difference in your source code submitted, common causes include submitting different library versions such as from OpenZeppelin or using a different compiler version.
For an exact match to be found, both source code and compiler settings specified have to exactly match the deployment conditions for the same bytecode to be reproduced.
"Compiled contract deployment bytecode does NOT match the transaction deployment bytecode"
The compilation of your submitted source code does not match the deployment bytecode, ie the constructor arguments plus general initialisation code and runtime bytecode.
Similar solution as above, do take into account constructor arguments as well below.
"Please check if the correct constructor argument was entered"
if your contract utilized the
constructorkeyword, you should provide it in hex format. Otherwise, leave this field empty as it is.
There is an easter egg 🐣 on the
constructorArguementsfield spelling, using it as the "correct" spelling may miss your submission!
"Please check if the correct bytecodehash was specified via standard-json verification."
Other submission formats such as single file or multifile do not support changing this setting, and will use the compiler defaults.
"This contract already Similar Matches the deployed ByteCode at 0x4200000000000000000000000000000000000042"
"Invalid or not supported solc version, see https://etherscan.io/solcversions for list"
This error is thrown when you specify to use an invalid or unsupported version of the Solidity Compiler ie. below
"Source code already verified"
If you think this might be a mistake, do check if you've submitted verification to the right explorer/chain, a contract that is verified on Etherscan is not automatically verified on other explorers.
"Source "@openzeppelin/contracts/ERC20.sol" not found: File import callback not supported"
"This could be a temporary error, please retry or contact us (Error Code 10001/10002/10003)"