/** * A description of a kind of error that Hardhat can throw. */ export interface ErrorDescriptor { /** * The error number, which should be unique. */ number: number; /** * A template of the message of the error. * * This should be a short description. If possible, it should tell the user * how to solve their problem. * * @see The `applyErrorMessageTemplate` function. */ messageTemplate: string; /** * `true` if this error should be reported */ shouldBeReported?: true; /** * The title to use on the website section explaining this error, which can * use markdown. */ websiteTitle: string; /** * The description to use on the website section explaining this error, which * can use markdown. */ websiteDescription: string; } export declare const ERROR_CATEGORIES: { [packageName: string]: { min: number; max: number; pluginId: string | undefined; websiteTitle: string; CATEGORIES: { [categoryName: string]: { min: number; max: number; websiteSubTitle: string; }; }; }; }; export declare const ERRORS: { readonly CORE: { readonly GENERAL: { readonly NOT_INSIDE_PROJECT: { readonly number: 1; readonly messageTemplate: "You are not inside a Hardhat project."; readonly websiteTitle: "You are not inside a Hardhat project"; readonly websiteDescription: "You are trying to run Hardhat outside of a Hardhat project.\n\nYou can learn how to use Hardhat by reading the [Getting Started guide](/getting-started)."; }; readonly DUPLICATED_PLUGIN_ID: { readonly number: 2; readonly messageTemplate: "Duplicated plugin id \"{id}\" found. Did you install multiple versions of the same plugin?"; readonly websiteTitle: "Duplicated plugin id"; readonly websiteDescription: "While loading the plugins, two different plugins where found with the same id.\n\nPlease double check whether you have multiple versions of the same plugin installed."; }; readonly NO_CONFIG_FILE_FOUND: { readonly number: 3; readonly messageTemplate: "No Hardhat config file found.\n\nYou can initialize a new project by running Hardhat with --init"; readonly websiteTitle: "No Hardhat config file found"; readonly websiteDescription: "Hardhat couldn't find a config file in the current directory or any of its parents."; }; readonly INVALID_CONFIG_PATH: { readonly number: 4; readonly messageTemplate: "Config file {configPath} not found"; readonly websiteTitle: "Invalid config path"; readonly websiteDescription: "The config file doesn't exist at the provided path."; }; readonly NO_CONFIG_EXPORTED: { readonly number: 5; readonly messageTemplate: "No config exported in {configPath}"; readonly websiteTitle: "No config exported"; readonly websiteDescription: "There is nothing exported from the config file."; }; readonly INVALID_CONFIG_OBJECT: { readonly number: 6; readonly messageTemplate: "Invalid config exported in {configPath}"; readonly websiteTitle: "Invalid config object"; readonly websiteDescription: "The config file doesn't export a valid configuration object."; }; readonly ENV_VAR_NOT_FOUND: { readonly number: 7; readonly messageTemplate: "Configuration Variable \"{name}\" not found.\n\nYou can define it using a plugin like hardhat-keystore, or set it as an environment variable."; readonly websiteTitle: "Configuration variable not found"; readonly websiteDescription: "A configuration variable was expected to be set as an environment variable, but it wasn't."; }; readonly INVALID_URL: { readonly number: 8; readonly messageTemplate: "Invalid URL: {url}"; readonly websiteTitle: "Invalid URL"; readonly websiteDescription: "Given value was not a valid URL."; }; readonly INVALID_BIGINT: { readonly number: 9; readonly messageTemplate: "Invalid BigInt: {value}"; readonly websiteTitle: "Invalid BigInt"; readonly websiteDescription: "Given value was not a valid BigInt."; }; readonly HARDHAT_PROJECT_ALREADY_CREATED: { readonly number: 10; readonly messageTemplate: "You are trying to initialize a project inside an existing Hardhat project. The path to the project's configuration file is: {hardhatProjectRootPath}."; readonly websiteTitle: "Hardhat project already created"; readonly websiteDescription: "Cannot create a new Hardhat project, the current folder is already associated with a project."; }; readonly NOT_IN_INTERACTIVE_SHELL: { readonly number: 11; readonly messageTemplate: "You are trying to initialize a project but you are not in an interactive shell."; readonly websiteTitle: "Not inside an interactive shell"; readonly websiteDescription: "You are trying to initialize a project but you are not in an interactive shell.\n\nPlease re-run the command inside an interactive shell."; }; readonly UNSUPPORTED_OPERATION: { readonly number: 12; readonly messageTemplate: "{operation} is not supported in Hardhat."; readonly websiteTitle: "Unsupported operation"; readonly websiteDescription: "You are trying to perform an unsupported operation.\n\nUnless you are creating a task or plugin, this is probably a bug.\n\nPlease [report it](https://github.com/nomiclabs/hardhat/issues/new) to help us improve Hardhat."; }; readonly ONLY_ESM_SUPPORTED: { readonly number: 13; readonly messageTemplate: "Hardhat only supports ESM projects. Please be sure to specify \"'type': 'module'\" in your package.json"; readonly websiteTitle: "Only ESM projects are supported"; readonly websiteDescription: "You are trying to initialize a new Hardhat project, but your package.json does not have the property \"type\" set to \"module\".\n\nCurrently, Hardhat only supports ESM projects.\n\nPlease add the property \"type\" with the value \"module\" in your package.json to ensure that your project is recognized as an ESM project."; }; readonly GLOBAL_OPTION_ALREADY_DEFINED: { readonly number: 14; readonly messageTemplate: "Plugin \"{plugin}\"\" is trying to define the global option \"{globalOption}\" but it is already defined by plugin \"{definedByPlugin}\""; readonly websiteTitle: "Global option already defined"; readonly websiteDescription: "The global option is already defined by another plugin. Please ensure that global options are uniquely named to avoid conflicts."; }; readonly INVALID_CONFIG: { readonly number: 15; readonly messageTemplate: "Invalid config:\n{errors}"; readonly websiteTitle: "Invalid config"; readonly websiteDescription: "The configuration you provided is invalid. Please check the documentation to learn how to configure Hardhat correctly."; }; readonly TEMPLATE_NOT_FOUND: { readonly number: 16; readonly messageTemplate: "Template \"{template}\" not found"; readonly websiteTitle: "Template not found"; readonly websiteDescription: "The template you provided is not found. Please check the documentation to learn which templates are available."; }; readonly WORKSPACE_MUST_BE_A_DIRECTORY: { readonly number: 17; readonly messageTemplate: "Workspace \"{workspace}\" must be a directory"; readonly websiteTitle: "Workspace must be a directory"; readonly websiteDescription: "The workspace you provided is not a directory. Please ensure that the workspace is a directory and try again."; }; readonly INVALID_HEX_STRING: { readonly number: 18; readonly messageTemplate: "Invalid hex string \"{value}\""; readonly websiteTitle: "Invalid hex string"; readonly websiteDescription: "Given value was not a valid hex string."; }; readonly CONFIG_VARIABLE_FORMAT_MUST_INCLUDE_VARIABLE: { readonly number: 19; readonly messageTemplate: "The format string \"{format}\" must include {marker} marker"; readonly websiteTitle: "Config variable format must include \\{variable\\}"; readonly websiteDescription: "The config variable format must include the string \"\\{variable\\}\", which will be replaced with the actual value of the variable."; }; readonly INVALID_FULLY_QUALIFIED_NAME: { readonly number: 20; readonly messageTemplate: "Invalid fully qualified contract name \"{name}\""; readonly websiteTitle: "Invalid fully qualified contract name"; readonly websiteDescription: "A contract name was expected to be in fully qualified form, but it's not.\n\nA fully qualified name should look like file.sol:Contract"; }; readonly INVALID_CONFIG_FILE: { readonly number: 21; readonly messageTemplate: "Invalid Hardhat config file at {configPath}:\n{errors}"; readonly websiteTitle: "Invalid Hardhat config file"; readonly websiteDescription: "The config file has JS/TS errors.\n\nPlease resolve the errors before rerunning the command."; }; readonly NON_LOCAL_INSTALLATION: { readonly number: 22; readonly messageTemplate: "Trying to use a non-local installation of Hardhat, which is not supported.\n\nPlease install Hardhat locally using pnpm, npm or yarn, and try again."; readonly websiteTitle: "Hardhat is not installed or installed globally"; readonly websiteDescription: "You tried to run Hardhat from a global installation or not installing it at all. This is not supported.\n\nPlease install Hardhat locally using pnpm, npm or yarn, and try again."; }; readonly GLOBAL_OPTION_HIDDEN_NOT_SUPPORTED: { readonly number: 23; readonly messageTemplate: "Global option \"{globalOption}\" from plugin \"{plugin}\" cannot be hidden"; readonly websiteTitle: "Global option cannot be hidden"; readonly websiteDescription: "A global option was defined as hidden, but global options cannot be hidden."; }; readonly INVALID_RESOLVED_CONFIG: { readonly number: 24; readonly messageTemplate: "Your configuration is invalid once resolved:\n{errors}\n"; readonly websiteTitle: "Invalid resolved config"; readonly websiteDescription: "The configuration you provided is seemingly valid, but once resolved it contains errors. Please check the documentation to learn how to configure Hardhat correctly."; }; }; readonly INTERNAL: { readonly ASSERTION_ERROR: { readonly number: 100; readonly messageTemplate: "An internal invariant was violated: {message}"; readonly websiteTitle: "Invariant violation"; readonly websiteDescription: "An internal invariant was violated. This is probably caused by a programming error in Hardhat or in one of the used plugins.\n\nPlease [report it](https://github.com/nomiclabs/hardhat/issues/new) to help us improve Hardhat."; readonly shouldBeReported: true; }; readonly NOT_IMPLEMENTED_ERROR: { readonly number: 101; readonly messageTemplate: "Not implemented: {message}"; readonly websiteTitle: "Not implemented"; readonly websiteDescription: "A code path that has not been implemented was unexpectedly triggered.\n\nPlease [report it](https://github.com/nomiclabs/hardhat/issues/new) to help us improve Hardhat."; readonly shouldBeReported: true; }; }; readonly PLUGINS: { readonly PLUGIN_NOT_INSTALLED: { readonly number: 200; readonly messageTemplate: "Plugin \"{pluginId}\" is not installed."; readonly websiteTitle: "Plugin not installed"; readonly websiteDescription: "A plugin was included in the Hardhat config but has not been installed into \"node_modules\"."; }; readonly PLUGIN_MISSING_DEPENDENCY: { readonly number: 201; readonly messageTemplate: "Plugin \"{pluginId}\" is missing a peer dependency \"{peerDependencyName}\"."; readonly websiteTitle: "Plugin missing peer dependency"; readonly websiteDescription: "A plugin's peer dependency has not been installed."; }; readonly DEPENDENCY_VERSION_MISMATCH: { readonly number: 202; readonly messageTemplate: "Plugin \"{pluginId}\" has a peer dependency \"{peerDependencyName}\" with expected version \"{expectedVersion}\" but the installed version is \"{installedVersion}\"."; readonly websiteTitle: "Dependency version mismatch"; readonly websiteDescription: "A plugin's peer dependency expected version does not match the version of the installed package.\n\nPlease install a version of the peer dependency that meets the plugin's requirements."; }; readonly PLUGIN_DEPENDENCY_FAILED_LOAD: { readonly number: 203; readonly messageTemplate: "Plugin \"{pluginId}\" dependency could not be loaded."; readonly websiteTitle: "Plugin dependency could not be loaded"; readonly websiteDescription: "The loading of a plugin's dependent plugin failed."; }; }; readonly HOOKS: { readonly INVALID_HOOK_FACTORY_PATH: { readonly number: 300; readonly messageTemplate: "Plugin \"{pluginId}\" hook factory for \"{hookCategoryName}\" is not a valid file:// URL: {path}."; readonly websiteTitle: "Plugin hook factory is not a valid file URL"; readonly websiteDescription: "The loading of a plugin's hook factory failed as the import path is not a valid file:// URL."; }; readonly UNEXPECTED_HOOK_PARAM_MODIFICATION: { readonly number: 301; readonly messageTemplate: "Parameter \"{paramName}\" of hook \"{hookCategoryName}#{hookName}\" is not allowed to be modified"; readonly websiteTitle: "Unexpected hook parameter modification"; readonly websiteDescription: "The parameter is not allowed to be modified"; }; }; readonly TASK_DEFINITIONS: { readonly INVALID_FILE_ACTION: { readonly number: 400; readonly messageTemplate: "Invalid file action: {action} is not a valid file URL"; readonly websiteTitle: "Invalid file action"; readonly websiteDescription: "The setAction function was called with a string parameter that is not a valid file URL. A valid file URL must start with 'file://'.\n\nPlease ensure that you are providing a correct file URL."; }; readonly NO_ACTION: { readonly number: 401; readonly messageTemplate: "The task \"{task}\" doesn't have an action"; readonly websiteTitle: "Task missing action"; readonly websiteDescription: "A task was defined without an action.\n\nPlease ensure that an action is defined for each task."; }; readonly POSITIONAL_ARG_AFTER_VARIADIC: { readonly number: 402; readonly messageTemplate: "Cannot add the positional argument \"{name}\" after a variadic one"; readonly websiteTitle: "Invalid task definition"; readonly websiteDescription: "A variadic argument must always be the last positional argument in a task definition."; }; readonly REQUIRED_ARG_AFTER_OPTIONAL: { readonly number: 403; readonly messageTemplate: "Cannot add required positional argument \"{name}\" after an optional one"; readonly websiteTitle: "Invalid task definition"; readonly websiteDescription: "Required positional arguments must be defined before optional ones in a task definition."; }; readonly TASK_NOT_FOUND: { readonly number: 404; readonly messageTemplate: "Task \"{task}\" not found"; readonly websiteTitle: "Task not found"; readonly websiteDescription: "The provided task name does not match any task."; }; readonly SUBTASK_WITHOUT_PARENT: { readonly number: 405; readonly messageTemplate: "Task \"{task}\" not found when attempting to define subtask \"{subtask}\". If you intend to only define subtasks, please first define \"{task}\" as an empty task"; readonly websiteTitle: "Subtask without parent"; readonly websiteDescription: "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."; }; readonly TASK_ALREADY_DEFINED: { readonly number: 406; readonly messageTemplate: "{actorFragment} trying to define the task \"{task}\" but it is already defined{definedByFragment}"; readonly websiteTitle: "Task already defined"; readonly websiteDescription: "The task is already defined. Please ensure that tasks are uniquely named to avoid conflicts."; }; readonly EMPTY_TASK_ID: { readonly number: 407; readonly messageTemplate: "Task id cannot be an empty string or an empty array"; readonly websiteTitle: "Empty task id"; readonly websiteDescription: "The task id cannot be an empty string or an empty array. Please ensure that the array of task names is not empty."; }; readonly TASK_OPTION_ALREADY_DEFINED: { readonly number: 408; readonly messageTemplate: "{actorFragment} trying to define task \"{task}\" with the option \"{option}\" but it is already defined as a global option by plugin \"{globalOptionPluginId}\""; readonly websiteTitle: "Task option already defined"; readonly websiteDescription: "The task option is already defined as a global option by another plugin. Please ensure that task options are uniquely named to avoid conflicts."; }; readonly TASK_OVERRIDE_OPTION_ALREADY_DEFINED: { readonly number: 409; readonly messageTemplate: "{actorFragment} trying to override the option \"{option}\" of the task \"{task}\" but it is already defined"; readonly websiteTitle: "Task override option already defined"; readonly websiteDescription: "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."; }; readonly EMPTY_TASK: { readonly number: 410; readonly messageTemplate: "Can't run the empty task \"{task}\""; readonly websiteTitle: "Empty task"; readonly websiteDescription: "The task is empty. Please ensure that tasks have at least one action."; }; readonly INVALID_ACTION_IMPORT: { readonly number: 411; readonly messageTemplate: "Unable to import the action for task \"{task}\"."; readonly websiteTitle: "Unable to import action for task"; readonly websiteDescription: "Unable to import action for task. Please verify that the the file exists and that it provides a default function export."; }; readonly INVALID_ACTION: { readonly number: 412; readonly messageTemplate: "The action resolved in task \"{task}\" is not a function"; readonly websiteTitle: "Invalid action"; readonly websiteDescription: "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."; }; readonly MISSING_VALUE_FOR_TASK_ARGUMENT: { readonly number: 413; readonly messageTemplate: "Missing value for the argument named \"{argument}\" in the task \"{task}\""; readonly websiteTitle: "Missing value for the task argument"; readonly websiteDescription: "You tried to run a task, but one of the values of its arguments was missing.\n\nPlease double check how you invoked Hardhat or ran your task."; }; readonly INVALID_VALUE_FOR_TYPE: { readonly number: 414; readonly messageTemplate: "Invalid value \"{value}\" for argument \"{name}\" of type \"{type}\" in the task \"{task}\""; readonly websiteTitle: "Invalid argument type"; readonly websiteDescription: "One of your task arguments has an invalid type.\n\nPlease double check your task arguments."; }; readonly UNRECOGNIZED_TASK_OPTION: { readonly number: 415; readonly messageTemplate: "Invalid option \"{option}\" for the task \"{task}\""; readonly websiteTitle: "Invalid option value"; readonly websiteDescription: "One of the options for your task is invalid.\n\nPlease double check your arguments."; }; readonly UNRECOGNIZED_SUBTASK: { readonly number: 416; readonly messageTemplate: "Unrecognized subtask \"{invalidSubtask}\" for the task \"{task}\""; readonly websiteTitle: "Unrecognized subtask"; readonly websiteDescription: "The subtask for the task you provided is not recognized.\n\nPlease check you have the correct subtask."; }; readonly INLINE_ACTION_CANNOT_BE_USED_IN_PLUGINS: { readonly number: 417; readonly messageTemplate: "The task \"{task}\" defines an \"inlineAction\", which is not allowed in plugins."; readonly websiteTitle: "Inline action not allowed in plugins"; readonly websiteDescription: "Plugins are not allowed to use inline actions for tasks.\n\nPlease define the action in a separate file and reference it."; }; readonly ACTION_ALREADY_SET: { readonly number: 418; readonly messageTemplate: "The action for task \"{task}\" has already been set. You can only call \"setAction\" or \"setInlineAction\" once per task definition."; readonly websiteTitle: "Task action already set"; readonly websiteDescription: "A task definition can only have one action. You cannot call \"setAction\" or \"setInlineAction\" more than once on the same task builder.\n\nPlease remove the duplicate call."; }; readonly ACTION_AND_INLINE_ACTION_SET: { readonly number: 419; readonly messageTemplate: "Invalid task definition for task \"{task}\": both \"action\" and \"inlineAction\" are set."; readonly websiteTitle: "Task defines both action and inline action"; readonly websiteDescription: "A task definition cannot have both an \"action\" and an \"inlineAction\". Use one or the other.\n\nPlease remove one of the two action definitions."; }; }; readonly ARGUMENTS: { readonly INVALID_VALUE_FOR_TYPE: { readonly number: 500; readonly messageTemplate: "Invalid value \"{value}\" for argument \"{name}\" of type \"{type}\""; readonly websiteTitle: "Invalid argument type"; readonly websiteDescription: "One of your Hardhat or task arguments has an invalid type.\n\nPlease double check your arguments."; }; readonly RESERVED_NAME: { readonly number: 501; readonly messageTemplate: "Argument name \"{name}\" is reserved"; readonly websiteTitle: "Reserved argument name"; readonly websiteDescription: "One of your Hardhat or task arguments has a reserved name.\n\nPlease double check your arguments."; }; readonly DUPLICATED_NAME: { readonly number: 502; readonly messageTemplate: "Argument name \"{name}\" is already in use"; readonly websiteTitle: "Argument name already in use"; readonly websiteDescription: "One of your Hardhat or task argument names is already in use.\n\nPlease double check your arguments."; }; readonly INVALID_NAME: { readonly number: 503; readonly messageTemplate: "Argument name \"{name}\" is invalid. It must consist only of alphanumeric characters and cannot start with a number."; readonly websiteTitle: "Invalid argument name"; readonly websiteDescription: "One of your Hardhat or task argument names is invalid.\n\nPlease double check your arguments."; }; readonly UNRECOGNIZED_OPTION: { readonly number: 504; readonly messageTemplate: "Invalid option \"{option}\". It is neither a valid global option nor associated with any task. Did you forget to add the task first, or did you misspell it?"; readonly websiteTitle: "Invalid option value"; readonly websiteDescription: "One of your Hardhat options is invalid.\n\nPlease double check your arguments."; }; readonly MISSING_VALUE_FOR_ARGUMENT: { readonly number: 505; readonly messageTemplate: "Missing value for the task argument named \"{argument}\""; readonly websiteTitle: "Missing value for the task argument"; readonly websiteDescription: "You tried to run a task, but one of the values of its arguments was missing.\n\nPlease double check how you invoked Hardhat or ran your task."; }; readonly UNUSED_ARGUMENT: { readonly number: 506; readonly messageTemplate: "The argument with value \"{value}\" was not consumed because it is not associated with any task."; readonly websiteTitle: "Argument was not consumed"; readonly websiteDescription: "You tried to run a task, but one of your arguments was not consumed.\n\nPlease double check how you invoked Hardhat or ran your task."; }; readonly MISSING_CONFIG_FILE: { readonly number: 507; readonly messageTemplate: "The global option \"--config\" was passed, but no file path was provided."; readonly websiteTitle: "Missing configuration file path"; readonly websiteDescription: "A path to the configuration file is expected after the global option \"--config\", but none was provided.\n\nPlease double check your arguments."; }; readonly CANNOT_COMBINE_INIT_AND_CONFIG_PATH: { readonly number: 508; readonly messageTemplate: "The global option \"--config\" cannot be used with the \"init\" command"; readonly websiteTitle: "The global option \"--config\" cannot be used with the \"init\" command"; readonly websiteDescription: "The global option \"--config\" cannot be used with the \"init\" command.\n\nPlease double check your arguments."; }; readonly CANNOT_GROUP_OPTIONS: { readonly number: 509; readonly messageTemplate: "Invalid option \"{option}\". Options cannot be grouped together. Try providing the options separately."; readonly websiteTitle: "Options grouping is not supported"; readonly websiteDescription: "Options cannot be grouped together.\n\nPlease double check your arguments, and try providing the options separately."; }; readonly CANNOT_REPEAT_OPTIONS: { readonly number: 510; readonly messageTemplate: "Invalid option \"{option}\". Options of type \"{type}\" cannot be repeated."; readonly websiteTitle: "Options repetition is not supported"; readonly websiteDescription: "Some options cannot be repeated.\n\nPlease double check your arguments."; }; readonly INVALID_SHORT_NAME: { readonly number: 511; readonly messageTemplate: "Argument short name \"{name}\" is invalid. It must consist of exactly one letter."; readonly websiteTitle: "Invalid short argument name"; readonly websiteDescription: "One of your Hardhat or task short argument names is invalid.\n\nPlease double check your arguments."; }; readonly NO_HIDDEN_OPTION_CLI: { readonly number: 512; readonly messageTemplate: "The option \"{option}\" is hidden and cannot be used from the CLI."; readonly websiteTitle: "Hidden options cannot be used from the CLI"; readonly websiteDescription: "You are trying to use a hidden option from the CLI, which is not allowed."; }; }; readonly BUILTIN_TASKS: { readonly RUN_FILE_NOT_FOUND: { readonly number: 600; readonly messageTemplate: "Script \"{script}\" doesn't exist"; readonly websiteTitle: "Script doesn't exist"; readonly websiteDescription: "Tried to use `hardhat run` to execute a nonexistent script.\n\nPlease double check your script's path."; }; readonly INVALID_FILE_PATH: { readonly number: 601; readonly messageTemplate: "The path \"{path}\" is a directory. A file path was expected."; readonly websiteTitle: "Invalid file path"; readonly websiteDescription: "A file path was expected, but a directory was provided.\n\nPlease specify a valid file path."; }; }; readonly NETWORK: { readonly INVALID_URL: { readonly number: 700; readonly messageTemplate: "Invalid URL \"{value}\" for network or forking."; readonly websiteTitle: "Invalid URL for network or forking"; readonly websiteDescription: "You are trying to connect to a network with an invalid network or forking URL.\n\nPlease check that you are sending a valid URL string for the network or forking `URL` parameter."; }; readonly INVALID_REQUEST_PARAMS: { readonly number: 701; readonly messageTemplate: "Invalid request arguments: only array parameters are supported."; readonly websiteTitle: "Invalid method parameters"; readonly websiteDescription: "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."; }; readonly INVALID_JSON_RESPONSE: { readonly number: 702; readonly messageTemplate: "Invalid JSON-RPC response received: {response}"; readonly websiteTitle: "Invalid JSON-RPC response"; readonly websiteDescription: "One of your JSON-RPC requests received an invalid response.\n\nPlease make sure your node is running, and check your internet connection and networks config."; }; readonly CONNECTION_REFUSED: { readonly number: 703; readonly messageTemplate: "Cannot connect to the network \"{network}\".\nPlease make sure your node is running, and check your internet connection and networks config"; readonly websiteTitle: "Cannot connect to the network"; readonly websiteDescription: "Cannot connect to the network.\n\nPlease make sure your node is running, and check your internet connection and networks config."; }; readonly NETWORK_TIMEOUT: { readonly number: 704; readonly messageTemplate: "Network connection timed out.\nPlease check your internet connection and networks config"; readonly websiteTitle: "Network timeout"; readonly websiteDescription: "One of your JSON-RPC requests timed out.\n\nPlease make sure your node is running, and check your internet connection and networks config."; }; readonly NETWORK_NOT_FOUND: { readonly number: 705; readonly messageTemplate: "The network \"{networkName}\" is not defined in your networks config."; readonly websiteTitle: "Network not found"; readonly websiteDescription: "The network you are trying to connect to is not found.\n\nPlease double check that the network is correctly defined in your networks config."; }; readonly INVALID_CHAIN_TYPE: { readonly number: 706; readonly messageTemplate: "The provided chain type \"{chainType}\" does not match the network's chain type \"{networkChainType}\" for network \"{networkName}\"."; readonly websiteTitle: "Invalid chain type"; readonly websiteDescription: "The chain type does not match the network's chain type.\n\nIf you want to use a different chain type, please update your networks config."; }; readonly INVALID_CONFIG_OVERRIDE: { readonly number: 707; readonly messageTemplate: "Invalid config override:\n{errors}"; readonly websiteTitle: "Invalid config override"; readonly websiteDescription: "The configuration override you provided is invalid."; }; readonly INVALID_GLOBAL_CHAIN_ID: { readonly number: 708; readonly messageTemplate: "Hardhat was set to use chain id \"{configChainId}\", but connected to a chain with id \"{connectionChainId}\"."; readonly websiteTitle: "Invalid global chain id"; readonly websiteDescription: "Hardhat was set to use a chain id but connected to a chain with a different id"; }; readonly NO_REMOTE_ACCOUNT_AVAILABLE: { readonly number: 709; readonly messageTemplate: "No local account was set and there are accounts in the remote node."; readonly websiteTitle: "No remote account available"; readonly websiteDescription: "No local account was set and there are accounts in the remote node"; }; readonly ETHSIGN_MISSING_DATA_PARAM: { readonly number: 710; readonly messageTemplate: "Missing \"data\" param when calling eth_sign."; readonly websiteTitle: "Missing \"data\" param when calling eth_sign"; readonly websiteDescription: "You called \"eth_sign\" with incorrect parameters.\n\nPlease check that you are sending a \"data\" parameter."; }; readonly PERSONALSIGN_MISSING_ADDRESS_PARAM: { readonly number: 711; readonly messageTemplate: "Missing \"address\" param when calling personal_sign."; readonly websiteTitle: "Missing \"address\" param when calling personal_sign"; readonly websiteDescription: "You called \"personal_sign\" with incorrect parameters.\n\nPlease check that you are sending an \"address\" parameter."; }; readonly ETHSIGN_TYPED_DATA_V4_INVALID_DATA_PARAM: { readonly number: 712; readonly messageTemplate: "Invalid \"data\" param when calling eth_signTypedData_v4."; readonly websiteTitle: "Invalid \"data\" param when calling eth_signTypedData_v4"; readonly websiteDescription: "You called \"eth_signTypedData_v4\" with incorrect parameters.\n\nPlease check that you are sending a \"data\" parameter with a JSON string or object conforming to EIP712 TypedData schema."; }; readonly MISSING_TX_PARAM_TO_SIGN_LOCALLY: { readonly number: 713; readonly messageTemplate: "Missing param \"{param}\" from a tx being signed locally."; readonly websiteTitle: "Missing transaction parameter"; readonly websiteDescription: "You are trying to send a transaction with a locally managed account, and some parameters are missing.\n\nPlease double check your transactions' parameters."; }; readonly MISSING_FEE_PRICE_FIELDS: { readonly number: 714; readonly messageTemplate: "Tried to sign a transaction locally, but gasPrice, maxFeePerGas, and maxPriorityFeePerGas were missing."; readonly websiteTitle: "Missing fee price parameters"; readonly websiteDescription: "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.\n\nPlease double check your transactions' parameters."; }; readonly INCOMPATIBLE_FEE_PRICE_FIELDS: { readonly number: 715; readonly messageTemplate: "An incompatible transaction with gasPrice and EIP-1559 fee price fields."; readonly websiteTitle: "Incompatible fee price parameters"; readonly websiteDescription: "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.\n\nPlease double check your transactions' parameters."; }; readonly NOT_LOCAL_ACCOUNT: { readonly number: 716; readonly messageTemplate: "Account \"{account}\" is not managed by the node you are connected to."; readonly websiteTitle: "Unrecognized account"; readonly websiteDescription: "You are trying to send a transaction or sign some data with an account not managed by your Ethereum node nor Hardhat.\n\nPlease double check your accounts and the \"from\" parameter in your RPC calls."; }; readonly INVALID_HD_PATH: { readonly number: 717; readonly messageTemplate: "HD path \"{path}\" is invalid. Read about BIP32 to know about the valid forms."; readonly websiteTitle: "Invalid HD path"; readonly websiteDescription: "An invalid HD/BIP32 derivation path was provided in your config.\n\nRead the [documentation](https://hardhat.org/hd-wallet-config) to learn how to define HD accounts correctly."; }; readonly CANT_DERIVE_KEY: { readonly number: 718; readonly messageTemplate: "Cannot derive key \"{path}\" from mnemonic \"{mnemonic}\". Try using another mnemonic or deriving fewer keys."; readonly websiteTitle: "Could not derive an HD key"; readonly websiteDescription: "One of your HD keys could not be derived.\n\nTry using another mnemonic or deriving less keys."; }; readonly WRONG_VALIDATION_PARAMS: { readonly number: 719; readonly messageTemplate: "Validation of parameters against the schemas failed for the following reason: {reason}"; readonly websiteTitle: "Invalid validation parameters"; readonly websiteDescription: "The validation of parameters against the schemas failed."; }; readonly INVALID_NETWORK_TYPE: { readonly number: 720; readonly messageTemplate: "The provided network type \"{networkType}\" for network \"{networkName}\" is not recognized, only `http` and `edr` are supported."; readonly websiteTitle: "Invalid network type"; readonly websiteDescription: "The network manager only supports the network types 'http' and 'edr-simulated'."; }; readonly DATA_FIELD_CANNOT_BE_NULL_WITH_NULL_ADDRESS: { readonly number: 721; readonly messageTemplate: "The \"to\" field is undefined, and the \"data\" field is also undefined; however, a transaction to the null address cannot have an undefined \"data\" field."; readonly websiteTitle: "Transaction to null address cannot have undefined data"; readonly websiteDescription: "The transaction to the null address cannot have undefined data"; }; readonly PROVIDER_CLOSED: { readonly number: 722; readonly messageTemplate: "The provider has been closed."; readonly websiteTitle: "Provider closed"; readonly websiteDescription: "The provider you are trying to use has been closed. Please create a new one using hre.network.create() and try again."; }; readonly INCOMPATIBLE_EIP7702_FIELDS: { readonly number: 723; readonly messageTemplate: "An incompatible transaction with gasPrice and EIP-7702 fields."; readonly websiteTitle: "Incompatible EIP-7702 parameters"; readonly websiteDescription: "You are trying to send a transaction with a locally managed\naccount, and its parameters are incompatible. You sent both gasPrice and authorizationList.\n\nPlease double check your transactions' parameters."; }; readonly CREATE_SERVER_UNSUPPORTED_NETWORK_TYPE: { readonly number: 724; readonly messageTemplate: "Cannot create a server for network \"{networkName}\" because it has type \"{networkType}\". Only \"edr-simulated\" networks are supported."; readonly websiteTitle: "Unsupported network type for createServer"; readonly websiteDescription: "The createServer method only supports 'edr-simulated' networks. HTTP networks cannot be used to create a local JSON-RPC server."; }; }; readonly SOLIDITY_TESTS: { readonly BUILD_INFO_NOT_FOUND_FOR_CONTRACT: { readonly number: 800; readonly shouldBeReported: true; readonly messageTemplate: "Build info not found for contract \"{fqn}\""; readonly websiteTitle: "Build info not found for contract"; readonly websiteDescription: "Build info not found for contract while compiling Solidity test contracts."; }; readonly RUNNER_TIMEOUT: { readonly number: 801; readonly messageTemplate: "Runner timed out after {duration} ms.\n\nRemaining test suites: {suites}"; readonly websiteTitle: "Runner timed out"; readonly websiteDescription: "Runner timed out while running Solidity tests."; }; readonly UNHANDLED_EDR_ERROR_SOLIDITY_TESTS: { readonly number: 802; readonly shouldBeReported: true; readonly messageTemplate: "Unhandled EDR error while running Solidity tests: {error}"; readonly websiteTitle: "Unhandled EDR error in Solidity tests"; readonly websiteDescription: "Unhandled EDR error while running Solidity tests."; }; readonly INVALID_SNAPSHOT_FORMAT: { readonly number: 803; readonly messageTemplate: "Invalid format in snapshot file {file} at line {line}. Expected format: {expectedFormat}."; readonly websiteTitle: "Invalid snapshot format"; readonly websiteDescription: "The snapshot file contains a line with an invalid format."; }; readonly SNAPSHOT_READ_ERROR: { readonly number: 804; readonly messageTemplate: "Error reading snapshot file at {snapshotsPath}: {error}"; readonly websiteTitle: "Error reading snapshot file"; readonly websiteDescription: "There was an error reading the snapshot file."; }; readonly SNAPSHOT_WRITE_ERROR: { readonly number: 805; readonly messageTemplate: "Error writing snapshot file at {snapshotsPath}: {error}"; readonly websiteTitle: "Error writing snapshot file"; readonly websiteDescription: "There was an error writing the snapshot file."; }; readonly MUTUALLY_EXCLUSIVE_SNAPSHOT_FLAGS: { readonly number: 806; readonly messageTemplate: "The flags --snapshot and --snapshot-check are mutually exclusive."; readonly websiteTitle: "Mutually exclusive snapshot flags"; readonly websiteDescription: "The flags --snapshot and --snapshot-check are mutually exclusive. Please provide only one of them."; }; readonly INLINE_CONFIG_INVALID_KEY: { readonly number: 807; readonly messageTemplate: "Invalid inline config key \"{key}\" in {functionFqn}. Valid keys are: {validKeys}"; readonly websiteTitle: "Invalid inline config key"; readonly websiteDescription: "An unrecognized key was used in an inline config comment."; }; readonly INLINE_CONFIG_DUPLICATE_KEY: { readonly number: 808; readonly messageTemplate: "Duplicate inline config key \"{key}\" in {functionFqn}"; readonly websiteTitle: "Duplicate inline config key"; readonly websiteDescription: "The same configuration key was specified more than once for the same test function."; }; readonly INLINE_CONFIG_INVALID_VALUE: { readonly number: 809; readonly messageTemplate: "Invalid value \"{value}\" for inline config key \"{key}\" in {functionFqn}. Expected a {expectedType}."; readonly websiteTitle: "Invalid inline config value"; readonly websiteDescription: "The value provided for an inline config key could not be parsed as the expected type."; }; readonly INLINE_CONFIG_UNSUPPORTED_PROFILE: { readonly number: 810; readonly messageTemplate: "Unsupported profile \"{profile}\" in {functionFqn}. Only the \"default\" profile (or no profile) is supported."; readonly websiteTitle: "Unsupported profile"; readonly websiteDescription: "An inline config comment used a non-default profile, which is not supported by Hardhat."; }; readonly INLINE_CONFIG_INVALID_SYNTAX: { readonly number: 811; readonly messageTemplate: "Malformed inline config in {functionFqn}. Expected \"key = value\" but found \"{line}\"."; readonly websiteTitle: "Invalid inline config syntax"; readonly websiteDescription: "An inline config comment was found but its syntax could not be parsed."; }; readonly INLINE_CONFIG_UNRESOLVED_SELECTOR: { readonly number: 812; readonly messageTemplate: "Inline config found in {functionFqn}, but no matching function selector was found. Only public or external functions can have inline configuration."; readonly websiteTitle: "Unresolved function selector for inline config"; readonly websiteDescription: "An inline config comment was found on a function that does not have a function selector. This usually means the function is internal or private, and therefore cannot be run as a test."; }; readonly INLINE_CONFIG_INVALID_KEY_FOR_TEST_TYPE: { readonly number: 813; readonly messageTemplate: "The inline config key \"{key}\" in {functionFqn} is not valid for {testType} tests. Valid keys for {testType} tests are: {validKeys}"; readonly websiteTitle: "Inline config key not valid for test type"; readonly websiteDescription: "An inline config key was used that does not apply to the type of test function it was attached to. Fuzz test functions (test*) only accept fuzz.* keys and top-level keys, while invariant test functions (invariant*) only accept invariant.* keys and top-level keys."; }; readonly SELECTED_TEST_FILES_NOT_COMPILED: { readonly number: 814; readonly messageTemplate: "The following Solidity test files have not been compiled:\n\n{files}\n\nRun `hardhat build` to compile your project before running tests with `--no-compile`."; readonly websiteTitle: "Selected Solidity test files not compiled"; readonly websiteDescription: "You ran Solidity tests with `--no-compile`, but some of the selected test files have not been compiled yet. Run `hardhat build` first, or remove the `--no-compile` flag."; }; readonly SELECTED_FILES_ARE_NOT_SOLIDITY_TESTS: { readonly number: 815; readonly messageTemplate: "Trying to run these files as Solidity tests, but they aren't:\n\n{files}\n\nDouble-check the files that you are providing to the `test solidity` task."; readonly websiteTitle: "Invalid Solidity test files"; readonly websiteDescription: "You ran the `test solidity` task with files that aren't classified as Solidity tests."; }; readonly SELECTED_TEST_FILES_DO_NOT_EXIST: { readonly number: 816; readonly messageTemplate: "The following Solidity test files do not exist:\n\n{files}\n\nDouble-check the paths you are providing to the `test solidity` task."; readonly websiteTitle: "Selected Solidity test files do not exist"; readonly websiteDescription: "You ran the `test solidity` task with files that do not exist on disk."; }; }; readonly SOLIDITY: { readonly PROJECT_ROOT_RESOLUTION_ERROR: { readonly number: 900; readonly messageTemplate: "There was an error while resolving the project file \"{filePath}\":\n\n{error}"; readonly websiteTitle: "Project file resolution error"; readonly websiteDescription: "There was an error while resolving the project file.\n\nPlease double-check your configuration. If it keeps happening, please report it."; }; readonly NPM_ROOT_RESOLUTION_ERROR: { readonly number: 901; readonly messageTemplate: "There was an error while resolving the npm module \"{npmModule}\" when trying to compile it:\n\n{error}"; readonly websiteTitle: "Npm file resolution error"; readonly websiteDescription: "There was an error while resolving an npm module that you are trying to compile and generate artifacts for.\n\nPlease double-check your configuration. If it keeps happening, please report it."; }; readonly IMPORT_RESOLUTION_ERROR: { readonly number: 902; readonly messageTemplate: "There was an error while resolving the import \"{importPath}\" from \"{filePath}\":\n\n{error}"; readonly websiteTitle: "Import resolution error"; readonly websiteDescription: "There was an error while resolving an import.\n\nPlease double-check your import"; }; readonly INVALID_SOLC_VERSION: { readonly number: 903; readonly messageTemplate: "Solidity version {version} is invalid or hasn't been released yet.\n\nIf you are certain it has been released, run \"npx hardhat clean --global\" and try again"; readonly websiteTitle: "Invalid or unreleased `solc` version"; readonly websiteDescription: "The Solidity version in your config is invalid or hasn't been released yet.\n\nIf you are certain it has been released, run `npx hardhat clean --global` and try again."; }; readonly DOWNLOAD_FAILED: { readonly number: 904; readonly messageTemplate: "Couldn't download compiler version {remoteVersion}. Please check your internet connection and try again."; readonly websiteTitle: "`solc` download failed"; readonly websiteDescription: "Couldn't download `solc`.\n\nPlease check your internet connection and try again."; }; readonly VERSION_LIST_DOWNLOAD_FAILED: { readonly number: 905; readonly messageTemplate: "Couldn't download compiler version list. Please check your internet connection and try again."; readonly websiteTitle: "Couldn't obtain `solc` version list"; readonly websiteDescription: "Couldn't download `solc`'s version list.\n\nPlease check your internet connection and try again."; }; readonly INVALID_DOWNLOAD: { readonly number: 906; readonly messageTemplate: "Couldn't download compiler version {remoteVersion}: Checksum verification failed.\n\nPlease check your internet connection and try again.\n\nIf this error persists, run \"npx hardhat clean --global\"."; readonly websiteTitle: "Downloaded `solc` checksum verification failed"; readonly websiteDescription: "Hardhat downloaded a version of the Solidity compiler, and its checksum verification failed.\n\nPlease check your internet connection and try again.\n\nIf this error persists, run `npx hardhat clean --global`."; }; readonly CANT_RUN_NATIVE_COMPILER: { readonly number: 907; readonly messageTemplate: "A native version of solc failed to run.\n\nIf you are running MacOS, try installing Apple Rosetta.\n\nIf this error persists, run \"npx hardhat clean --global\"."; readonly websiteTitle: "Failed to run native solc"; readonly websiteDescription: "Hardhat successfully downloaded a native version of solc but it doesn't run.\n\nIf you are running MacOS, try installing Apple Rosetta.\n\nIf this error persists, run \"npx hardhat clean --global\"."; }; readonly CANT_RUN_SOLCJS_COMPILER: { readonly number: 908; readonly messageTemplate: "A wasm version of solc failed to run.\n\nIf this error persists, run \"npx hardhat clean --global\"."; readonly websiteTitle: "Failed to run solcjs"; readonly websiteDescription: "Hardhat successfully downloaded a WASM version of solc but it doesn't run.\n\nIf you are running MacOS, try installing Apple Rosetta.\n\nIf this error persists, run \"npx hardhat clean --global\"."; }; readonly COMPILATION_JOB_CREATION_ERROR: { readonly number: 909; readonly messageTemplate: "Failed to create compilation job for file \"{rootFilePath}\" using the build profile \"{buildProfile}\".\n\n{reason}"; readonly websiteTitle: "Failed to create compilation job"; readonly websiteDescription: "Hardhat failed to create a compilation job for a file in your project.\n\nThis happens when your files require incompatible versions of solc or you haven't configured a version that works with them"; }; readonly BUILD_FAILED: { readonly number: 910; readonly messageTemplate: "Compilation failed"; readonly websiteTitle: "Compilation failed"; readonly websiteDescription: "Your smart contracts failed to compile.\n\nPlease check Hardhat's output for more details."; }; readonly INVALID_SOLCJS_COMPILER: { readonly number: 911; readonly messageTemplate: "A wasm version of solc {version} is invalid. The compile function is not available."; readonly websiteTitle: "Invalid solcjs compiler"; readonly websiteDescription: "Hardhat successfully downloaded a WASM version of solc but it is invalid. The compile function is missing."; }; readonly BUILD_PROFILE_NOT_FOUND: { readonly number: 912; readonly messageTemplate: "The build profile \"{buildProfileName}\" is not defined in your Hardhat config"; readonly websiteTitle: "Build profile not defined"; readonly websiteDescription: "The build profile you are trying to use is not defined in your Hardhat config."; }; readonly COMPILER_PATH_DOES_NOT_EXIST: { readonly number: 913; readonly messageTemplate: "The compiler path \"{compilerPath}\" specified in your config for version {version} does not exist."; readonly websiteTitle: "Compiler path does not exist"; readonly websiteDescription: "The compiler path you are trying to use does not exist. Ensure you specified the correct path in the config file and that the file exists."; }; readonly PARSING_VERSION_STRING_FAILED: { readonly number: 914; readonly messageTemplate: "Could not parse the full compiler version from \"{versionString}\" using \"{compilerPath}\""; readonly websiteTitle: "Could not parse a compiler version"; readonly websiteDescription: "Hardhat failed to parse the full compiler version from the output of the compiler's 'version' command."; }; readonly UNRECOGNIZED_FILES_NOT_COMPILED: { readonly number: 915; readonly messageTemplate: "The build process failed because these files you provided haven't been recognized neither as contracts nor tests:\n \n{files}\n\nSolidity test files must be placed in your test directory, or in your contracts directory and end in .t.sol."; readonly websiteTitle: "Build failed due to unrecognized files"; readonly websiteDescription: "Hardhat failed to build your contracts and/or tests because you passed a file as parameter, but it wasn't recognized neither as a valid contract nor test.\n \nSolidity test files must be placed in your test directory, or in your contracts directory and end in .t.sol."; }; readonly SPLIT_TESTS_COMPILATION_DISABLED: { readonly number: 916; readonly messageTemplate: "A method of the SolidityBuildSystem was called with `scope: \"tests\"`, but `splitTestsCompilation` is disabled in your config.\n\nWhen `splitTestsCompilation` is `false`, contracts and tests are compiled together under `scope: \"contracts\"`, so `scope: \"tests\"` is not a valid option.\n\nSet `solidity.splitTestsCompilation` to `true` in your Hardhat config to enable this build scope."; readonly websiteTitle: "Split tests compilation is disabled"; readonly websiteDescription: "The Solidity build system was called with `scope: \"tests\"`, but `splitTestsCompilation` is disabled in your config.\n\nWhen `splitTestsCompilation` is `false`, contracts and tests are compiled together under `scope: \"contracts\"`, so `scope: \"tests\"` is not a valid option.\n\nSet `solidity.splitTestsCompilation` to `true` in your Hardhat config to enable this build scope."; }; readonly INCOMPATIBLE_FILES_WITH_BUILD_FLAGS: { readonly number: 917; readonly messageTemplate: "Some of the files you are trying to build are incompatible with the `--no-contracts` or `--no-tests` flag you provided:\n\n{files}\n\nTry re-running without these files, or without the flag."; readonly websiteTitle: "Incompatible files with build flags"; readonly websiteDescription: "You are trying to build a list of files while using `--no-contracts` or `--no-tests`, but some of those files are incompatible with the flag you provided.\n\nFor example, you may be trying to build a test file with `--no-tests`, which isn't a valid operation."; }; }; readonly ARTIFACTS: { readonly NOT_FOUND: { readonly number: 1000; readonly messageTemplate: "Artifact for contract \"{contractName}\" not found. {suggestion}"; readonly websiteTitle: "Artifact not found"; readonly websiteDescription: "Tried to read a nonexistent artifact.\n\nPlease double check that your contracts have been compiled and double check your artifact's name."; }; readonly MULTIPLE_FOUND: { readonly number: 1001; readonly messageTemplate: "There are multiple artifacts for contract \"{contractName}\", please use a fully qualified name.\n\nPlease replace \"{contractName}\" for one of these options wherever you are trying to read its artifact:\n\n{candidates}\n"; readonly websiteTitle: "Multiple artifacts found"; readonly websiteDescription: "There are multiple artifacts that match the given contract name, and Hardhat doesn't know which one to use.\n\nPlease use the fully qualified name of the contract to disambiguate it."; }; }; readonly NODE: { readonly INVALID_NETWORK_TYPE: { readonly number: 1100; readonly messageTemplate: "The provided node network type \"{networkType}\" for network \"{networkName}\" is not recognized, only 'edr-simulated' is supported."; readonly websiteTitle: "Invalid node network type"; readonly websiteDescription: "The node only supports the 'edr-simulated' network type."; }; }; readonly TEST_PLUGIN: { readonly CANNOT_DETERMINE_TEST_RUNNER: { readonly number: 1200; readonly messageTemplate: "Cannot determine a test runner for the following files: {files}. Please check whether these files are correctly included in the test paths defined by your test plugins in the Hardhat configuration. If they are, this likely indicates an issue with a plugin not correctly detecting the files."; readonly websiteTitle: "Cannot determine a test runner for files"; readonly websiteDescription: "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."; }; }; readonly COVERAGE: { readonly SOURCE_NOT_INSTRUMENTED: { readonly number: 1300; readonly messageTemplate: "The source file \"{sourceName}\" could not be instrumented for coverage."; readonly websiteTitle: "Source file not instrumented for coverage"; readonly websiteDescription: "The source file could not be instrumented for coverage."; }; readonly IMPORT_PATH_ALREADY_DEFINED: { readonly number: 1301; readonly messageTemplate: "The import path \"{importPath}\" is already defined in the compilation sources"; readonly websiteTitle: "Import path already defined in compilation sources"; readonly websiteDescription: "The import path is already defined in the compilation sources"; }; }; }; readonly IGNITION: { readonly GENERAL: { readonly ASSERTION_ERROR: { readonly number: 10000; readonly messageTemplate: "Internal Hardhat Ignition invariant was violated: {description}"; readonly websiteTitle: "Internal Hardhat Ignition invariant was violated"; readonly websiteDescription: "An internal Hardhat Ignition invariant was violated."; }; readonly UNSUPPORTED_DECODE: { readonly number: 10001; readonly messageTemplate: "Hardhat Ignition can't decode ethers.js value of type {type}: {value}"; readonly websiteTitle: "Unsupported ethers.js value"; readonly websiteDescription: "Unsupported ethers.js value"; }; readonly ARTIFACT_MIGRATION_NEEDED: { readonly number: 10002; readonly messageTemplate: "Hardhat Ignition needs to migrate this deployments artifacts to the new format. Please run `npx hardhat ignition migrate {deploymentId}`"; readonly websiteTitle: "Artifact migration needed"; readonly websiteDescription: "Hardhat Ignition needs to migrate the artifacts to the new format. Please run `npx hardhat ignition migrate {deploymentId}`"; }; }; readonly INTERNAL: { readonly INTERNAL_ERROR: { readonly number: 10100; readonly shouldBeReported: true; readonly messageTemplate: "Hardhat Ignition Internal Error"; readonly websiteTitle: "An internal error to Hardhat Ignition has occurred"; readonly websiteDescription: "An internal error to Hardhat Ignition has occurred"; }; readonly TEMPLATE_INVALID_VARIABLE_NAME: { readonly number: 10101; readonly messageTemplate: "Variable names can only include ascii letters and numbers, and start with a letter, but got {variable}"; readonly websiteTitle: "Invalid variable name"; readonly websiteDescription: "One of your Hardhat Ignition template variables has an invalid name"; }; readonly TEMPLATE_VARIABLE_NOT_FOUND: { readonly number: 10102; readonly messageTemplate: "Variable {variable}'s tag not present in the template"; readonly websiteTitle: "Variable tag not found in template"; readonly websiteDescription: "One of your Hardhat Ignition template variables has a tag that is not present in the template"; }; readonly TEMPLATE_VALUE_CONTAINS_VARIABLE_TAG: { readonly number: 10103; readonly messageTemplate: "Template values can't include variable tags, but {variable}'s value includes one"; readonly websiteTitle: "Template value includes variable tag"; readonly websiteDescription: "One of your Hardhat Ignition template variables has a value that includes a variable tag"; }; readonly ETHERSCAN_API_KEY_NOT_CONFIGURED: { readonly number: 10104; readonly messageTemplate: "No etherscan API key configured"; readonly websiteTitle: "No etherscan API key configured"; readonly websiteDescription: "You are trying to run verification during a Hardhat Ignition deploy, but there is no Etherscan API Key set."; }; readonly CANNOT_RESET_EPHEMERAL_NETWORK: { readonly number: 10105; readonly messageTemplate: "Deploy cancelled: Cannot reset deployment on ephemeral Hardhat network"; readonly websiteTitle: "Cannot reset deployment on ephemeral Hardhat network"; readonly websiteDescription: "The reset flag can only used against a persistent network. You are trying to reset a deployment against an in-memory network."; }; readonly NO_MODULES_FOUND: { readonly number: 10106; readonly messageTemplate: "No Ignition modules found"; readonly websiteTitle: "No Ignition modules found"; readonly websiteDescription: "Ignition was unable to find the module requested for deployment."; }; readonly FAILED_TO_PARSE_JSON: { readonly number: 10107; readonly messageTemplate: "Could not parse JSON parameters"; readonly websiteTitle: "Could not parse JSON parameters"; readonly websiteDescription: "Ignition failed to parse the JSON parameters for deployment. Review the JSON and try again."; }; readonly INVALID_DEPLOYMENT_ID: { readonly number: 10108; readonly messageTemplate: "The deployment-id \"{deploymentId}\" contains banned characters, ids can only contain alphanumerics, dashes or underscores"; readonly websiteTitle: "The deployment-id contains banned characters"; readonly websiteDescription: "The deployment-id being used for the Hardhat Ignition deployment contains banned characters. Deployment ids can only contain alphanumerics, dashes or underscores."; }; readonly IGNITION_CLIENT_EXTENSION_NOT_INSTALLED: { readonly number: 10109; readonly messageTemplate: "Please install either `@nomicfoundation/hardhat-ignition-viem` or `@nomicfoundation/hardhat-ignition-ethers` to use Ignition in your Hardhat tests"; readonly websiteTitle: "Neither the `viem` or `ethers` Ignition extension plugin is installed."; readonly websiteDescription: "Please install either `@nomicfoundation/hardhat-ignition-viem` or `@nomicfoundation/hardhat-ignition-ethers` to use Ignition in your Hardhat tests"; }; readonly UNKNOWN_TRANSACTION_TYPE: { readonly number: 10110; readonly messageTemplate: "Unknown transaction type: \"{type}\""; readonly websiteTitle: "Hardhat Ignition was unable to display an unknown transaction type"; readonly websiteDescription: "Hardhat Ignition was unable to display an unknown transaction type"; }; readonly PARAMETER_EXCEEDS_MAXIMUM_SAFE_INTEGER: { readonly number: 10111; readonly messageTemplate: "Parameter \"{parameter}\" exceeds maximum safe integer size. Encode the value as a string using bigint notation: \"{value}n\""; readonly websiteTitle: "Parameter exceeds maximum safe integer size"; readonly websiteDescription: "Parameter exceeds maximum safe integer size"; }; readonly MODULE_VALIDATION_FAILED: { readonly number: 10112; readonly messageTemplate: "Module validation failed. Check the stack trace above to identify the issue and its source code location."; readonly websiteTitle: "Module validation failed."; readonly websiteDescription: "Hardhat Ignition found problems while validating the module. Please review the module and try again."; }; readonly FAILED_TO_PARSE_DEPLOYMENT_PARAMETERS: { readonly number: 10113; readonly messageTemplate: "Could not parse parameters from \"{filepath}\""; readonly websiteTitle: "Parsing of deployment parameters failed."; readonly websiteDescription: "Parsing of deployment parameters failed."; }; readonly VISUALIZATION_TEMPLATE_DIR_NOT_FOUND: { readonly number: 10114; readonly messageTemplate: "Unable to find template directory: \"{templateDir}\""; readonly websiteTitle: "Visualization template directory not found"; readonly websiteDescription: "Visualization template directory not found"; }; readonly MODULE_NOT_FOUND_AT_PATH: { readonly number: 10115; readonly messageTemplate: "Could not find a module file at the path: \"{modulePath}\""; readonly websiteTitle: "Ignition module not found"; readonly websiteDescription: "Hardhat Ignition was not able to find an Ignition Module at the given path."; }; readonly MODULE_OUTSIDE_MODULE_DIRECTORY: { readonly number: 10116; readonly messageTemplate: "The referenced module file \"{modulePath}\" is outside the module directory \"{shortModulesDirectoryName}\""; readonly websiteTitle: "Ignition module outside of module directory"; readonly websiteDescription: "Ignition modules must be located within the module directory."; }; readonly VIEM_TEST_HELPER_ERROR: { readonly number: 10117; readonly messageTemplate: "Hardhat Ignition Viem Test Error: {message}"; readonly websiteTitle: "Test error in Hardhat Ignition Viem's test helper"; readonly websiteDescription: "Test error in Hardhat Ignition Viem's test helper."; }; readonly ARTIFACT_PATH_NOT_FOUND: { readonly number: 10118; readonly messageTemplate: "Artifact path not found for \"{contractName}\""; readonly websiteTitle: "Hardhat Ignition unable to find artifact path for the contract name"; readonly websiteDescription: "Hardhat Ignition unable to find artifact path for the contract name"; }; readonly ONLY_ONE_IGNITION_EXTENSION_PLUGIN_ALLOWED: { readonly number: 10119; readonly messageTemplate: "Found ethers and viem, but only one Hardhat Ignition extension plugin can be used at a time"; readonly websiteTitle: "Only one Ignition extension plugin allowed"; readonly websiteDescription: "Both the ethers and viem Ignition extension plugins were found, but only one can be used at a time.\n\nPlease only include one of the plugins in your Hardhat configuration."; }; readonly DEPLOYMENT_ERROR: { readonly number: 10120; readonly messageTemplate: "Hardhat Ignition deployment error: {message}"; readonly websiteTitle: "Hardhat Ignition deployment error"; readonly websiteDescription: "Hardhat Ignition was not able to successfully complete a deployment.\n\nPlease review the error message and try again."; }; readonly NO_DEFAULT_VIEM_WALLET_CLIENT: { readonly number: 10121; readonly messageTemplate: "No default wallet client found while creating Viem contract instances for deployed contracts"; readonly websiteTitle: "No default Viem wallet client found"; readonly websiteDescription: "Hardhat Ignition will use the default wallet client to create Viem contract instances for deployed contracts. No wallet clients were found."; }; }; readonly MODULE: { readonly INVALID_MODULE_ID: { readonly number: 10200; readonly messageTemplate: "Module id must be a string"; readonly websiteTitle: "Invalid module id type"; readonly websiteDescription: "Module id must be a string"; }; readonly INVALID_MODULE_ID_CHARACTERS: { readonly number: 10201; readonly messageTemplate: "The moduleId \"{moduleId}\" is invalid. Module ids can only have alphanumerics and underscore, and they must start with an alphanumeric."; readonly websiteTitle: "Invalid module id"; readonly websiteDescription: "Module ids can only have alphanumerics and underscore, and they must start with an alphanumeric."; }; readonly INVALID_MODULE_DEFINITION_FUNCTION: { readonly number: 10202; readonly messageTemplate: "Module definition function must be a function."; readonly websiteTitle: "Invalid module definition function"; readonly websiteDescription: "Module definition function must be a function."; }; readonly ASYNC_MODULE_DEFINITION_FUNCTION: { readonly number: 10203; readonly messageTemplate: "The callback passed to 'buildModule' for {moduleDefinitionId} returns a Promise; async callbacks are not allowed in 'buildModule'."; readonly websiteTitle: "Async module definition function"; readonly websiteDescription: "Async callbacks are not allowed in 'buildModule'."; }; readonly DUPLICATE_MODULE_ID: { readonly number: 10204; readonly messageTemplate: "The following module ids are duplicated: {duplicateModuleIds}. Please make sure all module ids are unique."; readonly websiteTitle: "Duplicate module ids"; readonly websiteDescription: "Please make sure all module ids are unique."; }; }; readonly SERIALIZATION: { readonly INVALID_FUTURE_ID: { readonly number: 10300; readonly messageTemplate: "Unable to lookup future during deserialization: {futureId}"; readonly websiteTitle: "Invalid future id"; readonly websiteDescription: "Unable to lookup future during deserialization"; }; readonly INVALID_FUTURE_TYPE: { readonly number: 10301; readonly messageTemplate: "Invalid FutureType {type} as serialized argument"; readonly websiteTitle: "Invalid future type"; readonly websiteDescription: "Invalid FutureType as serialized argument"; }; readonly LOOKAHEAD_NOT_FOUND: { readonly number: 10302; readonly messageTemplate: "Lookahead value {key} missing"; readonly websiteTitle: "Lookahead value not found"; readonly websiteDescription: "Lookahead value missing"; }; }; readonly EXECUTION: { readonly DROPPED_TRANSACTION: { readonly number: 10400; readonly messageTemplate: "Error while executing {futureId}: all the transactions of its network interaction {networkInteractionId} were dropped. Please try rerunning Hardhat Ignition."; readonly websiteTitle: "Dropped transaction"; readonly websiteDescription: "One of the transactions sent by Hardhat Ignition was dropped"; }; readonly INVALID_JSON_RPC_RESPONSE: { readonly number: 10401; readonly messageTemplate: "Invalid JSON-RPC response for {method}: {response}"; readonly websiteTitle: "Invalid JSON-RPC response"; readonly websiteDescription: "Hardhat Ignition received an invalid JSON-RPC response for the given method"; }; readonly WAITING_FOR_CONFIRMATIONS: { readonly number: 10402; readonly messageTemplate: "You have sent transactions from {sender} and they interfere with Hardhat Ignition. Please wait until they get {requiredConfirmations} confirmations before running Hardhat Ignition again."; readonly websiteTitle: "Waiting for confirmations"; readonly websiteDescription: "Waiting for confirmations for transactions sent from the sender"; }; readonly WAITING_FOR_NONCE: { readonly number: 10403; readonly messageTemplate: "You have sent transactions from {sender} with nonce {nonce} and it interferes with Hardhat Ignition. Please wait until they get {requiredConfirmations} confirmations before running Hardhat Ignition again."; readonly websiteTitle: "Waiting for nonce"; readonly websiteDescription: "Waiting for confirmations for transactions sent from the sender"; }; readonly INVALID_NONCE: { readonly number: 10404; readonly messageTemplate: "The next nonce for {sender} should be {expectedNonce}, but is {pendingCount}. Please make sure not to send transactions from {sender} while running this deployment and try again."; readonly websiteTitle: "Invalid nonce"; readonly websiteDescription: "The next nonce for the sender is not what Hardhat Ignition expected"; }; readonly BASE_FEE_EXCEEDS_GAS_LIMIT: { readonly number: 10405; readonly messageTemplate: "The configured base fee exceeds the block gas limit. Please reduce the configured base fee or increase the block gas limit."; readonly websiteTitle: "Base fee exceeds gas limit"; readonly websiteDescription: "The configured base fee exceeds the block gas limit"; }; readonly MAX_FEE_PER_GAS_EXCEEDS_GAS_LIMIT: { readonly number: 10406; readonly messageTemplate: "The calculated max fee per gas exceeds the configured limit."; readonly websiteTitle: "Max fee per gas exceeds gas limit"; readonly websiteDescription: "The calculated max fee per gas exceeds the configured limit"; }; readonly INSUFFICIENT_FUNDS_FOR_TRANSFER: { readonly number: 10407; readonly messageTemplate: "Account {sender} has insufficient funds to transfer {amount} wei"; readonly websiteTitle: "Insufficient funds for transfer"; readonly websiteDescription: "Sender account has insufficient funds for transfer"; }; readonly INSUFFICIENT_FUNDS_FOR_DEPLOY: { readonly number: 10408; readonly messageTemplate: "Account {sender} has insufficient funds to deploy the contract"; readonly websiteTitle: "Insufficient funds for deploy"; readonly websiteDescription: "Sender account has insufficient funds for deploy"; }; readonly GAS_ESTIMATION_FAILED: { readonly number: 10409; readonly messageTemplate: "Gas estimation failed: {error}"; readonly websiteTitle: "Gas estimation failed"; readonly websiteDescription: "Gas estimation failed"; }; readonly TRANSACTION_LOST: { readonly number: 10410; readonly messageTemplate: "An error occurred while trying to send a transaction for future {futureId}.\nPlease use a block explorer to find the hash of the transaction with nonce {nonce} sent from account {sender} and use the following command to add it to your deployment:\nnpx hardhat ignition track-tx --network "; readonly websiteTitle: "Transaction lost"; readonly websiteDescription: "An error occurred while trying to send a transaction"; }; }; readonly RECONCILIATION: { readonly INVALID_EXECUTION_STATUS: { readonly number: 10500; readonly messageTemplate: "Unsupported execution status: {status}"; readonly websiteTitle: "Invalid execution status"; readonly websiteDescription: "Unsupported execution status"; }; }; readonly WIPE: { readonly UNINITIALIZED_DEPLOYMENT: { readonly number: 10600; readonly messageTemplate: "Cannot wipe {futureId} as the deployment hasn't been intialialized yet"; readonly websiteTitle: "Uninitialized deployment"; readonly websiteDescription: "Cannot wipe future as the deployment hasn't been intialialized yet"; }; readonly NO_STATE_FOR_FUTURE: { readonly number: 10601; readonly messageTemplate: "Cannot wipe {futureId} as it has no previous execution recorded"; readonly websiteTitle: "No state for future"; readonly websiteDescription: "Cannot wipe future as it has no previous execution recorded"; }; readonly DEPENDENT_FUTURES: { readonly number: 10602; readonly messageTemplate: "Cannot wipe {futureId} as there are dependent futures that have previous executions recorded. Consider wiping these first: {dependents}"; readonly websiteTitle: "Dependent futures"; readonly websiteDescription: "Cannot wipe future as there are dependent futures that have previous executions recorded"; }; }; readonly VALIDATION: { readonly INVALID_DEFAULT_SENDER: { readonly number: 10700; readonly messageTemplate: "Default sender {defaultSender} is not part of the configured accounts."; readonly websiteTitle: "Invalid default sender"; readonly websiteDescription: "The default sender is not part of the configured accounts"; }; readonly MISSING_EMITTER: { readonly number: 10701; readonly messageTemplate: "`options.emitter` must be provided when reading an event from a SendDataFuture"; readonly websiteTitle: "Missing emitter"; readonly websiteDescription: "The emitter must be provided when reading an event from a SendDataFuture"; }; readonly INVALID_MODULE: { readonly number: 10702; readonly messageTemplate: "Module validation failed with reason: {message}"; readonly websiteTitle: "Module validation failed"; readonly websiteDescription: "Module validation failed"; }; readonly INVALID_CONSTRUCTOR_ARGS_LENGTH: { readonly number: 10703; readonly messageTemplate: "The constructor of the contract '{contractName}' expects {expectedArgsLength} arguments but {argsLength} were given"; readonly websiteTitle: "Invalid constructor arguments length"; readonly websiteDescription: "Invalid constructor arguments length"; }; readonly INVALID_FUNCTION_ARGS_LENGTH: { readonly number: 10704; readonly messageTemplate: "Function {functionName} in contract {contractName} expects {expectedLength} arguments but {argsLength} were given"; readonly websiteTitle: "Invalid function arguments length"; readonly websiteDescription: "Invalid function arguments length"; }; readonly INVALID_STATIC_CALL: { readonly number: 10705; readonly messageTemplate: "Function {functionName} in contract {contractName} is not 'pure' or 'view' and should not be statically called"; readonly websiteTitle: "Invalid static call"; readonly websiteDescription: "Function is not 'pure' or 'view' and should not be statically called"; }; readonly INDEXED_EVENT_ARG: { readonly number: 10706; readonly messageTemplate: "Indexed argument {argument} of event {eventName} of contract {contractName} is not stored in the receipt (its hash is stored instead), so you can't read it."; readonly websiteTitle: "Indexed event argument"; readonly websiteDescription: "Indexed argument of event is not stored in the receipt"; }; readonly INVALID_OVERLOAD_NAME: { readonly number: 10707; readonly messageTemplate: "Invalid {eventOrFunction} name '{name}'"; readonly websiteTitle: "Invalid overload name"; readonly websiteDescription: "Invalid overload name"; }; readonly OVERLOAD_NOT_FOUND: { readonly number: 10708; readonly messageTemplate: "{eventOrFunction} '{name}' not found in contract {contractName}"; readonly websiteTitle: "Overload not found"; readonly websiteDescription: "Overload not found"; }; readonly REQUIRE_BARE_NAME: { readonly number: 10709; readonly messageTemplate: "{eventOrFunction} name '{name}' used for contract {contractName}, but it's not overloaded. Use '{bareName}' instead."; readonly websiteTitle: "Overload name used for non-overloaded contract"; readonly websiteDescription: "Overload name used for non-overloaded contract"; }; readonly OVERLOAD_NAME_REQUIRED: { readonly number: 10710; readonly messageTemplate: "{eventOrFunction} '{name}' is overloaded in contract {contractName}. Please use one of these names instead:\n\n{normalizedNameList}"; readonly websiteTitle: "Overload name required"; readonly websiteDescription: "Overload name required"; }; readonly INVALID_OVERLOAD_GIVEN: { readonly number: 10711; readonly messageTemplate: "{eventOrFunction} '{name}' is not a valid overload of '{bareName}' in contract {contractName}. Please use one of these names instead:\n\n{normalizedNameList}"; readonly websiteTitle: "Invalid overload given"; readonly websiteDescription: "Invalid overload given"; }; readonly EVENT_ARG_NOT_FOUND: { readonly number: 10712; readonly messageTemplate: "Event {eventName} of contract {contractName} has no argument named {argument}"; readonly websiteTitle: "Event argument not found"; readonly websiteDescription: "Event argument not found"; }; readonly INVALID_EVENT_ARG_INDEX: { readonly number: 10713; readonly messageTemplate: "Event {eventName} of contract {contractName} has only {expectedLength} arguments, but argument {argument} was requested"; readonly websiteTitle: "Invalid event argument index"; readonly websiteDescription: "Invalid event argument index"; }; readonly FUNCTION_ARG_NOT_FOUND: { readonly number: 10714; readonly messageTemplate: "Function {functionName} of contract {contractName} has no return value named {argument}"; readonly websiteTitle: "Function argument not found"; readonly websiteDescription: "Function argument not found"; }; readonly INVALID_FUNCTION_ARG_INDEX: { readonly number: 10715; readonly messageTemplate: "Function {functionName} of contract {contractName} has only {expectedLength} return values, but value {argument} was requested"; readonly websiteTitle: "Invalid function argument index"; readonly websiteDescription: "Invalid function argument index"; }; readonly MISSING_LIBRARIES: { readonly number: 10716; readonly messageTemplate: "Invalid libraries for contract {contractName}: The following libraries are missing: {fullyQualifiedNames}"; readonly websiteTitle: "Missing libraries"; readonly websiteDescription: "The following libraries are missing"; }; readonly CONFLICTING_LIBRARY_NAMES: { readonly number: 10717; readonly messageTemplate: "Invalid libraries for contract {contractName}: The names '{inputName}' and '{libName}' clash with each other, please use qualified names for both."; readonly websiteTitle: "Conflicting library names"; readonly websiteDescription: "The library names clash with each other"; }; readonly INVALID_LIBRARY_NAME: { readonly number: 10718; readonly messageTemplate: "Invalid library name {libraryName} for contract {contractName}"; readonly websiteTitle: "Invalid library name"; readonly websiteDescription: "Invalid library name"; }; readonly LIBRARY_NOT_NEEDED: { readonly number: 10719; readonly messageTemplate: "Invalid library {libraryName} for contract {contractName}: this library is not needed by this contract."; readonly websiteTitle: "Invalid library"; readonly websiteDescription: "Invalid library"; }; readonly AMBIGUOUS_LIBRARY_NAME: { readonly number: 10720; readonly messageTemplate: "Invalid libraries for contract {contractName}: The name \"{libraryName}\" is ambiguous, please use one of the following fully qualified names: {fullyQualifiedNames}"; readonly websiteTitle: "Ambiguous library name"; readonly websiteDescription: "The library name is ambiguous"; }; readonly INVALID_LIBRARY_ADDRESS: { readonly number: 10721; readonly messageTemplate: "Invalid address {address} for library {libraryName} of contract {contractName}"; readonly websiteTitle: "Invalid library address"; readonly websiteDescription: "Invalid address for library"; }; readonly NEGATIVE_ACCOUNT_INDEX: { readonly number: 10722; readonly messageTemplate: "Account index cannot be a negative number"; readonly websiteTitle: "Negative account index"; readonly websiteDescription: "Account index cannot be a negative number"; }; readonly ACCOUNT_INDEX_TOO_HIGH: { readonly number: 10723; readonly messageTemplate: "Requested account index '{accountIndex}' is greater than the total number of available accounts '{accountsLength}'"; readonly websiteTitle: "Account index too high"; readonly websiteDescription: "Requested account index is greater than the total number of available accounts"; }; readonly INVALID_ARTIFACT: { readonly number: 10724; readonly messageTemplate: "Artifact for contract '{contractName}' is invalid"; readonly websiteTitle: "Invalid artifact"; readonly websiteDescription: "Artifact for contract is invalid"; }; readonly MISSING_MODULE_PARAMETER: { readonly number: 10725; readonly messageTemplate: "Module parameter '{name}' requires a value but was given none"; readonly websiteTitle: "Missing module parameter"; readonly websiteDescription: "Module parameter requires a value but was given none"; }; readonly INVALID_MODULE_PARAMETER_TYPE: { readonly number: 10726; readonly messageTemplate: "Module parameter '{name}' must be of type '{expectedType}' but is '{actualType}'"; readonly websiteTitle: "Invalid module parameter type"; readonly websiteDescription: "Module parameter must be of the expected type"; }; }; readonly STATUS: { readonly UNINITIALIZED_DEPLOYMENT: { readonly number: 10800; readonly messageTemplate: "Cannot get status for nonexistant deployment at {deploymentDir}"; readonly websiteTitle: "Uninitialized deployment"; readonly websiteDescription: "Cannot get status for nonexistant deployment"; }; }; readonly DEPLOY: { readonly CHANGED_CHAINID: { readonly number: 10900; readonly messageTemplate: "The deployment's chain cannot be changed between runs. The deployment was previously run against the chain {previousChainId}, but the current network is the chain {currentChainId}."; readonly websiteTitle: "Chain ID changed"; readonly websiteDescription: "The deployment's chain cannot be changed between runs."; }; readonly ALREADY_IN_PROGRESS: { readonly number: 10901; readonly messageTemplate: "Another instance of `IgnitionHelper.deploy()` is already in use. Please wait for the previous deployment to finish."; readonly websiteTitle: "Deployment already in progress"; readonly websiteDescription: "Another instance of `IgnitionHelper.deploy()` is already in use. Please wait for the previous deployment to finish."; }; }; readonly VERIFY: { readonly UNINITIALIZED_DEPLOYMENT: { readonly number: 11000; readonly messageTemplate: "Cannot verify contracts for nonexistant deployment at {deploymentDir}"; readonly websiteTitle: "Uninitialized deployment"; readonly websiteDescription: "Cannot verify contracts for nonexistant deployment"; }; readonly NO_CONTRACTS_DEPLOYED: { readonly number: 11001; readonly messageTemplate: "Cannot verify deployment {deploymentDir} as no contracts were deployed"; readonly websiteTitle: "No contracts deployed"; readonly websiteDescription: "Cannot verify deployment as no contracts were deployed"; }; readonly UNSUPPORTED_CHAIN: { readonly number: 11002; readonly messageTemplate: "Verification not natively supported for chainId {chainId}. Please use a custom chain configuration to add support."; readonly websiteTitle: "Unsupported chain"; readonly websiteDescription: "Verification not natively supported for the requested chain"; }; }; readonly STRATEGIES: { readonly UNKNOWN_STRATEGY: { readonly number: 11100; readonly messageTemplate: "Invalid strategy name \"{strategyName}\", must be either 'basic' or 'create2'"; readonly websiteTitle: "Invalid strategy name, must be either 'basic' or 'create2'"; readonly websiteDescription: "Invalid strategy, must be either 'basic' or 'create2'"; }; readonly MISSING_CONFIG: { readonly number: 11101; readonly messageTemplate: "No strategy config passed for strategy '{strategyName}'"; readonly websiteTitle: "Missing strategy config"; readonly websiteDescription: "No strategy config passed for strategy"; }; readonly MISSING_CONFIG_PARAM: { readonly number: 11102; readonly messageTemplate: "Missing required strategy configuration parameter '{requiredParam}' for the strategy '{strategyName}'"; readonly websiteTitle: "Missing strategy config parameter"; readonly websiteDescription: "Missing required strategy configuration parameter"; }; readonly INVALID_CONFIG_PARAM: { readonly number: 11103; readonly messageTemplate: "Strategy configuration parameter '{paramName}' for the strategy '{strategyName}' is invalid: {reason}"; readonly websiteTitle: "Invalid strategy config parameter"; readonly websiteDescription: "Strategy configuration parameter is invalid"; }; readonly CREATE_X_NOT_DEPLOYED: { readonly number: 11104; readonly messageTemplate: "CreateX not deployed on current network {chainId}"; readonly websiteTitle: "CreateX contract not deployed"; readonly websiteDescription: "The CreateX contract is not deployed on the current network"; }; }; readonly LIST_TRANSACTIONS: { readonly UNINITIALIZED_DEPLOYMENT: { readonly number: 11200; readonly messageTemplate: "Cannot list transactions for nonexistant deployment at {deploymentDir}"; readonly websiteTitle: "Uninitialized deployment"; readonly websiteDescription: "Cannot list transactions for nonexistant deployment"; }; }; readonly TRACK_TRANSACTIONS: { readonly DEPLOYMENT_DIR_NOT_FOUND: { readonly number: 11300; readonly messageTemplate: "Deployment directory {deploymentDir} not found"; readonly websiteTitle: "Deployment directory not found"; readonly websiteDescription: "The deployment directory was not found"; }; readonly UNINITIALIZED_DEPLOYMENT: { readonly number: 11301; readonly messageTemplate: "Cannot track transaction for nonexistant deployment at {deploymentDir}"; readonly websiteTitle: "Uninitialized deployment"; readonly websiteDescription: "Cannot track transaction for nonexistant deployment"; }; readonly TRANSACTION_NOT_FOUND: { readonly number: 11302; readonly messageTemplate: "Transaction {txHash} not found. Please double check the transaction hash and try again."; readonly websiteTitle: "Transaction not found"; readonly websiteDescription: "The transaction hash you provided was not found on the network."; }; readonly MATCHING_NONCE_NOT_FOUND: { readonly number: 11303; readonly messageTemplate: "The transaction you provided doesn't seem to belong to your deployment.\nPlease double check the error you are getting when running Hardhat Ignition, and the instructions it's providing."; readonly websiteTitle: "Matching nonce not found"; readonly websiteDescription: "The transaction you provided doesn't seem to belong to your deployment."; }; readonly KNOWN_TRANSACTION: { readonly number: 11304; readonly messageTemplate: "The transaction hash that you provided was already present in your deployment.\nPlease double check the error you are getting when running Hardhat Ignition, and the instructions it's providing."; readonly websiteTitle: "Known transaction"; readonly websiteDescription: "The transaction hash that you provided was already present in your deployment."; }; readonly INSUFFICIENT_CONFIRMATIONS: { readonly number: 11305; readonly messageTemplate: "The transaction you provided doesn't have enough confirmations yet.\nPlease try again later."; readonly websiteTitle: "Insufficient confirmations"; readonly websiteDescription: "The transaction you provided doesn't have enough confirmations yet."; }; }; }; readonly HARDHAT_ETHERS: { readonly GENERAL: { readonly METHOD_NOT_IMPLEMENTED: { readonly number: 20000; readonly messageTemplate: "Method \"{method}\" is not implemented"; readonly websiteTitle: "Method not implemented"; readonly websiteDescription: "Method not implemented"; }; readonly EVENT_NOT_SUPPORTED: { readonly number: 20001; readonly messageTemplate: "Event \"{event}\" is not supported"; readonly websiteTitle: "Event not supported"; readonly websiteDescription: "Event not supported"; }; readonly ACCOUNT_INDEX_OUT_OF_RANGE: { readonly number: 20002; readonly messageTemplate: "Tried to get account with index {accountIndex} but there are only {accountsLength} accounts"; readonly websiteTitle: "Account index out of range"; readonly websiteDescription: "Account index out of range"; }; readonly BROADCASTED_TX_DIFFERENT_HASH: { readonly number: 20003; readonly messageTemplate: "Expected broadcasted transaction to have hash \"{txHash}\", but got \"{broadcastedTxHash}\""; readonly websiteTitle: "Broadcasted transaction hash mismatch"; readonly websiteDescription: "Broadcasted transaction hash mismatch"; }; readonly CANNOT_GET_ACCOUNT: { readonly number: 20004; readonly messageTemplate: "Cannot get account with address \"{address}\""; readonly websiteTitle: "Cannot get account"; readonly websiteDescription: "Cannot get account"; }; readonly INVALID_BLOCK_TAG: { readonly number: 20005; readonly messageTemplate: "Invalid block tag \"{blockTag}\""; readonly websiteTitle: "Invalid block tag"; readonly websiteDescription: "Invalid block tag"; }; readonly INVALID_ARTIFACT_FOR_FACTORY: { readonly number: 20006; readonly messageTemplate: "You are trying to create a contract factory from an artifact, but you have not passed a valid artifact parameter."; readonly websiteTitle: "Invalid artifact for contract factory creation"; readonly websiteDescription: "Invalid artifact for contract factory creation"; }; readonly INVALID_ABSTRACT_CONTRACT_FOR_FACTORY: { readonly number: 20007; readonly messageTemplate: "You are trying to create a contract factory for the contract \"{contractName}\", which is abstract and can't be deployed. If you want to call a contract using \"{contractName}\" as its interface use the \"getContractAt\" function instead."; readonly websiteTitle: "Invalid abstract contract for contract factory creation"; readonly websiteDescription: "Invalid abstract contract for contract factory creation"; }; readonly INVALID_ADDRESS_TO_LINK_CONTRACT_TO_LIBRARY: { readonly number: 20008; readonly messageTemplate: "You tried to link the contract \"{contractName}\" with the library \"{linkedLibraryName}\", but you provided this invalid address: {resolvedAddress}"; readonly websiteTitle: "Invalid address to link contract"; readonly websiteDescription: "Invalid address to link contract"; }; readonly LIBRARY_NOT_AMONG_CONTRACT_LIBRARIES: { readonly number: 20009; readonly messageTemplate: "You tried to link the contract \"{contractName}\" with the library \"{linkedLibraryName}\", which is not one of its libraries. Detailed message: {detailedMessage}"; readonly websiteTitle: "Library is not one of the contract libraries"; readonly websiteDescription: "Library is not one of the contract libraries"; }; readonly AMBIGUOUS_LIBRARY_NAME: { readonly number: 20010; readonly messageTemplate: "The library name \"{linkedLibraryName}\" is ambiguous for the contract \"{contractName}\". It may resolve to one of the following libraries: \"{matchingNeededLibrariesFQNs}\". To fix this, choose one of these fully qualified library names and replace where appropriate."; readonly websiteTitle: "Ambiguous library name"; readonly websiteDescription: "Ambiguous library name"; }; readonly REFERENCE_TO_SAME_LIBRARY: { readonly number: 20011; readonly messageTemplate: "The library names \"{linkedLibraryName1}\" and \"{linkedLibraryName2}\" refer to the same library and were given as two separate library links. Remove one of them and review your library links before proceeding."; readonly websiteTitle: "Reference to same library"; readonly websiteDescription: "Reference to same library"; }; readonly MISSING_LINK_FOR_LIBRARY: { readonly number: 20012; readonly messageTemplate: "The contract \"{contractName}\" is missing links for the following libraries: \"{missingLibraries}\". Learn more about linking contracts at (https://hardhat.org/ethers-library-linking)."; readonly websiteTitle: "Missing links for library"; readonly websiteDescription: "Missing links for library"; }; readonly UNSUPPORTED_TYPE_FOR_DEEP_COPY: { readonly number: 20013; readonly messageTemplate: "The value \"{value}\" with type \"{type}\" is not supported by the deepCopy function."; readonly websiteTitle: "Unsupported type for deep copy"; readonly websiteDescription: "Unsupported type for deep copy"; }; readonly ACCOUNTS_OF_TYPE_REMOTE: { readonly number: 20014; readonly messageTemplate: "Tried to obtain a private key, but the network is configured to use remote accounts."; readonly websiteTitle: "Remote accounts are not supported"; readonly websiteDescription: "Remote accounts are not supported"; }; readonly WRONG_ACCOUNTS_FORMAT: { readonly number: 20015; readonly messageTemplate: "The \"accounts\" property in your Hardhat configuration file is not set correctly."; readonly websiteTitle: "Invalid \"accounts\" property in your Hardhat configuration file"; readonly websiteDescription: "The \"accounts\" property in your Hardhat configuration file is not set correctly. Please double check it and try again."; }; readonly NO_PRIVATE_KEY_FOR_ADDRESS: { readonly number: 20016; readonly messageTemplate: "No private key can be associated with the address \"{address}\"."; readonly websiteTitle: "Private key for the address could not be found"; readonly websiteDescription: "The private key for the address could not be found. Please double check your private keys and try again."; }; }; }; readonly HARDHAT_MOCHA: { readonly GENERAL: { readonly TEST_TASK_ESM_TESTS_RUN_TWICE: { readonly number: 30000; readonly messageTemplate: "Your project uses ESM and you've programmatically run your tests twice. This is not supported yet."; readonly websiteTitle: "Running tests twice in an ESM project"; readonly websiteDescription: "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)."; }; }; }; readonly HARDHAT_VIEM: { readonly GENERAL: { readonly NETWORK_NOT_FOUND: { readonly number: 40000; readonly messageTemplate: "No network with chain id \"{chainId}\" found."; readonly websiteTitle: "Network not found"; readonly websiteDescription: "No network with the specified chain id was found. You can override the chain by passing it as a parameter to the client getter:\n\n```ts\nimport { someChain } from \"viem/chains\";\nconst client = await hre.viem.getPublicClient({\n chain: someChain,\n ...\n});\n```\n\nYou can find a list of supported networks here: https://github.com/wevm/viem/blob/main/src/chains/index.ts"; }; readonly UNSUPPORTED_DEVELOPMENT_NETWORK: { readonly number: 40001; readonly messageTemplate: "Unsupported development network detected. Hardhat and Anvil are the only supported networks."; readonly websiteTitle: "Unsupported Development Network"; readonly websiteDescription: "The chain ID corresponds to a development network, but we were unable to identify it as either Hardhat or Anvil.\n\nPlease ensure you're using one of the supported networks."; }; readonly DEFAULT_WALLET_CLIENT_NOT_FOUND: { readonly number: 40002; readonly messageTemplate: "No default wallet client found for chain id \"{chainId}\"."; readonly websiteTitle: "Default Wallet Client Not Found"; readonly websiteDescription: "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.\n\nTo 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:\n\n```ts\nconst networkConnection = await hre.network.create(...);\nconst walletClient = await networkConnection.viem.getWalletClient(address);\n\nawait networkConnection.viem.deployContract(contractName, constructorArgs, { walletClient });\nawait networkConnection.viem.sendDeploymentTransaction(contractName, constructorArgs, { walletClient });\nawait networkConnection.viem.getContractAt(contractName, address, { walletClient });\n```\n"; }; readonly LINKING_CONTRACT_ERROR: { readonly number: 40003; readonly messageTemplate: "Error linking the contract \"{contractName}\":\n\n{error}"; readonly websiteTitle: "Error Linking Contract"; readonly websiteDescription: "An error occurred while linking the contract libraries.\n\nPlease check Hardhat's output for more details."; }; readonly INVALID_CONFIRMATIONS: { readonly number: 40004; readonly messageTemplate: "Invalid confirmations value. {error}"; readonly websiteTitle: "Invalid Confirmations Value"; readonly websiteDescription: "Invalid confirmations value. The confirmations value provided is invalid."; }; readonly DEPLOY_CONTRACT_ERROR: { readonly number: 40005; readonly messageTemplate: "The deployment transaction \"{txHash}\" was mined in block \"{blockNumber}\" but its receipt doesn't contain a contract address"; readonly websiteTitle: "Deployment Transaction Error"; readonly websiteDescription: "The deployment transaction was mined but its receipt doesn't contain a contract address."; }; }; }; readonly HARDHAT_KEYSTORE: { readonly GENERAL: { readonly INVALID_PASSWORD_OR_CORRUPTED_KEYSTORE: { readonly number: 50000; readonly messageTemplate: "Invalid password or corrupted keystore file."; readonly websiteTitle: "Invalid password or corrupted keystore file"; readonly websiteDescription: "The password you provided is incorrect or the keystore file is corrupted."; }; readonly CANNOT_CHANGED_PASSWORD_FOR_DEV_KEYSTORE: { readonly number: 50001; readonly messageTemplate: "The keystore \"change-password\" task cannot be used with the development keystore"; readonly websiteTitle: "Cannot change password for dev keystore"; readonly websiteDescription: "The keystore \"change-password\" task cannot be used with the development keystore"; }; readonly KEY_NOT_FOUND_DURING_TESTS_WITH_DEV_KEYSTORE: { readonly number: 50002; readonly messageTemplate: "Key \"{key}\" not found in the development keystore. Run \"npx hardhat keystore set {key} --dev\" to set it."; readonly websiteTitle: "Key not found in the development keystore during tests"; readonly websiteDescription: "Key not found in the development keystore. During tests, configuration variables can only be accessed through the development keystore.\n\nRun `npx hardhat keystore set --dev` to set it."; }; }; }; readonly NETWORK_HELPERS: { readonly GENERAL: { readonly ONLY_ALLOW_0X_PREFIXED_STRINGS: { readonly number: 60000; readonly messageTemplate: "Only hex-encoded strings prefixed with \"0x\" are accepted"; readonly websiteTitle: "Only hex-encoded strings prefixed with \"0x\" are accepted"; readonly websiteDescription: "Only hex-encoded strings prefixed with \"0x\" are accepted"; }; readonly CANNOT_CONVERT_TO_RPC_QUANTITY: { readonly number: 60001; readonly messageTemplate: "The value \"{value}\" cannot be converted into an RPC quantity"; readonly websiteTitle: "Cannot converted into an RPC quantity"; readonly websiteDescription: "The value cannot be converted into an RPC quantity"; }; readonly INVALID_HEX_STRING: { readonly number: 60002; readonly messageTemplate: "\"{value}\" is not a valid hex string"; readonly websiteTitle: "Invalid hex string"; readonly websiteDescription: "The value is not a valid hex string"; }; readonly INVALID_TX_HASH: { readonly number: 60003; readonly messageTemplate: "\"{value}\" is not a valid transaction hash"; readonly websiteTitle: "Invalid transaction hash"; readonly websiteDescription: "The value is not a valid transaction hash"; }; readonly INVALID_ADDRESS: { readonly number: 60004; readonly messageTemplate: "\"{value}\" is not a valid address"; readonly websiteTitle: "Invalid address"; readonly websiteDescription: "The value is not a valid address"; }; readonly INVALID_CHECKSUM_ADDRESS: { readonly number: 60005; readonly messageTemplate: "Address \"{value}\" has an invalid checksum"; readonly websiteTitle: "Invalid checksum address"; readonly websiteDescription: "The address has an invalid checksum"; }; readonly BLOCK_NUMBER_SMALLER_THAN_CURRENT: { readonly number: 60006; readonly messageTemplate: "The block number \"{newValue}\" is smaller than the current block number \"{currentValue}\""; readonly websiteTitle: "Block number smaller than the current block number"; readonly websiteDescription: "The block number is smaller than the current block number"; }; readonly EVM_SNAPSHOT_VALUE_NOT_A_STRING: { readonly number: 60007; readonly messageTemplate: "The value returned by evm_snapshot should be a string"; readonly websiteTitle: "The evm_snapshot value should be a string"; readonly websiteDescription: "The value returned by evm_snapshot should be a string"; }; readonly EVM_REVERT_VALUE_NOT_A_BOOLEAN: { readonly number: 60008; readonly messageTemplate: "The value returned by evm_revert should be a boolean"; readonly websiteTitle: "The evm_revert value should be a boolean"; readonly websiteDescription: "The value returned by evm_revert should be a boolean"; }; readonly INVALID_SNAPSHOT: { readonly number: 60009; readonly messageTemplate: "Trying to restore an invalid snapshot."; readonly websiteTitle: "Trying to restore an invalid snapshot."; readonly websiteDescription: "Trying to restore an invalid snapshot."; }; readonly EXPECTED_NON_NEGATIVE_NUMBER: { readonly number: 60010; readonly messageTemplate: "Invalid input: expected a non-negative number but \"{value}\" was given."; readonly websiteTitle: "Invalid input, expected a non-negative number"; readonly websiteDescription: "Invalid input, expected a non-negative number"; }; readonly CANNOT_CONVERT_NEGATIVE_NUMBER_TO_RPC_QUANTITY: { readonly number: 60011; readonly messageTemplate: "Cannot convert negative number \"{value}\" to RPC quantity"; readonly websiteTitle: "Cannot convert negative number to RPC quantity"; readonly websiteDescription: "Cannot convert negative number to RPC quantity"; }; readonly FIXTURE_ANONYMOUS_FUNCTION_ERROR: { readonly number: 60012; readonly messageTemplate: "Anonymous functions cannot be used as fixtures.\n\nYou probably did something like this:\n\n loadFixture(async () => ... );\n\nInstead, define a fixture function and refer to that same function in each call to loadFixture.\n\nLearn more at (https://hardhat.org/hardhat-network-helpers-fixtures)"; readonly websiteTitle: "Anonymous functions cannot be used as fixtures"; readonly websiteDescription: "Anonymous functions cannot be used as fixtures"; }; readonly FIXTURE_SNAPSHOT_ERROR: { readonly number: 60013; readonly messageTemplate: "There was an error reverting the snapshot of the fixture.\n\nThis might be caused by using hardhat_reset and loadFixture calls in a testcase."; readonly websiteTitle: "Error while reverting snapshot"; readonly websiteDescription: "Error while reverting snapshot"; }; readonly CAN_ONLY_BE_USED_WITH_HARDHAT_NETWORK: { readonly number: 60014; readonly messageTemplate: "This helper can only be used with the Hardhat Network. You are connected to \"{networkName}\"."; readonly websiteTitle: "Hardhat network helpers can only be used with the Hardhat Network"; readonly websiteDescription: "Hardhat network helpers can only be used with the Hardhat Network"; }; readonly CAN_ONLY_BE_USED_WITH_HARDHAT_NETWORK_VERSIONED: { readonly number: 60015; readonly messageTemplate: "This helper can only be used with the Hardhat Network. You are connected to \"{networkName}\", whose identifier is \"{version}\"."; readonly websiteTitle: "Hardhat network helpers can only be used with the Hardhat Network - version info"; readonly websiteDescription: "Hardhat network helpers can only be used with the Hardhat Network"; }; }; }; readonly CHAI_MATCHERS: { readonly GENERAL: { readonly UNKNOWN_COMPARISON_OPERATION: { readonly number: 70000; readonly messageTemplate: "Unknown comparison operation \"{method}\""; readonly websiteTitle: "Unknown comparison operation"; readonly websiteDescription: "Unknown comparison operation"; }; readonly EXPECTED_STRING_OR_ADDRESSABLE: { readonly number: 70001; readonly messageTemplate: "Expected string or addressable, but got \"{account}\""; readonly websiteTitle: "Expected string or addressable"; readonly websiteDescription: "Expected string or addressable"; }; readonly ASSERTION_WITHOUT_ERROR_MESSAGE: { readonly number: 70002; readonly messageTemplate: "Assertion doesn't have an error message. Please open an issue to report this."; readonly websiteTitle: "Assertion doesn't have an error message"; readonly websiteDescription: "Assertion doesn't have an error message. Please open an issue to report this."; readonly shouldBeReported: true; }; readonly MATCHER_CANNOT_BE_CHAINED_AFTER: { readonly number: 70003; readonly messageTemplate: "The matcher \"{matcher}\" cannot be chained after \"{previousMatcher}\". For more information, please refer to the documentation at: (https://hardhat.org/chaining-async-matchers)."; readonly websiteTitle: "Matcher cannot be chained after"; readonly websiteDescription: "The matcher cannot be chained after another matcher. Please open an issue to report this."; }; readonly DECODING_ERROR: { readonly number: 70004; readonly messageTemplate: "There was an error decoding \"{encodedData}\" as a \"{type}. Reason: {reason}\""; readonly websiteTitle: "Error while decoding data"; readonly websiteDescription: "There was an error decoding data"; }; readonly EXPECTED_VALID_TRANSACTION_HASH: { readonly number: 70005; readonly messageTemplate: "Expected a valid transaction hash, but got \"{hash}\""; readonly websiteTitle: "Expected a valid transaction hash"; readonly websiteDescription: "Expected a valid transaction hash"; }; readonly EXPECT_STRING_OR_REGEX_AS_REVERT_REASON: { readonly number: 70006; readonly messageTemplate: "Expected the revert reason to be a string or a regular expression"; readonly websiteTitle: "Expected the revert reason to be a string or a regular expression"; readonly websiteDescription: "Expected the revert reason to be a string or a regular expression"; }; readonly FIRST_ARGUMENT_MUST_BE_A_CONTRACT: { readonly number: 70007; readonly messageTemplate: "The first argument of .revertedWithCustomError must be the contract that defines the custom error"; readonly websiteTitle: "First argument must be a contract"; readonly websiteDescription: "First argument must be a contract"; }; readonly STRING_EXPECTED_AS_CUSTOM_ERROR_NAME: { readonly number: 70008; readonly messageTemplate: "Expected the custom error name to be a string"; readonly websiteTitle: "Expected the custom error name to be a string"; readonly websiteDescription: "Expected the custom error name to be a string"; }; readonly CONTRACT_DOES_NOT_HAVE_CUSTOM_ERROR: { readonly number: 70009; readonly messageTemplate: "The given contract doesn't have a custom error named \"{customErrorName}\""; readonly websiteTitle: "Contract doesn't have a custom error with the specified name"; readonly websiteDescription: "Contract doesn't have a custom error with the specified name"; }; readonly REVERT_INVALID_ARGUMENTS_LENGTH: { readonly number: 70010; readonly messageTemplate: "The .revertedWithCustomError matcher expects two arguments: the contract and the custom error name. Arguments should be asserted with the .withArgs helper."; readonly websiteTitle: "Invalid arguments length for the .revertedWithCustomError matcher"; readonly websiteDescription: "Invalid arguments length for the .revertedWithCustomError matcher"; }; readonly WITH_ARGS_FORBIDDEN: { readonly number: 70011; readonly messageTemplate: "[.withArgs] should never happen, please submit an issue to the Hardhat repository"; readonly websiteTitle: "[.withArgs] should never happen, please submit an issue to the Hardhat repository"; readonly websiteDescription: "[.withArgs] should never happen, please submit an issue to the Hardhat repository"; }; readonly INDEXED_EVENT_FORBIDDEN: { readonly number: 70012; readonly messageTemplate: "Should not get an indexed event when the assertion type is not event. Please open an issue about this."; readonly websiteTitle: "Should not get an indexed event when the assertion type is not event"; readonly websiteDescription: "Should not get an indexed event when the assertion type is not event"; }; readonly PANIC_CODE_EXPECTED: { readonly number: 70013; readonly messageTemplate: "Expected the given panic code to be a number-like value, but got \"{panicCode}\""; readonly websiteTitle: "Expected the given panic code to be a number-like value"; readonly websiteDescription: "Expected the given panic code to be a number-like value"; }; readonly ACCOUNTS_NUMBER_DIFFERENT_FROM_BALANCE_CHANGES: { readonly number: 70014; readonly messageTemplate: "The number of accounts ({accounts}) is different than the number of expected balance changes ({balanceChanges})"; readonly websiteTitle: "The number of accounts is different than the number of expected balance changes"; readonly websiteDescription: "The number of accounts is different than the number of expected balance changes"; }; readonly FIRST_ARGUMENT_MUST_BE_A_CONTRACT_INSTANCE: { readonly number: 70015; readonly messageTemplate: "The first argument of \"{method}\" must be the contract instance of the token"; readonly websiteTitle: "First argument must be a contract instance"; readonly websiteDescription: "First argument must be a contract instance"; }; readonly CONTRACT_IS_NOT_AN_ERC20_TOKEN: { readonly number: 70016; readonly messageTemplate: "The given contract instance is not an ERC20 token"; readonly websiteTitle: "Given contract instance is not an ERC20 token"; readonly websiteDescription: "Given contract instance is not an ERC20 token"; }; readonly INVALID_TRANSACTION: { readonly number: 70017; readonly messageTemplate: "\"{transaction}\" is not a valid transaction"; readonly websiteTitle: "Invalid transaction"; readonly websiteDescription: "Invalid transaction"; }; readonly CONTRACT_TARGET_MUST_BE_A_STRING: { readonly number: 70018; readonly messageTemplate: "The contract target should be a string"; readonly websiteTitle: "Contract target must be a string"; readonly websiteDescription: "Contract target must be a string"; }; readonly EMIT_EXPECTS_TWO_ARGUMENTS: { readonly number: 70019; readonly messageTemplate: "The .emit matcher expects two arguments: the contract and the event name. Arguments should be asserted with the .withArgs helper."; readonly websiteTitle: "Invalid arguments length for the .emit matcher"; readonly websiteDescription: "Invalid arguments length for the .emit matcher"; }; readonly CONTRACT_RUNNER_PROVIDER_NOT_NULL: { readonly number: 70020; readonly messageTemplate: "contract.runner.provider shouldn't be null"; readonly websiteTitle: "Contract runner's provider shouldn't be null"; readonly websiteDescription: "Contract runner's provider shouldn't be null"; }; readonly WITH_ARGS_CANNOT_BE_COMBINED_WITH_NOT: { readonly number: 70021; readonly messageTemplate: "Do not combine .not. with .withArgs()"; readonly websiteTitle: "Do not combine .not. with .withArgs()"; readonly websiteDescription: "Do not combine .not. with .withArgs()"; }; readonly WITH_ARGS_WRONG_COMBINATION: { readonly number: 70022; readonly messageTemplate: "withArgs can only be used in combination with a previous .emit or .revertedWithCustomError assertion"; readonly websiteTitle: "withArgs can only be used in combination with a previous .emit or .revertedWithCustomError assertion"; readonly websiteDescription: "withArgs can only be used in combination with a previous .emit or .revertedWithCustomError assertion"; }; readonly WITH_ARGS_COMBINED_WITH_INCOMPATIBLE_ASSERTIONS: { readonly number: 70023; readonly messageTemplate: "withArgs called with both .emit and .revertedWithCustomError, but these assertions cannot be combined"; readonly websiteTitle: "withArgs called with both .emit and .revertedWithCustomError, but these assertions cannot be combined"; readonly websiteDescription: "withArgs called with both .emit and .revertedWithCustomError, but these assertions cannot be combined"; }; readonly DEPRECATED_REVERTED_MATCHER: { readonly number: 70024; readonly messageTemplate: "The .reverted matcher has been deprecated. Use .revert(ethers) instead."; readonly websiteTitle: "Deprecated `reverted` matcher"; readonly websiteDescription: "The `.reverted` matcher was deprecated and you should use `.revert(ethers)` instead."; }; }; }; readonly HARDHAT_VERIFY: { readonly GENERAL: { readonly NETWORK_NOT_SUPPORTED: { readonly number: 80000; readonly messageTemplate: "The network \"{networkName}\" with chain id \"{chainId}\" is not supported."; readonly websiteTitle: "Network not supported"; readonly websiteDescription: "The network is not supported by hardhat-verify. To see the list of supported networks, run:\n\n```sh\nnpx hardhat verify --list-networks\n```\n\nTo add support for a new network, see https://hardhat.org/verify-custom-networks"; }; readonly EXPLORER_REQUEST_FAILED: { readonly number: 80001; readonly messageTemplate: "The request to {url} failed with the message \"{errorMessage}\". This error comes from {name}, not Hardhat."; readonly websiteTitle: "Explorer request failed"; readonly websiteDescription: "The request to the explorer failed.\n\n- Verify that the URL is correct.\n- Ensure the service is up and reachable.\n- Check your network connection and try again."; }; readonly EXPLORER_REQUEST_STATUS_CODE_ERROR: { readonly number: 80002; readonly messageTemplate: "The request to {url} returned a non-success status code {statusCode}: \"{errorMessage}\". (This response comes from {name}, not Hardhat.)"; readonly websiteTitle: "Explorer request status code error"; readonly websiteDescription: "The request to the explorer returned a non-success status code.\n\n- Verify that the URL is correct.\n- Ensure the service is up and reachable.\n- Check your network connection and try again."; }; readonly SOLC_VERSION_NOT_SUPPORTED: { readonly number: 80003; readonly messageTemplate: "The following Solidity compiler versions are not supported by the Etherscan API: {unsupportedSolcVersions}."; readonly websiteTitle: "Unsupported solidity compiler version"; readonly websiteDescription: "The specified Solidity compiler version is not supported by the Etherscan API. Only versions 0.4.11 and above are supported.\nFor a full list of supported versions, visit: https://etherscan.io/solcversions"; }; readonly DEPLOYED_BYTECODE_NOT_FOUND: { readonly number: 80004; readonly messageTemplate: "No bytecode found at address \"{address}\". Is the contract deployed on the \"{networkName}\" network?"; readonly websiteTitle: "Deployed bytecode not found"; readonly websiteDescription: "No bytecode was found at the specified address. This usually means the contract is not deployed or was deployed to a different network.\nPlease verify the address and selected network, and try again."; }; readonly SOLC_VERSION_MISMATCH: { readonly number: 80005; readonly messageTemplate: "The contract deployed to the \"{networkName}\" network was compiled with Solidity {deployedSolcVersion}, but the configured compiler {configuredSolcVersionSummary}."; readonly websiteTitle: "Compiler version mismatch"; readonly websiteDescription: "The Solidity compiler version used to compile the deployed contract does not match any of the versions configured in your Hardhat project.\n\nThis mismatch may indicate:\n\n- You're not on the same commit that was used to deploy the contract.\n- The compiler version in your Hardhat config is incorrect.\n- The address provided is not the deployed contract.\n- The selected network is incorrect."; }; readonly CONTRACT_NOT_FOUND: { readonly number: 80006; readonly messageTemplate: "The contract \"{contract}\" is not present in your project's artifacts."; readonly websiteTitle: "Contract not found"; readonly websiteDescription: "The specified contract is not present in your project's artifacts. Please ensure the contract is compiled and the name is correct."; }; readonly BUILD_INFO_NOT_FOUND: { readonly number: 80007; readonly messageTemplate: "The contract \"{contract}\" is present in your project, but its build info is missing."; readonly websiteTitle: "Build info not found"; readonly websiteDescription: "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."; }; readonly BUILD_INFO_SOLC_VERSION_MISMATCH: { readonly number: 80008; readonly messageTemplate: "The contract \"{contract}\" build info specifies Solidity {buildInfoSolcVersion}, but the deployed bytecode on the \"{networkName}\" network indicates {versionDetails}."; readonly websiteTitle: "Build info compiler version mismatch"; readonly websiteDescription: "The compiler version in the build info does not match the version encoded in the deployed bytecode.\nPossible causes:\n\n- Compiler settings were changed after deployment.\n- The contract address is incorrect.\n- The selected network is incorrect."; }; readonly DEPLOYED_BYTECODE_MISMATCH: { readonly number: 80009; readonly messageTemplate: "The address contains a contract whose bytecode does not match {contractDescription}."; readonly websiteTitle: "Deployed bytecode mismatch"; readonly websiteDescription: "The bytecode at the specified address did not match the expected contract.\n\nPossible causes:\n\n- Your artifacts are outdated or missing; try running `npx hardhat compile --force --buildProfile production`.\n- The contract code was modified after deployment.\n- Compiler settings (optimizer, EVM version, etc.) changed after deployment.\n- The provided address is incorrect.\n- The selected network is incorrect."; }; readonly DEPLOYED_BYTECODE_MULTIPLE_MATCHES: { readonly number: 80010; readonly messageTemplate: "More than one contract matches the deployed bytecode:\n{fqnList}\n\nSpecify the exact contract using the `--contract` flag."; readonly websiteTitle: "Multiple contract matches"; readonly websiteDescription: "The deployed bytecode matches multiple compiled contracts. Specify the exact contract using the `--contract` flag. For example:\n\n```sh\nnpx hardhat verify --contract contracts/Example.sol:ExampleContract \n```\n"; }; readonly INVALID_LIBRARY_ADDRESS: { readonly number: 80011; readonly messageTemplate: "The library \"{library}\" provided for the contract \"{contract}\" has an invalid address: \"{address}\"."; readonly websiteTitle: "Invalid library address"; readonly websiteDescription: "The address provided for a linked library is invalid. Please make sure the address is a valid Ethereum address."; }; readonly UNUSED_LIBRARY: { readonly number: 80012; readonly messageTemplate: "The library \"{library}\" provided for the contract \"{contract}\" is not used by the contract.\n\n{suggestion}"; readonly websiteTitle: "Library not found in contract"; readonly websiteDescription: "A library was specified using the \"--libraries\" option, but the selected contract does not use it.\n\nIf the contract uses external libraries, verify that the provided name matches the fully qualified name (FQN) of one of them, such as:\n\n```\n contracts/Math.sol:SafeMath\n```\n"; }; readonly LIBRARY_MULTIPLE_MATCHES: { readonly number: 80013; readonly messageTemplate: "The library \"{library}\" provided for the contract \"{contract}\" is ambiguous.\nIt matches multiple libraries:\n{fqnList}\n\nTo fix this, specify one of these fully qualified library names and try again."; readonly websiteTitle: "Library name is ambiguous"; readonly websiteDescription: "The specified library name matches multiple libraries used by the contract.\n\nTo resolve the ambiguity, provide the fully qualified library name in the format:\n\n```\n path/to/LibraryFile.sol:LibraryName\n```\n"; }; readonly DUPLICATED_LIBRARY: { readonly number: 80014; readonly messageTemplate: "The library name \"{library}\" and its fully qualified name \"{libraryFqn}\" refer to the same library.\n\nTo fix this, remove one of them and try again."; readonly websiteTitle: "Duplicated library entry"; readonly websiteDescription: "The same library was specified more than once using both its short name and fully qualified name (FQN) in the `--libraries` option.\n\nOnly one form should be used for each library. Remove one of the entries and try again."; }; readonly LIBRARY_ADDRESSES_MISMATCH: { readonly number: 80015; readonly messageTemplate: "The following detected library addresses differ from those you provided:\n{conflictList}\n\nYou can either fix these addresses in your libraries, or remove them to let the plugin autodetect them."; readonly websiteTitle: "Library address mismatch"; readonly websiteDescription: "Some libraries have conflicting addresses between what you provided and what was detected in the deployed bytecode.\n\nPlease ensure each library address is correct. You can remove entries from your input to use autodetection instead."; }; readonly MISSING_LIBRARY_ADDRESSES: { readonly number: 80016; readonly messageTemplate: "The contract \"{contract}\" has one or more library addresses that cannot be detected from the deployed bytecode.\nThis can occur if a library is only used in the contract's constructor. The missing libraries are:\n{missingList}"; readonly websiteTitle: "Missing library addresses"; readonly websiteDescription: "One or more libraries required by the contract could not be detected from the deployed bytecode.\n\nThis 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."; }; readonly INVALID_CONSTRUCTOR_ARGUMENT_TYPE: { readonly number: 80017; readonly messageTemplate: "The value \"{value}\" for a constructor parameter cannot be encoded.\nReason: {reason}."; readonly websiteTitle: "Invalid constructor argument type"; readonly websiteDescription: "One of the arguments passed to the contract's constructor has an invalid JavaScript type.\n\nThis 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.\n\nPlease verify that each constructor argument is the correct JS type."; }; readonly INVALID_CONSTRUCTOR_ARGUMENTS_LENGTH: { readonly number: 80018; readonly messageTemplate: "The constructor for \"{contract}\" has {requiredArgs} parameters but {providedArgs} arguments were provided instead."; readonly websiteTitle: "Invalid constructor argument count"; readonly websiteDescription: "The number of arguments provided to the contract's constructor doesn't match the number of parameters defined in its ABI.\n\nThis 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.\n\nPlease verify that you pass the exact number of arguments required by the constructor."; }; readonly CONSTRUCTOR_ARGUMENT_OVERFLOW: { readonly number: 80019; readonly messageTemplate: "The value \"{value}\" is out of bounds for its Solidity type and cannot be encoded."; readonly websiteTitle: "Constructor argument value out of bounds"; readonly websiteDescription: "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).\n\nThis error occurs when a value exceeds the maximum or minimum allowed for the specified Solidity type.\n\nPlease ensure all argument values fit within the valid range for their respective Solidity types."; }; readonly CONSTRUCTOR_ARGUMENTS_ENCODING_FAILED: { readonly number: 80020; readonly messageTemplate: "The constructor arguments for \"{contract}\" could not be encoded. Reason: {reason}."; readonly websiteTitle: "Constructor arguments encoding failed"; readonly websiteDescription: "The constructor arguments provided for the contract could not be encoded correctly.\nPlease review the provided arguments and ensure they match the expected arguments defined in the contract's ABI."; }; readonly CONTRACT_VERIFICATION_MISSING_BYTECODE: { readonly number: 80021; readonly messageTemplate: "The request to {url} failed because the address \"{address}\" does not have bytecode."; readonly websiteTitle: "Missing bytecode at address"; readonly websiteDescription: "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.\n\nPlease 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."; }; readonly CONTRACT_ALREADY_VERIFIED: { readonly number: 80022; readonly messageTemplate: "The contract \"{contract}\" at address \"{address}\" is already verified."; readonly websiteTitle: "Contract already verified"; readonly websiteDescription: "The block explorer responded that the contract is already verified.\n\nThis 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."; }; readonly CONTRACT_VERIFICATION_REQUEST_FAILED: { readonly number: 80023; readonly messageTemplate: "The contract verification request failed: \"{message}\"."; readonly websiteTitle: "Contract verification request failed"; readonly websiteDescription: "The block explorer returned an error when attempting to verify the contract's source code.\n\nPlease check the returned message for details."; }; readonly CONTRACT_VERIFICATION_STATUS_POLLING_FAILED: { readonly number: 80024; readonly messageTemplate: "The contract verification status polling encountered an error: \"{message}\". Verification may still succeed."; readonly websiteTitle: "Contract verification status polling failed"; readonly websiteDescription: "The block explorer returned a failure status when checking the verification status. Verification may still succeed; please check manually."; }; readonly CONTRACT_VERIFICATION_UNEXPECTED_RESPONSE: { readonly number: 80025; readonly messageTemplate: "The block explorer API returned an unexpected message: \"{message}\". Please report this issue to the Hardhat team."; readonly websiteTitle: "Unexpected API response during contract verification"; readonly websiteDescription: "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.\n\nPlease report this issue to the Hardhat team."; }; readonly CONTRACT_VERIFICATION_FAILED: { readonly number: 80026; readonly messageTemplate: "The contract verification failed.\nReason: \"{reason}\".\n{librariesWarning}"; readonly websiteTitle: "Contract verification failed"; readonly websiteDescription: "Unable to verify the contract on the block explorer.\n\nIf your contract uses libraries whose addresses cannot be detected automatically, make sure you are providing the correct address for each undetectable library."; }; readonly BLOCK_EXPLORER_NOT_CONFIGURED: { readonly number: 80027; readonly messageTemplate: "No {verificationProvider} block explorer is configured for the {chainId} chain in the chain descriptors."; readonly websiteTitle: "Block explorer not configured"; readonly websiteDescription: "\nBlock explorer information is missing in your chain descriptor configuration.\n\nTo enable contract verification, add an entry for the verification provider in the blockExplorers field of the relevant chain descriptor.\nYou can override the default chain descriptor by providing your own chainDescriptors object in the Hardhat config, with the following structure:\n\n```\nchainDescriptors: {\n : {\n name: ,\n blockExplorers: {\n blockscout: { name: \"Blockscout\", url: apiUrl: };\n etherscan: { name: \"Etherscan\", url: apiUrl: };\n }\n }\n}\n```\n"; }; readonly ADDRESS_NOT_A_CONTRACT: { readonly number: 80028; readonly messageTemplate: "{verificationProvider} responded that the address \"{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."; readonly websiteTitle: "Address is not a contract"; readonly websiteDescription: "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.\nPlease verify the address and network, and try again later if necessary."; }; readonly EXPLORER_API_KEY_EMPTY: { readonly number: 80029; readonly messageTemplate: "The {verificationProvider} API key is empty."; readonly websiteTitle: "Block explorer API key is empty"; readonly websiteDescription: "The provided API key for the block explorer is empty. This can happen in the following cases:\n\n- No \"apiKey\" field is configured in the hardhat config.\n- The \"apiKey\" is explicitly set to an empty string in the Hardhat config.\n- The \"apiKey\" is assigned to a config variable that resolves to an empty string at runtime.\n\nTo resolve this, set a valid non-empty API key in your Hardhat config, then try again."; }; }; readonly VALIDATION: { readonly INVALID_ADDRESS: { readonly number: 80100; readonly messageTemplate: "\"{value}\" is not a valid address"; readonly websiteTitle: "Invalid address"; readonly websiteDescription: "The value is not a valid address"; }; readonly MUTUALLY_EXCLUSIVE_CONSTRUCTOR_ARGS: { readonly number: 80101; readonly messageTemplate: "The parameters constructorArgs and constructorArgsPath are mutually exclusive."; readonly websiteTitle: "Mutually exclusive constructor arguments"; readonly websiteDescription: "The parameters constructorArgs and constructorArgsPath are mutually exclusive. Please provide only one of them."; }; readonly INVALID_CONSTRUCTOR_ARGS_MODULE_EXPORT: { readonly number: 80102; readonly messageTemplate: "The module specified by \"{constructorArgsPath}\" must default export an array of constructor arguments."; readonly websiteTitle: "Invalid constructor arguments module"; readonly websiteDescription: "The module specified by the constructorArgsPath parameter must default export an array of constructor arguments.\n\nExample:\n\n```ts\nexport default [\"arg1\", \"arg2\", ...];\n```\n"; }; readonly MODULE_NOT_FOUND: { readonly number: 80103; readonly messageTemplate: "The module specified by \"{modulePath}\" could not be found."; readonly websiteTitle: "Module not found"; readonly websiteDescription: "The specified module could not be found. Please check the path and try again."; }; readonly MODULE_SYNTAX_ERROR: { readonly number: 80104; readonly messageTemplate: "The module specified by \"{modulePath}\" has a syntax error: {errorMessage}"; readonly websiteTitle: "Module syntax error"; readonly websiteDescription: "The specified module has a syntax error. Please fix the error and try again."; }; readonly IMPORT_MODULE_FAILED: { readonly number: 80105; readonly messageTemplate: "The module specified by \"{modulePath}\" could not be imported: {errorMessage}"; readonly websiteTitle: "Import module failed"; readonly websiteDescription: "The specified module could not be imported."; }; readonly INVALID_LIBRARIES_MODULE_EXPORT: { readonly number: 80106; readonly messageTemplate: "The module specified by \"{librariesPath}\" must default export a record of libraries."; readonly websiteTitle: "Invalid libraries module"; readonly websiteDescription: "The module specified by the librariesPath parameter must default export a record of libraries.\n\nExample:\n\n```ts\nexport default { lib1: \"0x...\", lib2: \"0x...\", ... };\n```"; }; readonly INVALID_VERIFICATION_PROVIDER: { readonly number: 80107; readonly messageTemplate: "The verification provider \"{verificationProvider}\" is not supported. Supported providers are: {supportedVerificationProviders}."; readonly websiteTitle: "Invalid verification provider"; readonly websiteDescription: "The specified verification provider is not supported. Please use one of the supported providers."; }; }; }; readonly HARDHAT_LEDGER: { readonly GENERAL: { readonly INVALID_LEDGER_ADDRESS: { readonly number: 90000; readonly messageTemplate: "The ledger address \"{address}\" in the Hardhat configuration file is invalid."; readonly websiteTitle: "Invalid ledger address"; readonly websiteDescription: "The ledger address in the Hardhat configuration file is invalid."; }; readonly UNOWNED_LEDGER_ADDRESS: { readonly number: 90001; readonly messageTemplate: "Transaction attempted from address \"{address}\", which is not listed in the Hardhat configuration file."; readonly websiteTitle: "Unknown ledger address"; readonly websiteDescription: "Transaction attempted from an address which is not listed in the Hardhat configuration file."; }; readonly CONNECTION_ERROR: { readonly number: 90002; readonly messageTemplate: "There was an error trying to establish a connection to the Ledger wallet: {error}.{transportId}\n\nMake sure your Ledger is connected and unlocked, and that the Ethereum app is open."; readonly websiteTitle: "Ledger connection error"; readonly websiteDescription: "There was an error trying to establish a connection to the Ledger wallet.\n\nMake sure your Ledger is connected and unlocked, and that the Ethereum app is open."; }; readonly ERROR_WHILE_DERIVING_PATH: { readonly number: 90003; readonly messageTemplate: "There was an error trying to derive path \"{path}\": \"{message}\". The wallet might be connected but locked or in the wrong app."; readonly websiteTitle: "Error while deriving path"; readonly websiteDescription: "There was an error trying to derivate the path. The wallet might be connected but locked or in the wrong app."; }; readonly CANNOT_FIND_VALID_DERIVATION_PATH: { readonly number: 90004; readonly messageTemplate: "Cannot find a valid derivation path for address \"{address}\". Paths from {pathStart} to {pathEnd} were searched."; readonly websiteTitle: "Cannot find valid derivation path"; readonly websiteDescription: "Cannot find a valid derivation path for the address"; }; readonly PERSONAL_SIGN_MISSING_ADDRESS_PARAM: { readonly number: 90005; readonly messageTemplate: "Missing address parameter when calling personal_sign."; readonly websiteTitle: "Missing address parameter when calling personal_sign"; readonly websiteDescription: "You called \"personal_sign\" with incorrect parameters.\n\nPlease check that you are sending an \"address\" parameter."; }; readonly ETH_SIGN_MISSING_DATA_PARAM: { readonly number: 90006; readonly messageTemplate: "Missing \"data\" param when calling eth_sign."; readonly websiteTitle: "Missing \"data\" param when calling eth_sign."; readonly websiteDescription: "You called \"eth_sign\" with incorrect parameters.\n\nPlease check that you are sending a \"data\" parameter."; }; readonly ETH_SIGN_TYPED_DATA_V4_INVALID_DATA_PARAM: { readonly number: 90007; readonly messageTemplate: "Invalid \"data\" param when calling eth_signTypedData_v4."; readonly websiteTitle: "Invalid \"data\" param when calling eth_signTypedData_v4."; readonly websiteDescription: "You called \"eth_signTypedData_v4\" with incorrect parameters.\n\nPlease check that you are sending a \"data\" parameter with a JSON string or object conforming to EIP712 TypedData schema."; }; readonly LOCKED_DEVICE: { readonly number: 90008; readonly messageTemplate: "The ledger device is locked. Please unlock it and try again."; readonly websiteTitle: "The ledger device is locked"; readonly websiteDescription: "The ledger device is locked. Please unlock it and try again."; }; readonly EIP_7702_TX_CURRENTLY_NOT_SUPPORTED: { readonly number: 90009; readonly messageTemplate: "EIP-7702 transactions are currently not supported."; readonly websiteTitle: "EIP-7702 transactions are currently not supported"; readonly websiteDescription: "EIP-7702 transactions are currently not supported."; }; }; }; readonly HARDHAT_FOUNDRY: { readonly GENERAL: { readonly FORGE_NOT_INSTALLED: { readonly number: 100000; readonly messageTemplate: "Couldn't run `forge`. Please check that Foundry is installed and that `forge` is in your PATH.\n\nIf you need to install Foundry, please go to https://getfoundry.sh"; readonly websiteTitle: "Forge not installed"; readonly websiteDescription: "You tried to use the hardhat-foundry plugin, but Foundry is not installed or `forge` is not in your PATH.\n\nIf you need to install Foundry, please go to https://getfoundry.sh"; }; readonly FORGE_REMAPPINGS_FAILED: { readonly number: 100001; readonly messageTemplate: "Running `forge remappings` in \"{packagePath}\" failed.\n\nError: {stderr}"; readonly websiteTitle: "Forge remappings command failed"; readonly websiteDescription: "The `forge remappings` command failed when trying to read remappings for a package.\n\nThis could be due to:\n- An invalid foundry.toml configuration\n- Missing dependencies\n- Forge installation issues\n\nCheck the error message for more details and verify your foundry.toml configuration."; }; }; }; readonly HARDHAT_SOLX: { readonly GENERAL: { readonly UNSUPPORTED_PLATFORM: { readonly number: 110000; readonly messageTemplate: "solx is not available for the current platform ({platform}/{arch}).\n\nsolx supports: linux/x64, linux/arm64, darwin (macOS), windows/x64."; readonly websiteTitle: "Unsupported platform"; readonly websiteDescription: "The solx compiler is not available for your current operating system and architecture combination.\n\nsolx supports: linux/x64, linux/arm64, darwin (macOS), windows/x64."; }; readonly DOWNLOAD_FAILED: { readonly number: 110001; readonly messageTemplate: "Failed to download solx {version} after {attempts} attempts: {reason}"; readonly websiteTitle: "solx download failed"; readonly websiteDescription: "The solx compiler binary could not be downloaded from the solx releases mirror used by Hardhat.\n\nCheck your internet connection, ensure that the solx releases mirror (https://solx-releases-mirror.hardhat.org) is reachable from your environment, and verify that the requested solx version exists."; }; readonly BINARY_NOT_FOUND: { readonly number: 110002; readonly messageTemplate: "solx binary not found at {path}"; readonly websiteTitle: "solx binary not found"; readonly websiteDescription: "The configured custom path for the solx binary does not exist.\n\nVerify that the path in your Hardhat config points to a valid solx binary."; }; }; }; }; //# sourceMappingURL=descriptors.d.ts.map