hardhat 2.11.0-dev.0 → 2.11.0

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 (406) hide show
  1. package/builtin-tasks/clean.js +2 -1
  2. package/builtin-tasks/clean.js.map +1 -1
  3. package/builtin-tasks/compile.js +52 -95
  4. package/builtin-tasks/compile.js.map +1 -1
  5. package/builtin-tasks/flatten.js +2 -21
  6. package/builtin-tasks/flatten.js.map +1 -1
  7. package/builtin-tasks/node.js +1 -1
  8. package/builtin-tasks/node.js.map +1 -1
  9. package/builtin-tasks/test.js +3 -3
  10. package/builtin-tasks/test.js.map +1 -1
  11. package/builtin-tasks/utils/solidity-files-cache.d.ts.map +1 -1
  12. package/builtin-tasks/utils/solidity-files-cache.js +5 -6
  13. package/builtin-tasks/utils/solidity-files-cache.js.map +1 -1
  14. package/internal/artifacts.d.ts +3 -11
  15. package/internal/artifacts.d.ts.map +1 -1
  16. package/internal/artifacts.js +266 -133
  17. package/internal/artifacts.js.map +1 -1
  18. package/internal/cli/cli.js +26 -12
  19. package/internal/cli/cli.js.map +1 -1
  20. package/internal/core/config/config-loading.js +2 -2
  21. package/internal/core/config/config-loading.js.map +1 -1
  22. package/internal/core/config/config-resolution.d.ts.map +1 -1
  23. package/internal/core/config/config-resolution.js +11 -31
  24. package/internal/core/config/config-resolution.js.map +1 -1
  25. package/internal/core/config/default-config.js +1 -1
  26. package/internal/core/config/default-config.js.map +1 -1
  27. package/internal/core/errors-list.d.ts +7 -0
  28. package/internal/core/errors-list.d.ts.map +1 -1
  29. package/internal/core/errors-list.js +28 -11
  30. package/internal/core/errors-list.js.map +1 -1
  31. package/internal/core/errors.d.ts +2 -1
  32. package/internal/core/errors.d.ts.map +1 -1
  33. package/internal/core/errors.js +5 -1
  34. package/internal/core/errors.js.map +1 -1
  35. package/internal/core/execution-mode.d.ts.map +1 -1
  36. package/internal/core/execution-mode.js +2 -21
  37. package/internal/core/execution-mode.js.map +1 -1
  38. package/internal/core/flamegraph.d.ts +4 -0
  39. package/internal/core/flamegraph.d.ts.map +1 -1
  40. package/internal/core/flamegraph.js +13 -3
  41. package/internal/core/flamegraph.js.map +1 -1
  42. package/internal/core/jsonrpc/types/base-types.d.ts.map +1 -1
  43. package/internal/core/jsonrpc/types/base-types.js +12 -12
  44. package/internal/core/jsonrpc/types/base-types.js.map +1 -1
  45. package/internal/core/params/hardhat-params.d.ts.map +1 -1
  46. package/internal/core/params/hardhat-params.js +18 -0
  47. package/internal/core/params/hardhat-params.js.map +1 -1
  48. package/internal/core/providers/accounts.js +9 -9
  49. package/internal/core/providers/accounts.js.map +1 -1
  50. package/internal/core/providers/construction.d.ts.map +1 -1
  51. package/internal/core/providers/construction.js +5 -6
  52. package/internal/core/providers/construction.js.map +1 -1
  53. package/internal/core/providers/gas-providers.d.ts +2 -2
  54. package/internal/core/providers/util.js +1 -1
  55. package/internal/core/providers/util.js.map +1 -1
  56. package/internal/core/runtime-environment.d.ts +6 -0
  57. package/internal/core/runtime-environment.d.ts.map +1 -1
  58. package/internal/core/runtime-environment.js +72 -6
  59. package/internal/core/runtime-environment.js.map +1 -1
  60. package/internal/core/typescript-support.d.ts +1 -1
  61. package/internal/core/typescript-support.d.ts.map +1 -1
  62. package/internal/core/typescript-support.js +6 -2
  63. package/internal/core/typescript-support.js.map +1 -1
  64. package/internal/hardhat-network/jsonrpc/client.d.ts +1 -1
  65. package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
  66. package/internal/hardhat-network/jsonrpc/client.js +10 -10
  67. package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
  68. package/internal/hardhat-network/provider/BlockchainBase.d.ts +4 -4
  69. package/internal/hardhat-network/provider/BlockchainBase.d.ts.map +1 -1
  70. package/internal/hardhat-network/provider/BlockchainBase.js +31 -12
  71. package/internal/hardhat-network/provider/BlockchainBase.js.map +1 -1
  72. package/internal/hardhat-network/provider/BlockchainData.d.ts +3 -3
  73. package/internal/hardhat-network/provider/BlockchainData.d.ts.map +1 -1
  74. package/internal/hardhat-network/provider/BlockchainData.js +15 -15
  75. package/internal/hardhat-network/provider/BlockchainData.js.map +1 -1
  76. package/internal/hardhat-network/provider/HardhatBlockchain.d.ts +3 -3
  77. package/internal/hardhat-network/provider/HardhatBlockchain.d.ts.map +1 -1
  78. package/internal/hardhat-network/provider/HardhatBlockchain.js +2 -2
  79. package/internal/hardhat-network/provider/HardhatBlockchain.js.map +1 -1
  80. package/internal/hardhat-network/provider/PoolState.d.ts +1 -1
  81. package/internal/hardhat-network/provider/PoolState.d.ts.map +1 -1
  82. package/internal/hardhat-network/provider/PoolState.js +21 -2
  83. package/internal/hardhat-network/provider/PoolState.js.map +1 -1
  84. package/internal/hardhat-network/provider/TransactionQueue.d.ts +1 -1
  85. package/internal/hardhat-network/provider/TransactionQueue.d.ts.map +1 -1
  86. package/internal/hardhat-network/provider/TransactionQueue.js +22 -3
  87. package/internal/hardhat-network/provider/TransactionQueue.js.map +1 -1
  88. package/internal/hardhat-network/provider/TxPool.d.ts +4 -4
  89. package/internal/hardhat-network/provider/TxPool.d.ts.map +1 -1
  90. package/internal/hardhat-network/provider/TxPool.js +35 -16
  91. package/internal/hardhat-network/provider/TxPool.js.map +1 -1
  92. package/internal/hardhat-network/provider/ethereumjs-workarounds.js +4 -4
  93. package/internal/hardhat-network/provider/ethereumjs-workarounds.js.map +1 -1
  94. package/internal/hardhat-network/provider/filter.d.ts +1 -1
  95. package/internal/hardhat-network/provider/filter.d.ts.map +1 -1
  96. package/internal/hardhat-network/provider/filter.js +3 -3
  97. package/internal/hardhat-network/provider/filter.js.map +1 -1
  98. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts +3 -3
  99. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
  100. package/internal/hardhat-network/provider/fork/ForkBlockchain.js +13 -12
  101. package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
  102. package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts +3 -5
  103. package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts.map +1 -1
  104. package/internal/hardhat-network/provider/fork/ForkStateManager.js +36 -40
  105. package/internal/hardhat-network/provider/fork/ForkStateManager.js.map +1 -1
  106. package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts +1 -1
  107. package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts.map +1 -1
  108. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts +2 -2
  109. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts.map +1 -1
  110. package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +1 -1
  111. package/internal/hardhat-network/provider/modules/eth.d.ts +1 -1
  112. package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -1
  113. package/internal/hardhat-network/provider/modules/eth.js +22 -22
  114. package/internal/hardhat-network/provider/modules/eth.js.map +1 -1
  115. package/internal/hardhat-network/provider/modules/hardhat.d.ts +2 -0
  116. package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +1 -1
  117. package/internal/hardhat-network/provider/modules/hardhat.js +20 -6
  118. package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
  119. package/internal/hardhat-network/provider/modules/logger.d.ts +2 -2
  120. package/internal/hardhat-network/provider/modules/logger.d.ts.map +1 -1
  121. package/internal/hardhat-network/provider/modules/logger.js +14 -14
  122. package/internal/hardhat-network/provider/modules/logger.js.map +1 -1
  123. package/internal/hardhat-network/provider/modules/net.d.ts +1 -1
  124. package/internal/hardhat-network/provider/modules/net.d.ts.map +1 -1
  125. package/internal/hardhat-network/provider/modules/personal.js +3 -3
  126. package/internal/hardhat-network/provider/modules/personal.js.map +1 -1
  127. package/internal/hardhat-network/provider/modules/web3.d.ts.map +1 -1
  128. package/internal/hardhat-network/provider/modules/web3.js +4 -5
  129. package/internal/hardhat-network/provider/modules/web3.js.map +1 -1
  130. package/internal/hardhat-network/provider/node-types.d.ts +4 -4
  131. package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
  132. package/internal/hardhat-network/provider/node.d.ts +5 -4
  133. package/internal/hardhat-network/provider/node.d.ts.map +1 -1
  134. package/internal/hardhat-network/provider/node.js +71 -49
  135. package/internal/hardhat-network/provider/node.js.map +1 -1
  136. package/internal/hardhat-network/provider/output.d.ts +4 -4
  137. package/internal/hardhat-network/provider/output.d.ts.map +1 -1
  138. package/internal/hardhat-network/provider/output.js +24 -5
  139. package/internal/hardhat-network/provider/output.js.map +1 -1
  140. package/internal/hardhat-network/provider/provider.d.ts +2 -2
  141. package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
  142. package/internal/hardhat-network/provider/provider.js +3 -3
  143. package/internal/hardhat-network/provider/provider.js.map +1 -1
  144. package/internal/hardhat-network/provider/return-data.d.ts +1 -1
  145. package/internal/hardhat-network/provider/return-data.d.ts.map +1 -1
  146. package/internal/hardhat-network/provider/return-data.js +5 -4
  147. package/internal/hardhat-network/provider/return-data.js.map +1 -1
  148. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts +4 -4
  149. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts.map +1 -1
  150. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +8 -8
  151. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
  152. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts +3 -3
  153. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts.map +1 -1
  154. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +8 -8
  155. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
  156. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts +3 -3
  157. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts.map +1 -1
  158. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +5 -5
  159. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
  160. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts +4 -4
  161. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts.map +1 -1
  162. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js +25 -6
  163. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js.map +1 -1
  164. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts +3 -3
  165. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts.map +1 -1
  166. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js +25 -6
  167. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js.map +1 -1
  168. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts +3 -3
  169. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts.map +1 -1
  170. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js +2 -2
  171. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js.map +1 -1
  172. package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts +2 -2
  173. package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts.map +1 -1
  174. package/internal/hardhat-network/provider/utils/makeAccount.d.ts +1 -1
  175. package/internal/hardhat-network/provider/utils/makeAccount.d.ts.map +1 -1
  176. package/internal/hardhat-network/provider/utils/makeAccount.js +4 -4
  177. package/internal/hardhat-network/provider/utils/makeAccount.js.map +1 -1
  178. package/internal/hardhat-network/provider/utils/makeCommon.d.ts +1 -1
  179. package/internal/hardhat-network/provider/utils/makeCommon.d.ts.map +1 -1
  180. package/internal/hardhat-network/provider/utils/makeCommon.js +2 -2
  181. package/internal/hardhat-network/provider/utils/makeCommon.js.map +1 -1
  182. package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts +1 -1
  183. package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts.map +1 -1
  184. package/internal/hardhat-network/provider/utils/makeStateTrie.js +4 -4
  185. package/internal/hardhat-network/provider/utils/makeStateTrie.js.map +1 -1
  186. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts +3 -3
  187. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts.map +1 -1
  188. package/internal/hardhat-network/provider/utils/putGenesisBlock.js +4 -4
  189. package/internal/hardhat-network/provider/utils/putGenesisBlock.js.map +1 -1
  190. package/internal/hardhat-network/provider/utils/random.d.ts +2 -1
  191. package/internal/hardhat-network/provider/utils/random.d.ts.map +1 -1
  192. package/internal/hardhat-network/provider/utils/random.js +10 -9
  193. package/internal/hardhat-network/provider/utils/random.js.map +1 -1
  194. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js +21 -2
  195. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js.map +1 -1
  196. package/internal/hardhat-network/provider/utils/txMapToArray.d.ts +1 -1
  197. package/internal/hardhat-network/provider/utils/txMapToArray.d.ts.map +1 -1
  198. package/internal/hardhat-network/stack-traces/consoleLogger.js +45 -45
  199. package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
  200. package/internal/hardhat-network/stack-traces/constants.d.ts +1 -1
  201. package/internal/hardhat-network/stack-traces/constants.d.ts.map +1 -1
  202. package/internal/hardhat-network/stack-traces/constants.js +1 -1
  203. package/internal/hardhat-network/stack-traces/constants.js.map +1 -1
  204. package/internal/hardhat-network/stack-traces/contracts-identifier.js +2 -2
  205. package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +1 -1
  206. package/internal/hardhat-network/stack-traces/debug.js +13 -13
  207. package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
  208. package/internal/hardhat-network/stack-traces/error-inferrer.js +2 -2
  209. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
  210. package/internal/hardhat-network/stack-traces/message-trace.d.ts +1 -1
  211. package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -1
  212. package/internal/hardhat-network/stack-traces/model.js +6 -6
  213. package/internal/hardhat-network/stack-traces/model.js.map +1 -1
  214. package/internal/hardhat-network/stack-traces/panic-errors.d.ts +1 -1
  215. package/internal/hardhat-network/stack-traces/panic-errors.js +9 -9
  216. package/internal/hardhat-network/stack-traces/panic-errors.js.map +1 -1
  217. package/internal/hardhat-network/stack-traces/solidity-errors.js +3 -3
  218. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  219. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +1 -1
  220. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts +0 -2
  221. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
  222. package/internal/hardhat-network/stack-traces/solidityTracer.js +2 -4
  223. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
  224. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts +1 -1
  225. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts.map +1 -1
  226. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +27 -25
  227. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
  228. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +2 -2
  229. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +1 -1
  230. package/internal/hardhat-network/stack-traces/vm-tracer.js +15 -12
  231. package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
  232. package/internal/lib/hardhat-lib.d.ts.map +1 -1
  233. package/internal/lib/hardhat-lib.js +0 -2
  234. package/internal/lib/hardhat-lib.js.map +1 -1
  235. package/internal/solidity/compilation-job.d.ts.map +1 -1
  236. package/internal/solidity/compilation-job.js +6 -7
  237. package/internal/solidity/compilation-job.js.map +1 -1
  238. package/internal/solidity/compiler/downloader.d.ts +66 -40
  239. package/internal/solidity/compiler/downloader.d.ts.map +1 -1
  240. package/internal/solidity/compiler/downloader.js +180 -154
  241. package/internal/solidity/compiler/downloader.js.map +1 -1
  242. package/internal/solidity/compiler/index.d.ts +8 -4
  243. package/internal/solidity/compiler/index.d.ts.map +1 -1
  244. package/internal/solidity/compiler/index.js +1 -1
  245. package/internal/solidity/compiler/index.js.map +1 -1
  246. package/internal/solidity/dependencyGraph.d.ts.map +1 -1
  247. package/internal/solidity/dependencyGraph.js +3 -5
  248. package/internal/solidity/dependencyGraph.js.map +1 -1
  249. package/internal/solidity/parse.d.ts.map +1 -1
  250. package/internal/solidity/parse.js +2 -58
  251. package/internal/solidity/parse.js.map +1 -1
  252. package/internal/solidity/resolver.d.ts +1 -0
  253. package/internal/solidity/resolver.d.ts.map +1 -1
  254. package/internal/solidity/resolver.js +33 -8
  255. package/internal/solidity/resolver.js.map +1 -1
  256. package/internal/util/bigint.d.ts +13 -24
  257. package/internal/util/bigint.d.ts.map +1 -1
  258. package/internal/util/bigint.js +22 -29
  259. package/internal/util/bigint.js.map +1 -1
  260. package/internal/util/download.d.ts.map +1 -1
  261. package/internal/util/download.js +1 -1
  262. package/internal/util/download.js.map +1 -1
  263. package/internal/util/fs-utils.d.ts +26 -9
  264. package/internal/util/fs-utils.d.ts.map +1 -1
  265. package/internal/util/fs-utils.js +111 -68
  266. package/internal/util/fs-utils.js.map +1 -1
  267. package/internal/util/glob.d.ts +13 -0
  268. package/internal/util/glob.d.ts.map +1 -1
  269. package/internal/util/glob.js +13 -0
  270. package/internal/util/glob.js.map +1 -1
  271. package/internal/util/keccak.d.ts +3 -0
  272. package/internal/util/keccak.d.ts.map +1 -0
  273. package/internal/util/keccak.js +12 -0
  274. package/internal/util/keccak.js.map +1 -0
  275. package/internal/util/scripts-runner.d.ts.map +1 -1
  276. package/internal/util/scripts-runner.js +7 -4
  277. package/internal/util/scripts-runner.js.map +1 -1
  278. package/package.json +15 -15
  279. package/register.js +1 -3
  280. package/register.js.map +1 -1
  281. package/sample-projects/javascript/contracts/Lock.sol +3 -3
  282. package/sample-projects/typescript/contracts/Lock.sol +3 -3
  283. package/src/builtin-tasks/clean.ts +9 -6
  284. package/src/builtin-tasks/compile.ts +96 -128
  285. package/src/builtin-tasks/flatten.ts +2 -3
  286. package/src/builtin-tasks/node.ts +2 -2
  287. package/src/builtin-tasks/test.ts +7 -3
  288. package/src/builtin-tasks/utils/solidity-files-cache.ts +9 -8
  289. package/src/internal/artifacts.ts +392 -182
  290. package/src/internal/cli/cli.ts +43 -17
  291. package/src/internal/core/config/config-loading.ts +1 -1
  292. package/src/internal/core/config/config-resolution.ts +12 -24
  293. package/src/internal/core/config/default-config.ts +1 -1
  294. package/src/internal/core/errors-list.ts +29 -13
  295. package/src/internal/core/errors.ts +10 -2
  296. package/src/internal/core/execution-mode.ts +2 -3
  297. package/src/internal/core/flamegraph.ts +270 -0
  298. package/src/internal/core/jsonrpc/types/base-types.ts +7 -3
  299. package/src/internal/core/params/hardhat-params.ts +18 -0
  300. package/src/internal/core/providers/accounts.ts +8 -8
  301. package/src/internal/core/providers/construction.ts +10 -8
  302. package/src/internal/core/providers/gas-providers.ts +2 -2
  303. package/src/internal/core/providers/util.ts +1 -1
  304. package/src/internal/core/runtime-environment.ts +103 -10
  305. package/src/internal/core/task-profiling.ts +56 -0
  306. package/src/internal/core/typescript-support.ts +11 -2
  307. package/src/internal/hardhat-network/jsonrpc/client.ts +1 -1
  308. package/src/internal/hardhat-network/provider/BlockchainBase.ts +6 -6
  309. package/src/internal/hardhat-network/provider/BlockchainData.ts +5 -5
  310. package/src/internal/hardhat-network/provider/HardhatBlockchain.ts +4 -4
  311. package/src/internal/hardhat-network/provider/PoolState.ts +2 -2
  312. package/src/internal/hardhat-network/provider/TransactionQueue.ts +2 -2
  313. package/src/internal/hardhat-network/provider/TxPool.ts +12 -5
  314. package/src/internal/hardhat-network/provider/ethereumjs-workarounds.ts +3 -3
  315. package/src/internal/hardhat-network/provider/filter.ts +2 -2
  316. package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +10 -10
  317. package/src/internal/hardhat-network/provider/fork/ForkStateManager.ts +12 -18
  318. package/src/internal/hardhat-network/provider/fork/rpcToBlockData.ts +1 -1
  319. package/src/internal/hardhat-network/provider/fork/rpcToTxData.ts +5 -2
  320. package/src/internal/hardhat-network/provider/modules/eth.ts +10 -6
  321. package/src/internal/hardhat-network/provider/modules/hardhat.ts +25 -1
  322. package/src/internal/hardhat-network/provider/modules/logger.ts +3 -3
  323. package/src/internal/hardhat-network/provider/modules/net.ts +1 -1
  324. package/src/internal/hardhat-network/provider/modules/personal.ts +1 -1
  325. package/src/internal/hardhat-network/provider/modules/web3.ts +4 -6
  326. package/src/internal/hardhat-network/provider/node-types.ts +6 -6
  327. package/src/internal/hardhat-network/provider/node.ts +25 -12
  328. package/src/internal/hardhat-network/provider/output.ts +6 -6
  329. package/src/internal/hardhat-network/provider/provider.ts +7 -6
  330. package/src/internal/hardhat-network/provider/return-data.ts +9 -5
  331. package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +9 -5
  332. package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +8 -4
  333. package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +4 -4
  334. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +8 -5
  335. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts +4 -4
  336. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts +3 -3
  337. package/src/internal/hardhat-network/provider/types/HardhatBlockchainInterface.ts +2 -2
  338. package/src/internal/hardhat-network/provider/utils/makeAccount.ts +6 -1
  339. package/src/internal/hardhat-network/provider/utils/makeCommon.ts +1 -1
  340. package/src/internal/hardhat-network/provider/utils/makeStateTrie.ts +7 -3
  341. package/src/internal/hardhat-network/provider/utils/putGenesisBlock.ts +6 -6
  342. package/src/internal/hardhat-network/provider/utils/random.ts +17 -14
  343. package/src/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.ts +1 -1
  344. package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +1 -1
  345. package/src/internal/hardhat-network/stack-traces/constants.ts +2 -0
  346. package/src/internal/hardhat-network/stack-traces/contracts-identifier.ts +1 -1
  347. package/src/internal/hardhat-network/stack-traces/debug.ts +1 -1
  348. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +3 -3
  349. package/src/internal/hardhat-network/stack-traces/message-trace.ts +1 -1
  350. package/src/internal/hardhat-network/stack-traces/model.ts +1 -1
  351. package/src/internal/hardhat-network/stack-traces/panic-errors.ts +11 -11
  352. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +1 -1
  353. package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +1 -1
  354. package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +1 -4
  355. package/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts +31 -17
  356. package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +29 -14
  357. package/src/internal/lib/hardhat-lib.ts +0 -3
  358. package/src/internal/solidity/compilation-job.ts +11 -11
  359. package/src/internal/solidity/compiler/downloader.ts +271 -243
  360. package/src/internal/solidity/compiler/index.ts +13 -7
  361. package/src/internal/solidity/dependencyGraph.ts +12 -8
  362. package/src/internal/solidity/parse.ts +4 -70
  363. package/src/internal/solidity/resolver.ts +36 -8
  364. package/src/internal/util/bigint.ts +25 -43
  365. package/src/internal/util/download.ts +2 -2
  366. package/src/internal/util/fs-utils.ts +223 -0
  367. package/src/internal/util/glob.ts +13 -0
  368. package/src/internal/util/keccak.ts +5 -0
  369. package/src/internal/util/scripts-runner.ts +13 -4
  370. package/src/internal/util/wei-values.ts +1 -1
  371. package/src/internal/{hardhat-network/vendor → vendor}/await-semaphore/index.ts +0 -0
  372. package/src/profiling.ts +37 -0
  373. package/src/register.ts +1 -4
  374. package/src/types/artifacts.ts +21 -0
  375. package/src/types/config.ts +7 -7
  376. package/src/types/runtime.ts +2 -0
  377. package/src/utils/source-names.ts +36 -26
  378. package/types/artifacts.d.ts +19 -0
  379. package/types/artifacts.d.ts.map +1 -1
  380. package/types/config.d.ts +7 -7
  381. package/types/runtime.d.ts +2 -0
  382. package/types/runtime.d.ts.map +1 -1
  383. package/utils/source-names.d.ts.map +1 -1
  384. package/utils/source-names.js +25 -36
  385. package/utils/source-names.js.map +1 -1
  386. package/internal/hardhat-network/provider/fork/random.d.ts +0 -7
  387. package/internal/hardhat-network/provider/fork/random.d.ts.map +0 -1
  388. package/internal/hardhat-network/provider/fork/random.js +0 -32
  389. package/internal/hardhat-network/provider/fork/random.js.map +0 -1
  390. package/internal/hardhat-network/provider/utils/bnToHex.d.ts +0 -3
  391. package/internal/hardhat-network/provider/utils/bnToHex.d.ts.map +0 -1
  392. package/internal/hardhat-network/provider/utils/bnToHex.js +0 -9
  393. package/internal/hardhat-network/provider/utils/bnToHex.js.map +0 -1
  394. package/internal/hardhat-network/provider/utils/makeForkCommon.d.ts +0 -4
  395. package/internal/hardhat-network/provider/utils/makeForkCommon.d.ts.map +0 -1
  396. package/internal/hardhat-network/provider/utils/makeForkCommon.js +0 -16
  397. package/internal/hardhat-network/provider/utils/makeForkCommon.js.map +0 -1
  398. package/internal/hardhat-network/vendor/await-semaphore/index.d.ts +0 -12
  399. package/internal/hardhat-network/vendor/await-semaphore/index.d.ts.map +0 -1
  400. package/internal/hardhat-network/vendor/await-semaphore/index.js +0 -64
  401. package/internal/hardhat-network/vendor/await-semaphore/index.js.map +0 -1
  402. package/internal/util/antlr-prototype-pollution-workaround.d.ts +0 -16
  403. package/internal/util/antlr-prototype-pollution-workaround.d.ts.map +0 -1
  404. package/internal/util/antlr-prototype-pollution-workaround.js +0 -22
  405. package/internal/util/antlr-prototype-pollution-workaround.js.map +0 -1
  406. package/src/internal/util/antlr-prototype-pollution-workaround.ts +0 -17
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getAllFilesMatchingSync = exports.getAllFilesMatching = exports.fileExistsWithExactCasing = exports.getRealCaseSync = exports.getRealCase = exports.InvalidDirectoryError = exports.FileNotFoundError = exports.FileSystemAccessError = void 0;
6
+ exports.getFileTrueCaseSync = exports.getFileTrueCase = exports.getAllFilesMatchingSync = exports.getAllFilesMatching = exports.getRealPathSync = exports.getRealPath = exports.InvalidDirectoryError = exports.FileNotFoundError = exports.FileSystemAccessError = void 0;
7
7
  const promises_1 = __importDefault(require("fs/promises"));
8
8
  const fs_1 = __importDefault(require("fs"));
9
9
  const path_1 = __importDefault(require("path"));
@@ -14,77 +14,154 @@ class FileSystemAccessError extends errors_1.CustomError {
14
14
  }
15
15
  exports.FileSystemAccessError = FileSystemAccessError;
16
16
  class FileNotFoundError extends errors_1.CustomError {
17
+ constructor(filePath, parent) {
18
+ super(`File ${filePath} not found`, parent);
19
+ }
17
20
  }
18
21
  exports.FileNotFoundError = FileNotFoundError;
19
22
  class InvalidDirectoryError extends errors_1.CustomError {
23
+ constructor(filePath, parent) {
24
+ super(`Invalid directory ${filePath}`, parent);
25
+ }
20
26
  }
21
27
  exports.InvalidDirectoryError = InvalidDirectoryError;
22
28
  /**
23
- * Returns the real-case version of an absolute path.
29
+ * Returns the real path of absolutePath, resolving symlinks.
24
30
  *
25
31
  * @throws FileNotFoundError if absolutePath doesn't exist.
26
32
  */
27
- async function getRealCase(absolutePath) {
33
+ async function getRealPath(absolutePath) {
28
34
  try {
29
- return await promises_1.default.realpath(absolutePath);
35
+ // This method returns the actual casing.
36
+ // Please read Node.js' docs to learn more.
37
+ return await promises_1.default.realpath(path_1.default.normalize(absolutePath));
30
38
  }
31
39
  catch (e) {
32
40
  if (e.code === "ENOENT") {
33
41
  // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
34
- throw new FileNotFoundError(`File ${absolutePath} not found`, e);
42
+ throw new FileNotFoundError(absolutePath, e);
35
43
  }
36
44
  // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
37
45
  throw new FileSystemAccessError(e.message, e);
38
46
  }
39
47
  }
40
- exports.getRealCase = getRealCase;
48
+ exports.getRealPath = getRealPath;
41
49
  /**
42
- * Sync version of getRealCase
50
+ * Sync version of getRealPath
43
51
  *
44
52
  * @see getRealCase
45
53
  */
46
- function getRealCaseSync(absolutePath) {
54
+ function getRealPathSync(absolutePath) {
47
55
  try {
48
- return fs_1.default.realpathSync.native(absolutePath);
56
+ // This method returns the actual casing.
57
+ // Please read Node.js' docs to learn more.
58
+ return fs_1.default.realpathSync.native(path_1.default.normalize(absolutePath));
49
59
  }
50
60
  catch (e) {
51
61
  if (e.code === "ENOENT") {
52
62
  // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
53
- throw new FileNotFoundError(`File ${absolutePath} not found`, e);
63
+ throw new FileNotFoundError(absolutePath, e);
54
64
  }
55
65
  // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
56
66
  throw new FileSystemAccessError(e.message, e);
57
67
  }
58
68
  }
59
- exports.getRealCaseSync = getRealCaseSync;
69
+ exports.getRealPathSync = getRealPathSync;
60
70
  /**
61
- * Returns true if absolutePath exists and it has the same casing in the FS.
71
+ * Returns an array of files (not dirs) that match a condition.
72
+ *
73
+ * @param absolutePathToDir A directory. If it doesn't exist `[]` is returned.
74
+ * @param matches A function to filter files (not directories)
75
+ * @returns An An array of absolute paths. Each file has its true case, except
76
+ * for the initial absolutePathToDir part, which preserves the given casing.
77
+ * No order is guaranteed.
62
78
  */
63
- async function fileExistsWithExactCasing(absolutePath) {
64
- try {
65
- const realpath = await getRealCase(absolutePath);
66
- return realpath === absolutePath;
67
- }
68
- catch (e) {
69
- if (e instanceof FileNotFoundError) {
70
- return false;
79
+ async function getAllFilesMatching(absolutePathToDir, matches) {
80
+ const dir = await readdir(absolutePathToDir);
81
+ const results = await Promise.all(dir.map(async (file) => {
82
+ const absolutePathToFile = path_1.default.join(absolutePathToDir, file);
83
+ const stats = await promises_1.default.stat(absolutePathToFile);
84
+ if (stats.isDirectory()) {
85
+ const files = await getAllFilesMatching(absolutePathToFile, matches);
86
+ return files.flat();
87
+ }
88
+ else if (matches === undefined || matches(absolutePathToFile)) {
89
+ return absolutePathToFile;
90
+ }
91
+ else {
92
+ return [];
93
+ }
94
+ }));
95
+ return results.flat();
96
+ }
97
+ exports.getAllFilesMatching = getAllFilesMatching;
98
+ /**
99
+ * Sync version of getAllFilesMatching
100
+ *
101
+ * @see getAllFilesMatching
102
+ */
103
+ function getAllFilesMatchingSync(absolutePathToDir, matches) {
104
+ const dir = readdirSync(absolutePathToDir);
105
+ const results = dir.map((file) => {
106
+ const absolutePathToFile = path_1.default.join(absolutePathToDir, file);
107
+ const stats = fs_1.default.statSync(absolutePathToFile);
108
+ if (stats.isDirectory()) {
109
+ return getAllFilesMatchingSync(absolutePathToFile, matches).flat();
110
+ }
111
+ else if (matches === undefined || matches(absolutePathToFile)) {
112
+ return absolutePathToFile;
113
+ }
114
+ else {
115
+ return [];
116
+ }
117
+ });
118
+ return results.flat();
119
+ }
120
+ exports.getAllFilesMatchingSync = getAllFilesMatchingSync;
121
+ /**
122
+ * Returns the true case relative path of `relativePath` from `from`, without
123
+ * resolving symlinks.
124
+ */
125
+ async function getFileTrueCase(from, relativePath) {
126
+ const dirEntries = await readdir(from);
127
+ const parts = relativePath.split(path_1.default.sep);
128
+ const nextDirLowerCase = parts[0].toLowerCase();
129
+ for (const dirEntry of dirEntries) {
130
+ if (dirEntry.toLowerCase() === nextDirLowerCase) {
131
+ if (parts.length === 1) {
132
+ return dirEntry;
133
+ }
134
+ return path_1.default.join(dirEntry, await getFileTrueCase(path_1.default.join(from, dirEntry), path_1.default.relative(parts[0], relativePath)));
71
135
  }
72
- // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
73
- throw new FileSystemAccessError(e.message, e);
74
136
  }
75
- return true;
137
+ // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
138
+ throw new FileNotFoundError(path_1.default.join(from, relativePath));
76
139
  }
77
- exports.fileExistsWithExactCasing = fileExistsWithExactCasing;
140
+ exports.getFileTrueCase = getFileTrueCase;
78
141
  /**
79
- * Returns an array of files (not dirs) that match a condition.
142
+ * Sync version of getFileTrueCase
80
143
  *
81
- * @param absolutePathToDir A directory. If it doesn't exist `[]` is returned.
82
- * @param matches
144
+ * @see getFileTrueCase
83
145
  */
84
- async function getAllFilesMatching(absolutePathToDir, matches) {
85
- let dir;
146
+ function getFileTrueCaseSync(from, relativePath) {
147
+ const dirEntries = readdirSync(from);
148
+ const parts = relativePath.split(path_1.default.sep);
149
+ const nextDirLowerCase = parts[0].toLowerCase();
150
+ for (const dirEntry of dirEntries) {
151
+ if (dirEntry.toLowerCase() === nextDirLowerCase) {
152
+ if (parts.length === 1) {
153
+ return dirEntry;
154
+ }
155
+ return path_1.default.join(dirEntry, getFileTrueCaseSync(path_1.default.join(from, dirEntry), path_1.default.relative(parts[0], relativePath)));
156
+ }
157
+ }
158
+ // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
159
+ throw new FileNotFoundError(path_1.default.join(from, relativePath));
160
+ }
161
+ exports.getFileTrueCaseSync = getFileTrueCaseSync;
162
+ async function readdir(absolutePathToDir) {
86
163
  try {
87
- dir = await promises_1.default.readdir(absolutePathToDir);
164
+ return await promises_1.default.readdir(absolutePathToDir);
88
165
  }
89
166
  catch (e) {
90
167
  if (e.code === "ENOENT") {
@@ -92,31 +169,15 @@ async function getAllFilesMatching(absolutePathToDir, matches) {
92
169
  }
93
170
  if (e.code === "ENOTDIR") {
94
171
  // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
95
- throw new InvalidDirectoryError(`Expected ${absolutePathToDir} to be a directory but it isn't`);
172
+ throw new InvalidDirectoryError(absolutePathToDir, e);
96
173
  }
97
174
  // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
98
175
  throw new FileSystemAccessError(e.message, e);
99
176
  }
100
- const results = await Promise.all(dir.map(async (file) => {
101
- const absolutePathToFile = path_1.default.join(absolutePathToDir, file);
102
- const stats = await promises_1.default.stat(absolutePathToFile);
103
- if (stats.isDirectory()) {
104
- return getAllFilesMatching(absolutePathToFile, matches);
105
- }
106
- else {
107
- if (matches === undefined || matches(absolutePathToFile)) {
108
- return absolutePathToFile;
109
- }
110
- }
111
- }));
112
- const filteredResults = results.filter(isNotundefined);
113
- return filteredResults.flat(1000000);
114
177
  }
115
- exports.getAllFilesMatching = getAllFilesMatching;
116
- function getAllFilesMatchingSync(absolutePathToDir, matches) {
117
- let dir;
178
+ function readdirSync(absolutePathToDir) {
118
179
  try {
119
- dir = fs_1.default.readdirSync(absolutePathToDir);
180
+ return fs_1.default.readdirSync(absolutePathToDir);
120
181
  }
121
182
  catch (e) {
122
183
  if (e.code === "ENOENT") {
@@ -124,28 +185,10 @@ function getAllFilesMatchingSync(absolutePathToDir, matches) {
124
185
  }
125
186
  if (e.code === "ENOTDIR") {
126
187
  // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
127
- throw new InvalidDirectoryError(`Expected ${absolutePathToDir} to be a directory but it isn't`);
188
+ throw new InvalidDirectoryError(absolutePathToDir, e);
128
189
  }
129
190
  // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
130
191
  throw new FileSystemAccessError(e.message, e);
131
192
  }
132
- const results = dir.map((file) => {
133
- const absolutePathToFile = path_1.default.join(absolutePathToDir, file);
134
- const stats = fs_1.default.statSync(absolutePathToFile);
135
- if (stats.isDirectory()) {
136
- return getAllFilesMatchingSync(absolutePathToFile, matches);
137
- }
138
- else {
139
- if (matches === undefined || matches(absolutePathToFile)) {
140
- return absolutePathToFile;
141
- }
142
- }
143
- });
144
- const filteredResults = results.filter(isNotundefined);
145
- return filteredResults.flat(1000000);
146
- }
147
- exports.getAllFilesMatchingSync = getAllFilesMatchingSync;
148
- function isNotundefined(t) {
149
- return t !== undefined;
150
193
  }
151
194
  //# sourceMappingURL=fs-utils.js.map
@@ -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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"}
@@ -1,4 +1,17 @@
1
1
  import type { IOptions as GlobOptions } from "glob";
2
+ /**
3
+ * DO NOT USE THIS FUNCTION. It's SLOW and its semantics are optimized for
4
+ * user-facing CLI globs, not traversing the FS.
5
+ *
6
+ * It's not removed because unfortunately some plugins used it, like the truffle
7
+ * ones.
8
+ *
9
+ * @deprecated
10
+ */
2
11
  export declare function glob(pattern: string, options?: GlobOptions): Promise<string[]>;
12
+ /**
13
+ * @deprecated
14
+ * @see glob
15
+ */
3
16
  export declare function globSync(pattern: string, options?: GlobOptions): string[];
4
17
  //# sourceMappingURL=glob.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/internal/util/glob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,MAAM,CAAC;AAKpD,wBAAsB,IAAI,CACxB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CAInB;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,MAAM,EAAE,CAG7E"}
1
+ {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/internal/util/glob.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,MAAM,CAAC;AAKpD;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CACxB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,MAAM,EAAE,CAAC,CAInB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,MAAM,EAAE,CAG7E"}
@@ -25,12 +25,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.globSync = exports.glob = void 0;
26
26
  const path = __importStar(require("path"));
27
27
  const util_1 = __importDefault(require("util"));
28
+ /**
29
+ * DO NOT USE THIS FUNCTION. It's SLOW and its semantics are optimized for
30
+ * user-facing CLI globs, not traversing the FS.
31
+ *
32
+ * It's not removed because unfortunately some plugins used it, like the truffle
33
+ * ones.
34
+ *
35
+ * @deprecated
36
+ */
28
37
  async function glob(pattern, options = {}) {
29
38
  const { default: globModule } = await Promise.resolve().then(() => __importStar(require("glob")));
30
39
  const files = await util_1.default.promisify(globModule)(pattern, options);
31
40
  return files.map(path.normalize);
32
41
  }
33
42
  exports.glob = glob;
43
+ /**
44
+ * @deprecated
45
+ * @see glob
46
+ */
34
47
  function globSync(pattern, options = {}) {
35
48
  const files = require("glob").sync(pattern, options);
36
49
  return files.map(path.normalize);
@@ -1 +1 @@
1
- {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/internal/util/glob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2CAA6B;AAC7B,gDAAwB;AAEjB,KAAK,UAAU,IAAI,CACxB,OAAe,EACf,UAAuB,EAAE;IAEzB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,wDAAa,MAAM,GAAC,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,cAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAPD,oBAOC;AAED,SAAgB,QAAQ,CAAC,OAAe,EAAE,UAAuB,EAAE;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAHD,4BAGC"}
1
+ {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/internal/util/glob.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2CAA6B;AAC7B,gDAAwB;AAExB;;;;;;;;GAQG;AACI,KAAK,UAAU,IAAI,CACxB,OAAe,EACf,UAAuB,EAAE;IAEzB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,wDAAa,MAAM,GAAC,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,cAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAPD,oBAOC;AAED;;;GAGG;AACH,SAAgB,QAAQ,CAAC,OAAe,EAAE,UAAuB,EAAE;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAHD,4BAGC"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="node" />
2
+ export declare function keccak256(data: Buffer): Buffer;
3
+ //# sourceMappingURL=keccak.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keccak.d.ts","sourceRoot":"","sources":["../../src/internal/util/keccak.ts"],"names":[],"mappings":";AAEA,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.keccak256 = void 0;
7
+ const keccak_1 = __importDefault(require("keccak"));
8
+ function keccak256(data) {
9
+ return (0, keccak_1.default)("keccak256").update(data).digest();
10
+ }
11
+ exports.keccak256 = keccak256;
12
+ //# sourceMappingURL=keccak.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keccak.js","sourceRoot":"","sources":["../../src/internal/util/keccak.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsC;AAEtC,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,IAAA,gBAAgB,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;AAC7D,CAAC;AAFD,8BAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scripts-runner.d.ts","sourceRoot":"","sources":["../../src/internal/util/scripts-runner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAM/C,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAM,EAAO,EACzB,aAAa,GAAE,MAAM,EAAO,EAC5B,YAAY,GAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,GAC5C,OAAO,CAAC,MAAM,CAAC,CA2BjB;AAED,wBAAsB,oBAAoB,CACxC,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAM,EAAO,EACzB,aAAa,GAAE,MAAM,EAAO,EAC5B,YAAY,GAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,GAC5C,OAAO,CAAC,MAAM,CAAC,CAgBjB"}
1
+ {"version":3,"file":"scripts-runner.d.ts","sourceRoot":"","sources":["../../src/internal/util/scripts-runner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAM/C,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAM,EAAO,EACzB,aAAa,GAAE,MAAM,EAAO,EAC5B,YAAY,GAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,GAC5C,OAAO,CAAC,MAAM,CAAC,CA8BjB;AAED,wBAAsB,oBAAoB,CACxC,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAM,EAAO,EACzB,aAAa,GAAE,MAAM,EAAO,EAC5B,YAAY,GAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,GAC5C,OAAO,CAAC,MAAM,CAAC,CAgBjB"}
@@ -34,7 +34,7 @@ async function runScript(scriptPath, scriptArgs = [], extraNodeArgs = [], extraE
34
34
  const processExecArgv = withFixedInspectArg(process.execArgv);
35
35
  const nodeArgs = [
36
36
  ...processExecArgv,
37
- ...getTsNodeArgsIfNeeded(scriptPath),
37
+ ...getTsNodeArgsIfNeeded(scriptPath, extraEnvVars.HARDHAT_TYPECHECK === "true"),
38
38
  ...extraNodeArgs,
39
39
  ];
40
40
  const envVars = { ...process.env, ...extraEnvVars };
@@ -44,7 +44,7 @@ async function runScript(scriptPath, scriptArgs = [], extraNodeArgs = [], extraE
44
44
  env: envVars,
45
45
  });
46
46
  childProcess.once("close", (status) => {
47
- log(`Script ${scriptPath} exited with status code ${status}`);
47
+ log(`Script ${scriptPath} exited with status code ${status ?? "null"}`);
48
48
  resolve(status);
49
49
  });
50
50
  childProcess.once("error", reject);
@@ -87,7 +87,7 @@ function withFixedInspectArg(argv) {
87
87
  };
88
88
  return argv.map(fixIfInspectArg);
89
89
  }
90
- function getTsNodeArgsIfNeeded(scriptPath) {
90
+ function getTsNodeArgsIfNeeded(scriptPath, shouldTypecheck) {
91
91
  if (process.execArgv.includes("ts-node/register")) {
92
92
  return [];
93
93
  }
@@ -98,7 +98,10 @@ function getTsNodeArgsIfNeeded(scriptPath) {
98
98
  }
99
99
  // If the script we are going to run is .ts we need ts-node
100
100
  if (/\.tsx?$/i.test(scriptPath)) {
101
- return ["--require", "ts-node/register"];
101
+ return [
102
+ "--require",
103
+ `ts-node/register${shouldTypecheck ? "" : "/transpile-only"}`,
104
+ ];
102
105
  }
103
106
  return [];
104
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scripts-runner.js","sourceRoot":"","sources":["../../src/internal/util/scripts-runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AAGxB,2DAAmE;AACnE,gEAAkE;AAElE,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,6BAA6B,CAAC,CAAC;AAE1C,KAAK,UAAU,SAAS,CAC7B,UAAkB,EAClB,aAAuB,EAAE,EACzB,gBAA0B,EAAE,EAC5B,eAA2C,EAAE;IAE7C,MAAM,EAAE,IAAI,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;IAE/C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG;YACf,GAAG,eAAe;YAClB,GAAG,qBAAqB,CAAC,UAAU,CAAC;YACpC,GAAG,aAAa;SACjB,CAAC;QAEF,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;QAEpD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE;YAChD,KAAK,EAAE,SAAS;YAChB,QAAQ,EAAE,QAAQ;YAClB,GAAG,EAAE,OAAO;SACb,CAAC,CAAC;QAEH,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YACpC,GAAG,CAAC,UAAU,UAAU,4BAA4B,MAAM,EAAE,CAAC,CAAC;YAE9D,OAAO,CAAC,MAAgB,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAhCD,8BAgCC;AAEM,KAAK,UAAU,oBAAoB,CACxC,gBAAkC,EAClC,UAAkB,EAClB,aAAuB,EAAE,EACzB,gBAA0B,EAAE,EAC5B,eAA2C,EAAE;IAE7C,GAAG,CAAC,sCAAsC,UAAU,EAAE,CAAC,CAAC;IAExD,OAAO,SAAS,CACd,UAAU,EACV,UAAU,EACV;QACE,GAAG,aAAa;QAChB,WAAW;QACX,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC;KAC7C,EACD;QACE,GAAG,IAAA,kCAAkB,EAAC,gBAAgB,CAAC;QACvC,GAAG,YAAY;KAChB,CACF,CAAC;AACJ,CAAC;AAtBD,oDAsBC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,mBAAmB,CAAC,IAAc;IACzC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE;QACtC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YAChD,OAAO,WAAW,CAAC;SACpB;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QACjD,OAAO,EAAE,CAAC;KACX;IAED,wEAAwE;IACxE,eAAe;IACf,IAAI,IAAA,0CAAyB,GAAE,EAAE;QAC/B,OAAO,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAC;KACzD;IAED,2DAA2D;IAC3D,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QAC/B,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;KAC1C;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"scripts-runner.js","sourceRoot":"","sources":["../../src/internal/util/scripts-runner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat",
3
- "version": "2.11.0-dev.0",
3
+ "version": "2.11.0",
4
4
  "author": "Nomic Labs LLC",
5
5
  "license": "MIT",
6
6
  "homepage": "https://hardhat.org",
@@ -66,9 +66,10 @@
66
66
  "@types/find-up": "^2.1.1",
67
67
  "@types/fs-extra": "^5.1.0",
68
68
  "@types/glob": "^7.1.1",
69
+ "@types/keccak": "^3.0.1",
69
70
  "@types/lodash": "^4.14.123",
70
71
  "@types/mocha": "^9.1.0",
71
- "@types/node": "^12.0.0",
72
+ "@types/node": "^14.0.0",
72
73
  "@types/qs": "^6.5.3",
73
74
  "@types/resolve": "^1.17.1",
74
75
  "@types/semver": "^6.0.2",
@@ -96,20 +97,20 @@
96
97
  "typescript": "~4.5.2"
97
98
  },
98
99
  "dependencies": {
99
- "@ignored/block": "^4.0.0-beta.6",
100
- "@ignored/blockchain": "^6.0.0-beta.6",
101
- "@ignored/common": "^3.0.0-beta.6",
102
- "@ignored/evm": "^1.0.0-beta.6",
103
- "@ignored/rlp": "^4.0.0-beta.6",
104
- "@ignored/statemanager": "^1.0.0-beta.6",
105
- "@ignored/trie": "^5.0.0-beta.6",
106
- "@ignored/tx": "^4.0.0-beta.6",
107
- "@ignored/util": "^8.0.0-beta.6",
108
- "@ignored/vm": "^6.0.0-beta.6",
109
100
  "@ethersproject/abi": "^5.1.2",
110
101
  "@metamask/eth-sig-util": "^4.0.0",
102
+ "@nomicfoundation/ethereumjs-block": "^4.0.0-rc.3",
103
+ "@nomicfoundation/ethereumjs-blockchain": "^6.0.0-rc.3",
104
+ "@nomicfoundation/ethereumjs-common": "^3.0.0-rc.3",
105
+ "@nomicfoundation/ethereumjs-evm": "^1.0.0-rc.3",
106
+ "@nomicfoundation/ethereumjs-rlp": "^4.0.0-rc.3",
107
+ "@nomicfoundation/ethereumjs-statemanager": "^1.0.0-rc.3",
108
+ "@nomicfoundation/ethereumjs-trie": "^5.0.0-rc.3",
109
+ "@nomicfoundation/ethereumjs-tx": "^4.0.0-rc.3",
110
+ "@nomicfoundation/ethereumjs-util": "^8.0.0-rc.3",
111
+ "@nomicfoundation/ethereumjs-vm": "^6.0.0-rc.3",
112
+ "@nomicfoundation/solidity-analyzer": "^0.0.3",
111
113
  "@sentry/node": "^5.18.1",
112
- "@solidity-parser/parser": "^0.14.2",
113
114
  "@types/bn.js": "^5.1.0",
114
115
  "@types/lru-cache": "^5.1.0",
115
116
  "abort-controller": "^3.0.0",
@@ -130,6 +131,7 @@
130
131
  "glob": "7.2.0",
131
132
  "immutable": "^4.0.0-rc.12",
132
133
  "io-ts": "1.10.4",
134
+ "keccak": "^3.0.2",
133
135
  "lodash": "^4.17.11",
134
136
  "mnemonist": "^0.38.0",
135
137
  "mocha": "^10.0.0",
@@ -138,11 +140,9 @@
138
140
  "raw-body": "^2.4.1",
139
141
  "resolve": "1.17.0",
140
142
  "semver": "^6.3.0",
141
- "slash": "^3.0.0",
142
143
  "solc": "0.7.3",
143
144
  "source-map-support": "^0.5.13",
144
145
  "stacktrace-parser": "^0.1.10",
145
- "true-case-path": "^2.2.1",
146
146
  "tsort": "0.0.1",
147
147
  "undici": "^5.4.0",
148
148
  "uuid": "^8.3.2",
package/register.js CHANGED
@@ -11,8 +11,6 @@ const hardhat_params_1 = require("./internal/core/params/hardhat-params");
11
11
  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
- const antlr_prototype_pollution_workaround_1 = require("./internal/util/antlr-prototype-pollution-workaround");
15
- (0, antlr_prototype_pollution_workaround_1.applyWorkaround)();
16
14
  if (!context_1.HardhatContext.isCreated()) {
17
15
  require("source-map-support/register");
18
16
  const ctx = context_1.HardhatContext.createHardhatContext();
@@ -24,7 +22,7 @@ if (!context_1.HardhatContext.isCreated()) {
24
22
  debug_1.default.enable("hardhat*");
25
23
  }
26
24
  if ((0, typescript_support_1.willRunWithTypescript)(hardhatArguments.config)) {
27
- (0, typescript_support_1.loadTsNode)(hardhatArguments.tsconfig);
25
+ (0, typescript_support_1.loadTsNode)(hardhatArguments.tsconfig, hardhatArguments.typecheck);
28
26
  }
29
27
  const { resolvedConfig, userConfig } = (0, config_loading_1.loadConfigAndTasks)(hardhatArguments);
30
28
  const env = new runtime_environment_1.Environment(resolvedConfig, hardhatArguments, ctx.tasksDSL.getTaskDefinitions(), ctx.extendersManager.getExtenders(), ctx.experimentalHardhatNetworkMessageTraceHooks, userConfig);
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,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,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,IAAA,mCAAkB,EAAC,gBAAgB,CAAC,CAAC;IAE5E,MAAM,GAAG,GAAG,IAAI,iCAAW,CACzB,cAAc,EACd,gBAAgB,EAChB,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EACjC,GAAG,CAAC,gBAAgB,CAAC,YAAY,EAAE,EACnC,GAAG,CAAC,2CAA2C,EAC/C,UAAU,CACX,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;AAEjC,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,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;KACnE;IAED,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,IAAA,mCAAkB,EAAC,gBAAgB,CAAC,CAAC;IAE5E,MAAM,GAAG,GAAG,IAAI,iCAAW,CACzB,cAAc,EACd,gBAAgB,EAChB,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EACjC,GAAG,CAAC,gBAAgB,CAAC,YAAY,EAAE,EACnC,GAAG,CAAC,2CAA2C,EAC/C,UAAU,CACX,CAAC;IAEF,GAAG,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAEtC,GAAG,CAAC,cAAc,EAAE,CAAC;CACtB"}
@@ -1,8 +1,8 @@
1
1
  // SPDX-License-Identifier: UNLICENSED
2
2
  pragma solidity ^0.8.9;
3
3
 
4
- // Import this file to use console.log
5
- import "hardhat/console.sol";
4
+ // Uncomment this line to use console.log
5
+ // import "hardhat/console.sol";
6
6
 
7
7
  contract Lock {
8
8
  uint public unlockTime;
@@ -21,7 +21,7 @@ contract Lock {
21
21
  }
22
22
 
23
23
  function withdraw() public {
24
- // Uncomment this line to print a log in your terminal
24
+ // Uncomment this line, and the import of "hardhat/console.sol", to print a log in your terminal
25
25
  // console.log("Unlock time is %o and block timestamp is %o", unlockTime, block.timestamp);
26
26
 
27
27
  require(block.timestamp >= unlockTime, "You can't withdraw yet");
@@ -1,8 +1,8 @@
1
1
  // SPDX-License-Identifier: UNLICENSED
2
2
  pragma solidity ^0.8.9;
3
3
 
4
- // Import this file to use console.log
5
- import "hardhat/console.sol";
4
+ // Uncomment this line to use console.log
5
+ // import "hardhat/console.sol";
6
6
 
7
7
  contract Lock {
8
8
  uint public unlockTime;
@@ -21,7 +21,7 @@ contract Lock {
21
21
  }
22
22
 
23
23
  function withdraw() public {
24
- // Uncomment this line to print a log in your terminal
24
+ // Uncomment this line, and the import of "hardhat/console.sol", to print a log in your terminal
25
25
  // console.log("Unlock time is %o and block timestamp is %o", unlockTime, block.timestamp);
26
26
 
27
27
  require(block.timestamp >= unlockTime, "You can't withdraw yet");
@@ -12,10 +12,13 @@ subtask(TASK_CLEAN_GLOBAL, async () => {
12
12
 
13
13
  task(TASK_CLEAN, "Clears the cache and deletes all artifacts")
14
14
  .addFlag("global", "Clear the global cache")
15
- .setAction(async ({ global }: { global: boolean }, { config, run }) => {
16
- if (global) {
17
- return run(TASK_CLEAN_GLOBAL);
15
+ .setAction(
16
+ async ({ global }: { global: boolean }, { config, run, artifacts }) => {
17
+ if (global) {
18
+ return run(TASK_CLEAN_GLOBAL);
19
+ }
20
+ await fsExtra.emptyDir(config.paths.cache);
21
+ await fsExtra.remove(config.paths.artifacts);
22
+ artifacts.clearCache?.();
18
23
  }
19
- await fsExtra.emptyDir(config.paths.cache);
20
- await fsExtra.remove(config.paths.artifacts);
21
- });
24
+ );