#Hardhat errors
This section contains a list of all the possible errors you may encounter when using Hardhat and an explanation of each of them.
#Hardhat 3 errors
#General errors
#HHE1: You are not inside a Hardhat project
You are trying to run Hardhat outside of a Hardhat project.
You can learn how to use Hardhat by reading the Getting Started guide.
#HHE2: Duplicated plugin id
While loading the plugins, two different plugins where found with the same id.
Please double check whether you have multiple versions of the same plugin installed.
#HHE3: No Hardhat config file found
Hardhat couldn't find a config file in the current directory or any of its parents.
#HHE4: Invalid config path
The config file doesn't exist at the provided path.
#HHE5: No config exported
There is nothing exported from the config file.
#HHE6: Invalid config object
The config file doesn't export a valid configuration object.
#HHE7: Configuration variable not found
A configuration variable was expected to be set as an environment variable, but it wasn't.
#HHE8: Invalid URL
Given value was not a valid URL.
#HHE9: Invalid BigInt
Given value was not a valid BigInt.
#HHE10: Hardhat project already created
Cannot create a new Hardhat project, the current folder is already associated with a project.
#HHE11: Not inside an interactive shell
You are trying to initialize a project but you are not in an interactive shell.
Please re-run the command inside an interactive shell.
#HHE12: Unsupported operation
You are trying to perform an unsupported operation.
Unless you are creating a task or plugin, this is probably a bug.
Please report it to help us improve Hardhat.
#HHE13: Only ESM projects are supported
You are trying to initialize a new Hardhat project, but your package.json does not have the property "type" set to "module".
Currently, Hardhat only supports ESM projects.
Please add the property "type" with the value "module" in your package.json to ensure that your project is recognized as an ESM project.
#HHE14: Global option already defined
The global option is already defined by another plugin. Please ensure that global options are uniquely named to avoid conflicts.
#HHE15: Invalid config
The configuration you provided is invalid. Please check the documentation to learn how to configure Hardhat correctly.
#HHE16: Template not found
The template you provided is not found. Please check the documentation to learn which templates are available.
#HHE17: Workspace must be a directory
The workspace you provided is not a directory. Please ensure that the workspace is a directory and try again.
#HHE18: Invalid hex string
Given value was not a valid hex string.
#HHE19: Config variable format must include {variable}
The config variable format must include the string "{variable}", which will be replaced with the actual value of the variable.
#HHE20: Invalid fully qualified contract name
A contract name was expected to be in fully qualified form, but it's not.
A fully qualified name should look like file.sol
#HHE21: Invalid Hardhat config file
The config file has JS/TS errors.
Please resolve the errors before rerunning the command.
#Internal errors
#HHE100: Invariant violation
An internal invariant was violated. This is probably caused by a programming error in Hardhat or in one of the used plugins.
Please report it to help us improve Hardhat.
#HHE101: Not implemented
A code path that has not been implemented was unexpectedly triggered.
Please report it to help us improve Hardhat.
#Plugin errors
#HHE200: Plugin not installed
A plugin was included in the Hardhat config but has not been installed into "node_modules".
#HHE201: Plugin missing peer dependency
A plugin's peer dependency has not been installed.
#HHE202: Dependency version mismatch
A plugin's peer dependency expected version does not match the version of the installed package.
Please install a version of the peer dependency that meets the plugin's requirements.
#HHE203: Plugin dependency could not be loaded
The loading of a plugin's dependent plugin failed.
#Hooks errors
#HHE300: Plugin hook factory is not a valid file URL
The loading of a plugin's hook factory failed as the import path is not a valid file:// URL.
#HHE301: Unexpected hook parameter modification
The parameter is not allowed to be modified
#Task definition errors
#HHE400: Invalid file action
The setAction function was called with a string parameter that is not a valid file URL. A valid file URL must start with 'file://'.
Please ensure that you are providing a correct file URL.
#HHE401: Task missing action
A task was defined without an action.
Please ensure that an action is defined for each task.
#HHE402: Invalid task definition
A variadic argument must always be the last positional argument in a task definition.
#HHE403: Invalid task definition
Required positional arguments must be defined before optional ones in a task definition.
#HHE404: Task not found
The provided task name does not match any task.
#HHE405: Subtask without parent
The parent task of the subtask being defined was not found. If you intend to only define subtasks, please first define the parent task as an empty task.
#HHE406: Task already defined
The task is already defined. Please ensure that tasks are uniquely named to avoid conflicts.
#HHE407: Empty task id
The task id cannot be an empty string or an empty array. Please ensure that the array of task names is not empty.
#HHE408: Task option already defined
The task option is already defined as a global option by another plugin. Please ensure that task options are uniquely named to avoid conflicts.
#HHE409: Task override option already defined
An attempt is being made to override an option that has already been defined. Please ensure that the option is not defined before trying to override it.
#HHE410: Empty task
The task is empty. Please ensure that tasks have at least one action.
#HHE411: Unable to import action for task
Unable to import action for task. Please verify that the the file exists and that it provides a default function export.
#HHE412: Invalid action
The action of the task is not a function. Make sure that the file pointed to by the action URL exports a function as the default export.
#HHE413: Missing value for the task argument
You tried to run a task, but one of the values of its arguments was missing.
Please double check how you invoked Hardhat or ran your task.
#HHE414: Invalid argument type
One of your task arguments has an invalid type.
Please double check your task arguments.
#HHE415: Invalid option value
One of the options for your task is invalid.
Please double check your arguments.
#HHE416: Unrecognized subtask
The subtask for the task you provided is not recognized.
Please check you have the correct subtask.
#Arguments related errors
#HHE500: Invalid argument type
One of your Hardhat or task arguments has an invalid type.
Please double check your arguments.
#HHE501: Reserved argument name
One of your Hardhat or task arguments has a reserved name.
Please double check your arguments.
#HHE502: Argument name already in use
One of your Hardhat or task argument names is already in use.
Please double check your arguments.
#HHE503: Invalid argument name
One of your Hardhat or task argument names is invalid.
Please double check your arguments.
#HHE504: Invalid option value
One of your Hardhat options is invalid.
Please double check your arguments.
#HHE505: Missing value for the task argument
You tried to run a task, but one of the values of its arguments was missing.
Please double check how you invoked Hardhat or ran your task.
#HHE506: Argument was not consumed
You tried to run a task, but one of your arguments was not consumed.
Please double check how you invoked Hardhat or ran your task.
#HHE507: Missing configuration file path
A path to the configuration file is expected after the global option "--config", but none was provided.
Please double check your arguments.
#HHE508: The global option "--config" cannot be used with the "init" command
The global option "--config" cannot be used with the "init" command.
Please double check your arguments.
#HHE509: Options grouping is not supported
Options cannot be grouped together.
Please double check your arguments, and try providing the options separately.
#HHE510: Options repetition is not supported
Some options cannot be repeated.
Please double check your arguments.
#HHE511: Invalid short argument name
One of your Hardhat or task short argument names is invalid.
Please double check your arguments.
#Built-in tasks errors
#HHE600: Script doesn't exist
Tried to use hardhat run
to execute a nonexistent script.
Please double check your script's path.
#Network errors
#HHE700: Invalid URL for network or forking
You are trying to connect to a network with an invalid network or forking URL.
Please check that you are sending a valid URL string for the network or forking URL
parameter.
#HHE701: Invalid method parameters
The JSON-RPC request parameters are invalid. You are trying to make an EIP-1193 request with object parameters, but only array parameters are supported. Ensure that the 'params' parameter is correctly specified as an array in your JSON-RPC request.
#HHE702: Invalid JSON-RPC response
One of your JSON-RPC requests received an invalid response.
Please make sure your node is running, and check your internet connection and networks config.
#HHE703: Cannot connect to the network
Cannot connect to the network.
Please make sure your node is running, and check your internet connection and networks config.
#HHE704: Network timeout
One of your JSON-RPC requests timed out.
Please make sure your node is running, and check your internet connection and networks config.
#HHE705: Network not found
The network you are trying to connect to is not found.
Please double check that the network is correctly defined in your networks config.
#HHE706: Invalid chain type
The chain type does not match the network's chain type.
If you want to use a different chain type, please update your networks config.
#HHE707: Invalid config override
The configuration override you provided is invalid.
#HHE708: Invalid global chain id
Hardhat was set to use a chain id but connected to a chain with a different id
#HHE709: No remote account available
No local account was set and there are accounts in the remote node
#HHE710: Missing "data" param when calling eth_sign
You called "eth_sign" with incorrect parameters.
Please check that you are sending a "data" parameter.
#HHE711: Missing "address" param when calling personal_sign
You called "personal_sign" with incorrect parameters.
Please check that you are sending an "address" parameter.
#HHE712: Invalid "data" param when calling eth_signTypedData_v4
You called "eth_signTypedData_v4" with incorrect parameters.
Please check that you are sending a "data" parameter with a JSON string or object conforming to EIP712 TypedData schema.
#HHE713: Missing transaction parameter
You are trying to send a transaction with a locally managed account, and some parameters are missing.
Please double check your transactions' parameters.
#HHE714: Missing fee price parameters
You are trying to send a transaction with a locally managed account, and no fee price parameters were provided. You need to send gasPrice, or maxFeePerGas and maxPriorityFeePerGas.
Please double check your transactions' parameters.
#HHE715: Incompatible fee price parameters
You are trying to send a transaction with a locally managed account, and its parameters are incompatible. You sent both gasPrice, and maxFeePerGas or maxPriorityFeePerGas.
Please double check your transactions' parameters.
#HHE716: Unrecognized account
You are trying to send a transaction or sign some data with an account not managed by your Ethereum node nor Hardhat.
Please double check your accounts and the "from" parameter in your RPC calls.
#HHE717: Invalid HD path
An invalid HD/BIP32 derivation path was provided in your config.
Read the documentation to learn how to define HD accounts correctly.
#HHE718: Could not derive an HD key
One of your HD keys could not be derived.
Try using another mnemonic or deriving less keys.
#HHE719: Invalid validation parameters
The validation of parameters against the schemas failed.
#HHE720: Invalid network type
The network manager only supports the network types 'http' and 'edr-simulated'.
#HHE721: Transaction to null address cannot have undefined data
The transaction to the null address cannot have undefined data
#HHE722: Provider closed
The provider your are trying to use has been closed. Please create a new one using hre.network.connect() and try again.
#HHE723: Incompatible EIP-7702 parameters
You are trying to send a transaction with a locally managed account, and its parameters are incompatible. You sent both gasPrice and authorizationList.
Please double check your transactions' parameters.
#Solidity tests errors
#HHE800: Build info not found for contract
Build info not found for contract while compiling Solidity test contracts.
#HHE801: Runner timed out
Runner timed out while running Solidity tests.
#HHE802: Unhandled EDR error in Solidity tests
Unhandled EDR error while running Solidity tests.
#Solidity errors
#HHE900: Project file resolution error
There was an error while resolving the project file.
Please double-check your configuration. If it keeps happening, please report it.
#HHE901: Npm file resolution error
There was an error while resolving an npm module that you are trying to compile and generate artifacts for.
Please double-check your configuration. If it keeps happening, please report it.
#HHE902: Import resolution error
There was an error while resolving an import.
Please double-check your import
#HHE903: Invalid or unreleased solc
version
The Solidity version in your config is invalid or hasn't been released yet.
If you are certain it has been released, run npx hardhat clean --global
and try again.
#HHE904: solc
download failed
Couldn't download solc
.
Please check your internet connection and try again.
#HHE905: Couldn't obtain solc
version list
Couldn't download solc
's version list.
Please check your internet connection and try again.
#HHE906: Downloaded solc
checksum verification failed
Hardhat downloaded a version of the Solidity compiler, and its checksum verification failed.
Please check your internet connection and try again.
If this error persists, run npx hardhat clean --global
.
#HHE907: Failed to run native solc
Hardhat successfully downloaded a native version of solc but it doesn't run.
If you are running MacOS, try installing Apple Rosetta.
If this error persists, run "npx hardhat clean --global".
#HHE908: Failed to run solcjs
Hardhat successfully downloaded a WASM version of solc but it doesn't run.
If you are running MacOS, try installing Apple Rosetta.
If this error persists, run "npx hardhat clean --global".
#HHE909: Failed to create compilation job
Hardhat failed to create a compilation job for a file in your project.
This happens when your files require incompatible versions of solc or you haven't configured a version that works with them
#HHE910: Compilation failed
Your smart contracts failed to compile.
Please check Hardhat's output for more details.
#HHE911: Invalid solcjs compiler
Hardhat successfully downloaded a WASM version of solc but it is invalid. The compile function is missing.
#HHE912: Build profile not defined
The build profile you are trying to use is not defined in your Hardhat config.
#Compilation artifacts related errors
#HHE1000: Artifact not found
Tried to read a nonexistent artifact.
Please double check that your contracts have been compiled and double check your artifact's name.
#HHE1001: Multiple artifacts found
There are multiple artifacts that match the given contract name, and Hardhat doesn't know which one to use.
Please use the fully qualified name of the contract to disambiguate it.
#Hardhat node errors
#HHE1100: Invalid node network type
The node only supports the 'edr-simulated' network type.
#Hardhat test plugin errors
#HHE1200: Cannot determine a test runner for files
Cannot determine a test runner for the test files. This may be because the files are not correctly included in the test paths defined by the test plugins in the Hardhat configuration. If they are correctly included, this likely indicates an issue with a plugin failing to detect the files.
#Hardhat coverage errors
#HHE1300: Source file not instrumented for coverage
The source file could not be instrumented for coverage.
#HHE1301: Import path already defined in compilation sources
The import path is already defined in the compilation sources
#Hardhat Ignition errors
#General errors
#HHE10000: Internal Hardhat Ignition invariant was violated
An internal Hardhat Ignition invariant was violated.
#HHE10001: Unsupported ethers.js value
Unsupported ethers.js value
#HHE10002: Artifact migration needed
Hardhat Ignition needs to migrate the artifacts to the new format. Please run npx hardhat ignition migrate {deploymentId}
#Internal errors
#HHE10100: An internal error to Hardhat Ignition has occurred
An internal error to Hardhat Ignition has occurred
#HHE10101: Invalid variable name
One of your Hardhat Ignition template variables has an invalid name
#HHE10102: Variable tag not found in template
One of your Hardhat Ignition template variables has a tag that is not present in the template
#HHE10103: Template value includes variable tag
One of your Hardhat Ignition template variables has a value that includes a variable tag
#HHE10104: No etherscan API key configured
You are trying to run verification during a Hardhat Ignition deploy, but there is no Etherscan API Key set.
#HHE10105: Cannot reset deployment on ephemeral Hardhat network
The reset flag can only used against a persistent network. You are trying to reset a deployment against an in-memory network.
#HHE10106: No Ignition modules found
Ignition was unable to find the module requested for deployment.
#HHE10107: Could not parse JSON parameters
Ignition failed to parse the JSON parameters for deployment. Review the JSON and try again.
#HHE10108: The deployment-id contains banned characters
The deployment-id being used for the Hardhat Ignition deployment contains banned characters. Deployment ids can only contain alphanumerics, dashes or underscores.
#HHE10109: Neither the viem
or ethers
Ignition extension plugin is installed.
Please install either @nomicfoundation/hardhat-ignition-viem
or @nomicfoundation/hardhat-ignition-ethers
to use Ignition in your Hardhat tests
#HHE10110: Hardhat Ignition was unable to display an unknown transaction type
Hardhat Ignition was unable to display an unknown transaction type
#HHE10111: Parameter exceeds maximum safe integer size
Parameter exceeds maximum safe integer size
#HHE10112: Module validation failed.
Hardhat Ignition found problems while validating the module. Please review the module and try again.
#HHE10113: Parsing of deployment parameters failed.
Parsing of deployment parameters failed.
#HHE10114: Visualization template directory not found
Visualization template directory not found
#HHE10115: Ignition module not found
Hardhat Ignition was not able to find an Ignition Module at the given path.
#HHE10116: Ignition module outside of module directory
Ignition modules must be located within the module directory.
#HHE10117: Test error in Hardhat Ignition Viem's test helper
Test error in Hardhat Ignition Viem's test helper.
#HHE10118: Hardhat Ignition unable to find artifact path for the contract name
Hardhat Ignition unable to find artifact path for the contract name
#HHE10119: Only one Ignition extension plugin allowed
Both the ethers and viem Ignition extension plugins were found, but only one can be used at a time.
Please only include one of the plugins in your Hardhat configuration.
#HHE10120: Hardhat Ignition deployment error
Hardhat Ignition was not able to successfully complete a deployment.
Please review the error message and try again.
#HHE10121: No default Viem wallet client found
Hardhat Ignition will use the default wallet client to create Viem contract instances for deployed contracts. No wallet clients were found.
#Module errors
#HHE10200: Invalid module id type
Module id must be a string
#HHE10201: Invalid module id
Module ids can only have alphanumerics and underscore, and they must start with an alphanumeric.
#HHE10202: Invalid module definition function
Module definition function must be a function.
#HHE10203: Async module definition function
Async callbacks are not allowed in 'buildModule'.
#HHE10204: Duplicate module ids
Please make sure all module ids are unique.
#Serialization errors
#HHE10300: Invalid future id
Unable to lookup future during deserialization
#HHE10301: Invalid future type
Invalid FutureType as serialized argument
#HHE10302: Lookahead value not found
Lookahead value missing
#Execution errors
#HHE10400: Dropped transaction
One of the transactions sent by Hardhat Ignition was dropped
#HHE10401: Invalid JSON-RPC response
Hardhat Ignition received an invalid JSON-RPC response for the given method
#HHE10402: Waiting for confirmations
Waiting for confirmations for transactions sent from the sender
#HHE10403: Waiting for nonce
Waiting for confirmations for transactions sent from the sender
#HHE10404: Invalid nonce
The next nonce for the sender is not what Hardhat Ignition expected
#HHE10405: Base fee exceeds gas limit
The configured base fee exceeds the block gas limit
#HHE10406: Max fee per gas exceeds gas limit
The calculated max fee per gas exceeds the configured limit
#HHE10407: Insufficient funds for transfer
Sender account has insufficient funds for transfer
#HHE10408: Insufficient funds for deploy
Sender account has insufficient funds for deploy
#HHE10409: Gas estimation failed
Gas estimation failed
#HHE10410: Transaction lost
An error occurred while trying to send a transaction
#Reconciliation errors
#HHE10500: Invalid execution status
Unsupported execution status
#Wipe errors
#HHE10600: Uninitialized deployment
Cannot wipe future as the deployment hasn't been intialialized yet
#HHE10601: No state for future
Cannot wipe future as it has no previous execution recorded
#HHE10602: Dependent futures
Cannot wipe future as there are dependent futures that have previous executions recorded
#Validation errors
#HHE10700: Invalid default sender
The default sender is not part of the configured accounts
#HHE10701: Missing emitter
The emitter must be provided when reading an event from a SendDataFuture
#HHE10702: Module validation failed
Module validation failed
#HHE10703: Invalid constructor arguments length
Invalid constructor arguments length
#HHE10704: Invalid function arguments length
Invalid function arguments length
#HHE10705: Invalid static call
Function is not 'pure' or 'view' and should not be statically called
#HHE10706: Indexed event argument
Indexed argument of event is not stored in the receipt
#HHE10707: Invalid overload name
Invalid overload name
#HHE10708: Overload not found
Overload not found
#HHE10709: Overload name used for non-overloaded contract
Overload name used for non-overloaded contract
#HHE10710: Overload name required
Overload name required
#HHE10711: Invalid overload given
Invalid overload given
#HHE10712: Event argument not found
Event argument not found
#HHE10713: Invalid event argument index
Invalid event argument index
#HHE10714: Function argument not found
Function argument not found
#HHE10715: Invalid function argument index
Invalid function argument index
#HHE10716: Missing libraries
The following libraries are missing
#HHE10717: Conflicting library names
The library names clash with each other
#HHE10718: Invalid library name
Invalid library name
#HHE10719: Invalid library
Invalid library
#HHE10720: Ambiguous library name
The library name is ambiguous
#HHE10721: Invalid library address
Invalid address for library
#HHE10722: Negative account index
Account index cannot be a negative number
#HHE10723: Account index too high
Requested account index is greater than the total number of available accounts
#HHE10724: Invalid artifact
Artifact for contract is invalid
#HHE10725: Missing module parameter
Module parameter requires a value but was given none
#HHE10726: Invalid module parameter type
Module parameter must be of the expected type
#Status errors
#HHE10800: Uninitialized deployment
Cannot get status for nonexistant deployment
#Deploy errors
#HHE10900: Chain ID changed
The deployment's chain cannot be changed between runs.
#Verify errors
#HHE11000: Uninitialized deployment
Cannot verify contracts for nonexistant deployment
#HHE11001: No contracts deployed
Cannot verify deployment as no contracts were deployed
#HHE11002: Unsupported chain
Verification not natively supported for the requested chain
#Strategies errors
#HHE11100: Invalid strategy name, must be either 'basic' or 'create2'
Invalid strategy, must be either 'basic' or 'create2'
#HHE11101: Missing strategy config
No strategy config passed for strategy
#HHE11102: Missing strategy config parameter
Missing required strategy configuration parameter
#HHE11103: Invalid strategy config parameter
Strategy configuration parameter is invalid
#HHE11104: CreateX contract not deployed
The CreateX contract is not deployed on the current network
#List transactions errors
#HHE11200: Uninitialized deployment
Cannot list transactions for nonexistant deployment
#Track transactions errors
#HHE11300: Deployment directory not found
The deployment directory was not found
#HHE11301: Uninitialized deployment
Cannot track transaction for nonexistant deployment
#HHE11302: Transaction not found
The transaction hash you provided was not found on the network.
#HHE11303: Matching nonce not found
The transaction you provided doesn't seem to belong to your deployment.
#HHE11304: Known transaction
The transaction hash that you provided was already present in your deployment.
#HHE11305: Insufficient confirmations
The transaction you provided doesn't have enough confirmations yet.
#Hardhat Ethers errors
#General errors
#HHE20000: Method not implemented
Method not implemented
#HHE20001: Event not supported
Event not supported
#HHE20002: Account index out of range
Account index out of range
#HHE20003: Broadcasted transaction hash mismatch
Broadcasted transaction hash mismatch
#HHE20004: Cannot get account
Cannot get account
#HHE20005: Invalid block tag
Invalid block tag
#HHE20006: Invalid artifact for contract factory creation
Invalid artifact for contract factory creation
#HHE20007: Invalid abstract contract for contract factory creation
Invalid abstract contract for contract factory creation
#HHE20008: Invalid address to link contract
Invalid address to link contract
#HHE20009: Library is not one of the contract libraries
Library is not one of the contract libraries
#HHE20010: Ambiguous library name
Ambiguous library name
#HHE20011: Reference to same library
Reference to same library
#HHE20012: Missing links for library
Missing links for library
#HHE20013: Unsupported type for deep copy
Unsupported type for deep copy
#HHE20014: Remote accounts are not supported
Remote accounts are not supported
#HHE20015: Invalid "accounts" property in your Hardhat configuration file
The "accounts" property in your Hardhat configuration file is not set correctly. Please double check it and try again.
#HHE20016: Private key for the address could not be found
The private key for the address could not be found. Please double check your private keys and try again.
#Hardhat Mocha errors
#General errors
#HHE30000: Running tests twice in an ESM project
You have run your tests twice programmatically and your project is an ESM project (you have "type": "module"
in your package.json
, or some of your files have the .mjs
extension). This is not supported by Mocha yet (https://github.com/mochajs/mocha/issues/2706).
#Hardhat Viem errors
#General errors
#HHE40000: Network not found
No network with the specified chain id was found. You can override the chain by passing it as a parameter to the client getter:
import { someChain } from "viem/chains";
const client = await hre.viem.getPublicClient({
chain: someChain,
...
});
You can find a list of supported networks here: https://github.com/wevm/viem/blob/main/src/chains/index.ts
#HHE40001: Unsupported Development Network
The chain ID corresponds to a development network, but we were unable to identify it as either Hardhat or Anvil.
Please ensure you're using one of the supported networks.
#HHE40002: Default Wallet Client Not Found
A default wallet client could not be found for the specified chain ID. This issue may occur if no accounts were configured for the selected network.
To resolve this, make sure to add an account to the specified network in the Hardhat config. Alternatively, you can set a custom wallet client by passing it as a parameter in the relevant function:
const networkConnection = await hre.network.connect(...);
const walletClient = await networkConnection.viem.getWalletClient(address);
await networkConnection.viem.deployContract(contractName, constructorArgs, { walletClient });
await networkConnection.viem.sendDeploymentTransaction(contractName, constructorArgs, { walletClient });
await networkConnection.viem.getContractAt(contractName, address, { walletClient });
#HHE40003: Error Linking Contract
An error occurred while linking the contract libraries.
Please check Hardhat's output for more details.
#HHE40004: Invalid Confirmations Value
Invalid confirmations value. The confirmations value provided is invalid.
#HHE40005: Deployment Transaction Error
The deployment transaction was mined but its receipt doesn't contain a contract address.
#Hardhat Keystore errors
#General errors
#HHE50000: Invalid password or corrupted keystore file
The password you provided is incorrect or the keystore file is corrupted.
#HHE50001: Cannot change password for dev keystore
The keystore "change-password" task cannot be used with the development keystore
#HHE50002: Key not found in the development keystore during tests
Key not found in the development keystore. During tests, configuration variables can only be accessed through the development keystore.
Run npx hardhat keystore set <KEY> --dev
to set it.
#Hardhat Network Helpers errors
#General errors
#HHE60000: Only hex-encoded strings prefixed with "0x" are accepted
Only hex-encoded strings prefixed with "0x" are accepted
#HHE60001: Cannot converted into an RPC quantity
The value cannot be converted into an RPC quantity
#HHE60002: Invalid hex string
The value is not a valid hex string
#HHE60003: Invalid transaction hash
The value is not a valid transaction hash
#HHE60004: Invalid address
The value is not a valid address
#HHE60005: Invalid checksum address
The address has an invalid checksum
#HHE60006: Block number smaller than the current block number
The block number is smaller than the current block number
#HHE60007: The evm_snapshot value should be a string
The value returned by evm_snapshot should be a string
#HHE60008: The evm_revert value should be a boolean
The value returned by evm_revert should be a boolean
#HHE60009: Trying to restore an invalid snapshot.
Trying to restore an invalid snapshot.
#HHE60010: Invalid input, expected a non-negative number
Invalid input, expected a non-negative number
#HHE60011: Cannot convert negative number to RPC quantity
Cannot convert negative number to RPC quantity
#HHE60012: Anonymous functions cannot be used as fixtures
Anonymous functions cannot be used as fixtures
#HHE60013: Error while reverting snapshot
Error while reverting snapshot
#HHE60014: Hardhat network helpers can only be used with the Hardhat Network
Hardhat network helpers can only be used with the Hardhat Network
#HHE60015: Hardhat network helpers can only be used with the Hardhat Network - version info
Hardhat network helpers can only be used with the Hardhat Network
#Hardhat Chai Matchers errors
#General errors
#HHE70000: Unknown comparison operation
Unknown comparison operation
#HHE70001: Expected string or addressable
Expected string or addressable
#HHE70002: Assertion doesn't have an error message
Assertion doesn't have an error message. Please open an issue to report this.
#HHE70003: Matcher cannot be chained after
The matcher cannot be chained after another matcher. Please open an issue to report this.
#HHE70004: Error while decoding data
There was an error decoding data
#HHE70005: Expected a valid transaction hash
Expected a valid transaction hash
#HHE70006: Expected the revert reason to be a string or a regular expression
Expected the revert reason to be a string or a regular expression
#HHE70007: First argument must be a contract
First argument must be a contract
#HHE70008: Expected the custom error name to be a string
Expected the custom error name to be a string
#HHE70009: Contract doesn't have a custom error with the specified name
Contract doesn't have a custom error with the specified name
#HHE70010: Invalid arguments length for the .revertedWithCustomError matcher
Invalid arguments length for the .revertedWithCustomError matcher
#HHE70011: [.withArgs] should never happen, please submit an issue to the Hardhat repository
[.withArgs] should never happen, please submit an issue to the Hardhat repository
#HHE70012: Should not get an indexed event when the assertion type is not event
Should not get an indexed event when the assertion type is not event
#HHE70013: Expected the given panic code to be a number-like value
Expected the given panic code to be a number-like value
#HHE70014: The number of accounts is different than the number of expected balance changes
The number of accounts is different than the number of expected balance changes
#HHE70015: First argument must be a contract instance
First argument must be a contract instance
#HHE70016: Given contract instance is not an ERC20 token
Given contract instance is not an ERC20 token
#HHE70017: Invalid transaction
Invalid transaction
#HHE70018: Contract target must be a string
Contract target must be a string
#HHE70019: Invalid arguments length for the .emit matcher
Invalid arguments length for the .emit matcher
#HHE70020: Contract runner's provider shouldn't be null
Contract runner's provider shouldn't be null
#HHE70021: Do not combine .not. with .withArgs()
Do not combine .not. with .withArgs()
#HHE70022: withArgs can only be used in combination with a previous .emit or .revertedWithCustomError assertion
withArgs can only be used in combination with a previous .emit or .revertedWithCustomError assertion
#HHE70023: withArgs called with both .emit and .revertedWithCustomError, but these assertions cannot be combined
withArgs called with both .emit and .revertedWithCustomError, but these assertions cannot be combined
#HHE70024: Deprecated reverted
matcher
The .reverted
matcher was deprecated and you should use .revert(ethers)
instead.
#Hardhat Verify errors
#General errors
#HHE80000: Network not supported
The network is not supported by hardhat-verify. To see the list of supported networks, run:
npx hardhat verify --list-networks
To add support for a new network, see https://hardhat.org/verify-custom-networks
#HHE80001: Explorer request failed
The request to the explorer failed.
- Verify that the URL is correct.
- Ensure the service is up and reachable.
- Check your network connection and try again.
#HHE80002: Explorer request status code error
The request to the explorer returned a non-success status code.
- Verify that the URL is correct.
- Ensure the service is up and reachable.
- Check your network connection and try again.
#HHE80003: Unsupported solidity compiler version
The specified Solidity compiler version is not supported by the Etherscan API. Only versions 0.4.11 and above are supported. For a full list of supported versions, visit: https://etherscan.io/solcversions
#HHE80004: Deployed bytecode not found
No bytecode was found at the specified address. This usually means the contract is not deployed or was deployed to a different network. Please verify the address and selected network, and try again.
#HHE80005: Compiler version mismatch
The Solidity compiler version used to compile the deployed contract does not match any of the versions configured in your Hardhat project.
This mismatch may indicate:
- You're not on the same commit that was used to deploy the contract.
- The compiler version in your Hardhat config is incorrect.
- The address provided is not the deployed contract.
- The selected network is incorrect.
#HHE80006: Contract not found
The specified contract is not present in your project's artifacts. Please ensure the contract is compiled and the name is correct.
#HHE80007: Build info not found
The specified contract is present in your project, but its build info is missing. Please ensure the contract is compiled by Hardhat and that it is written in Solidity.
#HHE80008: Build info compiler version mismatch
The compiler version in the build info does not match the version encoded in the deployed bytecode. Possible causes:
- Compiler settings were changed after deployment.
- The contract address is incorrect.
- The selected network is incorrect.
#HHE80009: Deployed bytecode mismatch
The bytecode at the specified address did not match the expected contract.
Possible causes:
- Your artifacts are outdated or missing; try running
npx hardhat compile --force --buildProfile production
. - The contract code was modified after deployment.
- Compiler settings (optimizer, EVM version, etc.) changed after deployment.
- The provided address is incorrect.
- The selected network is incorrect.
#HHE80010: Multiple contract matches
The deployed bytecode matches multiple compiled contracts. Specify the exact contract using the --contract
flag. For example:
npx hardhat verify --contract contracts/Example.sol:ExampleContract <other args>
#HHE80011: Invalid library address
The address provided for a linked library is invalid. Please make sure the address is a valid Ethereum address.
#HHE80012: Library not found in contract
A library was specified using the "--libraries" option, but the selected contract does not use it.
If the contract uses external libraries, verify that the provided name matches the fully qualified name (FQN) of one of them, such as:
contracts/Math.sol:SafeMath
#HHE80013: Library name is ambiguous
The specified library name matches multiple libraries used by the contract.
To resolve the ambiguity, provide the fully qualified library name in the format:
path/to/LibraryFile.sol:LibraryName
#HHE80014: Duplicated library entry
The same library was specified more than once using both its short name and fully qualified name (FQN) in the --libraries
option.
Only one form should be used for each library. Remove one of the entries and try again.
#HHE80015: Library address mismatch
Some libraries have conflicting addresses between what you provided and what was detected in the deployed bytecode.
Please ensure each library address is correct. You can remove entries from your input to use autodetection instead.
#HHE80016: Missing library addresses
One or more libraries required by the contract could not be detected from the deployed bytecode.
This usually happens when a library is only referenced in the contract's constructor. To resolve this, provide the missing library addresses using the "--libraries" option.
#HHE80017: Invalid constructor argument type
One of the arguments passed to the contract's constructor has an invalid JavaScript type.
This error occurs when you supply a value whose runtime type doesn't match the expected Solidity type. For example, you must pass a JS string for a Solidity string parameter.
Please verify that each constructor argument is the correct JS type.
#HHE80018: Invalid constructor argument count
The number of arguments provided to the contract's constructor doesn't match the number of parameters defined in its ABI.
This error occurs when you supply a different number of arguments than the constructor expects. For example, if the constructor expects two parameters but you provided three.
Please verify that you pass the exact number of arguments required by the constructor.
#HHE80019: Constructor argument value out of bounds
One of the arguments passed to the contract's constructor is outside the allowed range for its Solidity type (for example, passing 256 to a uint8 parameter).
This error occurs when a value exceeds the maximum or minimum allowed for the specified Solidity type.
Please ensure all argument values fit within the valid range for their respective Solidity types.
#HHE80020: Constructor arguments encoding failed
The constructor arguments provided for the contract could not be encoded correctly. Please review the provided arguments and ensure they match the expected arguments defined in the contract's ABI.
#HHE80021: Missing bytecode at address
The explorer responded that the specified address does not contain bytecode. This usually means the contract was deployed recently and the explorer's backend has not yet indexed it.
Please wait a short time (e.g., 30-60 seconds) and try again. If you're running this from a script, wait for at least five confirmations before verifying.
#HHE80022: Contract already verified
The block explorer responded that the contract is already verified.
This typically occurs if you used the "--force" flag and the explorer does not support re-verification, or if the contract was previously verified with a full match.
#HHE80023: Contract verification request failed
The block explorer returned an error when attempting to verify the contract's source code.
Please check the returned message for details.
#HHE80024: Contract verification status polling failed
The block explorer returned a failure status when checking the verification status. Verification may still succeed; please check manually.
#HHE80025: Unexpected API response during contract verification
The block explorer API returned a message that doesn't match the expected format. This may indicate a change in the API or an issue with the request.
Please report this issue to the Hardhat team.
#HHE80026: Contract verification failed
Unable to verify the contract on the block explorer.
If your contract uses libraries whose addresses cannot be detected automatically, make sure you are providing the correct address for each undetectable library.
#HHE80027: Block explorer not configured
Block explorer information is missing in your chain descriptor configuration.
To enable contract verification, add an entry for the verification provider in the blockExplorers field of the relevant chain descriptor. You can override the default chain descriptor by providing your own chainDescriptors object in the Hardhat config, with the following structure:
chainDescriptors: {
<chainId>: {
name: <name>,
blockExplorers: {
blockscout: { name: "Blockscout", url: <blockscout-url> apiUrl: <blockscout-api-url> };
etherscan: { name: "Etherscan", url: <etherscan-url> apiUrl: <etherscan-api-url> };
}
}
}
#HHE80028: Address is not a contract
The block explorer responded that the address does not contain a contract. This usually means the address is incorrect, the contract was not deployed on the selected network, or there is a temporary issue with the block explorer not updating its index. Please verify the address and network, and try again later if necessary.
#HHE80029: Block explorer API key is empty
The provided API key for the block explorer is empty. This can happen in the following cases:
- No "apiKey" field is configured in the hardhat config.
- The "apiKey" is explicitly set to an empty string in the Hardhat config.
- The "apiKey" is assigned to a config variable that resolves to an empty string at runtime.
To resolve this, set a valid non-empty API key in your Hardhat config, then try again.
#Validation errors
#HHE80100: Invalid address
The value is not a valid address
#HHE80101: Mutually exclusive constructor arguments
The parameters constructorArgs and constructorArgsPath are mutually exclusive. Please provide only one of them.
#HHE80102: Invalid constructor arguments module
The module specified by the constructorArgsPath parameter must default export an array of constructor arguments.
Example:
export default ["arg1", "arg2", ...];
#HHE80103: Module not found
The specified module could not be found. Please check the path and try again.
#HHE80104: Module syntax error
The specified module has a syntax error. Please fix the error and try again.
#HHE80105: Import module failed
The specified module could not be imported.
#HHE80106: Invalid libraries module
The module specified by the librariesPath parameter must default export a record of libraries.
Example:
export default { lib1: "0x...", lib2: "0x...", ... };
#HHE80107: Invalid verification provider
The specified verification provider is not supported. Please use one of the supported providers.