hardhat 2.13.0-dev.1 → 2.13.0-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/builtin-tasks/compile.js +17 -7
  2. package/builtin-tasks/compile.js.map +1 -1
  3. package/builtin-tasks/flatten.js +10 -4
  4. package/builtin-tasks/flatten.js.map +1 -1
  5. package/builtin-tasks/help.js +2 -4
  6. package/builtin-tasks/help.js.map +1 -1
  7. package/builtin-tasks/task-names.d.ts +1 -0
  8. package/builtin-tasks/task-names.d.ts.map +1 -1
  9. package/builtin-tasks/task-names.js +3 -2
  10. package/builtin-tasks/task-names.js.map +1 -1
  11. package/builtin-tasks/test.js +22 -1
  12. package/builtin-tasks/test.js.map +1 -1
  13. package/internal/artifacts.d.ts +5 -0
  14. package/internal/artifacts.d.ts.map +1 -1
  15. package/internal/artifacts.js +29 -10
  16. package/internal/artifacts.js.map +1 -1
  17. package/internal/cli/bootstrap.d.ts +1 -0
  18. package/internal/cli/bootstrap.js +12 -20
  19. package/internal/cli/bootstrap.js.map +1 -1
  20. package/internal/cli/cli.d.ts +0 -1
  21. package/internal/cli/cli.d.ts.map +1 -1
  22. package/internal/cli/cli.js +24 -24
  23. package/internal/cli/cli.js.map +1 -1
  24. package/internal/cli/project-creation.d.ts +1 -1
  25. package/internal/cli/project-creation.d.ts.map +1 -1
  26. package/internal/cli/project-creation.js +105 -25
  27. package/internal/cli/project-creation.js.map +1 -1
  28. package/internal/cli/prompt.d.ts +2 -2
  29. package/internal/cli/prompt.d.ts.map +1 -1
  30. package/internal/cli/prompt.js +1 -2
  31. package/internal/cli/prompt.js.map +1 -1
  32. package/internal/cli/types.d.ts +1 -0
  33. package/internal/cli/types.d.ts.map +1 -1
  34. package/internal/core/config/config-env.d.ts +5 -11
  35. package/internal/core/config/config-env.d.ts.map +1 -1
  36. package/internal/core/config/config-env.js +2 -13
  37. package/internal/core/config/config-env.js.map +1 -1
  38. package/internal/core/config/config-loading.d.ts +2 -1
  39. package/internal/core/config/config-loading.d.ts.map +1 -1
  40. package/internal/core/config/config-loading.js +25 -7
  41. package/internal/core/config/config-loading.js.map +1 -1
  42. package/internal/core/config/config-resolution.d.ts.map +1 -1
  43. package/internal/core/config/config-resolution.js +2 -1
  44. package/internal/core/config/config-resolution.js.map +1 -1
  45. package/internal/core/config/config-validation.d.ts +2 -0
  46. package/internal/core/config/config-validation.d.ts.map +1 -1
  47. package/internal/core/config/config-validation.js +18 -1
  48. package/internal/core/config/config-validation.js.map +1 -1
  49. package/internal/core/config/extenders.d.ts +4 -7
  50. package/internal/core/config/extenders.d.ts.map +1 -1
  51. package/internal/core/config/extenders.js +5 -12
  52. package/internal/core/config/extenders.js.map +1 -1
  53. package/internal/core/errors-list.d.ts +35 -7
  54. package/internal/core/errors-list.d.ts.map +1 -1
  55. package/internal/core/errors-list.js +117 -85
  56. package/internal/core/errors-list.js.map +1 -1
  57. package/internal/core/flamegraph.js +10 -10
  58. package/internal/core/jsonrpc/types/output/metadata.d.ts +13 -0
  59. package/internal/core/jsonrpc/types/output/metadata.d.ts.map +1 -0
  60. package/internal/core/jsonrpc/types/output/metadata.js +3 -0
  61. package/internal/core/jsonrpc/types/output/metadata.js.map +1 -0
  62. package/internal/core/project-structure.d.ts.map +1 -1
  63. package/internal/core/project-structure.js +6 -0
  64. package/internal/core/project-structure.js.map +1 -1
  65. package/internal/core/providers/accounts.d.ts.map +1 -1
  66. package/internal/core/providers/accounts.js +4 -1
  67. package/internal/core/providers/accounts.js.map +1 -1
  68. package/internal/core/providers/backwards-compatibility.d.ts.map +1 -1
  69. package/internal/core/providers/backwards-compatibility.js +3 -0
  70. package/internal/core/providers/backwards-compatibility.js.map +1 -1
  71. package/internal/core/providers/construction.d.ts.map +1 -1
  72. package/internal/core/providers/construction.js +25 -5
  73. package/internal/core/providers/construction.js.map +1 -1
  74. package/internal/core/providers/gas-providers.d.ts +1 -1
  75. package/internal/core/providers/gas-providers.d.ts.map +1 -1
  76. package/internal/core/providers/gas-providers.js +1 -1
  77. package/internal/core/providers/gas-providers.js.map +1 -1
  78. package/internal/core/providers/http.d.ts +2 -2
  79. package/internal/core/providers/http.d.ts.map +1 -1
  80. package/internal/core/providers/http.js +41 -19
  81. package/internal/core/providers/http.js.map +1 -1
  82. package/internal/core/runtime-environment.d.ts +4 -2
  83. package/internal/core/runtime-environment.d.ts.map +1 -1
  84. package/internal/core/runtime-environment.js +39 -47
  85. package/internal/core/runtime-environment.js.map +1 -1
  86. package/internal/core/tasks/dsl.d.ts +6 -6
  87. package/internal/core/tasks/dsl.d.ts.map +1 -1
  88. package/internal/core/tasks/dsl.js.map +1 -1
  89. package/internal/core/tasks/task-definitions.d.ts +2 -2
  90. package/internal/core/tasks/task-definitions.d.ts.map +1 -1
  91. package/internal/core/tasks/task-definitions.js.map +1 -1
  92. package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
  93. package/internal/hardhat-network/jsonrpc/client.js +5 -3
  94. package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
  95. package/internal/hardhat-network/jsonrpc/handler.d.ts +1 -0
  96. package/internal/hardhat-network/jsonrpc/handler.d.ts.map +1 -1
  97. package/internal/hardhat-network/jsonrpc/handler.js +13 -18
  98. package/internal/hardhat-network/jsonrpc/handler.js.map +1 -1
  99. package/internal/hardhat-network/provider/RethnetState.d.ts +26 -0
  100. package/internal/hardhat-network/provider/RethnetState.d.ts.map +1 -0
  101. package/internal/hardhat-network/provider/RethnetState.js +84 -0
  102. package/internal/hardhat-network/provider/RethnetState.js.map +1 -0
  103. package/internal/hardhat-network/provider/modules/eth.js +4 -4
  104. package/internal/hardhat-network/provider/modules/evm.d.ts +2 -1
  105. package/internal/hardhat-network/provider/modules/evm.d.ts.map +1 -1
  106. package/internal/hardhat-network/provider/modules/evm.js +10 -4
  107. package/internal/hardhat-network/provider/modules/evm.js.map +1 -1
  108. package/internal/hardhat-network/provider/modules/hardhat.d.ts +2 -0
  109. package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +1 -1
  110. package/internal/hardhat-network/provider/modules/hardhat.js +9 -0
  111. package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
  112. package/internal/hardhat-network/provider/modules/web3.d.ts +3 -0
  113. package/internal/hardhat-network/provider/modules/web3.d.ts.map +1 -1
  114. package/internal/hardhat-network/provider/modules/web3.js +4 -4
  115. package/internal/hardhat-network/provider/modules/web3.js.map +1 -1
  116. package/internal/hardhat-network/provider/node-types.d.ts +1 -1
  117. package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
  118. package/internal/hardhat-network/provider/node.d.ts +6 -0
  119. package/internal/hardhat-network/provider/node.d.ts.map +1 -1
  120. package/internal/hardhat-network/provider/node.js +44 -5
  121. package/internal/hardhat-network/provider/node.js.map +1 -1
  122. package/internal/hardhat-network/provider/output.d.ts +1 -1
  123. package/internal/hardhat-network/provider/output.d.ts.map +1 -1
  124. package/internal/hardhat-network/provider/output.js +1 -1
  125. package/internal/hardhat-network/provider/output.js.map +1 -1
  126. package/internal/hardhat-network/provider/provider.d.ts +25 -21
  127. package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
  128. package/internal/hardhat-network/provider/provider.js +26 -43
  129. package/internal/hardhat-network/provider/provider.js.map +1 -1
  130. package/internal/hardhat-network/provider/return-data.js +2 -2
  131. package/internal/hardhat-network/provider/return-data.js.map +1 -1
  132. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts.map +1 -1
  133. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +4 -2
  134. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
  135. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts.map +1 -1
  136. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +4 -2
  137. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
  138. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts.map +1 -1
  139. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +4 -2
  140. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
  141. package/internal/hardhat-network/provider/utils/bloom.d.ts +4 -0
  142. package/internal/hardhat-network/provider/utils/bloom.d.ts.map +1 -1
  143. package/internal/hardhat-network/provider/utils/bloom.js +6 -0
  144. package/internal/hardhat-network/provider/utils/bloom.js.map +1 -1
  145. package/internal/hardhat-network/provider/utils/convertToRethnet.d.ts +8 -25
  146. package/internal/hardhat-network/provider/utils/convertToRethnet.d.ts.map +1 -1
  147. package/internal/hardhat-network/provider/utils/convertToRethnet.js +122 -174
  148. package/internal/hardhat-network/provider/utils/convertToRethnet.js.map +1 -1
  149. package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts +7 -0
  150. package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts.map +1 -0
  151. package/internal/hardhat-network/provider/utils/makeFakeSignature.js +31 -0
  152. package/internal/hardhat-network/provider/utils/makeFakeSignature.js.map +1 -0
  153. package/internal/hardhat-network/provider/utils/makeForkClient.d.ts +1 -0
  154. package/internal/hardhat-network/provider/utils/makeForkClient.d.ts.map +1 -1
  155. package/internal/hardhat-network/provider/utils/makeForkClient.js +4 -1
  156. package/internal/hardhat-network/provider/utils/makeForkClient.js.map +1 -1
  157. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts +1 -1
  158. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts.map +1 -1
  159. package/internal/hardhat-network/provider/utils/putGenesisBlock.js +2 -2
  160. package/internal/hardhat-network/provider/utils/putGenesisBlock.js.map +1 -1
  161. package/internal/hardhat-network/provider/vm/block-builder.d.ts +4 -3
  162. package/internal/hardhat-network/provider/vm/block-builder.d.ts.map +1 -1
  163. package/internal/hardhat-network/provider/vm/block-builder.js +9 -5
  164. package/internal/hardhat-network/provider/vm/block-builder.js.map +1 -1
  165. package/internal/hardhat-network/provider/vm/creation.d.ts +10 -0
  166. package/internal/hardhat-network/provider/vm/creation.d.ts.map +1 -0
  167. package/internal/hardhat-network/provider/vm/creation.js +29 -0
  168. package/internal/hardhat-network/provider/vm/creation.js.map +1 -0
  169. package/internal/hardhat-network/provider/vm/dual.d.ts +14 -14
  170. package/internal/hardhat-network/provider/vm/dual.d.ts.map +1 -1
  171. package/internal/hardhat-network/provider/vm/dual.js +426 -58
  172. package/internal/hardhat-network/provider/vm/dual.js.map +1 -1
  173. package/internal/hardhat-network/provider/vm/ethereumjs.d.ts +23 -22
  174. package/internal/hardhat-network/provider/vm/ethereumjs.d.ts.map +1 -1
  175. package/internal/hardhat-network/provider/vm/ethereumjs.js +181 -37
  176. package/internal/hardhat-network/provider/vm/ethereumjs.js.map +1 -1
  177. package/internal/hardhat-network/provider/vm/exit.d.ts +23 -0
  178. package/internal/hardhat-network/provider/vm/exit.d.ts.map +1 -0
  179. package/internal/hardhat-network/provider/vm/exit.js +130 -0
  180. package/internal/hardhat-network/provider/vm/exit.js.map +1 -0
  181. package/internal/hardhat-network/provider/vm/rethnet.d.ts +18 -30
  182. package/internal/hardhat-network/provider/vm/rethnet.d.ts.map +1 -1
  183. package/internal/hardhat-network/provider/vm/rethnet.js +164 -51
  184. package/internal/hardhat-network/provider/vm/rethnet.js.map +1 -1
  185. package/internal/hardhat-network/provider/vm/vm-adapter.d.ts +29 -13
  186. package/internal/hardhat-network/provider/vm/vm-adapter.d.ts.map +1 -1
  187. package/internal/hardhat-network/stack-traces/compiler-to-model.d.ts.map +1 -1
  188. package/internal/hardhat-network/stack-traces/compiler-to-model.js +37 -11
  189. package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -1
  190. package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
  191. package/internal/hardhat-network/stack-traces/constants.d.ts +1 -1
  192. package/internal/hardhat-network/stack-traces/constants.js +1 -1
  193. package/internal/hardhat-network/stack-traces/debug.d.ts.map +1 -1
  194. package/internal/hardhat-network/stack-traces/debug.js +6 -2
  195. package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
  196. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts +1 -0
  197. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts.map +1 -1
  198. package/internal/hardhat-network/stack-traces/error-inferrer.js +87 -60
  199. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
  200. package/internal/hardhat-network/stack-traces/model.d.ts +3 -1
  201. package/internal/hardhat-network/stack-traces/model.d.ts.map +1 -1
  202. package/internal/hardhat-network/stack-traces/model.js +9 -1
  203. package/internal/hardhat-network/stack-traces/model.js.map +1 -1
  204. package/internal/hardhat-network/stack-traces/solidity-errors.d.ts.map +1 -1
  205. package/internal/hardhat-network/stack-traces/solidity-errors.js +4 -3
  206. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  207. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +2 -2
  208. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts.map +1 -1
  209. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
  210. package/internal/hardhat-network/stack-traces/solidityTracer.js +1 -0
  211. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
  212. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts.map +1 -1
  213. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +2 -1
  214. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
  215. package/internal/lib/hardhat-lib.d.ts.map +1 -1
  216. package/internal/lib/hardhat-lib.js +1 -4
  217. package/internal/lib/hardhat-lib.js.map +1 -1
  218. package/internal/solidity/compiler/downloader.js +2 -2
  219. package/internal/solidity/compiler/downloader.js.map +1 -1
  220. package/internal/solidity/compiler/index.d.ts.map +1 -1
  221. package/internal/solidity/compiler/index.js +7 -1
  222. package/internal/solidity/compiler/index.js.map +1 -1
  223. package/internal/solidity/dependencyGraph.d.ts.map +1 -1
  224. package/internal/solidity/dependencyGraph.js +2 -0
  225. package/internal/solidity/dependencyGraph.js.map +1 -1
  226. package/internal/solidity/resolver.d.ts +4 -3
  227. package/internal/solidity/resolver.d.ts.map +1 -1
  228. package/internal/solidity/resolver.js +26 -7
  229. package/internal/solidity/resolver.js.map +1 -1
  230. package/internal/util/abi-helpers.d.ts +1 -0
  231. package/internal/util/abi-helpers.d.ts.map +1 -1
  232. package/internal/util/abi-helpers.js +9 -0
  233. package/internal/util/abi-helpers.js.map +1 -1
  234. package/internal/util/console.d.ts.map +1 -1
  235. package/internal/util/console.js +1 -1
  236. package/internal/util/console.js.map +1 -1
  237. package/internal/util/download.d.ts +3 -1
  238. package/internal/util/download.d.ts.map +1 -1
  239. package/internal/util/download.js +14 -12
  240. package/internal/util/download.js.map +1 -1
  241. package/internal/util/keys-derivation.d.ts.map +1 -1
  242. package/internal/util/keys-derivation.js +4 -1
  243. package/internal/util/keys-derivation.js.map +1 -1
  244. package/internal/util/packageInfo.d.ts +7 -1
  245. package/internal/util/packageInfo.d.ts.map +1 -1
  246. package/internal/util/packageInfo.js +23 -11
  247. package/internal/util/packageInfo.js.map +1 -1
  248. package/internal/util/proxy.d.ts +2 -0
  249. package/internal/util/proxy.d.ts.map +1 -0
  250. package/internal/util/proxy.js +19 -0
  251. package/internal/util/proxy.js.map +1 -0
  252. package/package.json +9 -10
  253. package/recommended-gitignore.txt +1 -1
  254. package/register.js +1 -4
  255. package/register.js.map +1 -1
  256. package/sample-projects/javascript/hardhat.config.js +1 -1
  257. package/sample-projects/javascript/scripts/deploy.js +2 -2
  258. package/sample-projects/javascript-esm/LICENSE.md +11 -0
  259. package/sample-projects/javascript-esm/README.md +13 -0
  260. package/sample-projects/javascript-esm/contracts/Lock.sol +34 -0
  261. package/sample-projects/javascript-esm/hardhat.config.cjs +6 -0
  262. package/sample-projects/javascript-esm/scripts/deploy.js +22 -0
  263. package/sample-projects/javascript-esm/test/Lock.js +123 -0
  264. package/sample-projects/typescript/hardhat.config.ts +1 -1
  265. package/sample-projects/typescript/scripts/deploy.ts +2 -2
  266. package/sample-projects/typescript/tsconfig.json +2 -1
  267. package/src/builtin-tasks/compile.ts +30 -11
  268. package/src/builtin-tasks/flatten.ts +18 -4
  269. package/src/builtin-tasks/help.ts +15 -16
  270. package/src/builtin-tasks/task-names.ts +2 -0
  271. package/src/builtin-tasks/test.ts +30 -2
  272. package/src/internal/artifacts.ts +947 -0
  273. package/src/internal/cli/bootstrap.ts +14 -36
  274. package/src/internal/cli/cli.ts +44 -35
  275. package/src/internal/cli/project-creation.ts +129 -32
  276. package/src/internal/cli/prompt.ts +2 -4
  277. package/src/internal/cli/types.ts +2 -0
  278. package/src/internal/core/config/config-env.ts +15 -27
  279. package/src/internal/core/config/config-loading.ts +35 -11
  280. package/src/internal/core/config/config-resolution.ts +4 -3
  281. package/src/internal/core/config/config-validation.ts +20 -0
  282. package/src/internal/core/config/extenders.ts +6 -15
  283. package/src/internal/core/errors-list.ts +121 -85
  284. package/src/internal/core/flamegraph.ts +10 -10
  285. package/src/internal/core/jsonrpc/types/output/metadata.ts +32 -0
  286. package/src/internal/core/project-structure.ts +8 -0
  287. package/src/internal/core/providers/accounts.ts +5 -2
  288. package/src/internal/core/providers/backwards-compatibility.ts +3 -0
  289. package/src/internal/core/providers/construction.ts +29 -24
  290. package/src/internal/core/providers/gas-providers.ts +1 -1
  291. package/src/internal/core/providers/http.ts +38 -26
  292. package/src/internal/core/runtime-environment.ts +65 -60
  293. package/src/internal/core/tasks/dsl.ts +17 -17
  294. package/src/internal/core/tasks/task-definitions.ts +6 -2
  295. package/src/internal/hardhat-network/jsonrpc/client.ts +7 -4
  296. package/src/internal/hardhat-network/jsonrpc/handler.ts +31 -28
  297. package/src/internal/hardhat-network/provider/modules/eth.ts +4 -4
  298. package/src/internal/hardhat-network/provider/modules/evm.ts +15 -3
  299. package/src/internal/hardhat-network/provider/modules/hardhat.ts +14 -0
  300. package/src/internal/hardhat-network/provider/modules/web3.ts +4 -4
  301. package/src/internal/hardhat-network/provider/node-types.ts +1 -1
  302. package/src/internal/hardhat-network/provider/node.ts +63 -1
  303. package/src/internal/hardhat-network/provider/output.ts +2 -2
  304. package/src/internal/hardhat-network/provider/provider.ts +61 -50
  305. package/src/internal/hardhat-network/provider/return-data.ts +2 -2
  306. package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +5 -2
  307. package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +5 -2
  308. package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +5 -2
  309. package/src/internal/hardhat-network/provider/utils/makeFakeSignature.ts +46 -0
  310. package/src/internal/hardhat-network/provider/utils/makeForkClient.ts +10 -1
  311. package/src/internal/hardhat-network/provider/utils/putGenesisBlock.ts +2 -2
  312. package/src/internal/hardhat-network/stack-traces/compiler-to-model.ts +73 -11
  313. package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +1 -1
  314. package/src/internal/hardhat-network/stack-traces/constants.ts +1 -1
  315. package/src/internal/hardhat-network/stack-traces/debug.ts +9 -2
  316. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +179 -95
  317. package/src/internal/hardhat-network/stack-traces/model.ts +11 -1
  318. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +5 -3
  319. package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +2 -2
  320. package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +3 -0
  321. package/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts +4 -1
  322. package/src/internal/lib/hardhat-lib.ts +1 -6
  323. package/src/internal/solidity/compiler/downloader.ts +3 -3
  324. package/src/internal/solidity/compiler/index.ts +9 -1
  325. package/src/internal/solidity/dependencyGraph.ts +2 -0
  326. package/src/internal/solidity/resolver.ts +38 -11
  327. package/src/internal/util/abi-helpers.ts +9 -0
  328. package/src/internal/util/console.ts +4 -2
  329. package/src/internal/util/download.ts +16 -16
  330. package/src/internal/util/keys-derivation.ts +4 -1
  331. package/src/internal/util/packageInfo.ts +33 -10
  332. package/src/internal/util/proxy.ts +18 -0
  333. package/src/register.ts +1 -6
  334. package/src/types/artifacts.ts +19 -105
  335. package/src/types/config.ts +2 -0
  336. package/src/types/runtime.ts +16 -13
  337. package/src/utils/source-names.ts +15 -0
  338. package/types/artifacts.d.ts +14 -90
  339. package/types/artifacts.d.ts.map +1 -1
  340. package/types/config.d.ts +2 -0
  341. package/types/config.d.ts.map +1 -1
  342. package/types/runtime.d.ts +9 -10
  343. package/types/runtime.d.ts.map +1 -1
  344. package/utils/source-names.d.ts +5 -0
  345. package/utils/source-names.d.ts.map +1 -1
  346. package/utils/source-names.js +14 -1
  347. package/utils/source-names.js.map +1 -1
  348. package/internal/artifacts/caching.d.ts +0 -27
  349. package/internal/artifacts/caching.d.ts.map +0 -1
  350. package/internal/artifacts/caching.js +0 -167
  351. package/internal/artifacts/caching.js.map +0 -1
  352. package/internal/artifacts/index.d.ts +0 -44
  353. package/internal/artifacts/index.d.ts.map +0 -1
  354. package/internal/artifacts/index.js +0 -187
  355. package/internal/artifacts/index.js.map +0 -1
  356. package/internal/artifacts/mutable.d.ts +0 -29
  357. package/internal/artifacts/mutable.d.ts.map +0 -1
  358. package/internal/artifacts/mutable.js +0 -226
  359. package/internal/artifacts/mutable.js.map +0 -1
  360. package/internal/artifacts/readonly.d.ts +0 -88
  361. package/internal/artifacts/readonly.d.ts.map +0 -1
  362. package/internal/artifacts/readonly.js +0 -324
  363. package/internal/artifacts/readonly.js.map +0 -1
  364. package/src/internal/artifacts/caching.ts +0 -239
  365. package/src/internal/artifacts/index.ts +0 -296
  366. package/src/internal/artifacts/mutable.ts +0 -330
  367. package/src/internal/artifacts/readonly.ts +0 -438
@@ -59,7 +59,7 @@ You can learn how to use Hardhat by reading the [Getting Started guide](/hardhat
59
59
  message:
60
60
  "Hardhat doesn't support your Node.js version. It should be %requirement%.",
61
61
  title: "Unsupported Node.js",
62
- description: `Hardhat doesn't support your Node.js version.
62
+ description: `Hardhat doesn't support your Node.js version.
63
63
 
64
64
  Please upgrade your version of Node.js and try again.`,
65
65
  shouldBeReported: false,
@@ -68,9 +68,9 @@ Please upgrade your version of Node.js and try again.`,
68
68
  number: 3,
69
69
  message: "%operation% is not supported in Hardhat.",
70
70
  title: "Unsupported operation",
71
- description: `You are trying to perform an unsupported operation.
71
+ description: `You are trying to perform an unsupported operation.
72
72
 
73
- Unless you are creating a task or plugin, this is probably a bug.
73
+ Unless you are creating a task or plugin, this is probably a bug.
74
74
 
75
75
  Please [report it](https://github.com/nomiclabs/hardhat/issues/new) to help us improve Hardhat.`,
76
76
  shouldBeReported: true,
@@ -118,24 +118,24 @@ Please [report it](https://github.com/nomiclabs/hardhat/issues/new) to help us i
118
118
  message: `There's one or more errors in your config file:
119
119
 
120
120
  %errors%
121
-
121
+
122
122
  To learn more about Hardhat's configuration, please go to https://hardhat.org/config/`,
123
123
  title: "Invalid Hardhat config",
124
- description: `You have one or more errors in your config file.
125
-
124
+ description: `You have one or more errors in your config file.
125
+
126
126
  Check the error message for details, or go to the [documentation](https://hardhat.org/config/) to learn more.`,
127
127
  shouldBeReported: false,
128
128
  },
129
129
  LIB_IMPORTED_FROM_THE_CONFIG: {
130
130
  number: 9,
131
131
  message: `Error while loading Hardhat's configuration.
132
-
132
+
133
133
  You probably tried to import the "hardhat" module from your config or a file imported from it.
134
134
  This is not possible, as Hardhat can't be initialized while its config is being defined.
135
135
 
136
136
  To learn more about how to access the Hardhat Runtime Environment from different contexts go to https://hardhat.org/hre`,
137
137
  title: "Failed to load config file",
138
- description: `There was an error while loading your config file.
138
+ description: `There was an error while loading your config file.
139
139
 
140
140
  The most common source of errors is trying to import the Hardhat Runtime Environment from your config or a file imported from it.
141
141
  This is not possible, as Hardhat can't be initialized while its config is being defined.
@@ -182,7 +182,7 @@ Please install Hardhat locally using npm or Yarn, and try again.`,
182
182
  TS_NODE_NOT_INSTALLED: {
183
183
  number: 13,
184
184
  message: `Your Hardhat project uses typescript, but ts-node is not installed.
185
-
185
+
186
186
  Please run: npm install --save-dev ts-node`,
187
187
  title: "ts-node not installed",
188
188
  description: `You are running a Hardhat project that uses typescript, but you haven't installed ts-node.
@@ -193,7 +193,7 @@ Please run this and try again: \`npm install --save-dev ts-node\``,
193
193
  TYPESCRIPT_NOT_INSTALLED: {
194
194
  number: 14,
195
195
  message: `Your Hardhat project uses typescript, but it's not installed.
196
-
196
+
197
197
  Please run: npm install --save-dev typescript`,
198
198
  title: "typescript not installed",
199
199
  description: `You are running a Hardhat project that uses typescript, but it's not installed.
@@ -252,6 +252,23 @@ To avoid it, please delete both your node_modules and package-lock.json, and rei
252
252
  Note that you don't need to do this every time you install a new dependency, but please make sure to delete your node_modules every time you delete your package-lock.json.`,
253
253
  shouldBeReported: false,
254
254
  },
255
+ ESM_PROJECT_WITHOUT_CJS_CONFIG: {
256
+ number: 19,
257
+ message: `Your project is an ESM project (you have "type": "module" set in your package.json) but your Hardhat config file uses the .js extension.
258
+
259
+ Rename the file to use the .cjs to fix this problem.`,
260
+ title: "Hardhat config with .js extension in an ESM project",
261
+ description:
262
+ "Your project is an ESM project but your Hardhat config uses the .js extension. Hardhat config files cannot be an ES module. To fix this, rename your Hardhat config to use the .cjs extension.",
263
+ shouldBeReported: false,
264
+ },
265
+ ESM_TYPESCRIPT_PROJECT_CREATION: {
266
+ number: 20,
267
+ message: `Your project is an ESM project (you have "type": "module" set in your package.json) and you are trying to initialize a TypeScript project. This is not supported yet.`,
268
+ title: "Initializing a TypeScript sample project in an ESM project",
269
+ description: `Your project is an ESM project (you have "type": "module" set in your package.json) and you are trying to initialize a TypeScript project. This is not supported yet.`,
270
+ shouldBeReported: false,
271
+ },
255
272
  },
256
273
  NETWORK: {
257
274
  CONFIG_NOT_FOUND: {
@@ -287,8 +304,8 @@ Please check that you are sending a \`data\` parameter.`,
287
304
  message:
288
305
  "Account %account% is not managed by the node you are connected to.",
289
306
  title: "Unrecognized account",
290
- description: `You are trying to send a transaction or sign some data with an
291
- account not managed by your Ethereum node nor Hardhat.
307
+ description: `You are trying to send a transaction or sign some data with an
308
+ account not managed by your Ethereum node nor Hardhat.
292
309
 
293
310
  Please double check your accounts and the \`from\` parameter in your RPC calls.`,
294
311
  shouldBeReported: false,
@@ -297,8 +314,8 @@ Please double check your accounts and the \`from\` parameter in your RPC calls.`
297
314
  number: 104,
298
315
  message: "Missing param %param% from a tx being signed locally.",
299
316
  title: "Missing transaction parameter",
300
- description: `You are trying to send a transaction with a locally managed
301
- account, and some parameters are missing.
317
+ description: `You are trying to send a transaction with a locally managed
318
+ account, and some parameters are missing.
302
319
 
303
320
  Please double check your transactions' parameters.`,
304
321
  shouldBeReported: false,
@@ -308,7 +325,7 @@ Please double check your transactions' parameters.`,
308
325
  message:
309
326
  "No local account was set and there are accounts in the remote node.",
310
327
  title: "No remote accounts available",
311
- description: `No local account was set and there are accounts in the remote node.
328
+ description: `No local account was set and there are accounts in the remote node.
312
329
 
313
330
  Please make sure that your Ethereum node has unlocked accounts.`,
314
331
  shouldBeReported: false,
@@ -318,8 +335,8 @@ Please make sure that your Ethereum node has unlocked accounts.`,
318
335
  message:
319
336
  "HD path %path% is invalid. Read about BIP32 to know about the valid forms.",
320
337
  title: "Invalid HD path",
321
- description: `An invalid HD/BIP32 derivation path was provided in your config.
322
-
338
+ description: `An invalid HD/BIP32 derivation path was provided in your config.
339
+
323
340
  Read the [documentation](https://hardhat.org/hardhat-runner/docs/config#hd-wallet-config) to learn how to define HD accounts correctly.`,
324
341
  shouldBeReported: false,
325
342
  },
@@ -328,7 +345,7 @@ Read the [documentation](https://hardhat.org/hardhat-runner/docs/config#hd-walle
328
345
  message:
329
346
  "Received invalid value `%value%` from/to the node's JSON-RPC, but a Quantity was expected.",
330
347
  title: "Invalid JSON-RPC value",
331
- description: `One of your transactions sent or received an invalid JSON-RPC QUANTITY value.
348
+ description: `One of your transactions sent or received an invalid JSON-RPC QUANTITY value.
332
349
 
333
350
  Please double check your calls' parameters and keep your Ethereum node up to date.`,
334
351
  shouldBeReported: false,
@@ -357,7 +374,7 @@ Please make sure your node is running, and check your internet connection and ne
357
374
  number: 110,
358
375
  message: "Invalid JSON-RPC response received: %response%",
359
376
  title: "Invalid JSON-RPC response",
360
- description: `One of your JSON-RPC requests received an invalid response.
377
+ description: `One of your JSON-RPC requests received an invalid response.
361
378
 
362
379
  Please make sure your node is running, and check your internet connection and networks config.`,
363
380
  shouldBeReported: false,
@@ -367,7 +384,7 @@ Please make sure your node is running, and check your internet connection and ne
367
384
  message:
368
385
  "Cannot derive key %path% from mnemonic '%mnemonic%.\nTry using another mnemonic or deriving fewer keys.",
369
386
  title: "Could not derive an HD key",
370
- description: `One of your HD keys could not be derived.
387
+ description: `One of your HD keys could not be derived.
371
388
 
372
389
  Try using another mnemonic or deriving less keys.`,
373
390
  shouldBeReported: false,
@@ -377,7 +394,7 @@ Try using another mnemonic or deriving less keys.`,
377
394
  message:
378
395
  "Received invalid value `%value%` from/to the node's JSON-RPC, but a Data was expected.",
379
396
  title: "Invalid JSON-RPC value",
380
- description: `One of your calls sent or received an invalid JSON-RPC DATA value.
397
+ description: `One of your calls sent or received an invalid JSON-RPC DATA value.
381
398
 
382
399
  Please double check your calls' parameters and keep your Ethereum node up to date.`,
383
400
  shouldBeReported: false,
@@ -395,8 +412,8 @@ Please check that you are sending a \`data\` parameter with a JSON string or obj
395
412
  message:
396
413
  "An incompatible transaction with gasPrice and EIP-1559 fee price fields.",
397
414
  title: "Incompatible fee price parameters",
398
- description: `You are trying to send a transaction with a locally managed
399
- account, and its parameters are incompatible. You sent both gasPrice, and maxFeePerGas or maxPriorityFeePerGas.
415
+ description: `You are trying to send a transaction with a locally managed
416
+ account, and its parameters are incompatible. You sent both gasPrice, and maxFeePerGas or maxPriorityFeePerGas.
400
417
 
401
418
  Please double check your transactions' parameters.`,
402
419
  shouldBeReported: false,
@@ -406,7 +423,7 @@ Please double check your transactions' parameters.`,
406
423
  message:
407
424
  "Tried to sign a transaction locally, but gasPrice, maxFeePerGas, and maxPriorityFeePerGas were missing.",
408
425
  title: "Missing fee price parameters",
409
- description: `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.
426
+ description: `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.
410
427
 
411
428
  Please double check your transactions' parameters.`,
412
429
  shouldBeReported: false,
@@ -427,8 +444,8 @@ Please check that you are sending an \`address\` parameter.`,
427
444
  message:
428
445
  "Could not set positional param %paramName% for task %taskName% because there is already a variadic positional param and it has to be the last positional one.",
429
446
  title: "Could not add positional param",
430
- description: `Could add a positional param to your task because
431
- there is already a variadic positional param and it has to be the last
447
+ description: `Could add a positional param to your task because
448
+ there is already a variadic positional param and it has to be the last
432
449
  positional one.
433
450
 
434
451
  Please double check your task definitions.`,
@@ -440,7 +457,7 @@ Please double check your task definitions.`,
440
457
  "Could not set param %paramName% for task %taskName% because its name is already used.",
441
458
  title: "Repeated param name",
442
459
  description: `Could not add a param to your task because its name is already used.
443
-
460
+
444
461
  Please double check your task definitions.`,
445
462
  shouldBeReported: false,
446
463
  },
@@ -450,7 +467,7 @@ Please double check your task definitions.`,
450
467
  "Could not set param %paramName% for task %taskName% because its name is used as a param for Hardhat.",
451
468
  title: "Hardhat and task param names clash",
452
469
  description: `Could not add a param to your task because its name is used as a param for Hardhat.
453
-
470
+
454
471
  Please double check your task definitions.`,
455
472
  shouldBeReported: false,
456
473
  },
@@ -460,7 +477,7 @@ Please double check your task definitions.`,
460
477
  "Could not set param %paramName% for task %taskName% because it is mandatory and it was added after an optional positional param.",
461
478
  title: "Optional param followed by a required one",
462
479
  description: `Could not add param to your task because it is required and it was added after an optional positional param.
463
-
480
+
464
481
  Please double check your task definitions.`,
465
482
  shouldBeReported: false,
466
483
  },
@@ -468,7 +485,7 @@ Please double check your task definitions.`,
468
485
  number: 204,
469
486
  message: "No action set for task %taskName%.",
470
487
  title: "Tried to run task without an action",
471
- description: `A task was run, but it has no action set.
488
+ description: `A task was run, but it has no action set.
472
489
 
473
490
  Please double check your task definitions.`,
474
491
  shouldBeReported: false,
@@ -478,7 +495,7 @@ Please double check your task definitions.`,
478
495
  message:
479
496
  "Tried to call runSuper from a non-overridden definition of task %taskName%",
480
497
  title: "`runSuper` not available",
481
- description: `You tried to call \`runSuper\` from a non-overridden task.
498
+ description: `You tried to call \`runSuper\` from a non-overridden task.
482
499
 
483
500
  Please use \`runSuper.isDefined\` to make sure that you can call it.`,
484
501
  shouldBeReported: false,
@@ -488,7 +505,7 @@ Please use \`runSuper.isDefined\` to make sure that you can call it.`,
488
505
  message:
489
506
  "Default value for param %paramName% of task %taskName% doesn't match the default one, try specifying it.",
490
507
  title: "Default value has incorrect type",
491
- description: `One of your tasks has a parameter whose default value doesn't match the expected type.
508
+ description: `One of your tasks has a parameter whose default value doesn't match the expected type.
492
509
 
493
510
  Please double check your task definitions.`,
494
511
  shouldBeReported: false,
@@ -498,7 +515,7 @@ Please double check your task definitions.`,
498
515
  message:
499
516
  "Default value for param %paramName% of task %taskName% shouldn't be set.",
500
517
  title: "Required parameter has a default value",
501
- description: `One of your tasks has a required parameter with a default value.
518
+ description: `One of your tasks has a required parameter with a default value.
502
519
 
503
520
  Please double check your task definitions.`,
504
521
  shouldBeReported: false,
@@ -508,7 +525,7 @@ Please double check your task definitions.`,
508
525
  message:
509
526
  "Invalid param name %paramName% in task %taskName%. Param names must be camelCase.",
510
527
  title: "Invalid casing in parameter name",
511
- description: `Your parameter names must use camelCase.
528
+ description: `Your parameter names must use camelCase.
512
529
 
513
530
  Please double check your task definitions.`,
514
531
  shouldBeReported: false,
@@ -555,7 +572,7 @@ Please double check your task definitions.`,
555
572
  message:
556
573
  "Task %task% is not a subtask but one of its arguments uses the type %type%, which is not parseable.",
557
574
  description: `Tasks that can be invoked from the command line require CLIArgumentType types for their arguments.
558
-
575
+
559
576
  What makes these types special is that they can be represented as strings, so you can write them down in the terminal.`,
560
577
  shouldBeReported: false,
561
578
  },
@@ -584,7 +601,7 @@ Please double check your arguments.`,
584
601
  message:
585
602
  "Invalid argument %name%: File %value% doesn't exist or is not a readable file.",
586
603
  title: "Invalid file argument",
587
- description: `One of your tasks expected a file as an argument, but you provided a
604
+ description: `One of your tasks expected a file as an argument, but you provided a
588
605
  nonexistent or non-readable file.
589
606
 
590
607
  Please double check your arguments.`,
@@ -605,7 +622,7 @@ Please double check the name of the task you are trying to run.`,
605
622
  "Unrecognised command line argument %argument%.\nNote that task arguments must come after the task name.",
606
623
  title: "Unrecognized command line argument",
607
624
  description: `Hardhat couldn't recognize one of your command line arguments.
608
-
625
+
609
626
  This may be because you are writing it before the task name. It should come after it.
610
627
 
611
628
  Please double check how you invoked Hardhat.`,
@@ -616,7 +633,7 @@ Please double check how you invoked Hardhat.`,
616
633
  message: "Unrecognized param %param%",
617
634
  title: "Unrecognized param",
618
635
  description: `Hardhat couldn't recognize one of your tasks' parameters.
619
-
636
+
620
637
  Please double check how you invoked Hardhat or ran your task.`,
621
638
  shouldBeReported: false,
622
639
  },
@@ -625,7 +642,7 @@ Please double check how you invoked Hardhat or ran your task.`,
625
642
  message:
626
643
  "The '%param%' parameter of task '%task%' expects a value, but none was passed.",
627
644
  title: "Missing task argument",
628
- description: `You tried to run a task, but one of its required arguments was missing.
645
+ description: `You tried to run a task, but one of its required arguments was missing.
629
646
 
630
647
  Please double check how you invoked Hardhat or ran your task.`,
631
648
  shouldBeReported: false,
@@ -634,7 +651,7 @@ Please double check how you invoked Hardhat or ran your task.`,
634
651
  number: 307,
635
652
  message: "Missing positional argument %param%",
636
653
  title: "Missing task positional argument",
637
- description: `You tried to run a task, but one of its required arguments was missing.
654
+ description: `You tried to run a task, but one of its required arguments was missing.
638
655
 
639
656
  Please double check how you invoked Hardhat or ran your task.`,
640
657
  shouldBeReported: false,
@@ -652,7 +669,7 @@ Please double check how you invoked Hardhat or ran your task.`,
652
669
  number: 309,
653
670
  message: "Repeated parameter %param%",
654
671
  title: "Repeated task parameter",
655
- description: `You tried to run a task with a repeated parameter.
672
+ description: `You tried to run a task with a repeated parameter.
656
673
 
657
674
  Please double check how you invoked Hardhat or ran your task.`,
658
675
  shouldBeReported: false,
@@ -661,7 +678,7 @@ Please double check how you invoked Hardhat or ran your task.`,
661
678
  number: 310,
662
679
  message: "Invalid param %param%. Command line params must be lowercase.",
663
680
  title: "Invalid casing in command line parameter",
664
- description: `You tried to run hardhat with a parameter with invalid casing. They must be lowercase.
681
+ description: `You tried to run hardhat with a parameter with invalid casing. They must be lowercase.
665
682
 
666
683
  Please double check how you invoked Hardhat.`,
667
684
  shouldBeReported: false,
@@ -670,7 +687,7 @@ Please double check how you invoked Hardhat.`,
670
687
  number: 311,
671
688
  message: "Error parsing JSON value for argument %param%: %error%",
672
689
  title: "Invalid JSON parameter",
673
- description: `You tried to run a task with an invalid JSON parameter.
690
+ description: `You tried to run a task with an invalid JSON parameter.
674
691
 
675
692
  Please double check how you invoked Hardhat or ran your task.`,
676
693
  shouldBeReported: false,
@@ -680,7 +697,7 @@ Please double check how you invoked Hardhat or ran your task.`,
680
697
  title: "Subtask run from the command line",
681
698
  message: "Trying to run the %name% subtask from the CLI",
682
699
  description: `You tried to run a subtask from the command line.
683
-
700
+
684
701
  This is not supported. Please run the help task to see the available options.`,
685
702
  shouldBeReported: false,
686
703
  },
@@ -716,7 +733,7 @@ Please double check your imports or install the missing dependency.`,
716
733
  number: 402,
717
734
  message: "File %file% doesn't exist.",
718
735
  title: "Missing library file",
719
- description: `One of your libraries' files was imported but doesn't exist.
736
+ description: `One of your libraries' files was imported but doesn't exist.
720
737
 
721
738
  Please double check your imports or update your libraries.`,
722
739
  shouldBeReported: false,
@@ -725,7 +742,7 @@ Please double check your imports or update your libraries.`,
725
742
  number: 403,
726
743
  message: "Illegal import %imported% from %from%",
727
744
  title: "Illegal Solidity import",
728
- description: `One of your libraries tried to use a relative import to import a file outside of its scope.
745
+ description: `One of your libraries tried to use a relative import to import a file outside of its scope.
729
746
 
730
747
  This is disabled for security reasons.`,
731
748
  shouldBeReported: false,
@@ -745,7 +762,7 @@ Please double check your imports.`,
745
762
  "Invalid import %imported% from %from%. Imports must use / instead of \\, even in Windows",
746
763
  title: "Invalid import: use / instead of \\",
747
764
  description: `A Solidity file is trying to import another file via relative path and is using backslashes (\\\\) instead of slashes (/).
748
-
765
+
749
766
  You must always use slashes (/) in Solidity imports.`,
750
767
  shouldBeReported: false,
751
768
  },
@@ -755,7 +772,7 @@ You must always use slashes (/) in Solidity imports.`,
755
772
  "Invalid import %imported% from %from%. Hardhat doesn't support imports via %protocol%.",
756
773
  title: "Invalid import: trying to use an unsupported protocol",
757
774
  description: `A Solidity file is trying to import a file using an unsupported protocol, like http.
758
-
775
+
759
776
  You can only import files that are available locally or installed through npm.`,
760
777
  shouldBeReported: false,
761
778
  },
@@ -765,7 +782,7 @@ You can only import files that are available locally or installed through npm.`,
765
782
  "Invalid import %imported% from %from%. Hardhat doesn't support imports with absolute paths.",
766
783
  title: "Invalid import: absolute paths unsupported",
767
784
  description: `A Solidity file is trying to import a file using its absolute path.
768
-
785
+
769
786
  This is not supported, as it would lead to hard-to-reproduce compilations.`,
770
787
  shouldBeReported: false,
771
788
  },
@@ -775,7 +792,7 @@ This is not supported, as it would lead to hard-to-reproduce compilations.`,
775
792
  "Invalid import %imported% from %from%. The file being imported is outside of the project",
776
793
  title: "Invalid import: file outside of the project",
777
794
  description: `A Solidity file is trying to import a file that is outside of the project.
778
-
795
+
779
796
  This is not supported by Hardhat.`,
780
797
  shouldBeReported: false,
781
798
  },
@@ -785,7 +802,7 @@ This is not supported by Hardhat.`,
785
802
  "Trying to import %imported% from %from%, but it has an incorrect casing.",
786
803
  title: "Invalid import: wrong file casing",
787
804
  description: `A Solidity file is trying to import a file but its source name casing was wrong.
788
-
805
+
789
806
  Hardhat's compiler is case sensitive to ensure projects are portable across different operating systems.`,
790
807
  shouldBeReported: false,
791
808
  },
@@ -795,7 +812,7 @@ Hardhat's compiler is case sensitive to ensure projects are portable across diff
795
812
  "Trying to resolve the file %incorrect% but its correct case-sensitive name is %correct%",
796
813
  title: "Incorrect source name casing",
797
814
  description: `You tried to resolve a Solidity file with an incorrect casing.
798
-
815
+
799
816
  Hardhat's compiler is case sensitive to ensure projects are portable across different operating systems.`,
800
817
  shouldBeReported: false,
801
818
  },
@@ -805,19 +822,39 @@ Hardhat's compiler is case sensitive to ensure projects are portable across diff
805
822
  "The library %library%, imported from %from%, is not installed. Try installing it using npm.",
806
823
  title: "Invalid import: library not installed",
807
824
  description: `A Solidity file is trying to import another which belongs to a library that is not installed.
808
-
825
+
809
826
  Try installing the library using npm.`,
810
827
  shouldBeReported: false,
811
828
  },
829
+ INCLUDES_OWN_PACKAGE_NAME: {
830
+ number: 412,
831
+ message:
832
+ "Invalid import %imported% from %from%. Trying to import file using the own package's name.",
833
+ title: "Invalid import: includes own package's name",
834
+ description: `A Solidity file is trying to import another using its own package name. This is most likely caused by an existing symlink for the package in your node_modules.
835
+
836
+ Use a relative import instead of referencing the package's name.`,
837
+ shouldBeReported: false,
838
+ },
839
+ IMPORTED_MAPPED_FILE_NOT_FOUND: {
840
+ number: 413,
841
+ message:
842
+ "File %importName% => %imported%, imported from %from%, not found.",
843
+ title: "Imported mapped file not found",
844
+ description: `One of your source files imported a nonexistent or not installed file.
845
+
846
+ Please double check your imports and installed libraries.`,
847
+ shouldBeReported: false,
848
+ },
812
849
  },
813
850
  SOLC: {
814
851
  INVALID_VERSION: {
815
852
  number: 500,
816
853
  message: `Solidity version %version% is invalid or hasn't been released yet.
817
-
854
+
818
855
  If you are certain it has been released, run "npx hardhat clean --global" and try again`,
819
856
  title: "Invalid or unreleased `solc` version",
820
- description: `The Solidity version in your config is invalid or hasn't been released yet.
857
+ description: `The Solidity version in your config is invalid or hasn't been released yet.
821
858
 
822
859
  If you are certain it has been released, run \`npx hardhat clean --global\` and try again.`,
823
860
  shouldBeReported: false,
@@ -827,8 +864,8 @@ If you are certain it has been released, run \`npx hardhat clean --global\` and
827
864
  message:
828
865
  "Couldn't download compiler version %remoteVersion%. Please check your internet connection and try again.",
829
866
  title: "`solc` download failed",
830
- description: `Couldn't download \`solc\`.
831
-
867
+ description: `Couldn't download \`solc\`.
868
+
832
869
  Please check your internet connection and try again.`,
833
870
  shouldBeReported: false,
834
871
  },
@@ -837,8 +874,8 @@ Please check your internet connection and try again.`,
837
874
  message:
838
875
  "Couldn't download compiler version list. Please check your internet connection and try again.",
839
876
  title: "Couldn't obtain `solc` version list",
840
- description: `Couldn't download \`solc\`'s version list.
841
-
877
+ description: `Couldn't download \`solc\`'s version list.
878
+
842
879
  Please check your internet connection and try again.`,
843
880
  shouldBeReported: false,
844
881
  },
@@ -851,7 +888,7 @@ Please check your internet connection and try again.
851
888
  If this error persists, run "npx hardhat clean --global".`,
852
889
  title: "Downloaded `solc` checksum verification failed",
853
890
  description: `Hardhat downloaded a version of the Solidity compiler, and its checksum verification failed.
854
-
891
+
855
892
  Please check your internet connection and try again.
856
893
 
857
894
  If this error persists, run \`npx hardhat clean --global\`.`,
@@ -888,7 +925,7 @@ If this error persists, run "npx hardhat clean --global".`,
888
925
  message: "Compilation failed",
889
926
  title: "Compilation failed",
890
927
  description: `Your smart contracts failed to compile.
891
-
928
+
892
929
  Please check Hardhat's output for more details.`,
893
930
  shouldBeReported: false,
894
931
  },
@@ -897,7 +934,7 @@ Please check Hardhat's output for more details.`,
897
934
  message: "Script %script% doesn't exist.",
898
935
  title: "Script doesn't exist",
899
936
  description: `Tried to use \`hardhat run\` to execute a nonexistent script.
900
-
937
+
901
938
  Please double check your script's path.`,
902
939
  shouldBeReported: false,
903
940
  },
@@ -905,7 +942,7 @@ Please double check your script's path.`,
905
942
  number: 602,
906
943
  message: "Error running script {%script%}: %error%",
907
944
  title: "Error running script",
908
- description: `Running a script resulted in an error.
945
+ description: `Running a script resulted in an error.
909
946
 
910
947
  Please check Hardhat's output for more details.`,
911
948
  shouldBeReported: false,
@@ -914,7 +951,7 @@ Please check Hardhat's output for more details.`,
914
951
  number: 603,
915
952
  message: "Hardhat flatten doesn't support cyclic dependencies.",
916
953
  title: "Flatten detected cyclic dependencies",
917
- description: `Hardhat flatten doesn't support cyclic dependencies.
954
+ description: `Hardhat flatten doesn't support cyclic dependencies.
918
955
 
919
956
  We recommend not using this kind of dependency.`,
920
957
  shouldBeReported: false,
@@ -923,7 +960,7 @@ We recommend not using this kind of dependency.`,
923
960
  number: 604,
924
961
  message: "Error running JSON-RPC server: %error%",
925
962
  title: "Error running JSON-RPC server",
926
- description: `There was error while starting the JSON-RPC HTTP server.`,
963
+ description: `There was an error while starting the JSON-RPC HTTP server.`,
927
964
  shouldBeReported: false,
928
965
  },
929
966
  JSONRPC_UNSUPPORTED_NETWORK: {
@@ -932,7 +969,7 @@ We recommend not using this kind of dependency.`,
932
969
  "Unsupported network for JSON-RPC server. Only hardhat is currently supported.",
933
970
  title: "Unsupported network for JSON-RPC server.",
934
971
  description: `JSON-RPC server can only be started when running the Hardhat Network.
935
-
972
+
936
973
  To start the JSON-RPC server, retry the command without the --network parameter.`,
937
974
  shouldBeReported: false,
938
975
  },
@@ -963,6 +1000,14 @@ The first supported version is %firstSupportedVersion%`,
963
1000
  Please use a newer, supported version.`,
964
1001
  shouldBeReported: true,
965
1002
  },
1003
+ TEST_TASK_ESM_TESTS_RUN_TWICE: {
1004
+ number: 609,
1005
+ message: `Your project uses ESM and you've programmatically run your tests twice. This is not supported yet.`,
1006
+ title: "Running tests twice in an ESM project",
1007
+ description:
1008
+ '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.',
1009
+ shouldBeReported: true,
1010
+ },
966
1011
  },
967
1012
  ARTIFACTS: {
968
1013
  NOT_FOUND: {
@@ -983,7 +1028,7 @@ Please replace %contractName% for one of these options wherever you are trying t
983
1028
  %candidates%
984
1029
  `,
985
1030
  title: "Multiple artifacts found",
986
- description: `There are multiple artifacts that match the given contract name, and Hardhat doesn't know which one to use.
1031
+ description: `There are multiple artifacts that match the given contract name, and Hardhat doesn't know which one to use.
987
1032
 
988
1033
  Please use the fully qualified name of the contract to disambiguate it.`,
989
1034
  shouldBeReported: false,
@@ -994,7 +1039,7 @@ Please use the fully qualified name of the contract to disambiguate it.`,
994
1039
  "Invalid artifact path %incorrect%, its correct case-sensitive path is %correct%",
995
1040
  title: "Incorrect artifact path casing",
996
1041
  description: `You tried to get an artifact file with an incorrect casing.
997
-
1042
+
998
1043
  Hardhat's artifact resolution is case sensitive to ensure projects are portable across different operating systems.`,
999
1044
  shouldBeReported: true,
1000
1045
  },
@@ -1058,15 +1103,6 @@ Please [report it](https://github.com/nomiclabs/hardhat/issues/new) to help us i
1058
1103
  title: "Inferred artifact path doesn't exist",
1059
1104
  description: `The inferred artifact path doesn't exist.
1060
1105
 
1061
- Please [report it](https://github.com/nomiclabs/hardhat/issues/new) to help us improve Hardhat.`,
1062
- shouldBeReported: true,
1063
- },
1064
- NO_SUPPORTED_ARTIFACT_SOURCE: {
1065
- number: 904,
1066
- message: "No configured artifact source can handle method %method%",
1067
- title: "No configured artifact source can handle the request",
1068
- description: `No configured artifact source can handle the requested method.
1069
-
1070
1106
  Please [report it](https://github.com/nomiclabs/hardhat/issues/new) to help us improve Hardhat.`,
1071
1107
  shouldBeReported: true,
1072
1108
  },
@@ -1078,7 +1114,7 @@ Please [report it](https://github.com/nomiclabs/hardhat/issues/new) to help us i
1078
1114
  "Invalid source name %name%. Expected source name but found an absolute path.",
1079
1115
  title: "Invalid source name: absolute path",
1080
1116
  description: `A Solidity source name was expected, but an absolute path was given.
1081
-
1117
+
1082
1118
  If you aren't overriding compilation-related tasks, please report this as a bug.`,
1083
1119
  shouldBeReported: true,
1084
1120
  },
@@ -1088,7 +1124,7 @@ If you aren't overriding compilation-related tasks, please report this as a bug.
1088
1124
  "Invalid source name %name%. Expected source name but found a relative path.",
1089
1125
  title: "Invalid source name: relative path",
1090
1126
  description: `A Solidity source name was expected, but a relative path was given.
1091
-
1127
+
1092
1128
  If you aren't overriding compilation-related tasks, please report this as a bug.`,
1093
1129
  shouldBeReported: true,
1094
1130
  },
@@ -1098,7 +1134,7 @@ If you aren't overriding compilation-related tasks, please report this as a bug.
1098
1134
  "Invalid source %name%. The source name uses backslashes (\\) instead of slashes (/).",
1099
1135
  title: "Invalid source name: backslashes",
1100
1136
  description: `A Solidity source name was invalid because it uses backslashes (\\\\) instead of slashes (/).
1101
-
1137
+
1102
1138
  If you aren't overriding compilation-related tasks, please report this as a bug.`,
1103
1139
  shouldBeReported: true,
1104
1140
  },
@@ -1107,7 +1143,7 @@ If you aren't overriding compilation-related tasks, please report this as a bug.
1107
1143
  message: "Invalid source name %name%. Source names must be normalized",
1108
1144
  title: "Invalid source name: not normalized",
1109
1145
  description: `A Solidity source name was invalid because it wasn't normalized. It probably contains some "." or "..".
1110
-
1146
+
1111
1147
  If you aren't overriding compilation-related tasks, please report this as a bug.`,
1112
1148
  shouldBeReported: true,
1113
1149
  },
@@ -1117,7 +1153,7 @@ If you aren't overriding compilation-related tasks, please report this as a bug.
1117
1153
  "Invalid source map %incorrect%, its correct case-sensitive source name is %correct%",
1118
1154
  title: "Incorrect source name casing",
1119
1155
  description: `You tried to resolve a Solidity file with an incorrect casing.
1120
-
1156
+
1121
1157
  Hardhat's compiler is case sensitive to ensure projects are portable across different operating systems.`,
1122
1158
  shouldBeReported: true,
1123
1159
  },
@@ -1126,7 +1162,7 @@ Hardhat's compiler is case sensitive to ensure projects are portable across diff
1126
1162
  message: "Solidity source file %name% not found",
1127
1163
  title: "Solidity source file not found",
1128
1164
  description: `A source name should correspond to an existing Solidity file but it doesn't.
1129
-
1165
+
1130
1166
  Hardhat's compiler is case sensitive to ensure projects are portable across different operating systems.`,
1131
1167
  shouldBeReported: true,
1132
1168
  },
@@ -1136,7 +1172,7 @@ Hardhat's compiler is case sensitive to ensure projects are portable across diff
1136
1172
  "The file %path% is treated as local but is inside a node_modules directory",
1137
1173
  title: "File from node_modules treated as local",
1138
1174
  description: `A file was treated as local but is inside a node_modules directory.
1139
-
1175
+
1140
1176
  If you aren't overriding compilation-related tasks, please report this as a bug.`,
1141
1177
  shouldBeReported: true,
1142
1178
  },
@@ -1145,7 +1181,7 @@ If you aren't overriding compilation-related tasks, please report this as a bug.
1145
1181
  message: "The file %path% is treated as local but is outside the project",
1146
1182
  title: "File from outside the project treated as local",
1147
1183
  description: `A file was treated as local but is outside the project.
1148
-
1184
+
1149
1185
  If you aren't overriding compilation-related tasks, please report this as a bug.`,
1150
1186
  shouldBeReported: true,
1151
1187
  },