hardhat 2.6.6 → 2.7.1

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 (389) hide show
  1. package/builtin-tasks/check.js +1 -1
  2. package/builtin-tasks/check.js.map +1 -1
  3. package/builtin-tasks/clean.js +3 -3
  4. package/builtin-tasks/clean.js.map +1 -1
  5. package/builtin-tasks/compile.js +57 -48
  6. package/builtin-tasks/compile.js.map +1 -1
  7. package/builtin-tasks/console.js +3 -3
  8. package/builtin-tasks/console.js.map +1 -1
  9. package/builtin-tasks/flatten.js +8 -6
  10. package/builtin-tasks/flatten.js.map +1 -1
  11. package/builtin-tasks/help.js +2 -2
  12. package/builtin-tasks/help.js.map +1 -1
  13. package/builtin-tasks/node.js +45 -22
  14. package/builtin-tasks/node.js.map +1 -1
  15. package/builtin-tasks/run.js +11 -7
  16. package/builtin-tasks/run.js.map +1 -1
  17. package/builtin-tasks/test.js +11 -11
  18. package/builtin-tasks/test.js.map +1 -1
  19. package/builtin-tasks/utils/solidity-files-cache.js +1 -1
  20. package/builtin-tasks/utils/solidity-files-cache.js.map +1 -1
  21. package/builtin-tasks/utils/watch.d.ts.map +1 -1
  22. package/builtin-tasks/utils/watch.js +4 -2
  23. package/builtin-tasks/utils/watch.js.map +1 -1
  24. package/internal/artifacts.d.ts +49 -0
  25. package/internal/artifacts.d.ts.map +1 -1
  26. package/internal/artifacts.js +204 -68
  27. package/internal/artifacts.js.map +1 -1
  28. package/internal/cli/analytics.js +11 -10
  29. package/internal/cli/analytics.js.map +1 -1
  30. package/internal/cli/autocomplete.js +7 -7
  31. package/internal/cli/autocomplete.js.map +1 -1
  32. package/internal/cli/bootstrap.js +2 -2
  33. package/internal/cli/bootstrap.js.map +1 -1
  34. package/internal/cli/cli.js +16 -16
  35. package/internal/cli/cli.js.map +1 -1
  36. package/internal/cli/project-creation.js +13 -13
  37. package/internal/cli/project-creation.js.map +1 -1
  38. package/internal/constants.d.ts +2 -0
  39. package/internal/constants.d.ts.map +1 -1
  40. package/internal/constants.js +4 -1
  41. package/internal/constants.js.map +1 -1
  42. package/internal/context.d.ts +1 -2
  43. package/internal/context.d.ts.map +1 -1
  44. package/internal/context.js +3 -3
  45. package/internal/context.js.map +1 -1
  46. package/internal/core/config/config-loading.d.ts.map +1 -1
  47. package/internal/core/config/config-loading.js +22 -8
  48. package/internal/core/config/config-loading.js.map +1 -1
  49. package/internal/core/config/config-resolution.d.ts.map +1 -1
  50. package/internal/core/config/config-resolution.js +29 -8
  51. package/internal/core/config/config-resolution.js.map +1 -1
  52. package/internal/core/config/config-validation.d.ts +1 -0
  53. package/internal/core/config/config-validation.d.ts.map +1 -1
  54. package/internal/core/config/config-validation.js +113 -38
  55. package/internal/core/config/config-validation.js.map +1 -1
  56. package/internal/core/config/default-config.d.ts +1 -0
  57. package/internal/core/config/default-config.d.ts.map +1 -1
  58. package/internal/core/config/default-config.js +12 -5
  59. package/internal/core/config/default-config.js.map +1 -1
  60. package/internal/core/errors-list.d.ts +14 -0
  61. package/internal/core/errors-list.d.ts.map +1 -1
  62. package/internal/core/errors-list.js +21 -2
  63. package/internal/core/errors-list.js.map +1 -1
  64. package/internal/core/errors.js +3 -3
  65. package/internal/core/errors.js.map +1 -1
  66. package/internal/core/execution-mode.js +2 -2
  67. package/internal/core/execution-mode.js.map +1 -1
  68. package/internal/core/jsonrpc/types/access-list.d.ts +0 -1
  69. package/internal/core/jsonrpc/types/access-list.d.ts.map +1 -1
  70. package/internal/core/jsonrpc/types/access-list.js +1 -1
  71. package/internal/core/jsonrpc/types/access-list.js.map +1 -1
  72. package/internal/core/jsonrpc/types/base-types.js +9 -9
  73. package/internal/core/jsonrpc/types/base-types.js.map +1 -1
  74. package/internal/core/jsonrpc/types/input/blockTag.d.ts +3 -4
  75. package/internal/core/jsonrpc/types/input/blockTag.d.ts.map +1 -1
  76. package/internal/core/jsonrpc/types/input/blockTag.js +3 -3
  77. package/internal/core/jsonrpc/types/input/blockTag.js.map +1 -1
  78. package/internal/core/jsonrpc/types/input/callRequest.d.ts +0 -1
  79. package/internal/core/jsonrpc/types/input/callRequest.d.ts.map +1 -1
  80. package/internal/core/jsonrpc/types/input/callRequest.js +9 -9
  81. package/internal/core/jsonrpc/types/input/callRequest.js.map +1 -1
  82. package/internal/core/jsonrpc/types/input/debugTraceTransaction.js +4 -4
  83. package/internal/core/jsonrpc/types/input/debugTraceTransaction.js.map +1 -1
  84. package/internal/core/jsonrpc/types/input/filterRequest.d.ts +0 -1
  85. package/internal/core/jsonrpc/types/input/filterRequest.d.ts.map +1 -1
  86. package/internal/core/jsonrpc/types/input/filterRequest.js +2 -2
  87. package/internal/core/jsonrpc/types/input/filterRequest.js.map +1 -1
  88. package/internal/core/jsonrpc/types/input/hardhat-network.js +4 -4
  89. package/internal/core/jsonrpc/types/input/hardhat-network.js.map +1 -1
  90. package/internal/core/jsonrpc/types/input/logAddress.js +1 -1
  91. package/internal/core/jsonrpc/types/input/logAddress.js.map +1 -1
  92. package/internal/core/jsonrpc/types/input/logTopics.js +1 -1
  93. package/internal/core/jsonrpc/types/input/logTopics.js.map +1 -1
  94. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts +0 -1
  95. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts.map +1 -1
  96. package/internal/core/jsonrpc/types/input/transactionRequest.js +10 -10
  97. package/internal/core/jsonrpc/types/input/transactionRequest.js.map +1 -1
  98. package/internal/core/jsonrpc/types/output/block.d.ts +0 -1
  99. package/internal/core/jsonrpc/types/output/block.d.ts.map +1 -1
  100. package/internal/core/jsonrpc/types/output/block.js +5 -5
  101. package/internal/core/jsonrpc/types/output/block.js.map +1 -1
  102. package/internal/core/jsonrpc/types/output/log.d.ts +1 -1
  103. package/internal/core/jsonrpc/types/output/log.d.ts.map +1 -1
  104. package/internal/core/jsonrpc/types/output/log.js +5 -4
  105. package/internal/core/jsonrpc/types/output/log.js.map +1 -1
  106. package/internal/core/jsonrpc/types/output/receipt.d.ts +1 -1
  107. package/internal/core/jsonrpc/types/output/receipt.d.ts.map +1 -1
  108. package/internal/core/jsonrpc/types/output/receipt.js +6 -6
  109. package/internal/core/jsonrpc/types/output/receipt.js.map +1 -1
  110. package/internal/core/jsonrpc/types/output/transaction.d.ts +0 -1
  111. package/internal/core/jsonrpc/types/output/transaction.d.ts.map +1 -1
  112. package/internal/core/jsonrpc/types/output/transaction.js +9 -9
  113. package/internal/core/jsonrpc/types/output/transaction.js.map +1 -1
  114. package/internal/core/params/argumentTypes.d.ts.map +1 -1
  115. package/internal/core/params/argumentTypes.js +25 -13
  116. package/internal/core/params/argumentTypes.js.map +1 -1
  117. package/internal/core/params/env-variables.d.ts.map +1 -1
  118. package/internal/core/params/env-variables.js +9 -5
  119. package/internal/core/params/env-variables.js.map +1 -1
  120. package/internal/core/params/hardhat-params.js +2 -2
  121. package/internal/core/params/hardhat-params.js.map +1 -1
  122. package/internal/core/project-structure.js +1 -1
  123. package/internal/core/project-structure.js.map +1 -1
  124. package/internal/core/providers/accounts.d.ts.map +1 -1
  125. package/internal/core/providers/accounts.js +22 -7
  126. package/internal/core/providers/accounts.js.map +1 -1
  127. package/internal/core/providers/backwards-compatibility.js.map +1 -1
  128. package/internal/core/providers/chainId.js +3 -3
  129. package/internal/core/providers/chainId.js.map +1 -1
  130. package/internal/core/providers/construction.d.ts.map +1 -1
  131. package/internal/core/providers/construction.js +6 -4
  132. package/internal/core/providers/construction.js.map +1 -1
  133. package/internal/core/providers/gas-providers.d.ts.map +1 -1
  134. package/internal/core/providers/gas-providers.js +20 -18
  135. package/internal/core/providers/gas-providers.js.map +1 -1
  136. package/internal/core/providers/http.js +1 -1
  137. package/internal/core/providers/http.js.map +1 -1
  138. package/internal/core/providers/util.js +1 -1
  139. package/internal/core/providers/util.js.map +1 -1
  140. package/internal/core/providers/wrapper.d.ts.map +1 -1
  141. package/internal/core/runtime-environment.d.ts.map +1 -1
  142. package/internal/core/runtime-environment.js +7 -5
  143. package/internal/core/runtime-environment.js.map +1 -1
  144. package/internal/core/typescript-support.d.ts +1 -1
  145. package/internal/core/typescript-support.d.ts.map +1 -1
  146. package/internal/core/typescript-support.js +8 -5
  147. package/internal/core/typescript-support.js.map +1 -1
  148. package/internal/hardhat-network/jsonrpc/client.d.ts +2 -0
  149. package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
  150. package/internal/hardhat-network/jsonrpc/client.js +23 -23
  151. package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
  152. package/internal/hardhat-network/jsonrpc/handler.js +16 -8
  153. package/internal/hardhat-network/jsonrpc/handler.js.map +1 -1
  154. package/internal/hardhat-network/jsonrpc/server.js +1 -1
  155. package/internal/hardhat-network/jsonrpc/server.js.map +1 -1
  156. package/internal/hardhat-network/provider/BlockchainData.d.ts +1 -1
  157. package/internal/hardhat-network/provider/BlockchainData.js +12 -12
  158. package/internal/hardhat-network/provider/BlockchainData.js.map +1 -1
  159. package/internal/hardhat-network/provider/HardhatBlockchain.js +2 -2
  160. package/internal/hardhat-network/provider/HardhatBlockchain.js.map +1 -1
  161. package/internal/hardhat-network/provider/HardhatStateManager.js +29 -29
  162. package/internal/hardhat-network/provider/HardhatStateManager.js.map +1 -1
  163. package/internal/hardhat-network/provider/PoolState.js +6 -6
  164. package/internal/hardhat-network/provider/PoolState.js.map +1 -1
  165. package/internal/hardhat-network/provider/TransactionQueue.d.ts +2 -1
  166. package/internal/hardhat-network/provider/TransactionQueue.d.ts.map +1 -1
  167. package/internal/hardhat-network/provider/TransactionQueue.js +16 -2
  168. package/internal/hardhat-network/provider/TransactionQueue.js.map +1 -1
  169. package/internal/hardhat-network/provider/TxPool.js +19 -19
  170. package/internal/hardhat-network/provider/TxPool.js.map +1 -1
  171. package/internal/hardhat-network/provider/filter.js +3 -3
  172. package/internal/hardhat-network/provider/filter.js.map +1 -1
  173. package/internal/hardhat-network/provider/fork/AccountState.js +4 -4
  174. package/internal/hardhat-network/provider/fork/AccountState.js.map +1 -1
  175. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
  176. package/internal/hardhat-network/provider/fork/ForkBlockchain.js +8 -10
  177. package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
  178. package/internal/hardhat-network/provider/fork/ForkStateManager.js +34 -34
  179. package/internal/hardhat-network/provider/fork/ForkStateManager.js.map +1 -1
  180. package/internal/hardhat-network/provider/fork/random.d.ts +0 -1
  181. package/internal/hardhat-network/provider/fork/random.d.ts.map +1 -1
  182. package/internal/hardhat-network/provider/fork/random.js +13 -8
  183. package/internal/hardhat-network/provider/fork/random.js.map +1 -1
  184. package/internal/hardhat-network/provider/fork/rpcToBlockData.js +1 -0
  185. package/internal/hardhat-network/provider/fork/rpcToBlockData.js.map +1 -1
  186. package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +1 -1
  187. package/internal/hardhat-network/provider/modules/debug.js +1 -1
  188. package/internal/hardhat-network/provider/modules/debug.js.map +1 -1
  189. package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -1
  190. package/internal/hardhat-network/provider/modules/eth.js +86 -84
  191. package/internal/hardhat-network/provider/modules/eth.js.map +1 -1
  192. package/internal/hardhat-network/provider/modules/evm.js +9 -9
  193. package/internal/hardhat-network/provider/modules/evm.js.map +1 -1
  194. package/internal/hardhat-network/provider/modules/hardhat.d.ts +3 -0
  195. package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +1 -1
  196. package/internal/hardhat-network/provider/modules/hardhat.js +31 -15
  197. package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
  198. package/internal/hardhat-network/provider/modules/logger.js +17 -17
  199. package/internal/hardhat-network/provider/modules/logger.js.map +1 -1
  200. package/internal/hardhat-network/provider/modules/net.js +2 -2
  201. package/internal/hardhat-network/provider/modules/net.js.map +1 -1
  202. package/internal/hardhat-network/provider/modules/personal.d.ts +9 -0
  203. package/internal/hardhat-network/provider/modules/personal.d.ts.map +1 -0
  204. package/internal/hardhat-network/provider/modules/personal.js +31 -0
  205. package/internal/hardhat-network/provider/modules/personal.js.map +1 -0
  206. package/internal/hardhat-network/provider/modules/web3.js +4 -4
  207. package/internal/hardhat-network/provider/modules/web3.js.map +1 -1
  208. package/internal/hardhat-network/provider/node-types.d.ts +5 -0
  209. package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
  210. package/internal/hardhat-network/provider/node-types.js.map +1 -1
  211. package/internal/hardhat-network/provider/node.d.ts +4 -1
  212. package/internal/hardhat-network/provider/node.d.ts.map +1 -1
  213. package/internal/hardhat-network/provider/node.js +107 -71
  214. package/internal/hardhat-network/provider/node.js.map +1 -1
  215. package/internal/hardhat-network/provider/output.d.ts +1 -1
  216. package/internal/hardhat-network/provider/output.d.ts.map +1 -1
  217. package/internal/hardhat-network/provider/output.js +94 -91
  218. package/internal/hardhat-network/provider/output.js.map +1 -1
  219. package/internal/hardhat-network/provider/provider.d.ts +6 -2
  220. package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
  221. package/internal/hardhat-network/provider/provider.js +14 -4
  222. package/internal/hardhat-network/provider/provider.js.map +1 -1
  223. package/internal/hardhat-network/provider/return-data.js +4 -4
  224. package/internal/hardhat-network/provider/return-data.js.map +1 -1
  225. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
  226. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
  227. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
  228. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js +1 -1
  229. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js.map +1 -1
  230. package/internal/hardhat-network/provider/utils/bnToHex.js +1 -1
  231. package/internal/hardhat-network/provider/utils/bnToHex.js.map +1 -1
  232. package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js.map +1 -1
  233. package/internal/hardhat-network/provider/utils/makeAccount.js +4 -4
  234. package/internal/hardhat-network/provider/utils/makeAccount.js.map +1 -1
  235. package/internal/hardhat-network/provider/utils/makeCommon.js +3 -3
  236. package/internal/hardhat-network/provider/utils/makeCommon.js.map +1 -1
  237. package/internal/hardhat-network/provider/utils/makeForkClient.js +4 -4
  238. package/internal/hardhat-network/provider/utils/makeForkClient.js.map +1 -1
  239. package/internal/hardhat-network/provider/utils/makeStateTrie.js +1 -1
  240. package/internal/hardhat-network/provider/utils/makeStateTrie.js.map +1 -1
  241. package/internal/hardhat-network/provider/utils/txMapToArray.js +1 -1
  242. package/internal/hardhat-network/provider/utils/txMapToArray.js.map +1 -1
  243. package/internal/hardhat-network/stack-traces/compiler-to-model.js +4 -4
  244. package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -1
  245. package/internal/hardhat-network/stack-traces/consoleLogger.js +44 -44
  246. package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
  247. package/internal/hardhat-network/stack-traces/contracts-identifier.js +6 -6
  248. package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +1 -1
  249. package/internal/hardhat-network/stack-traces/debug.js +17 -17
  250. package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
  251. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts.map +1 -1
  252. package/internal/hardhat-network/stack-traces/error-inferrer.js +42 -28
  253. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
  254. package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.js +3 -3
  255. package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.js.map +1 -1
  256. package/internal/hardhat-network/stack-traces/model.js +5 -5
  257. package/internal/hardhat-network/stack-traces/model.js.map +1 -1
  258. package/internal/hardhat-network/stack-traces/solidity-errors.js +3 -3
  259. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  260. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts +1 -1
  261. package/internal/hardhat-network/stack-traces/solidityTracer.js +11 -11
  262. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
  263. package/internal/hardhat-network/stack-traces/source-maps.js +7 -7
  264. package/internal/hardhat-network/stack-traces/source-maps.js.map +1 -1
  265. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +5 -5
  266. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
  267. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js +2 -2
  268. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js.map +1 -1
  269. package/internal/hardhat-network/stack-traces/vm-tracer.js +3 -3
  270. package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
  271. package/internal/lib/hardhat-lib.js +3 -3
  272. package/internal/lib/hardhat-lib.js.map +1 -1
  273. package/internal/reset.js +1 -1
  274. package/internal/reset.js.map +1 -1
  275. package/internal/sentry/anonymizer.js.map +1 -1
  276. package/internal/sentry/reporter.js +5 -5
  277. package/internal/sentry/reporter.js.map +1 -1
  278. package/internal/sentry/subprocess.js +2 -2
  279. package/internal/sentry/subprocess.js.map +1 -1
  280. package/internal/sentry/transport.js +1 -1
  281. package/internal/sentry/transport.js.map +1 -1
  282. package/internal/solidity/compilation-job.js +4 -4
  283. package/internal/solidity/compilation-job.js.map +1 -1
  284. package/internal/solidity/compiler/downloader.d.ts +1 -1
  285. package/internal/solidity/compiler/downloader.d.ts.map +1 -1
  286. package/internal/solidity/compiler/downloader.js +21 -7
  287. package/internal/solidity/compiler/downloader.js.map +1 -1
  288. package/internal/solidity/compiler/index.js +1 -1
  289. package/internal/solidity/compiler/index.js.map +1 -1
  290. package/internal/solidity/dependencyGraph.js +2 -1
  291. package/internal/solidity/dependencyGraph.js.map +1 -1
  292. package/internal/solidity/parse.js +3 -2
  293. package/internal/solidity/parse.js.map +1 -1
  294. package/internal/solidity/resolver.js +10 -10
  295. package/internal/solidity/resolver.js.map +1 -1
  296. package/internal/util/abi-helpers.js +1 -1
  297. package/internal/util/abi-helpers.js.map +1 -1
  298. package/internal/util/download.d.ts.map +1 -1
  299. package/internal/util/download.js +12 -1
  300. package/internal/util/download.js.map +1 -1
  301. package/internal/util/global-dir.js +1 -1
  302. package/internal/util/global-dir.js.map +1 -1
  303. package/internal/util/hardforks.d.ts +2 -1
  304. package/internal/util/hardforks.d.ts.map +1 -1
  305. package/internal/util/hardforks.js +3 -1
  306. package/internal/util/hardforks.js.map +1 -1
  307. package/internal/util/jsonrpc.js +1 -1
  308. package/internal/util/jsonrpc.js.map +1 -1
  309. package/internal/util/packageInfo.js +1 -1
  310. package/internal/util/packageInfo.js.map +1 -1
  311. package/internal/util/scripts-runner.js +3 -3
  312. package/internal/util/scripts-runner.js.map +1 -1
  313. package/package.json +14 -14
  314. package/register.js +7 -7
  315. package/register.js.map +1 -1
  316. package/src/builtin-tasks/compile.ts +14 -0
  317. package/src/builtin-tasks/flatten.ts +4 -2
  318. package/src/builtin-tasks/node.ts +56 -17
  319. package/src/builtin-tasks/run.ts +13 -8
  320. package/src/builtin-tasks/utils/watch.ts +3 -1
  321. package/src/internal/artifacts.ts +269 -72
  322. package/src/internal/cli/analytics.ts +1 -1
  323. package/src/internal/cli/autocomplete.ts +3 -3
  324. package/src/internal/cli/bootstrap.ts +1 -1
  325. package/src/internal/cli/cli.ts +2 -2
  326. package/src/internal/cli/project-creation.ts +2 -2
  327. package/src/internal/constants.ts +4 -0
  328. package/src/internal/context.ts +1 -1
  329. package/src/internal/core/config/config-loading.ts +25 -3
  330. package/src/internal/core/config/config-resolution.ts +28 -0
  331. package/src/internal/core/config/config-validation.ts +147 -15
  332. package/src/internal/core/config/default-config.ts +10 -3
  333. package/src/internal/core/errors-list.ts +21 -2
  334. package/src/internal/core/execution-mode.ts +1 -1
  335. package/src/internal/core/jsonrpc/types/output/log.ts +1 -0
  336. package/src/internal/core/params/argumentTypes.ts +40 -25
  337. package/src/internal/core/params/env-variables.ts +13 -8
  338. package/src/internal/core/params/hardhat-params.ts +2 -2
  339. package/src/internal/core/providers/accounts.ts +23 -3
  340. package/src/internal/core/providers/backwards-compatibility.ts +1 -1
  341. package/src/internal/core/providers/chainId.ts +1 -1
  342. package/src/internal/core/providers/construction.ts +8 -2
  343. package/src/internal/core/providers/gas-providers.ts +7 -5
  344. package/src/internal/core/providers/http.ts +1 -1
  345. package/src/internal/core/providers/wrapper.ts +1 -1
  346. package/src/internal/core/runtime-environment.ts +3 -1
  347. package/src/internal/core/typescript-support.ts +7 -3
  348. package/src/internal/hardhat-network/jsonrpc/client.ts +2 -2
  349. package/src/internal/hardhat-network/jsonrpc/handler.ts +12 -2
  350. package/src/internal/hardhat-network/jsonrpc/server.ts +2 -2
  351. package/src/internal/hardhat-network/provider/TransactionQueue.ts +31 -4
  352. package/src/internal/hardhat-network/provider/TxPool.ts +1 -1
  353. package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +2 -4
  354. package/src/internal/hardhat-network/provider/modules/eth.ts +23 -21
  355. package/src/internal/hardhat-network/provider/modules/hardhat.ts +24 -1
  356. package/src/internal/hardhat-network/provider/modules/personal.ts +39 -0
  357. package/src/internal/hardhat-network/provider/node-types.ts +6 -0
  358. package/src/internal/hardhat-network/provider/node.ts +68 -26
  359. package/src/internal/hardhat-network/provider/output.ts +9 -9
  360. package/src/internal/hardhat-network/provider/provider.ts +16 -2
  361. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +1 -1
  362. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +19 -0
  363. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +1 -1
  364. package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +1 -1
  365. package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +3 -3
  366. package/src/internal/reset.ts +1 -1
  367. package/src/internal/sentry/subprocess.ts +2 -2
  368. package/src/internal/solidity/compiler/downloader.ts +27 -12
  369. package/src/internal/solidity/resolver.ts +1 -1
  370. package/src/internal/util/abi-helpers.ts +1 -1
  371. package/src/internal/util/download.ts +17 -1
  372. package/src/internal/util/hardforks.ts +2 -0
  373. package/src/internal/util/jsonrpc.ts +1 -1
  374. package/src/internal/util/packageInfo.ts +1 -1
  375. package/src/internal/util/scripts-runner.ts +1 -1
  376. package/src/register.ts +1 -1
  377. package/src/types/config.ts +14 -0
  378. package/src/utils/contract-names.ts +112 -0
  379. package/src/utils/source-names.ts +14 -12
  380. package/types/config.d.ts +10 -0
  381. package/types/config.d.ts.map +1 -1
  382. package/utils/contract-names.d.ts +10 -0
  383. package/utils/contract-names.d.ts.map +1 -1
  384. package/utils/contract-names.js +92 -1
  385. package/utils/contract-names.js.map +1 -1
  386. package/utils/source-names.d.ts +1 -1
  387. package/utils/source-names.js +8 -6
  388. package/utils/source-names.js.map +1 -1
  389. package/CHANGELOG.md +0 -32
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat",
3
- "version": "2.6.6",
3
+ "version": "2.7.1",
4
4
  "author": "Nomic Labs LLC",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "homepage": "https://hardhat.org",
@@ -35,7 +35,7 @@
35
35
  "test:tracing": "mocha --recursive \"test/internal/hardhat-network/{helpers,stack-traces}/*.ts\"",
36
36
  "test:forking": "mocha --recursive \"test/internal/hardhat-network/{helpers,jsonrpc,provider}/*.ts\"",
37
37
  "build": "tsc --build .",
38
- "clean": "rimraf builtin-tasks internal types utils *.d.ts *.map *.js build-test tsconfig.tsbuildinfo"
38
+ "clean": "rimraf builtin-tasks internal types utils *.d.ts *.map *.js build-test tsconfig.tsbuildinfo test/internal/hardhat-network/provider/.hardhat_node_test_cache"
39
39
  },
40
40
  "files": [
41
41
  "builtin-tasks/",
@@ -64,13 +64,13 @@
64
64
  "@types/glob": "^7.1.1",
65
65
  "@types/lodash": "^4.14.123",
66
66
  "@types/mocha": "^5.2.6",
67
- "@types/node": "^10.17.24",
67
+ "@types/node": "^12.0.0",
68
68
  "@types/node-fetch": "^2.3.7",
69
69
  "@types/qs": "^6.5.3",
70
70
  "@types/resolve": "^1.17.1",
71
71
  "@types/semver": "^6.0.2",
72
72
  "@types/sinon": "^9.0.8",
73
- "@types/uuid": "^3.4.5",
73
+ "@types/uuid": "^8.3.1",
74
74
  "@types/ws": "^7.2.1",
75
75
  "@typescript-eslint/eslint-plugin": "4.29.2",
76
76
  "@typescript-eslint/parser": "4.29.2",
@@ -82,23 +82,23 @@
82
82
  "eslint-plugin-prettier": "3.4.0",
83
83
  "ethers": "^5.0.0",
84
84
  "mocha": "^7.1.2",
85
- "prettier": "2.3.2",
85
+ "prettier": "2.4.1",
86
86
  "proxy": "^1.0.2",
87
87
  "rimraf": "^3.0.2",
88
88
  "sinon": "^9.0.0",
89
89
  "time-require": "^0.1.2",
90
90
  "ts-node": "^8.1.0",
91
- "typescript": "~4.0.3"
91
+ "typescript": "~4.5.2"
92
92
  },
93
93
  "dependencies": {
94
- "@ethereumjs/block": "^3.4.0",
95
- "@ethereumjs/blockchain": "^5.4.0",
96
- "@ethereumjs/common": "^2.4.0",
97
- "@ethereumjs/tx": "^3.3.0",
98
- "@ethereumjs/vm": "^5.5.2",
94
+ "@ethereumjs/block": "^3.6.0",
95
+ "@ethereumjs/blockchain": "^5.5.0",
96
+ "@ethereumjs/common": "^2.6.0",
97
+ "@ethereumjs/tx": "^3.4.0",
98
+ "@ethereumjs/vm": "^5.6.0",
99
99
  "@ethersproject/abi": "^5.1.2",
100
100
  "@sentry/node": "^5.18.1",
101
- "@solidity-parser/parser": "^0.11.0",
101
+ "@solidity-parser/parser": "^0.14.0",
102
102
  "@types/bn.js": "^5.1.0",
103
103
  "@types/lru-cache": "^5.1.0",
104
104
  "abort-controller": "^3.0.0",
@@ -113,7 +113,7 @@
113
113
  "eth-sig-util": "^2.5.2",
114
114
  "ethereum-cryptography": "^0.1.2",
115
115
  "ethereumjs-abi": "^0.6.8",
116
- "ethereumjs-util": "^7.1.0",
116
+ "ethereumjs-util": "^7.1.3",
117
117
  "find-up": "^2.1.0",
118
118
  "fp-ts": "1.19.3",
119
119
  "fs-extra": "^7.0.1",
@@ -136,7 +136,7 @@
136
136
  "stacktrace-parser": "^0.1.10",
137
137
  "true-case-path": "^2.2.1",
138
138
  "tsort": "0.0.1",
139
- "uuid": "^3.3.2",
139
+ "uuid": "^8.3.2",
140
140
  "ws": "^7.4.6"
141
141
  },
142
142
  "nyc": {
package/register.js CHANGED
@@ -12,21 +12,21 @@ const runtime_environment_1 = require("./internal/core/runtime-environment");
12
12
  const typescript_support_1 = require("./internal/core/typescript-support");
13
13
  const console_1 = require("./internal/util/console");
14
14
  const antlr_prototype_pollution_workaround_1 = require("./internal/util/antlr-prototype-pollution-workaround");
15
- antlr_prototype_pollution_workaround_1.applyWorkaround();
15
+ (0, antlr_prototype_pollution_workaround_1.applyWorkaround)();
16
16
  if (!context_1.HardhatContext.isCreated()) {
17
17
  require("source-map-support/register");
18
18
  const ctx = context_1.HardhatContext.createHardhatContext();
19
- if (console_1.isNodeCalledWithoutAScript()) {
20
- console_1.disableReplWriterShowProxy();
19
+ if ((0, console_1.isNodeCalledWithoutAScript)()) {
20
+ (0, console_1.disableReplWriterShowProxy)();
21
21
  }
22
- const hardhatArguments = env_variables_1.getEnvHardhatArguments(hardhat_params_1.HARDHAT_PARAM_DEFINITIONS, process.env);
22
+ const hardhatArguments = (0, env_variables_1.getEnvHardhatArguments)(hardhat_params_1.HARDHAT_PARAM_DEFINITIONS, process.env);
23
23
  if (hardhatArguments.verbose) {
24
24
  debug_1.default.enable("hardhat*");
25
25
  }
26
- if (typescript_support_1.willRunWithTypescript(hardhatArguments.config)) {
27
- typescript_support_1.loadTsNode();
26
+ if ((0, typescript_support_1.willRunWithTypescript)(hardhatArguments.config)) {
27
+ (0, typescript_support_1.loadTsNode)(hardhatArguments.tsconfig);
28
28
  }
29
- const config = config_loading_1.loadConfigAndTasks(hardhatArguments);
29
+ const config = (0, config_loading_1.loadConfigAndTasks)(hardhatArguments);
30
30
  const env = new runtime_environment_1.Environment(config, hardhatArguments, ctx.tasksDSL.getTaskDefinitions(), ctx.extendersManager.getExtenders(), ctx.experimentalHardhatNetworkMessageTraceHooks);
31
31
  ctx.setHardhatRuntimeEnvironment(env);
32
32
  env.injectToGlobal();
package/register.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["src/register.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,gDAAoD;AACpD,0EAA2E;AAC3E,wEAA8E;AAC9E,0EAAkF;AAClF,6EAAkE;AAClE,2EAG4C;AAC5C,qDAGiC;AACjC,+GAAuF;AAEvF,sDAAe,EAAE,CAAC;AAElB,IAAI,CAAC,wBAAc,CAAC,SAAS,EAAE,EAAE;IAC/B,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAEvC,MAAM,GAAG,GAAG,wBAAc,CAAC,oBAAoB,EAAE,CAAC;IAElD,IAAI,oCAA0B,EAAE,EAAE;QAChC,oCAA0B,EAAE,CAAC;KAC9B;IAED,MAAM,gBAAgB,GAAG,sCAAsB,CAC7C,0CAAyB,EACzB,OAAO,CAAC,GAAG,CACZ,CAAC;IAEF,IAAI,gBAAgB,CAAC,OAAO,EAAE;QAC5B,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KAC1B;IAED,IAAI,0CAAqB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAClD,+BAAU,EAAE,CAAC;KACd;IAED,MAAM,MAAM,GAAG,mCAAkB,CAAC,gBAAgB,CAAC,CAAC;IAEpD,MAAM,GAAG,GAAG,IAAI,iCAAW,CACzB,MAAM,EACN,gBAAgB,EAChB,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EACjC,GAAG,CAAC,gBAAgB,CAAC,YAAY,EAAE,EACnC,GAAG,CAAC,2CAA2C,CAChD,CAAC;IAEF,GAAG,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAEtC,GAAG,CAAC,cAAc,EAAE,CAAC;CACtB"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["src/register.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,gDAAoD;AACpD,0EAA2E;AAC3E,wEAA8E;AAC9E,0EAAkF;AAClF,6EAAkE;AAClE,2EAG4C;AAC5C,qDAGiC;AACjC,+GAAuF;AAEvF,IAAA,sDAAe,GAAE,CAAC;AAElB,IAAI,CAAC,wBAAc,CAAC,SAAS,EAAE,EAAE;IAC/B,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAEvC,MAAM,GAAG,GAAG,wBAAc,CAAC,oBAAoB,EAAE,CAAC;IAElD,IAAI,IAAA,oCAA0B,GAAE,EAAE;QAChC,IAAA,oCAA0B,GAAE,CAAC;KAC9B;IAED,MAAM,gBAAgB,GAAG,IAAA,sCAAsB,EAC7C,0CAAyB,EACzB,OAAO,CAAC,GAAG,CACZ,CAAC;IAEF,IAAI,gBAAgB,CAAC,OAAO,EAAE;QAC5B,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KAC1B;IAED,IAAI,IAAA,0CAAqB,EAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAClD,IAAA,+BAAU,EAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KACvC;IAED,MAAM,MAAM,GAAG,IAAA,mCAAkB,EAAC,gBAAgB,CAAC,CAAC;IAEpD,MAAM,GAAG,GAAG,IAAI,iCAAW,CACzB,MAAM,EACN,gBAAgB,EAChB,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EACjC,GAAG,CAAC,gBAAgB,CAAC,YAAY,EAAE,EACnC,GAAG,CAAC,2CAA2C,CAChD,CAAC;IAEF,GAAG,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAEtC,GAAG,CAAC,cAAc,EAAE,CAAC;CACtB"}
@@ -99,6 +99,8 @@ function isConsoleLogError(error: any): boolean {
99
99
 
100
100
  const log = debug("hardhat:core:tasks:compile");
101
101
 
102
+ const COMPILE_TASK_FIRST_SOLC_VERSION_SUPPORTED = "0.4.11";
103
+
102
104
  /**
103
105
  * Returns a list of absolute paths to all the solidity files in the project.
104
106
  * This list doesn't include dependencies, for example solidity files inside
@@ -643,6 +645,18 @@ subtask(TASK_COMPILE_SOLIDITY_COMPILE_SOLC)
643
645
  },
644
646
  { run }
645
647
  ): Promise<{ output: CompilerOutput; solcBuild: SolcBuild }> => {
648
+ // versions older than 0.4.11 don't work with hardhat
649
+ // see issue https://github.com/nomiclabs/hardhat/issues/2004
650
+ if (semver.lt(solcVersion, COMPILE_TASK_FIRST_SOLC_VERSION_SUPPORTED)) {
651
+ throw new HardhatError(
652
+ ERRORS.BUILTIN_TASKS.COMPILE_TASK_UNSUPPORTED_SOLC_VERSION,
653
+ {
654
+ version: solcVersion,
655
+ firstSupportedVersion: COMPILE_TASK_FIRST_SOLC_VERSION_SUPPORTED,
656
+ }
657
+ );
658
+ }
659
+
646
660
  const solcBuild: SolcBuild = await run(
647
661
  TASK_COMPILE_SOLIDITY_GET_SOLC_BUILD,
648
662
  {
@@ -42,8 +42,10 @@ function getSortedFiles(dependenciesGraph: DependencyGraph) {
42
42
  const sortedNames = [...new Set(withEntries)];
43
43
  return sortedNames.map((n) => filesMap[n]);
44
44
  } catch (error) {
45
- if (error.toString().includes("Error: There is a cycle in the graph.")) {
46
- throw new HardhatError(ERRORS.BUILTIN_TASKS.FLATTEN_CYCLE, error);
45
+ if (error instanceof Error) {
46
+ if (error.toString().includes("Error: There is a cycle in the graph.")) {
47
+ throw new HardhatError(ERRORS.BUILTIN_TASKS.FLATTEN_CYCLE, error);
48
+ }
47
49
  }
48
50
 
49
51
  // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
@@ -20,6 +20,7 @@ import {
20
20
  JsonRpcServer,
21
21
  } from "../types";
22
22
 
23
+ import { HARDHAT_NETWORK_MNEMONIC } from "../internal/core/config/default-config";
23
24
  import {
24
25
  TASK_NODE,
25
26
  TASK_NODE_CREATE_SERVER,
@@ -31,10 +32,23 @@ import { watchCompilerOutput } from "./utils/watch";
31
32
 
32
33
  const log = debug("hardhat:core:tasks:node");
33
34
 
35
+ function printDefaultConfigWarning() {
36
+ console.log(
37
+ chalk.bold(
38
+ "WARNING: These accounts, and their private keys, are publicly known."
39
+ )
40
+ );
41
+ console.log(
42
+ chalk.bold(
43
+ "Any funds sent to them on Mainnet or any other live network WILL BE LOST."
44
+ )
45
+ );
46
+ }
47
+
34
48
  function logHardhatNetworkAccounts(networkConfig: HardhatNetworkConfig) {
35
- if (networkConfig.accounts === undefined) {
36
- return;
37
- }
49
+ const isDefaultConfig =
50
+ !Array.isArray(networkConfig.accounts) &&
51
+ networkConfig.accounts.mnemonic === HARDHAT_NETWORK_MNEMONIC;
38
52
 
39
53
  const { BN, bufferToHex, privateToAddress, toBuffer } =
40
54
  require("ethereumjs-util") as typeof EthereumjsUtilT;
@@ -42,20 +56,38 @@ function logHardhatNetworkAccounts(networkConfig: HardhatNetworkConfig) {
42
56
  console.log("Accounts");
43
57
  console.log("========");
44
58
 
59
+ if (isDefaultConfig) {
60
+ console.log();
61
+ printDefaultConfigWarning();
62
+ console.log();
63
+ }
64
+
45
65
  const accounts = normalizeHardhatNetworkAccountsConfig(
46
66
  networkConfig.accounts
47
67
  );
48
68
 
49
69
  for (const [index, account] of accounts.entries()) {
50
70
  const address = bufferToHex(privateToAddress(toBuffer(account.privateKey)));
51
- const privateKey = bufferToHex(toBuffer(account.privateKey));
71
+
52
72
  const balance = new BN(account.balance)
53
73
  .div(new BN(10).pow(new BN(18)))
54
74
  .toString(10);
55
75
 
56
- console.log(`Account #${index}: ${address} (${balance} ETH)
57
- Private Key: ${privateKey}
58
- `);
76
+ let entry = `Account #${index}: ${address} (${balance} ETH)`;
77
+
78
+ if (isDefaultConfig) {
79
+ const privateKey = bufferToHex(toBuffer(account.privateKey));
80
+ entry += `
81
+ Private Key: ${privateKey}`;
82
+ }
83
+
84
+ console.log(entry);
85
+ console.log();
86
+ }
87
+
88
+ if (isDefaultConfig) {
89
+ printDefaultConfigWarning();
90
+ console.log();
59
91
  }
60
92
  }
61
93
 
@@ -268,7 +300,7 @@ task(TASK_NODE, "Starts a JSON-RPC server on top of Hardhat Network")
268
300
  forkUrl,
269
301
  });
270
302
 
271
- // the default hostname is "localhost" unless we are inside a docker
303
+ // the default hostname is "127.0.0.1" unless we are inside a docker
272
304
  // container, in that case we use "0.0.0.0"
273
305
  let hostname: string;
274
306
  if (hostnameParam !== undefined) {
@@ -278,7 +310,7 @@ task(TASK_NODE, "Starts a JSON-RPC server on top of Hardhat Network")
278
310
  if (insideDocker) {
279
311
  hostname = "0.0.0.0";
280
312
  } else {
281
- hostname = "localhost";
313
+ hostname = "127.0.0.1";
282
314
  }
283
315
  }
284
316
 
@@ -311,7 +343,9 @@ task(TASK_NODE, "Starts a JSON-RPC server on top of Hardhat Network")
311
343
  error
312
344
  );
313
345
 
314
- Reporter.reportError(error);
346
+ if (error instanceof Error) {
347
+ Reporter.reportError(error);
348
+ }
315
349
  }
316
350
 
317
351
  await run(TASK_NODE_SERVER_READY, {
@@ -327,13 +361,18 @@ task(TASK_NODE, "Starts a JSON-RPC server on top of Hardhat Network")
327
361
  throw error;
328
362
  }
329
363
 
330
- throw new HardhatError(
331
- ERRORS.BUILTIN_TASKS.JSONRPC_SERVER_ERROR,
332
- {
333
- error: error.message,
334
- },
335
- error
336
- );
364
+ if (error instanceof Error) {
365
+ throw new HardhatError(
366
+ ERRORS.BUILTIN_TASKS.JSONRPC_SERVER_ERROR,
367
+ {
368
+ error: error.message,
369
+ },
370
+ error
371
+ );
372
+ }
373
+
374
+ // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
375
+ throw error;
337
376
  }
338
377
  }
339
378
  );
@@ -38,14 +38,19 @@ task(TASK_RUN, "Runs a user-defined script after compiling the project")
38
38
  try {
39
39
  process.exitCode = await runScriptWithHardhat(hardhatArguments, script);
40
40
  } catch (error) {
41
- throw new HardhatError(
42
- ERRORS.BUILTIN_TASKS.RUN_SCRIPT_ERROR,
43
- {
44
- script,
45
- error: error.message,
46
- },
47
- error
48
- );
41
+ if (error instanceof Error) {
42
+ throw new HardhatError(
43
+ ERRORS.BUILTIN_TASKS.RUN_SCRIPT_ERROR,
44
+ {
45
+ script,
46
+ error: error.message,
47
+ },
48
+ error
49
+ );
50
+ }
51
+
52
+ // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
53
+ throw error;
49
54
  }
50
55
  }
51
56
  );
@@ -41,7 +41,9 @@ export async function watchCompilerOutput(
41
41
  error
42
42
  );
43
43
 
44
- Reporter.reportError(error);
44
+ if (error instanceof Error) {
45
+ Reporter.reportError(error);
46
+ }
45
47
  }
46
48
  };
47
49