hardhat 2.16.1 → 2.17.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 (310) hide show
  1. package/.eslintrc.js +34 -3
  2. package/builtin-tasks/compile.js +2 -2
  3. package/builtin-tasks/compile.js.map +1 -1
  4. package/builtin-tasks/flatten.js +132 -6
  5. package/builtin-tasks/flatten.js.map +1 -1
  6. package/builtin-tasks/node.js +1 -1
  7. package/builtin-tasks/node.js.map +1 -1
  8. package/builtin-tasks/run.js +1 -1
  9. package/builtin-tasks/run.js.map +1 -1
  10. package/builtin-tasks/task-names.d.ts +1 -0
  11. package/builtin-tasks/task-names.d.ts.map +1 -1
  12. package/builtin-tasks/task-names.js +3 -2
  13. package/builtin-tasks/task-names.js.map +1 -1
  14. package/builtin-tasks/utils/solidity-files-cache.js +3 -3
  15. package/builtin-tasks/utils/solidity-files-cache.js.map +1 -1
  16. package/builtin-tasks/utils/watch.d.ts +1 -1
  17. package/builtin-tasks/utils/watch.d.ts.map +1 -1
  18. package/console.sol +1192 -1171
  19. package/internal/artifacts.d.ts +1 -2
  20. package/internal/artifacts.d.ts.map +1 -1
  21. package/internal/artifacts.js +3 -11
  22. package/internal/artifacts.js.map +1 -1
  23. package/internal/cli/ArgumentsParser.js +1 -1
  24. package/internal/cli/ArgumentsParser.js.map +1 -1
  25. package/internal/cli/analytics.d.ts +1 -1
  26. package/internal/cli/analytics.d.ts.map +1 -1
  27. package/internal/cli/analytics.js +30 -8
  28. package/internal/cli/analytics.js.map +1 -1
  29. package/internal/cli/bootstrap.js +3 -3
  30. package/internal/cli/bootstrap.js.map +1 -1
  31. package/internal/cli/constants.d.ts +2 -0
  32. package/internal/cli/constants.d.ts.map +1 -0
  33. package/internal/cli/constants.js +5 -0
  34. package/internal/cli/constants.js.map +1 -0
  35. package/internal/cli/project-creation.d.ts +1 -1
  36. package/internal/cli/project-creation.js +4 -4
  37. package/internal/cli/project-creation.js.map +1 -1
  38. package/internal/cli/prompt.js +2 -2
  39. package/internal/cli/prompt.js.map +1 -1
  40. package/internal/cli/types.d.ts +1 -1
  41. package/internal/cli/types.d.ts.map +1 -1
  42. package/internal/context.d.ts +1 -1
  43. package/internal/context.d.ts.map +1 -1
  44. package/internal/core/config/config-loading.js +2 -2
  45. package/internal/core/config/config-loading.js.map +1 -1
  46. package/internal/core/errors.js +17 -17
  47. package/internal/core/errors.js.map +1 -1
  48. package/internal/core/jsonrpc/types/access-list.d.ts +2 -2
  49. package/internal/core/jsonrpc/types/access-list.d.ts.map +1 -1
  50. package/internal/core/jsonrpc/types/input/blockTag.d.ts +4 -4
  51. package/internal/core/jsonrpc/types/input/blockTag.d.ts.map +1 -1
  52. package/internal/core/jsonrpc/types/input/callRequest.d.ts +1 -1
  53. package/internal/core/jsonrpc/types/input/callRequest.d.ts.map +1 -1
  54. package/internal/core/jsonrpc/types/input/debugTraceTransaction.d.ts +3 -1
  55. package/internal/core/jsonrpc/types/input/debugTraceTransaction.d.ts.map +1 -1
  56. package/internal/core/jsonrpc/types/input/debugTraceTransaction.js +1 -0
  57. package/internal/core/jsonrpc/types/input/debugTraceTransaction.js.map +1 -1
  58. package/internal/core/jsonrpc/types/input/filterRequest.d.ts +2 -2
  59. package/internal/core/jsonrpc/types/input/filterRequest.d.ts.map +1 -1
  60. package/internal/core/jsonrpc/types/input/hardhat-network.d.ts +3 -3
  61. package/internal/core/jsonrpc/types/input/hardhat-network.d.ts.map +1 -1
  62. package/internal/core/jsonrpc/types/input/logAddress.d.ts +2 -2
  63. package/internal/core/jsonrpc/types/input/logAddress.d.ts.map +1 -1
  64. package/internal/core/jsonrpc/types/input/logTopics.d.ts +2 -2
  65. package/internal/core/jsonrpc/types/input/logTopics.d.ts.map +1 -1
  66. package/internal/core/jsonrpc/types/input/solc.d.ts +2 -2
  67. package/internal/core/jsonrpc/types/input/solc.d.ts.map +1 -1
  68. package/internal/core/jsonrpc/types/input/subscribeRequest.d.ts +1 -1
  69. package/internal/core/jsonrpc/types/input/subscribeRequest.d.ts.map +1 -1
  70. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts +1 -1
  71. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts.map +1 -1
  72. package/internal/core/jsonrpc/types/input/validation.js +1 -1
  73. package/internal/core/jsonrpc/types/input/validation.js.map +1 -1
  74. package/internal/core/jsonrpc/types/output/block.d.ts +2 -2
  75. package/internal/core/jsonrpc/types/output/block.d.ts.map +1 -1
  76. package/internal/core/jsonrpc/types/output/decodeJsonRpcResponse.js +1 -1
  77. package/internal/core/jsonrpc/types/output/decodeJsonRpcResponse.js.map +1 -1
  78. package/internal/core/jsonrpc/types/output/log.d.ts +1 -1
  79. package/internal/core/jsonrpc/types/output/log.d.ts.map +1 -1
  80. package/internal/core/jsonrpc/types/output/receipt.d.ts +1 -1
  81. package/internal/core/jsonrpc/types/output/receipt.d.ts.map +1 -1
  82. package/internal/core/jsonrpc/types/output/transaction.d.ts +1 -1
  83. package/internal/core/jsonrpc/types/output/transaction.d.ts.map +1 -1
  84. package/internal/core/params/argumentTypes.js +4 -4
  85. package/internal/core/params/argumentTypes.js.map +1 -1
  86. package/internal/core/params/env-variables.js +1 -1
  87. package/internal/core/params/env-variables.js.map +1 -1
  88. package/internal/core/providers/backwards-compatibility.js +1 -1
  89. package/internal/core/providers/backwards-compatibility.js.map +1 -1
  90. package/internal/core/providers/errors.js +12 -12
  91. package/internal/core/providers/errors.js.map +1 -1
  92. package/internal/core/providers/gas-providers.js +2 -2
  93. package/internal/core/providers/gas-providers.js.map +1 -1
  94. package/internal/core/providers/http.d.ts.map +1 -1
  95. package/internal/core/providers/http.js +10 -8
  96. package/internal/core/providers/http.js.map +1 -1
  97. package/internal/core/providers/lazy-initialization.d.ts +2 -2
  98. package/internal/core/providers/lazy-initialization.d.ts.map +1 -1
  99. package/internal/core/providers/wrapper.js +1 -1
  100. package/internal/core/providers/wrapper.js.map +1 -1
  101. package/internal/core/runtime-environment.js +2 -2
  102. package/internal/core/runtime-environment.js.map +1 -1
  103. package/internal/core/tasks/task-definitions.js +3 -3
  104. package/internal/core/tasks/task-definitions.js.map +1 -1
  105. package/internal/hardhat-network/jsonrpc/client.js +3 -3
  106. package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
  107. package/internal/hardhat-network/jsonrpc/handler.js +3 -3
  108. package/internal/hardhat-network/jsonrpc/handler.js.map +1 -1
  109. package/internal/hardhat-network/provider/BlockchainBase.js +1 -1
  110. package/internal/hardhat-network/provider/BlockchainBase.js.map +1 -1
  111. package/internal/hardhat-network/provider/HardhatBlockchain.js +1 -1
  112. package/internal/hardhat-network/provider/HardhatBlockchain.js.map +1 -1
  113. package/internal/hardhat-network/provider/MiningTimer.js +1 -1
  114. package/internal/hardhat-network/provider/MiningTimer.js.map +1 -1
  115. package/internal/hardhat-network/provider/PoolState.d.ts +4 -4
  116. package/internal/hardhat-network/provider/PoolState.d.ts.map +1 -1
  117. package/internal/hardhat-network/provider/TransactionQueue.js +3 -3
  118. package/internal/hardhat-network/provider/TransactionQueue.js.map +1 -1
  119. package/internal/hardhat-network/provider/TxPool.js +1 -1
  120. package/internal/hardhat-network/provider/TxPool.js.map +1 -1
  121. package/internal/hardhat-network/provider/fork/ForkBlockchain.js +1 -1
  122. package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
  123. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts +6 -1
  124. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts.map +1 -1
  125. package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +1 -1
  126. package/internal/hardhat-network/provider/modules/debug.d.ts +1 -0
  127. package/internal/hardhat-network/provider/modules/debug.d.ts.map +1 -1
  128. package/internal/hardhat-network/provider/modules/debug.js +9 -2
  129. package/internal/hardhat-network/provider/modules/debug.js.map +1 -1
  130. package/internal/hardhat-network/provider/modules/eth.js +1 -1
  131. package/internal/hardhat-network/provider/modules/eth.js.map +1 -1
  132. package/internal/hardhat-network/provider/modules/evm.js +1 -1
  133. package/internal/hardhat-network/provider/modules/evm.js.map +1 -1
  134. package/internal/hardhat-network/provider/modules/hardhat.js +1 -1
  135. package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
  136. package/internal/hardhat-network/provider/modules/net.js +1 -1
  137. package/internal/hardhat-network/provider/modules/net.js.map +1 -1
  138. package/internal/hardhat-network/provider/modules/personal.js +1 -1
  139. package/internal/hardhat-network/provider/modules/personal.js.map +1 -1
  140. package/internal/hardhat-network/provider/modules/web3.js +1 -1
  141. package/internal/hardhat-network/provider/modules/web3.js.map +1 -1
  142. package/internal/hardhat-network/provider/node-types.d.ts +7 -7
  143. package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
  144. package/internal/hardhat-network/provider/node.js +65 -65
  145. package/internal/hardhat-network/provider/node.js.map +1 -1
  146. package/internal/hardhat-network/provider/output.d.ts +2 -2
  147. package/internal/hardhat-network/provider/output.d.ts.map +1 -1
  148. package/internal/hardhat-network/provider/output.js +1 -1
  149. package/internal/hardhat-network/provider/output.js.map +1 -1
  150. package/internal/hardhat-network/provider/provider.js +1 -1
  151. package/internal/hardhat-network/provider/provider.js.map +1 -1
  152. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +12 -12
  153. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
  154. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +11 -11
  155. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
  156. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +12 -12
  157. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
  158. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js +13 -13
  159. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js.map +1 -1
  160. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js +13 -13
  161. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js.map +1 -1
  162. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js +6 -6
  163. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js.map +1 -1
  164. package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js +7 -7
  165. package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js.map +1 -1
  166. package/internal/hardhat-network/provider/utils/assertions.js +1 -1
  167. package/internal/hardhat-network/provider/utils/assertions.js.map +1 -1
  168. package/internal/hardhat-network/provider/utils/makeForkClient.d.ts +1 -0
  169. package/internal/hardhat-network/provider/utils/makeForkClient.d.ts.map +1 -1
  170. package/internal/hardhat-network/provider/utils/makeForkClient.js +9 -3
  171. package/internal/hardhat-network/provider/utils/makeForkClient.js.map +1 -1
  172. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js +1 -1
  173. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js.map +1 -1
  174. package/internal/hardhat-network/stack-traces/compiler-to-model.js +1 -1
  175. package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -1
  176. package/internal/hardhat-network/stack-traces/consoleLogger.d.ts +3 -2
  177. package/internal/hardhat-network/stack-traces/consoleLogger.d.ts.map +1 -1
  178. package/internal/hardhat-network/stack-traces/consoleLogger.js +20 -1
  179. package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
  180. package/internal/hardhat-network/stack-traces/constants.d.ts +1 -1
  181. package/internal/hardhat-network/stack-traces/constants.js +1 -1
  182. package/internal/hardhat-network/stack-traces/contracts-identifier.js +5 -5
  183. package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +1 -1
  184. package/internal/hardhat-network/stack-traces/error-inferrer.js +1 -1
  185. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
  186. package/internal/hardhat-network/stack-traces/message-trace.d.ts +4 -4
  187. package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -1
  188. package/internal/hardhat-network/stack-traces/model.js +6 -6
  189. package/internal/hardhat-network/stack-traces/model.js.map +1 -1
  190. package/internal/hardhat-network/stack-traces/solidity-errors.js +2 -2
  191. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  192. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +2 -2
  193. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts.map +1 -1
  194. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
  195. package/internal/hardhat-network/stack-traces/solidityTracer.js +2 -1
  196. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
  197. package/internal/hardhat-network/stack-traces/vm-tracer.js +1 -1
  198. package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
  199. package/internal/sentry/reporter.js +12 -12
  200. package/internal/sentry/reporter.js.map +1 -1
  201. package/internal/solidity/compiler/downloader.js +11 -11
  202. package/internal/solidity/compiler/downloader.js.map +1 -1
  203. package/internal/solidity/dependencyGraph.js +5 -5
  204. package/internal/solidity/dependencyGraph.js.map +1 -1
  205. package/internal/solidity/parse.js +1 -1
  206. package/internal/solidity/parse.js.map +1 -1
  207. package/internal/solidity/resolver.js +2 -2
  208. package/internal/solidity/resolver.js.map +1 -1
  209. package/internal/util/caller-package.d.ts.map +1 -1
  210. package/internal/util/caller-package.js +5 -1
  211. package/internal/util/caller-package.js.map +1 -1
  212. package/internal/util/ci-detection.d.ts.map +1 -1
  213. package/internal/util/ci-detection.js +2 -2
  214. package/internal/util/ci-detection.js.map +1 -1
  215. package/internal/util/download.js +1 -1
  216. package/internal/util/download.js.map +1 -1
  217. package/internal/util/fs-utils.js +10 -10
  218. package/internal/util/fs-utils.js.map +1 -1
  219. package/internal/util/jsonrpc.d.ts +1 -1
  220. package/internal/util/jsonrpc.d.ts.map +1 -1
  221. package/internal/util/jsonrpc.js +1 -1
  222. package/internal/util/jsonrpc.js.map +1 -1
  223. package/internal/util/unsafe.d.ts +1 -1
  224. package/internal/util/unsafe.d.ts.map +1 -1
  225. package/internal/util/unsafe.js.map +1 -1
  226. package/internal/vendor/await-semaphore/index.js +1 -1
  227. package/internal/vendor/await-semaphore/index.js.map +1 -1
  228. package/package.json +9 -12
  229. package/sample-projects/javascript/hardhat.config.js +1 -1
  230. package/sample-projects/javascript-esm/hardhat.config.cjs +1 -1
  231. package/sample-projects/typescript/hardhat.config.ts +1 -1
  232. package/src/builtin-tasks/compile.ts +2 -2
  233. package/src/builtin-tasks/flatten.ts +229 -20
  234. package/src/builtin-tasks/node.ts +1 -1
  235. package/src/builtin-tasks/run.ts +1 -1
  236. package/src/builtin-tasks/task-names.ts +2 -0
  237. package/src/internal/artifacts.ts +3 -11
  238. package/src/internal/cli/analytics.ts +2 -2
  239. package/src/internal/cli/bootstrap.ts +2 -2
  240. package/src/internal/cli/constants.ts +1 -0
  241. package/src/internal/cli/project-creation.ts +4 -4
  242. package/src/internal/cli/prompt.ts +2 -2
  243. package/src/internal/core/config/config-loading.ts +2 -2
  244. package/src/internal/core/jsonrpc/types/input/debugTraceTransaction.ts +1 -0
  245. package/src/internal/core/jsonrpc/types/input/validation.ts +1 -1
  246. package/src/internal/core/jsonrpc/types/output/decodeJsonRpcResponse.ts +1 -1
  247. package/src/internal/core/params/argumentTypes.ts +4 -4
  248. package/src/internal/core/params/env-variables.ts +1 -1
  249. package/src/internal/core/providers/backwards-compatibility.ts +1 -1
  250. package/src/internal/core/providers/gas-providers.ts +1 -1
  251. package/src/internal/core/providers/http.ts +11 -8
  252. package/src/internal/core/providers/wrapper.ts +1 -1
  253. package/src/internal/core/runtime-environment.ts +1 -1
  254. package/src/internal/hardhat-network/jsonrpc/client.ts +3 -3
  255. package/src/internal/hardhat-network/jsonrpc/handler.ts +3 -3
  256. package/src/internal/hardhat-network/provider/BlockchainBase.ts +1 -1
  257. package/src/internal/hardhat-network/provider/HardhatBlockchain.ts +1 -1
  258. package/src/internal/hardhat-network/provider/MiningTimer.ts +1 -1
  259. package/src/internal/hardhat-network/provider/TransactionQueue.ts +3 -3
  260. package/src/internal/hardhat-network/provider/TxPool.ts +1 -1
  261. package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +1 -1
  262. package/src/internal/hardhat-network/provider/fork/ForkStateManager.ts +1 -1
  263. package/src/internal/hardhat-network/provider/fork/rpcToTxData.ts +10 -1
  264. package/src/internal/hardhat-network/provider/modules/debug.ts +22 -3
  265. package/src/internal/hardhat-network/provider/modules/eth.ts +1 -1
  266. package/src/internal/hardhat-network/provider/modules/evm.ts +1 -1
  267. package/src/internal/hardhat-network/provider/modules/hardhat.ts +1 -1
  268. package/src/internal/hardhat-network/provider/modules/net.ts +1 -1
  269. package/src/internal/hardhat-network/provider/modules/personal.ts +1 -1
  270. package/src/internal/hardhat-network/provider/modules/web3.ts +1 -1
  271. package/src/internal/hardhat-network/provider/node.ts +3 -3
  272. package/src/internal/hardhat-network/provider/output.ts +1 -1
  273. package/src/internal/hardhat-network/provider/provider.ts +1 -1
  274. package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +1 -1
  275. package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +1 -1
  276. package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +1 -1
  277. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +1 -1
  278. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts +1 -1
  279. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts +1 -1
  280. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.ts +1 -1
  281. package/src/internal/hardhat-network/provider/utils/assertions.ts +1 -1
  282. package/src/internal/hardhat-network/provider/utils/makeForkClient.ts +11 -2
  283. package/src/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.ts +1 -1
  284. package/src/internal/hardhat-network/stack-traces/compiler-to-model.ts +1 -1
  285. package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +26 -1
  286. package/src/internal/hardhat-network/stack-traces/constants.ts +1 -1
  287. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +1 -1
  288. package/src/internal/hardhat-network/stack-traces/model.ts +1 -1
  289. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +2 -2
  290. package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +4 -1
  291. package/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts +1 -1
  292. package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +1 -1
  293. package/src/internal/solidity/parse.ts +1 -1
  294. package/src/internal/solidity/resolver.ts +2 -2
  295. package/src/internal/util/caller-package.ts +7 -1
  296. package/src/internal/util/ci-detection.ts +3 -1
  297. package/src/internal/util/download.ts +1 -1
  298. package/src/internal/util/fs-utils.ts +10 -10
  299. package/src/internal/util/jsonrpc.ts +1 -1
  300. package/src/internal/util/unsafe.ts +1 -1
  301. package/src/internal/vendor/await-semaphore/index.ts +1 -1
  302. package/src/utils/source-names.ts +2 -2
  303. package/types/config.d.ts +10 -10
  304. package/types/config.d.ts.map +1 -1
  305. package/types/experimental.d.ts +2 -2
  306. package/types/experimental.d.ts.map +1 -1
  307. package/types/runtime.d.ts +6 -6
  308. package/types/runtime.d.ts.map +1 -1
  309. package/utils/source-names.js +2 -2
  310. package/utils/source-names.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fs-utils.js","sourceRoot":"","sources":["../../src/internal/util/fs-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fs-utils.js","sourceRoot":"","sources":["../../src/internal/util/fs-utils.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export interface FailedJsonRpcResponse {
18
18
  data?: any;
19
19
  };
20
20
  }
21
- export declare type JsonRpcResponse = SuccessfulJsonRpcResponse | FailedJsonRpcResponse;
21
+ export type JsonRpcResponse = SuccessfulJsonRpcResponse | FailedJsonRpcResponse;
22
22
  export declare function parseJsonResponse(text: string): JsonRpcResponse | JsonRpcResponse[];
23
23
  export declare function isValidJsonRequest(payload: any): boolean;
24
24
  export declare function isValidJsonResponse(payload: any): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"jsonrpc.d.ts","sourceRoot":"","sources":["../../src/internal/util/jsonrpc.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,CAAC;CACH;AAED,oBAAY,eAAe,GAAG,yBAAyB,GAAG,qBAAqB,CAAC;AAEhF,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GACX,eAAe,GAAG,eAAe,EAAE,CAoBrC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAkBxD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,WAgC/C;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,eAAe,GACvB,OAAO,IAAI,yBAAyB,CAEtC"}
1
+ {"version":3,"file":"jsonrpc.d.ts","sourceRoot":"","sources":["../../src/internal/util/jsonrpc.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ,CAAC;CACH;AAED,MAAM,MAAM,eAAe,GAAG,yBAAyB,GAAG,qBAAqB,CAAC;AAEhF,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GACX,eAAe,GAAG,eAAe,EAAE,CAoBrC;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAkBxD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,WAgC/C;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,eAAe,GACvB,OAAO,IAAI,yBAAyB,CAEtC"}
@@ -11,7 +11,7 @@ function parseJsonResponse(text) {
11
11
  if (!isValidJsonResponse(response)) {
12
12
  // We are sending the proper error inside the catch part of the statement.
13
13
  // We just need to raise anything here.
14
- // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
14
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
15
15
  throw new Error();
16
16
  }
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["../../src/internal/util/jsonrpc.ts"],"names":[],"mappings":";;;AAAA,2CAA8C;AAC9C,qDAA6C;AA2B7C,SAAgB,iBAAiB,CAC/B,IAAY;IAEZ,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE;gBAClC,0EAA0E;gBAC1E,uCAAuC;gBACvC,gFAAgF;gBAChF,MAAM,IAAI,KAAK,EAAE,CAAC;aACnB;SACF;QAED,OAAO,IAAI,CAAC;KACb;IAAC,MAAM;QACN,MAAM,IAAI,qBAAY,CAAC,oBAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE;YAC3D,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;KACJ;AACH,CAAC;AAtBD,8CAsBC;AAED,SAAgB,kBAAkB,CAAC,OAAY;IAC7C,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE;QACpE,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;QACtC,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAClE,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAlBD,gDAkBC;AAED,SAAgB,mBAAmB,CAAC,OAAY;IAC9C,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IAED,IACE,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ;QAC9B,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ;QAC9B,OAAO,CAAC,EAAE,KAAK,IAAI,EACnB;QACA,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;QACtD,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;QAC/D,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;QAC/B,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC1C,OAAO,KAAK,CAAC;SACd;QAED,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE;YAC7C,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAhCD,kDAgCC;AAED,SAAgB,wBAAwB,CACtC,OAAwB;IAExB,OAAO,QAAQ,IAAI,OAAO,CAAC;AAC7B,CAAC;AAJD,4DAIC"}
1
+ {"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["../../src/internal/util/jsonrpc.ts"],"names":[],"mappings":";;;AAAA,2CAA8C;AAC9C,qDAA6C;AA2B7C,SAAgB,iBAAiB,CAC/B,IAAY;IAEZ,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE9B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE;gBAClC,0EAA0E;gBAC1E,uCAAuC;gBACvC,sFAAsF;gBACtF,MAAM,IAAI,KAAK,EAAE,CAAC;aACnB;SACF;QAED,OAAO,IAAI,CAAC;KACb;IAAC,MAAM;QACN,MAAM,IAAI,qBAAY,CAAC,oBAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE;YAC3D,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;KACJ;AACH,CAAC;AAtBD,8CAsBC;AAED,SAAgB,kBAAkB,CAAC,OAAY;IAC7C,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ,EAAE;QACpE,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;QACtC,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAClE,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAlBD,gDAkBC;AAED,SAAgB,mBAAmB,CAAC,OAAY;IAC9C,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IAED,IACE,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ;QAC9B,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ;QAC9B,OAAO,CAAC,EAAE,KAAK,IAAI,EACnB;QACA,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;QACtD,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;QAC/D,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;QAC/B,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC1C,OAAO,KAAK,CAAC;SACd;QAED,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE;YAC7C,OAAO,KAAK,CAAC;SACd;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAhCD,kDAgCC;AAED,SAAgB,wBAAwB,CACtC,OAAwB;IAExB,OAAO,QAAQ,IAAI,OAAO,CAAC;AAC7B,CAAC;AAJD,4DAIC"}
@@ -7,5 +7,5 @@ export declare const unsafeObjectKeys: <T>(o: T) => Extract<keyof T, string>[];
7
7
  * This function is a typed version of `Object.entries`. Note that it's type
8
8
  * unsafe. You have to be sure that `o` has exactly the same keys as `T`.
9
9
  */
10
- export declare function unsafeObjectEntries<T>(o: T): [keyof T, T[keyof T]][];
10
+ export declare function unsafeObjectEntries<T extends object>(o: T): [keyof T, T[keyof T]][];
11
11
  //# sourceMappingURL=unsafe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unsafe.d.ts","sourceRoot":"","sources":["../../src/internal/util/unsafe.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,gBAAgB,yCAEO,CAAC;AAErC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,2BAE1C"}
1
+ {"version":3,"file":"unsafe.d.ts","sourceRoot":"","sources":["../../src/internal/util/unsafe.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,gBAAgB,yCAEO,CAAC;AAErC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC,2BAEzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"unsafe.js","sourceRoot":"","sources":["../../src/internal/util/unsafe.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,gBAAgB,GAAG,MAAM,CAAC,IAEH,CAAC;AAErC;;;GAGG;AACH,SAAgB,mBAAmB,CAAI,CAAI;IACzC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAiC,CAAC;AAC3D,CAAC;AAFD,kDAEC"}
1
+ {"version":3,"file":"unsafe.js","sourceRoot":"","sources":["../../src/internal/util/unsafe.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,gBAAgB,GAAG,MAAM,CAAC,IAEH,CAAC;AAErC;;;GAGG;AACH,SAAgB,mBAAmB,CAAmB,CAAI;IACxD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAiC,CAAC;AAC3D,CAAC;AAFD,kDAEC"}
@@ -3,7 +3,7 @@
3
3
  // which is distributed under this license: https://github.com/notenoughneon/await-semaphore/blob/f117a6b59324038c9e8ee04c70c328215a727812/LICENSE
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.Mutex = exports.Semaphore = void 0;
6
- /* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
6
+ /* eslint-disable @nomicfoundation/hardhat-internal-rules/only-hardhat-error */
7
7
  class Semaphore {
8
8
  constructor(count) {
9
9
  this._tasks = [];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/vendor/await-semaphore/index.ts"],"names":[],"mappings":";AAAA,oHAAoH;AACpH,kJAAkJ;;;AAElJ,yEAAyE;AAEzE,MAAa,SAAS;IAIpB,YAAY,KAAa;QAFjB,WAAM,GAAsB,EAAE,CAAC;QAGrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,OAAO,CAAa,CAAC,GAAG,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,GAAG,CAAC,GAAG,EAAE;oBACP,IAAI,CAAC,QAAQ,EAAE;wBACb,QAAQ,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,KAAK,EAAE,CAAC;wBACb,IAAI,CAAC,MAAM,EAAE,CAAC;qBACf;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAC3D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1C;iBAAM;gBACL,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aACtC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,GAAG,CAAI,CAAmB;QAC/B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,OAAO,CAAC,EAAE;iBACP,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,OAAO,EAAE,CAAC;gBACV,OAAO,GAAG,CAAC;YACb,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,OAAO,EAAE,CAAC;gBACV,MAAM,GAAG,CAAC;YACZ,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM;QACZ,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC7D;YAED,IAAI,EAAE,CAAC;SACR;IACH,CAAC;CACF;AAtDD,8BAsDC;AAED,MAAa,KAAM,SAAQ,SAAS;IAClC;QACE,KAAK,CAAC,CAAC,CAAC,CAAC;IACX,CAAC;CACF;AAJD,sBAIC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/vendor/await-semaphore/index.ts"],"names":[],"mappings":";AAAA,oHAAoH;AACpH,kJAAkJ;;;AAElJ,+EAA+E;AAE/E,MAAa,SAAS;IAIpB,YAAY,KAAa;QAFjB,WAAM,GAAsB,EAAE,CAAC;QAGrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,OAAO,CAAa,CAAC,GAAG,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,GAAG,CAAC,GAAG,EAAE;oBACP,IAAI,CAAC,QAAQ,EAAE;wBACb,QAAQ,GAAG,IAAI,CAAC;wBAChB,IAAI,CAAC,KAAK,EAAE,CAAC;wBACb,IAAI,CAAC,MAAM,EAAE,CAAC;qBACf;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAC3D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1C;iBAAM;gBACL,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aACtC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,GAAG,CAAI,CAAmB;QAC/B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,OAAO,CAAC,EAAE;iBACP,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,OAAO,EAAE,CAAC;gBACV,OAAO,GAAG,CAAC;YACb,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,OAAO,EAAE,CAAC;gBACV,MAAM,GAAG,CAAC;YACZ,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM;QACZ,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC7D;YAED,IAAI,EAAE,CAAC;SACR;IACH,CAAC;CACF;AAtDD,8BAsDC;AAED,MAAa,KAAM,SAAQ,SAAS;IAClC;QACE,KAAK,CAAC,CAAC,CAAC,CAAC;IACX,CAAC;CACF;AAJD,sBAIC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat",
3
- "version": "2.16.1",
3
+ "version": "2.17.1",
4
4
  "author": "Nomic Labs LLC",
5
5
  "license": "MIT",
6
6
  "homepage": "https://hardhat.org",
@@ -22,9 +22,6 @@
22
22
  "bin": {
23
23
  "hardhat": "internal/cli/bootstrap.js"
24
24
  },
25
- "engines": {
26
- "node": ">=14.0.0"
27
- },
28
25
  "scripts": {
29
26
  "lint": "yarn prettier --check && yarn eslint",
30
27
  "lint:fix": "yarn prettier --write && yarn eslint --fix",
@@ -56,7 +53,8 @@
56
53
  "console.sol"
57
54
  ],
58
55
  "devDependencies": {
59
- "@nomiclabs/eslint-plugin-hardhat-internal-rules": "^1.0.0",
56
+ "@nomicfoundation/eslint-plugin-hardhat-internal-rules": "^1.0.0",
57
+ "@nomicfoundation/eslint-plugin-slow-imports": "^1.0.0",
60
58
  "@types/async-eventemitter": "^0.2.1",
61
59
  "@types/bn.js": "^5.1.0",
62
60
  "@types/chai": "^4.2.0",
@@ -69,21 +67,21 @@
69
67
  "@types/keccak": "^3.0.1",
70
68
  "@types/lodash": "^4.14.123",
71
69
  "@types/mocha": ">=9.1.0",
72
- "@types/node": "^14.0.0",
70
+ "@types/node": "^16.0.0",
73
71
  "@types/resolve": "^1.17.1",
74
72
  "@types/semver": "^6.0.2",
75
73
  "@types/sinon": "^9.0.8",
76
74
  "@types/uuid": "^8.3.1",
77
75
  "@types/ws": "^7.2.1",
78
- "@typescript-eslint/eslint-plugin": "5.53.0",
79
- "@typescript-eslint/parser": "5.53.0",
76
+ "@typescript-eslint/eslint-plugin": "5.61.0",
77
+ "@typescript-eslint/parser": "5.61.0",
80
78
  "bignumber.js": "^9.0.2",
81
79
  "bn.js": "^5.1.0",
82
80
  "chai": "^4.2.0",
83
81
  "chai-as-promised": "^7.1.1",
84
- "eslint": "^7.29.0",
82
+ "eslint": "^8.44.0",
85
83
  "eslint-config-prettier": "8.3.0",
86
- "eslint-plugin-import": "2.24.1",
84
+ "eslint-plugin-import": "2.27.5",
87
85
  "eslint-plugin-no-only-tests": "3.0.0",
88
86
  "eslint-plugin-prettier": "3.4.0",
89
87
  "ethers": "^6.1.0",
@@ -94,7 +92,7 @@
94
92
  "sinon": "^9.0.0",
95
93
  "time-require": "^0.1.2",
96
94
  "ts-node": "^10.8.0",
97
- "typescript": "~4.7.4"
95
+ "typescript": "~5.0.0"
98
96
  },
99
97
  "dependencies": {
100
98
  "@ethersproject/abi": "^5.1.2",
@@ -113,7 +111,6 @@
113
111
  "@sentry/node": "^5.18.1",
114
112
  "@types/bn.js": "^5.1.0",
115
113
  "@types/lru-cache": "^5.1.0",
116
- "abort-controller": "^3.0.0",
117
114
  "adm-zip": "^0.4.16",
118
115
  "aggregate-error": "^3.0.0",
119
116
  "ansi-escapes": "^4.3.0",
@@ -2,5 +2,5 @@ require("@nomicfoundation/hardhat-toolbox");
2
2
 
3
3
  /** @type import('hardhat/config').HardhatUserConfig */
4
4
  module.exports = {
5
- solidity: "0.8.18",
5
+ solidity: "0.8.19",
6
6
  };
@@ -2,5 +2,5 @@ require("@nomicfoundation/hardhat-toolbox");
2
2
 
3
3
  /** @type import('hardhat/config').HardhatUserConfig */
4
4
  module.exports = {
5
- solidity: "0.8.17",
5
+ solidity: "0.8.19",
6
6
  };
@@ -2,7 +2,7 @@ import { HardhatUserConfig } from "hardhat/config";
2
2
  import "@nomicfoundation/hardhat-toolbox";
3
3
 
4
4
  const config: HardhatUserConfig = {
5
- solidity: "0.8.18",
5
+ solidity: "0.8.19",
6
6
  };
7
7
 
8
8
  export default config;
@@ -454,7 +454,7 @@ subtask(TASK_COMPILE_SOLIDITY_COMPILE_JOBS)
454
454
  return { artifactsEmittedPerJob };
455
455
  } catch (e) {
456
456
  if (!(e instanceof AggregateError)) {
457
- // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
457
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
458
458
  throw e;
459
459
  }
460
460
 
@@ -465,7 +465,7 @@ subtask(TASK_COMPILE_SOLIDITY_COMPILE_JOBS)
465
465
  ERRORS.BUILTIN_TASKS.COMPILE_FAILURE
466
466
  )
467
467
  ) {
468
- // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
468
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
469
469
  throw error;
470
470
  }
471
471
  }
@@ -1,3 +1,4 @@
1
+ import chalk from "chalk";
1
2
  import { subtask, task, types } from "../internal/core/config/config-env";
2
3
  import { HardhatError } from "../internal/core/errors";
3
4
  import { ERRORS } from "../internal/core/errors-list";
@@ -13,8 +14,23 @@ import {
13
14
  TASK_FLATTEN,
14
15
  TASK_FLATTEN_GET_DEPENDENCY_GRAPH,
15
16
  TASK_FLATTEN_GET_FLATTENED_SOURCE,
17
+ TASK_FLATTEN_GET_FLATTENED_SOURCE_AND_METADATA,
16
18
  } from "./task-names";
17
19
 
20
+ interface FlattenMetadata {
21
+ filesWithoutLicenses: string[];
22
+ pragmaDirective: string;
23
+ filesWithoutPragmaDirectives: string[];
24
+ filesWithDifferentPragmaDirectives: string[];
25
+ }
26
+
27
+ // Match every group where a SPDX license is defined. The first captured group is the license.
28
+ const SPDX_LICENSES_REGEX =
29
+ /^(?:\/\/|\/\*)\s*SPDX-License-Identifier:\s*([a-zA-Z\d+.-]+).*/gm;
30
+ // Match every group where a pragma directive is defined. The first captured group is the pragma directive.
31
+ const PRAGMA_DIRECTIVES_REGEX =
32
+ /^(?: |\t)*(pragma\s*abicoder\s*v(1|2)|pragma\s*experimental\s*ABIEncoderV2)\s*;/gim;
33
+
18
34
  function getSortedFiles(dependenciesGraph: DependencyGraph) {
19
35
  const tsort = require("tsort");
20
36
  const graph = tsort();
@@ -58,7 +74,7 @@ function getSortedFiles(dependenciesGraph: DependencyGraph) {
58
74
  }
59
75
  }
60
76
 
61
- // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
77
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
62
78
  throw error;
63
79
  }
64
80
  }
@@ -71,34 +87,187 @@ function getFileWithoutImports(resolvedFile: ResolvedFile) {
71
87
  .trim();
72
88
  }
73
89
 
90
+ function getLicensesInfo(sortedFiles: ResolvedFile[]): [string[], string[]] {
91
+ const licenses: Set<string> = new Set();
92
+ const filesWithoutLicenses: Set<string> = new Set();
93
+
94
+ for (const file of sortedFiles) {
95
+ const matches = [...file.content.rawContent.matchAll(SPDX_LICENSES_REGEX)];
96
+
97
+ if (matches.length === 0) {
98
+ filesWithoutLicenses.add(file.sourceName);
99
+ continue;
100
+ }
101
+
102
+ for (const groups of matches) {
103
+ licenses.add(groups[1]);
104
+ }
105
+ }
106
+
107
+ // Sort alphabetically
108
+ return [Array.from(licenses).sort(), Array.from(filesWithoutLicenses).sort()];
109
+ }
110
+
111
+ function getLicensesHeader(licenses: string[]): string {
112
+ return licenses.length <= 0
113
+ ? ""
114
+ : `\n\n// SPDX-License-Identifier: ${licenses.join(" AND ")}`;
115
+ }
116
+
117
+ function removeUnnecessarySpaces(str: string): string {
118
+ return str.replace(/\s+/g, " ").trim();
119
+ }
120
+
121
+ function getPragmaAbicoderDirectiveInfo(
122
+ sortedFiles: ResolvedFile[]
123
+ ): [string, string[], string[]] {
124
+ let directive = "";
125
+ const directivesByImportance = [
126
+ "pragma abicoder v1",
127
+ "pragma experimental ABIEncoderV2",
128
+ "pragma abicoder v2",
129
+ ];
130
+ const filesWithoutPragmaDirectives: Set<string> = new Set();
131
+ const filesWithMostImportantDirective: Array<[string, string]> = []; // Every array element has the structure: [ fileName, fileMostImportantDirective ]
132
+
133
+ for (const file of sortedFiles) {
134
+ const matches = [
135
+ ...file.content.rawContent.matchAll(PRAGMA_DIRECTIVES_REGEX),
136
+ ];
137
+
138
+ if (matches.length === 0) {
139
+ filesWithoutPragmaDirectives.add(file.sourceName);
140
+ continue;
141
+ }
142
+
143
+ let fileMostImportantDirective = "";
144
+ for (const groups of matches) {
145
+ const normalizedPragma = removeUnnecessarySpaces(groups[1]);
146
+
147
+ // Update the most important pragma directive among all the files
148
+ if (
149
+ directivesByImportance.indexOf(normalizedPragma) >
150
+ directivesByImportance.indexOf(directive)
151
+ ) {
152
+ directive = normalizedPragma;
153
+ }
154
+
155
+ // Update the most important pragma directive for the current file
156
+ if (
157
+ directivesByImportance.indexOf(normalizedPragma) >
158
+ directivesByImportance.indexOf(fileMostImportantDirective)
159
+ ) {
160
+ fileMostImportantDirective = normalizedPragma;
161
+ }
162
+ }
163
+
164
+ // Add in the array the most important directive for the current file
165
+ filesWithMostImportantDirective.push([
166
+ file.sourceName,
167
+ fileMostImportantDirective,
168
+ ]);
169
+ }
170
+
171
+ // Add to the array the files that have a pragma directive which is not the same as the main one that
172
+ // is going to be used in the flatten file
173
+ const filesWithDifferentPragmaDirectives = filesWithMostImportantDirective
174
+ .filter(([, fileDirective]) => fileDirective !== directive)
175
+ .map(([fileName]) => fileName);
176
+
177
+ // Sort alphabetically
178
+ return [
179
+ directive,
180
+ Array.from(filesWithoutPragmaDirectives).sort(),
181
+ filesWithDifferentPragmaDirectives.sort(),
182
+ ];
183
+ }
184
+
185
+ function getPragmaAbicoderDirectiveHeader(pragmaDirective: string): string {
186
+ return pragmaDirective === "" ? "" : `\n\n${pragmaDirective};`;
187
+ }
188
+
189
+ function replaceLicenses(file: string): string {
190
+ return file.replaceAll(
191
+ SPDX_LICENSES_REGEX,
192
+ (...groups) => `// Original license: SPDX_License_Identifier: ${groups[1]}`
193
+ );
194
+ }
195
+
196
+ function replacePragmaAbicoderDirectives(file: string): string {
197
+ return file.replaceAll(PRAGMA_DIRECTIVES_REGEX, (...groups) => {
198
+ return `// Original pragma directive: ${removeUnnecessarySpaces(
199
+ groups[1]
200
+ )}`;
201
+ });
202
+ }
203
+
74
204
  subtask(
75
- TASK_FLATTEN_GET_FLATTENED_SOURCE,
76
- "Returns all contracts and their dependencies flattened"
205
+ TASK_FLATTEN_GET_FLATTENED_SOURCE_AND_METADATA,
206
+ "Returns all contracts and their dependencies flattened. Also return metadata about pragma directives and SPDX licenses"
77
207
  )
78
208
  .addOptionalParam("files", undefined, undefined, types.any)
79
- .setAction(async ({ files }: { files?: string[] }, { run }) => {
80
- const dependencyGraph: DependencyGraph = await run(
81
- TASK_FLATTEN_GET_DEPENDENCY_GRAPH,
82
- { files }
83
- );
209
+ .setAction(
210
+ async (
211
+ { files }: { files?: string[] },
212
+ { run }
213
+ ): Promise<[string, FlattenMetadata | null]> => {
214
+ const dependencyGraph: DependencyGraph = await run(
215
+ TASK_FLATTEN_GET_DEPENDENCY_GRAPH,
216
+ { files }
217
+ );
84
218
 
85
- let flattened = "";
219
+ let flattened = "";
86
220
 
87
- if (dependencyGraph.getResolvedFiles().length === 0) {
88
- return flattened;
89
- }
221
+ if (dependencyGraph.getResolvedFiles().length === 0) {
222
+ return [flattened, null];
223
+ }
224
+
225
+ const packageJson = await getPackageJson();
226
+ flattened += `// Sources flattened with hardhat v${packageJson.version} https://hardhat.org`;
227
+
228
+ const sortedFiles = getSortedFiles(dependencyGraph);
229
+
230
+ const [licenses, filesWithoutLicenses] = getLicensesInfo(sortedFiles);
231
+ const [
232
+ pragmaDirective,
233
+ filesWithoutPragmaDirectives,
234
+ filesWithDifferentPragmaDirectives,
235
+ ] = getPragmaAbicoderDirectiveInfo(sortedFiles);
90
236
 
91
- const packageJson = await getPackageJson();
92
- flattened += `// Sources flattened with hardhat v${packageJson.version} https://hardhat.org`;
237
+ flattened += getLicensesHeader(licenses);
238
+ flattened += getPragmaAbicoderDirectiveHeader(pragmaDirective);
93
239
 
94
- const sortedFiles = getSortedFiles(dependencyGraph);
240
+ for (const file of sortedFiles) {
241
+ let tmpFile = getFileWithoutImports(file);
242
+ tmpFile = replaceLicenses(tmpFile);
243
+ tmpFile = replacePragmaAbicoderDirectives(tmpFile);
95
244
 
96
- for (const file of sortedFiles) {
97
- flattened += `\n\n// File ${file.getVersionedName()}\n`;
98
- flattened += `\n${getFileWithoutImports(file)}\n`;
245
+ flattened += `\n\n// File ${file.getVersionedName()}\n`;
246
+ flattened += `\n${tmpFile}\n`;
247
+ }
248
+
249
+ return [
250
+ flattened.trim(),
251
+ {
252
+ filesWithoutLicenses,
253
+ pragmaDirective,
254
+ filesWithoutPragmaDirectives,
255
+ filesWithDifferentPragmaDirectives,
256
+ },
257
+ ];
99
258
  }
259
+ );
100
260
 
101
- return flattened.trim();
261
+ // The following task is kept for backwards-compatibility reasons
262
+ subtask(
263
+ TASK_FLATTEN_GET_FLATTENED_SOURCE,
264
+ "Returns all contracts and their dependencies flattened"
265
+ )
266
+ .addOptionalParam("files", undefined, undefined, types.any)
267
+ .setAction(async ({ files }: { files?: string[] }, { run }) => {
268
+ return (
269
+ await run(TASK_FLATTEN_GET_FLATTENED_SOURCE_AND_METADATA, { files })
270
+ )[0];
102
271
  });
103
272
 
104
273
  subtask(TASK_FLATTEN_GET_DEPENDENCY_GRAPH)
@@ -135,5 +304,45 @@ task(
135
304
  types.inputFile
136
305
  )
137
306
  .setAction(async ({ files }: { files: string[] | undefined }, { run }) => {
138
- console.log(await run(TASK_FLATTEN_GET_FLATTENED_SOURCE, { files }));
307
+ const [flattenedFile, metadata]: [string, FlattenMetadata | null] =
308
+ await run(TASK_FLATTEN_GET_FLATTENED_SOURCE_AND_METADATA, { files });
309
+
310
+ console.log(flattenedFile);
311
+
312
+ if (metadata === null) return;
313
+
314
+ if (metadata.filesWithoutLicenses.length > 0) {
315
+ console.warn(
316
+ chalk.yellow(
317
+ `\nThe following file(s) do NOT specify SPDX licenses: ${metadata.filesWithoutLicenses.join(
318
+ ", "
319
+ )}`
320
+ )
321
+ );
322
+ }
323
+
324
+ if (
325
+ metadata.pragmaDirective !== "" &&
326
+ metadata.filesWithoutPragmaDirectives.length > 0
327
+ ) {
328
+ console.warn(
329
+ chalk.yellow(
330
+ `\nPragma abicoder directives are defined in some files, but they are not defined in the following ones: ${metadata.filesWithoutPragmaDirectives.join(
331
+ ", "
332
+ )}`
333
+ )
334
+ );
335
+ }
336
+
337
+ if (metadata.filesWithDifferentPragmaDirectives.length > 0) {
338
+ console.warn(
339
+ chalk.yellow(
340
+ `\nThe flattened file is using the pragma abicoder directive '${
341
+ metadata.pragmaDirective
342
+ }' but these files have a different pragma abicoder directive: ${metadata.filesWithDifferentPragmaDirectives.join(
343
+ ", "
344
+ )}`
345
+ )
346
+ );
347
+ }
139
348
  });
@@ -374,7 +374,7 @@ task(TASK_NODE, "Starts a JSON-RPC server on top of Hardhat Network")
374
374
  );
375
375
  }
376
376
 
377
- // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
377
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
378
378
  throw error;
379
379
  }
380
380
  }
@@ -49,7 +49,7 @@ task(TASK_RUN, "Runs a user-defined script after compiling the project")
49
49
  );
50
50
  }
51
51
 
52
- // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
52
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
53
53
  throw error;
54
54
  }
55
55
  }
@@ -68,6 +68,8 @@ export const TASK_CONSOLE = "console";
68
68
  export const TASK_FLATTEN = "flatten";
69
69
  export const TASK_FLATTEN_GET_FLATTENED_SOURCE =
70
70
  "flatten:get-flattened-sources";
71
+ export const TASK_FLATTEN_GET_FLATTENED_SOURCE_AND_METADATA =
72
+ "flatten:get-flattened-sources-and-metadata";
71
73
  export const TASK_FLATTEN_GET_DEPENDENCY_GRAPH = "flatten:get-dependency-graph";
72
74
 
73
75
  export const TASK_HELP = "help";
@@ -444,8 +444,6 @@ export class Artifacts implements IArtifacts {
444
444
  const buildInfoFile = await this._getBuildInfoFromDebugFile(debugFile);
445
445
  if (buildInfoFile !== undefined) {
446
446
  return path.resolve(path.dirname(debugFile), buildInfoFile);
447
- } else {
448
- return undefined;
449
447
  }
450
448
  })
451
449
  );
@@ -635,7 +633,7 @@ export class Artifacts implements IArtifacts {
635
633
  );
636
634
  }
637
635
 
638
- // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
636
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
639
637
  throw e;
640
638
  }
641
639
  }
@@ -806,7 +804,7 @@ Please replace "${contractName}" for the correct contract name wherever you are
806
804
  );
807
805
  }
808
806
 
809
- // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
807
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
810
808
  throw e;
811
809
  }
812
810
  }
@@ -859,20 +857,14 @@ Please replace "${contractName}" for the correct contract name wherever you are
859
857
  }
860
858
 
861
859
  /**
862
- * Remove the artifact file, its debug file and, if it exists, its build
863
- * info file.
860
+ * Remove the artifact file and its debug file.
864
861
  */
865
862
  private async _removeArtifactFiles(artifactPath: string) {
866
863
  await fsExtra.remove(artifactPath);
867
864
 
868
865
  const debugFilePath = this._getDebugFilePath(artifactPath);
869
- const buildInfoPath = await this._getBuildInfoFromDebugFile(debugFilePath);
870
866
 
871
867
  await fsExtra.remove(debugFilePath);
872
-
873
- if (buildInfoPath !== undefined) {
874
- await fsExtra.remove(buildInfoPath);
875
- }
876
868
  }
877
869
 
878
870
  /**
@@ -1,9 +1,7 @@
1
1
  import type { request as RequestT } from "undici";
2
2
 
3
- import AbortController from "abort-controller";
4
3
  import debug from "debug";
5
4
  import os from "os";
6
- import { v4 as uuid } from "uuid";
7
5
 
8
6
  import { isLocalDev } from "../core/execution-mode";
9
7
  import { isRunningOnCiServer } from "../util/ci-detection";
@@ -129,6 +127,7 @@ export class Analytics {
129
127
 
130
128
  private _sendHit(payload: AnalyticsPayload): [AbortAnalytics, Promise<void>] {
131
129
  const { request } = require("undici") as { request: typeof RequestT };
130
+
132
131
  const eventName = payload.events[0].name;
133
132
  log(`Sending hit for ${eventName}`);
134
133
 
@@ -171,6 +170,7 @@ async function getClientId() {
171
170
  (await readFirstLegacyAnalyticsId());
172
171
 
173
172
  if (clientId === undefined) {
173
+ const { v4: uuid } = await import("uuid");
174
174
  log("Client Id not found, generating a new one");
175
175
  clientId = uuid();
176
176
  }
@@ -2,12 +2,12 @@
2
2
  import semver from "semver";
3
3
  import chalk from "chalk";
4
4
 
5
- const SUPPORTED_NODE_VERSIONS = ["^14.0.0", "^16.0.0", "^18.0.0"];
5
+ import { SUPPORTED_NODE_VERSIONS } from "./constants";
6
6
 
7
7
  if (!semver.satisfies(process.version, SUPPORTED_NODE_VERSIONS.join(" || "))) {
8
8
  console.warn(
9
9
  chalk.yellow.bold(`WARNING:`),
10
- `You are using a version of Node.js that is not supported, and it may work incorrectly, or not work at all. See https://hardhat.org/nodejs-versions`
10
+ `You are currently using Node.js ${process.version}, which is not supported by Hardhat. This can lead to unexpected behavior. See https://hardhat.org/nodejs-versions`
11
11
  );
12
12
  console.log();
13
13
  console.log();
@@ -0,0 +1 @@
1
+ export const SUPPORTED_NODE_VERSIONS = ["^16.0.0", "^18.0.0", "^20.0.0"];