hardhat 2.11.0-dev.0 → 2.11.0-rc.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 (386) hide show
  1. package/CHANGELOG.md +233 -0
  2. package/builtin-tasks/clean.js +2 -1
  3. package/builtin-tasks/clean.js.map +1 -1
  4. package/builtin-tasks/compile.js +52 -95
  5. package/builtin-tasks/compile.js.map +1 -1
  6. package/builtin-tasks/flatten.js +2 -21
  7. package/builtin-tasks/flatten.js.map +1 -1
  8. package/builtin-tasks/node.js +1 -1
  9. package/builtin-tasks/node.js.map +1 -1
  10. package/builtin-tasks/test.js +3 -3
  11. package/builtin-tasks/test.js.map +1 -1
  12. package/builtin-tasks/utils/solidity-files-cache.d.ts.map +1 -1
  13. package/builtin-tasks/utils/solidity-files-cache.js +5 -6
  14. package/builtin-tasks/utils/solidity-files-cache.js.map +1 -1
  15. package/internal/artifacts.d.ts +3 -11
  16. package/internal/artifacts.d.ts.map +1 -1
  17. package/internal/artifacts.js +266 -133
  18. package/internal/artifacts.js.map +1 -1
  19. package/internal/cli/cli.js +24 -11
  20. package/internal/cli/cli.js.map +1 -1
  21. package/internal/core/config/config-loading.js +2 -2
  22. package/internal/core/config/config-loading.js.map +1 -1
  23. package/internal/core/config/config-resolution.d.ts.map +1 -1
  24. package/internal/core/config/config-resolution.js +11 -31
  25. package/internal/core/config/config-resolution.js.map +1 -1
  26. package/internal/core/config/default-config.js +1 -1
  27. package/internal/core/config/default-config.js.map +1 -1
  28. package/internal/core/errors-list.d.ts +7 -0
  29. package/internal/core/errors-list.d.ts.map +1 -1
  30. package/internal/core/errors-list.js +28 -11
  31. package/internal/core/errors-list.js.map +1 -1
  32. package/internal/core/errors.d.ts +2 -1
  33. package/internal/core/errors.d.ts.map +1 -1
  34. package/internal/core/errors.js +5 -1
  35. package/internal/core/errors.js.map +1 -1
  36. package/internal/core/execution-mode.d.ts.map +1 -1
  37. package/internal/core/execution-mode.js +2 -21
  38. package/internal/core/execution-mode.js.map +1 -1
  39. package/internal/core/flamegraph.d.ts +4 -0
  40. package/internal/core/flamegraph.d.ts.map +1 -1
  41. package/internal/core/flamegraph.js +13 -3
  42. package/internal/core/flamegraph.js.map +1 -1
  43. package/internal/core/jsonrpc/types/base-types.d.ts.map +1 -1
  44. package/internal/core/jsonrpc/types/base-types.js +12 -12
  45. package/internal/core/jsonrpc/types/base-types.js.map +1 -1
  46. package/internal/core/params/hardhat-params.d.ts.map +1 -1
  47. package/internal/core/params/hardhat-params.js +18 -0
  48. package/internal/core/params/hardhat-params.js.map +1 -1
  49. package/internal/core/providers/accounts.js +9 -9
  50. package/internal/core/providers/accounts.js.map +1 -1
  51. package/internal/core/providers/construction.d.ts.map +1 -1
  52. package/internal/core/providers/construction.js +5 -6
  53. package/internal/core/providers/construction.js.map +1 -1
  54. package/internal/core/providers/gas-providers.d.ts +2 -2
  55. package/internal/core/providers/util.js +1 -1
  56. package/internal/core/providers/util.js.map +1 -1
  57. package/internal/core/runtime-environment.d.ts +6 -0
  58. package/internal/core/runtime-environment.d.ts.map +1 -1
  59. package/internal/core/runtime-environment.js +72 -6
  60. package/internal/core/runtime-environment.js.map +1 -1
  61. package/internal/core/typescript-support.d.ts +1 -1
  62. package/internal/core/typescript-support.d.ts.map +1 -1
  63. package/internal/core/typescript-support.js +6 -2
  64. package/internal/core/typescript-support.js.map +1 -1
  65. package/internal/hardhat-network/jsonrpc/client.d.ts +1 -1
  66. package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
  67. package/internal/hardhat-network/jsonrpc/client.js +10 -10
  68. package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
  69. package/internal/hardhat-network/provider/BlockchainBase.d.ts +4 -4
  70. package/internal/hardhat-network/provider/BlockchainBase.d.ts.map +1 -1
  71. package/internal/hardhat-network/provider/BlockchainBase.js +31 -12
  72. package/internal/hardhat-network/provider/BlockchainBase.js.map +1 -1
  73. package/internal/hardhat-network/provider/BlockchainData.d.ts +3 -3
  74. package/internal/hardhat-network/provider/BlockchainData.d.ts.map +1 -1
  75. package/internal/hardhat-network/provider/BlockchainData.js +15 -15
  76. package/internal/hardhat-network/provider/BlockchainData.js.map +1 -1
  77. package/internal/hardhat-network/provider/HardhatBlockchain.d.ts +3 -3
  78. package/internal/hardhat-network/provider/HardhatBlockchain.d.ts.map +1 -1
  79. package/internal/hardhat-network/provider/HardhatBlockchain.js +2 -2
  80. package/internal/hardhat-network/provider/HardhatBlockchain.js.map +1 -1
  81. package/internal/hardhat-network/provider/PoolState.d.ts +1 -1
  82. package/internal/hardhat-network/provider/PoolState.d.ts.map +1 -1
  83. package/internal/hardhat-network/provider/PoolState.js +21 -2
  84. package/internal/hardhat-network/provider/PoolState.js.map +1 -1
  85. package/internal/hardhat-network/provider/TransactionQueue.d.ts +1 -1
  86. package/internal/hardhat-network/provider/TransactionQueue.d.ts.map +1 -1
  87. package/internal/hardhat-network/provider/TransactionQueue.js +22 -3
  88. package/internal/hardhat-network/provider/TransactionQueue.js.map +1 -1
  89. package/internal/hardhat-network/provider/TxPool.d.ts +4 -4
  90. package/internal/hardhat-network/provider/TxPool.d.ts.map +1 -1
  91. package/internal/hardhat-network/provider/TxPool.js +35 -16
  92. package/internal/hardhat-network/provider/TxPool.js.map +1 -1
  93. package/internal/hardhat-network/provider/ethereumjs-workarounds.js +4 -4
  94. package/internal/hardhat-network/provider/ethereumjs-workarounds.js.map +1 -1
  95. package/internal/hardhat-network/provider/filter.d.ts +1 -1
  96. package/internal/hardhat-network/provider/filter.d.ts.map +1 -1
  97. package/internal/hardhat-network/provider/filter.js +3 -3
  98. package/internal/hardhat-network/provider/filter.js.map +1 -1
  99. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts +3 -3
  100. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
  101. package/internal/hardhat-network/provider/fork/ForkBlockchain.js +13 -12
  102. package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
  103. package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts +3 -5
  104. package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts.map +1 -1
  105. package/internal/hardhat-network/provider/fork/ForkStateManager.js +35 -39
  106. package/internal/hardhat-network/provider/fork/ForkStateManager.js.map +1 -1
  107. package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts +1 -1
  108. package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts.map +1 -1
  109. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts +2 -2
  110. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts.map +1 -1
  111. package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +1 -1
  112. package/internal/hardhat-network/provider/modules/eth.d.ts +1 -1
  113. package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -1
  114. package/internal/hardhat-network/provider/modules/eth.js +22 -22
  115. package/internal/hardhat-network/provider/modules/eth.js.map +1 -1
  116. package/internal/hardhat-network/provider/modules/hardhat.d.ts +2 -0
  117. package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +1 -1
  118. package/internal/hardhat-network/provider/modules/hardhat.js +20 -6
  119. package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
  120. package/internal/hardhat-network/provider/modules/logger.d.ts +2 -2
  121. package/internal/hardhat-network/provider/modules/logger.d.ts.map +1 -1
  122. package/internal/hardhat-network/provider/modules/logger.js +14 -14
  123. package/internal/hardhat-network/provider/modules/logger.js.map +1 -1
  124. package/internal/hardhat-network/provider/modules/net.d.ts +1 -1
  125. package/internal/hardhat-network/provider/modules/net.d.ts.map +1 -1
  126. package/internal/hardhat-network/provider/modules/personal.js +3 -3
  127. package/internal/hardhat-network/provider/modules/personal.js.map +1 -1
  128. package/internal/hardhat-network/provider/modules/web3.js +4 -4
  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/makeForkCommon.d.ts +1 -1
  183. package/internal/hardhat-network/provider/utils/makeForkCommon.d.ts.map +1 -1
  184. package/internal/hardhat-network/provider/utils/makeForkCommon.js +3 -6
  185. package/internal/hardhat-network/provider/utils/makeForkCommon.js.map +1 -1
  186. package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts +1 -1
  187. package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts.map +1 -1
  188. package/internal/hardhat-network/provider/utils/makeStateTrie.js +4 -4
  189. package/internal/hardhat-network/provider/utils/makeStateTrie.js.map +1 -1
  190. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts +3 -3
  191. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts.map +1 -1
  192. package/internal/hardhat-network/provider/utils/putGenesisBlock.js +4 -4
  193. package/internal/hardhat-network/provider/utils/putGenesisBlock.js.map +1 -1
  194. package/internal/hardhat-network/provider/utils/random.d.ts +2 -1
  195. package/internal/hardhat-network/provider/utils/random.d.ts.map +1 -1
  196. package/internal/hardhat-network/provider/utils/random.js +8 -5
  197. package/internal/hardhat-network/provider/utils/random.js.map +1 -1
  198. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js +21 -2
  199. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js.map +1 -1
  200. package/internal/hardhat-network/provider/utils/txMapToArray.d.ts +1 -1
  201. package/internal/hardhat-network/provider/utils/txMapToArray.d.ts.map +1 -1
  202. package/internal/hardhat-network/stack-traces/consoleLogger.js +45 -45
  203. package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
  204. package/internal/hardhat-network/stack-traces/constants.d.ts +1 -1
  205. package/internal/hardhat-network/stack-traces/constants.d.ts.map +1 -1
  206. package/internal/hardhat-network/stack-traces/constants.js +1 -1
  207. package/internal/hardhat-network/stack-traces/constants.js.map +1 -1
  208. package/internal/hardhat-network/stack-traces/contracts-identifier.js +2 -2
  209. package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +1 -1
  210. package/internal/hardhat-network/stack-traces/debug.js +13 -13
  211. package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
  212. package/internal/hardhat-network/stack-traces/error-inferrer.js +2 -2
  213. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
  214. package/internal/hardhat-network/stack-traces/message-trace.d.ts +1 -1
  215. package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -1
  216. package/internal/hardhat-network/stack-traces/model.js +6 -6
  217. package/internal/hardhat-network/stack-traces/model.js.map +1 -1
  218. package/internal/hardhat-network/stack-traces/panic-errors.d.ts +1 -1
  219. package/internal/hardhat-network/stack-traces/panic-errors.js +9 -9
  220. package/internal/hardhat-network/stack-traces/panic-errors.js.map +1 -1
  221. package/internal/hardhat-network/stack-traces/solidity-errors.js +3 -3
  222. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  223. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +1 -1
  224. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts +0 -2
  225. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
  226. package/internal/hardhat-network/stack-traces/solidityTracer.js +2 -4
  227. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
  228. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts +1 -1
  229. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts.map +1 -1
  230. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +27 -25
  231. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
  232. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +2 -2
  233. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +1 -1
  234. package/internal/hardhat-network/stack-traces/vm-tracer.js +15 -12
  235. package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
  236. package/internal/lib/hardhat-lib.d.ts.map +1 -1
  237. package/internal/lib/hardhat-lib.js +0 -2
  238. package/internal/lib/hardhat-lib.js.map +1 -1
  239. package/internal/solidity/compilation-job.d.ts.map +1 -1
  240. package/internal/solidity/compilation-job.js +6 -7
  241. package/internal/solidity/compilation-job.js.map +1 -1
  242. package/internal/solidity/compiler/downloader.d.ts +66 -40
  243. package/internal/solidity/compiler/downloader.d.ts.map +1 -1
  244. package/internal/solidity/compiler/downloader.js +179 -153
  245. package/internal/solidity/compiler/downloader.js.map +1 -1
  246. package/internal/solidity/compiler/index.d.ts +8 -4
  247. package/internal/solidity/compiler/index.d.ts.map +1 -1
  248. package/internal/solidity/compiler/index.js +1 -1
  249. package/internal/solidity/compiler/index.js.map +1 -1
  250. package/internal/solidity/dependencyGraph.d.ts.map +1 -1
  251. package/internal/solidity/dependencyGraph.js +3 -5
  252. package/internal/solidity/dependencyGraph.js.map +1 -1
  253. package/internal/solidity/parse.d.ts.map +1 -1
  254. package/internal/solidity/parse.js +2 -58
  255. package/internal/solidity/parse.js.map +1 -1
  256. package/internal/solidity/resolver.d.ts +1 -0
  257. package/internal/solidity/resolver.d.ts.map +1 -1
  258. package/internal/solidity/resolver.js +33 -8
  259. package/internal/solidity/resolver.js.map +1 -1
  260. package/internal/util/bigint.d.ts +13 -24
  261. package/internal/util/bigint.d.ts.map +1 -1
  262. package/internal/util/bigint.js +22 -29
  263. package/internal/util/bigint.js.map +1 -1
  264. package/internal/util/download.d.ts.map +1 -1
  265. package/internal/util/download.js +1 -1
  266. package/internal/util/download.js.map +1 -1
  267. package/internal/util/fs-utils.d.ts +26 -9
  268. package/internal/util/fs-utils.d.ts.map +1 -1
  269. package/internal/util/fs-utils.js +111 -68
  270. package/internal/util/fs-utils.js.map +1 -1
  271. package/internal/util/glob.d.ts +13 -0
  272. package/internal/util/glob.d.ts.map +1 -1
  273. package/internal/util/glob.js +13 -0
  274. package/internal/util/glob.js.map +1 -1
  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 +13 -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/.npmignore +1 -0
  284. package/src/builtin-tasks/clean.ts +9 -6
  285. package/src/builtin-tasks/compile.ts +96 -128
  286. package/src/builtin-tasks/flatten.ts +2 -3
  287. package/src/builtin-tasks/node.ts +2 -2
  288. package/src/builtin-tasks/test.ts +7 -3
  289. package/src/builtin-tasks/utils/solidity-files-cache.ts +9 -8
  290. package/src/internal/artifacts.ts +392 -182
  291. package/src/internal/cli/cli.ts +36 -15
  292. package/src/internal/core/config/config-loading.ts +1 -1
  293. package/src/internal/core/config/config-resolution.ts +12 -24
  294. package/src/internal/core/config/default-config.ts +1 -1
  295. package/src/internal/core/errors-list.ts +29 -13
  296. package/src/internal/core/errors.ts +10 -2
  297. package/src/internal/core/execution-mode.ts +2 -3
  298. package/src/internal/core/flamegraph.ts +270 -0
  299. package/src/internal/core/jsonrpc/types/base-types.ts +7 -3
  300. package/src/internal/core/params/hardhat-params.ts +18 -0
  301. package/src/internal/core/providers/accounts.ts +8 -8
  302. package/src/internal/core/providers/construction.ts +10 -8
  303. package/src/internal/core/providers/gas-providers.ts +2 -2
  304. package/src/internal/core/providers/util.ts +1 -1
  305. package/src/internal/core/runtime-environment.ts +103 -10
  306. package/src/internal/core/task-profiling.ts +56 -0
  307. package/src/internal/core/typescript-support.ts +11 -2
  308. package/src/internal/hardhat-network/jsonrpc/client.ts +1 -1
  309. package/src/internal/hardhat-network/provider/BlockchainBase.ts +6 -6
  310. package/src/internal/hardhat-network/provider/BlockchainData.ts +5 -5
  311. package/src/internal/hardhat-network/provider/HardhatBlockchain.ts +4 -4
  312. package/src/internal/hardhat-network/provider/PoolState.ts +2 -2
  313. package/src/internal/hardhat-network/provider/TransactionQueue.ts +2 -2
  314. package/src/internal/hardhat-network/provider/TxPool.ts +12 -5
  315. package/src/internal/hardhat-network/provider/ethereumjs-workarounds.ts +3 -3
  316. package/src/internal/hardhat-network/provider/filter.ts +2 -2
  317. package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +10 -10
  318. package/src/internal/hardhat-network/provider/fork/ForkStateManager.ts +11 -17
  319. package/src/internal/hardhat-network/provider/fork/rpcToBlockData.ts +1 -1
  320. package/src/internal/hardhat-network/provider/fork/rpcToTxData.ts +5 -2
  321. package/src/internal/hardhat-network/provider/modules/eth.ts +10 -6
  322. package/src/internal/hardhat-network/provider/modules/hardhat.ts +25 -1
  323. package/src/internal/hardhat-network/provider/modules/logger.ts +3 -3
  324. package/src/internal/hardhat-network/provider/modules/net.ts +1 -1
  325. package/src/internal/hardhat-network/provider/modules/personal.ts +1 -1
  326. package/src/internal/hardhat-network/provider/modules/web3.ts +3 -3
  327. package/src/internal/hardhat-network/provider/node-types.ts +6 -6
  328. package/src/internal/hardhat-network/provider/node.ts +25 -12
  329. package/src/internal/hardhat-network/provider/output.ts +6 -6
  330. package/src/internal/hardhat-network/provider/provider.ts +7 -6
  331. package/src/internal/hardhat-network/provider/return-data.ts +9 -5
  332. package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +9 -5
  333. package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +8 -4
  334. package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +4 -4
  335. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +8 -5
  336. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts +4 -4
  337. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts +3 -3
  338. package/src/internal/hardhat-network/provider/types/HardhatBlockchainInterface.ts +2 -2
  339. package/src/internal/hardhat-network/provider/utils/makeAccount.ts +6 -1
  340. package/src/internal/hardhat-network/provider/utils/makeCommon.ts +1 -1
  341. package/src/internal/hardhat-network/provider/utils/makeStateTrie.ts +7 -3
  342. package/src/internal/hardhat-network/provider/utils/putGenesisBlock.ts +6 -6
  343. package/src/internal/hardhat-network/provider/utils/random.ts +15 -6
  344. package/src/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.ts +1 -1
  345. package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +1 -1
  346. package/src/internal/hardhat-network/stack-traces/constants.ts +2 -0
  347. package/src/internal/hardhat-network/stack-traces/contracts-identifier.ts +1 -1
  348. package/src/internal/hardhat-network/stack-traces/debug.ts +1 -1
  349. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +3 -3
  350. package/src/internal/hardhat-network/stack-traces/message-trace.ts +1 -1
  351. package/src/internal/hardhat-network/stack-traces/model.ts +1 -1
  352. package/src/internal/hardhat-network/stack-traces/panic-errors.ts +11 -11
  353. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +1 -1
  354. package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +1 -1
  355. package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +1 -4
  356. package/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts +31 -17
  357. package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +29 -14
  358. package/src/internal/lib/hardhat-lib.ts +0 -3
  359. package/src/internal/solidity/compilation-job.ts +11 -11
  360. package/src/internal/solidity/compiler/downloader.ts +275 -243
  361. package/src/internal/solidity/compiler/index.ts +13 -7
  362. package/src/internal/solidity/dependencyGraph.ts +12 -8
  363. package/src/internal/solidity/parse.ts +4 -70
  364. package/src/internal/solidity/resolver.ts +36 -8
  365. package/src/internal/util/bigint.ts +25 -43
  366. package/src/internal/util/download.ts +2 -2
  367. package/src/internal/util/fs-utils.ts +223 -0
  368. package/src/internal/util/glob.ts +13 -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/src/internal/util/antlr-prototype-pollution-workaround.ts +0 -17
package/CHANGELOG.md ADDED
@@ -0,0 +1,233 @@
1
+ # hardhat
2
+
3
+ ## 2.10.2
4
+
5
+ ### Patch Changes
6
+
7
+ - f799e7e41: - Fixed a bug that was causing `console.log()` to print `undefined` instead of an empty line (issue #2721)
8
+ - Made `console.log` ABI-compliant (issue #2666)
9
+ - 36ca875dc: The selector is now shown in the "Unrecognized custom error" message
10
+ - 3e3fe7bf0: Added support for Solidity versions up through 0.8.16
11
+
12
+ ## 2.10.1
13
+
14
+ ### Patch Changes
15
+
16
+ - 3d571e40b: Better Solidity errors propagation
17
+
18
+ ## 2.10.0
19
+
20
+ ### Minor Changes
21
+
22
+ - 5b29b0e0b: Update sample projects to use the Hardhat Toolbox
23
+
24
+ ### Patch Changes
25
+
26
+ - 3dcc802b3: Add support for Node 18
27
+ - 3dcc802b3: Upgrade Mocha to 10.x
28
+ - 3dcc802b3: Upgrade ethereum-cryptography to 1.x
29
+ - f5afa18d3: Removed a workaround to past Ganache's gas estimation problems.
30
+ - 3dcc802b3: Drop support for Node 12
31
+
32
+ ## 2.9.9
33
+
34
+ ### Patch Changes
35
+
36
+ - ce6136b2a: Fix incorrect peerDependency
37
+ - 3fd3756e6: Specify ts-node and typescript as optional peerDependencies
38
+
39
+ ## 2.9.8
40
+
41
+ ### Patch Changes
42
+
43
+ - 5bd775a8b: Added support for HTTP headers in the forking config (thanks @TimDaub!)
44
+ - 3770a5bbc: Expose a missing method in the Artifacts interface
45
+
46
+ ## 2.9.7
47
+
48
+ ### Patch Changes
49
+
50
+ - 73beb279b: Fixed `block.chainid` returning 0 in view functions
51
+
52
+ ## 2.9.6
53
+
54
+ ### Patch Changes
55
+
56
+ - fde08e0c: Updates `node` task to terminate when the server closes.
57
+ - 736e850a: Fixed an issue that was preventing compilation from working on Windows (#2712)
58
+
59
+ ## 2.9.5
60
+
61
+ ### Patch Changes
62
+
63
+ - e42ef24d: Fixed a publish problem in 2.9.4
64
+ - 81e28117: Make `eth_getStorageAt` spec-compliant. This means that the storage slot argument **must** have a length of 32 bytes (a hex-encoded string of length 66).
65
+
66
+ ## 2.9.4
67
+
68
+ ### Patch Changes
69
+
70
+ - 1de87072: Fix passing options and depth when inspecting a lazyObject or lazyFunction
71
+ - 7403ec1d: Stop publishing tsconfig.json files
72
+ - b9f997cb: Upgraded ethereumjs dependencies (thanks @LogvinovLeon!).
73
+ - 58aa161a: Expand the `data` object returned by the JSON-RPC response when a transaction or call reverts. Now it also includes the `message` and `data` fields. The `message` is the same message that is part of the response, and it's included to make things work better with ethers.js. The `data` field includes the return data of the transaction. These fields are included in the responses of the `eth_sendTransaction`, `eth_sendRawTransaction`, `eth_call` and `eth_estimateGas` methods when they revert.
74
+ - 78876d64: Fix a bug preventing to run the solcjs compiler.
75
+ - 1929e177: Fix a bug when formatting optional params in the help messages.
76
+ - 4238a921: Fixed a problem with `hardhat_mine` when used with `solidity-coverage`.
77
+ - 32cc90bf: Allow --version flag to be used when not in a Hardhat project directory
78
+ - b5273ce1: - Fixed a potential OOM error during parallel compilation
79
+ - Added a `--concurrency` param to the compile task
80
+ - 97eb5820: The `CustomError` class is now exported in `hardhat/common`
81
+
82
+ ## 2.9.3
83
+
84
+ ### Patch Changes
85
+
86
+ - 74a12d7b: Fixed a bug preventing loggingEnabled from working properly and exposed userConfig field in HRE
87
+
88
+ ## 2.9.2
89
+
90
+ ### Patch Changes
91
+
92
+ - 8fda4036: - Fix a bug that would override mocha grep options within the test task
93
+ - dd0dc168: Fix a bug in Hardhat Network that prevented the forking functionality from working (#2528)
94
+ - 6ff1cb03: Fixed bug (#2352) preventing the disabling of node task logging via hardhat.config.
95
+
96
+ ## 2.9.1
97
+
98
+ ### Patch Changes
99
+
100
+ - 69a6434e: Fix a bug that made Hardhat Network hang when connecting MetaMask (#2380)
101
+
102
+ ## 2.9.0
103
+
104
+ ### Minor Changes
105
+
106
+ - bf017963: Add a new RPC method, `hardhat_mine`, which supports the mining of multiple blocks in a single call (#1112)
107
+ - 345ebab7: The `test` task now supports a `--parallel` flag to run tests in parallel. There are also two other new flags: `--bail`, to stop the execution after the first test failure, and `--grep`, to filter which tests should be run.
108
+
109
+ To support running tests in parallel, the version of `mocha` used by Hardhat was upgraded to its latest version. This should be a mostly backward-compatible change, but there could be some edge cases where this breaks existing tests.
110
+
111
+ ### Patch Changes
112
+
113
+ - 04f4b3a4: Added support for BIP39 passphrases (thanks @zhuqicn!)
114
+ - dda96346: Solidity files are now compiled in parallel
115
+ - ce06e238: Preserve any existing user's README when initializing a project (#1942)
116
+ - caecc59b: The test task now works correctly when a test file starts with `./` (fixes #2220).
117
+ - 87c50af1: A warning is now shown when a node version greater than the current LTS is used.
118
+ - b18e043b: Improved the performance of requests to remote RPC nodes by the use of connection pooling.
119
+
120
+ ## 2.8.4
121
+
122
+ ### Patch Changes
123
+
124
+ - 5473906d: The sample projects now include an empty `.prettierc` to make IDEs auto-formatting work properly in some scenarios.
125
+ - 38ee6230: Replace deprecated eth-sig-util with @metamask/eth-sig-util
126
+ - 2425201c: Upgraded the version of `@nomiclabs/hardhat-etherscan` used by the sample projects (#2217)
127
+
128
+ ## 2.8.3
129
+
130
+ ### Patch Changes
131
+
132
+ - 9b1de8e0: Full rework of vyper plugin (#2082, #1364, #1338, #1335, #1258)
133
+ - e2eb07cc: Use 40s as the default value for mocha's timeout and for the localhost network's timeout (#1549).
134
+
135
+ ## 2.8.2
136
+
137
+ ### Patch Changes
138
+
139
+ - 2794fc00: Show a special error when project initialization fails on windows
140
+
141
+ ## 2.8.1
142
+
143
+ ### Patch Changes
144
+
145
+ - 6753b930: Show warning if user doesn't export or exports empty object from Hardhat config file (issue #1490)
146
+ - 0a5ab4f8: Fix running the `test` task multiple times in a script (issue #1720)
147
+
148
+ ## 2.8.0
149
+
150
+ ### Minor Changes
151
+
152
+ - 3f212c11: Allow configuration of hardfork activation history, for use with unusual/custom chains/network
153
+
154
+ ### Patch Changes
155
+
156
+ - ff80e1db: A fix to remove ansi escape characters when logging from hardhat node to file (issue #467).
157
+
158
+ ## 2.7.1
159
+
160
+ ### Patch Changes
161
+
162
+ - d867073c: Support `arrowGlacier` hardfork
163
+ - 10211542: Fix a bug that prevented Hardhat from working if the compilers list was partially downloaded (issue #1466)
164
+
165
+ ## 2.7.0
166
+
167
+ ### Minor Changes
168
+
169
+ - 4d277c97: Add a FIFO mode to Hardhat Network's mempool (Thanks @ngotchac!)
170
+ - d2d34737: Make the coinbase address customizable via a config field and a new RPC method.
171
+
172
+ ### Patch Changes
173
+
174
+ - 99c17f43: Bump uuid package to remove a deprecation warning (thanks @yhuard!)
175
+ - 8076c43b: Fixed how the cummulative gas is computed for receipts and added a missing field (Thanks @ngotchac!)
176
+ - e6362902: Display similar artifact names in error output if given name is not found (#201)
177
+ - e087bd0b: Improve validation of private keys in the Hardhat config
178
+ - aa1a0080: Fix an issue with new versions of Node.js that prevented clients from connecting to Hardhat's node using 127.0.0.1
179
+ - 846f7856: Enable user configurable tsconfig path
180
+ - 89529afc: Print warning when user tries to use solc remapping (#1877)
181
+
182
+ ## 2.6.8
183
+
184
+ ### Patch Changes
185
+
186
+ - f35f3548: Add support for the `personal_sign RPC method to Hardhat Network.
187
+ - 692b9130: Throw an error for solc versions older than 0.4.11
188
+ - 4df2df4d: Add a new `hardhat_getAutomine` JSON-RPC method to Hardhat Network that returns `true` if automining is enabled and `false` if it's not.
189
+ - 91edb2aa: Add support for Solidity 0.8.7.
190
+ - c501e1ec: Added support for Solidity 0.8.6.
191
+ - 4ccd1f72: Enable solc's metadata by default (Thanks @chriseth!)
192
+ - 4f102576: Support Solidity 0.8.9
193
+ - 12158a06: Added support for Solidity 0.8.8
194
+ - 4c7fe24e: Add support for Solidity 0.8.5.
195
+ - d00a1a71: Print a warning in the node task if the default accounts are used.
196
+
197
+ ## 2.6.7
198
+
199
+ ### Patch Changes
200
+
201
+ - c2ab8198: Upgrade @solidity-parser/parser (fixes #1801)
202
+ - 3032c374: Fix `eth_feeHistory` computation (issue #1848)
203
+
204
+ ## 2.6.6
205
+
206
+ ### Patch Changes
207
+
208
+ - 09415141: Work around an issue that broke Hardhat Network when contracts were compiled in the middle of its execution
209
+
210
+ ## 2.6.5
211
+
212
+ ### Patch Changes
213
+
214
+ - e29e14c7: Add Advanced Sample Project that uses TypeScript.
215
+ - a00345ca: Small improvements to the advanced sample project.
216
+
217
+ ## 2.6.4
218
+
219
+ ### Patch Changes
220
+
221
+ - b62ddf32: Fix a bug in Hardhat Network's solidity source maps processing. Thanks @paulberg!
222
+
223
+ ## 2.6.3
224
+
225
+ ### Patch Changes
226
+
227
+ - c4b32d7d: Fix a bug that prevented Hardhat Network's tracing engine from working if an interface was used as a mapping key (Thanks @k06a!)
228
+
229
+ ## 2.6.2
230
+
231
+ ### Patch Changes
232
+
233
+ - abc380ce: Fix issue with networks that support `eth_feeHistory` but that don't support EIP-1559 (#1828).
@@ -13,11 +13,12 @@ const task_names_1 = require("./task-names");
13
13
  });
14
14
  (0, config_env_1.task)(task_names_1.TASK_CLEAN, "Clears the cache and deletes all artifacts")
15
15
  .addFlag("global", "Clear the global cache")
16
- .setAction(async ({ global }, { config, run }) => {
16
+ .setAction(async ({ global }, { config, run, artifacts }) => {
17
17
  if (global) {
18
18
  return run(task_names_1.TASK_CLEAN_GLOBAL);
19
19
  }
20
20
  await fs_extra_1.default.emptyDir(config.paths.cache);
21
21
  await fs_extra_1.default.remove(config.paths.artifacts);
22
+ artifacts.clearCache?.();
22
23
  });
23
24
  //# sourceMappingURL=clean.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clean.js","sourceRoot":"","sources":["../src/builtin-tasks/clean.ts"],"names":[],"mappings":";;;;;AAAA,wDAA+B;AAE/B,mEAAmE;AACnE,4DAA0D;AAE1D,6CAA6D;AAE7D,IAAA,oBAAO,EAAC,8BAAiB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,cAAc,GAAG,MAAM,IAAA,wBAAW,GAAE,CAAC;IAC3C,MAAM,kBAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAI,EAAC,uBAAU,EAAE,4CAA4C,CAAC;KAC3D,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;KAC3C,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAuB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE;IACpE,IAAI,MAAM,EAAE;QACV,OAAO,GAAG,CAAC,8BAAiB,CAAC,CAAC;KAC/B;IACD,MAAM,kBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,kBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"clean.js","sourceRoot":"","sources":["../src/builtin-tasks/clean.ts"],"names":[],"mappings":";;;;;AAAA,wDAA+B;AAE/B,mEAAmE;AACnE,4DAA0D;AAE1D,6CAA6D;AAE7D,IAAA,oBAAO,EAAC,8BAAiB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,cAAc,GAAG,MAAM,IAAA,wBAAW,GAAE,CAAC;IAC3C,MAAM,kBAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAI,EAAC,uBAAU,EAAE,4CAA4C,CAAC;KAC3D,OAAO,CAAC,QAAQ,EAAE,wBAAwB,CAAC;KAC3C,SAAS,CACR,KAAK,EAAE,EAAE,MAAM,EAAuB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;IACpE,IAAI,MAAM,EAAE;QACV,OAAO,GAAG,CAAC,8BAAiB,CAAC,CAAC;KAC/B;IACD,MAAM,kBAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,kBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC;AAC3B,CAAC,CACF,CAAC"}
@@ -24,10 +24,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  const os_1 = __importDefault(require("os"));
26
26
  const chalk_1 = __importDefault(require("chalk"));
27
- const child_process_1 = require("child_process");
28
27
  const debug_1 = __importDefault(require("debug"));
29
28
  const fs_extra_1 = __importDefault(require("fs-extra"));
30
- const path_1 = __importDefault(require("path"));
31
29
  const semver_1 = __importDefault(require("semver"));
32
30
  const aggregate_error_1 = __importDefault(require("aggregate-error"));
33
31
  const artifacts_1 = require("../internal/artifacts");
@@ -41,12 +39,12 @@ const downloader_1 = require("../internal/solidity/compiler/downloader");
41
39
  const dependencyGraph_1 = require("../internal/solidity/dependencyGraph");
42
40
  const parse_1 = require("../internal/solidity/parse");
43
41
  const resolver_1 = require("../internal/solidity/resolver");
44
- const glob_1 = require("../internal/util/glob");
45
42
  const global_dir_1 = require("../internal/util/global-dir");
46
43
  const strings_1 = require("../internal/util/strings");
47
44
  const builtin_tasks_1 = require("../types/builtin-tasks");
48
45
  const contract_names_1 = require("../utils/contract-names");
49
46
  const source_names_1 = require("../utils/source-names");
47
+ const fs_utils_1 = require("../internal/util/fs-utils");
50
48
  const task_names_1 = require("./task-names");
51
49
  const solidity_files_cache_1 = require("./utils/solidity-files-cache");
52
50
  function isConsoleLogError(error) {
@@ -67,7 +65,7 @@ const DEFAULT_CONCURRENCY_LEVEL = Math.max(os_1.default.cpus().length - 1, 1);
67
65
  * project are obtained.
68
66
  */
69
67
  (0, config_env_1.subtask)(task_names_1.TASK_COMPILE_SOLIDITY_GET_SOURCE_PATHS, async (_, { config }) => {
70
- const paths = await (0, glob_1.glob)(path_1.default.join(config.paths.sources, "**/*.sol"));
68
+ const paths = await (0, fs_utils_1.getAllFilesMatching)(config.paths.sources, (f) => f.endsWith(".sol"));
71
69
  return paths;
72
70
  });
73
71
  /**
@@ -229,19 +227,6 @@ const DEFAULT_CONCURRENCY_LEVEL = Math.max(os_1.default.cpus().length - 1, 1);
229
227
  versionList.push(solcVersion);
230
228
  }
231
229
  }
232
- /**
233
- * Downloading the same version of a compiler in parallel can cause an
234
- * error. When compilation jobs are executed in parallel, there's a chance
235
- * that both use the same solc version and trigger this problem. To
236
- * prevent that, we pre-download all the necessary compilers before
237
- * running the compilation jobs.
238
- */
239
- for (const solcVersion of versionList) {
240
- await run(task_names_1.TASK_COMPILE_SOLIDITY_GET_SOLC_BUILD, {
241
- solcVersion,
242
- quiet: false,
243
- });
244
- }
245
230
  const { default: pMap } = await Promise.resolve().then(() => __importStar(require("p-map")));
246
231
  const pMapOptions = { concurrency, stopOnError: false };
247
232
  try {
@@ -311,65 +296,45 @@ const DEFAULT_CONCURRENCY_LEVEL = Math.max(os_1.default.cpus().length - 1, 1);
311
296
  .addParam("solcVersion", undefined, undefined, config_env_1.types.string)
312
297
  .setAction(async ({ quiet, solcVersion, }, { run }) => {
313
298
  const compilersCache = await (0, global_dir_1.getCompilersDir)();
314
- const downloader = new downloader_1.CompilerDownloader(compilersCache);
299
+ const compilerPlatform = downloader_1.CompilerDownloader.getCompilerPlatform();
300
+ const downloader = downloader_1.CompilerDownloader.getConcurrencySafeDownloader(compilerPlatform, compilersCache);
315
301
  const isCompilerDownloaded = await downloader.isCompilerDownloaded(solcVersion);
316
- const { longVersion, platform: desiredPlatform } = await downloader.getCompilerBuild(solcVersion);
317
- await run(task_names_1.TASK_COMPILE_SOLIDITY_LOG_DOWNLOAD_COMPILER_START, {
318
- solcVersion,
319
- isCompilerDownloaded,
320
- quiet,
321
- });
322
- let compilerPath;
323
- let platform;
324
- let nativeBinaryFailed = false;
325
- const compilerPathResult = await downloader.getDownloadedCompilerPath(solcVersion);
326
- if (compilerPathResult === undefined) {
327
- if (desiredPlatform === downloader_1.CompilerPlatform.WASM) {
328
- // if we were trying to download solcjs and it failed, there's nothing
329
- // we can do
330
- throw new errors_1.HardhatError(errors_list_1.ERRORS.SOLC.CANT_GET_COMPILER, {
331
- version: solcVersion,
332
- });
333
- }
334
- nativeBinaryFailed = true;
302
+ if (!isCompilerDownloaded) {
303
+ await run(task_names_1.TASK_COMPILE_SOLIDITY_LOG_DOWNLOAD_COMPILER_START, {
304
+ solcVersion,
305
+ isCompilerDownloaded,
306
+ quiet,
307
+ });
308
+ await downloader.downloadCompiler(solcVersion);
309
+ await run(task_names_1.TASK_COMPILE_SOLIDITY_LOG_DOWNLOAD_COMPILER_END, {
310
+ solcVersion,
311
+ isCompilerDownloaded,
312
+ quiet,
313
+ });
335
314
  }
336
- else {
337
- compilerPath = compilerPathResult.compilerPath;
338
- // when using a native binary, check that it works correctly
339
- // it it doesn't, force the downloader to use solcjs
340
- if (compilerPathResult.platform !== downloader_1.CompilerPlatform.WASM) {
341
- log("Checking native solc binary");
342
- const solcBinaryWorks = await checkSolcBinary(compilerPathResult.compilerPath);
343
- if (!solcBinaryWorks) {
344
- log("Native solc binary doesn't work, using solcjs instead");
345
- nativeBinaryFailed = true;
346
- }
347
- }
348
- else {
349
- platform = downloader_1.CompilerPlatform.WASM;
350
- }
315
+ const compiler = await downloader.getCompiler(solcVersion);
316
+ if (compiler !== undefined) {
317
+ return compiler;
351
318
  }
352
- if (nativeBinaryFailed) {
353
- const solcJsDownloader = new downloader_1.CompilerDownloader(compilersCache, {
354
- forceSolcJs: true,
319
+ log("Native solc binary doesn't work, using solcjs instead. Try running npx hardhat clean --global");
320
+ const wasmDownloader = downloader_1.CompilerDownloader.getConcurrencySafeDownloader(downloader_1.CompilerPlatform.WASM, compilersCache);
321
+ const isWasmCompilerDownloader = await wasmDownloader.isCompilerDownloaded(solcVersion);
322
+ if (!isWasmCompilerDownloader) {
323
+ await run(task_names_1.TASK_COMPILE_SOLIDITY_LOG_DOWNLOAD_COMPILER_START, {
324
+ solcVersion,
325
+ isCompilerDownloaded,
326
+ quiet,
327
+ });
328
+ await wasmDownloader.downloadCompiler(solcVersion);
329
+ await run(task_names_1.TASK_COMPILE_SOLIDITY_LOG_DOWNLOAD_COMPILER_END, {
330
+ solcVersion,
331
+ isCompilerDownloaded,
332
+ quiet,
355
333
  });
356
- const solcjsCompilerPath = await solcJsDownloader.getDownloadedCompilerPath(solcVersion);
357
- if (solcjsCompilerPath === undefined) {
358
- throw new errors_1.HardhatError(errors_list_1.ERRORS.SOLC.CANT_GET_COMPILER, {
359
- version: solcVersion,
360
- });
361
- }
362
- compilerPath = solcjsCompilerPath.compilerPath;
363
- platform = downloader_1.CompilerPlatform.WASM;
364
334
  }
365
- await run(task_names_1.TASK_COMPILE_SOLIDITY_LOG_DOWNLOAD_COMPILER_END, {
366
- solcVersion,
367
- isCompilerDownloaded,
368
- quiet,
369
- });
370
- const isSolcJs = platform === downloader_1.CompilerPlatform.WASM;
371
- (0, errors_1.assertHardhatInvariant)(compilerPath !== undefined, "A compilerPath should be defined at this point");
372
- return { compilerPath, isSolcJs, version: solcVersion, longVersion };
335
+ const wasmCompiler = await downloader.getCompiler(solcVersion);
336
+ (0, errors_1.assertHardhatInvariant)(wasmCompiler !== undefined, `WASM build of solc ${solcVersion} isn't working`);
337
+ return wasmCompiler;
373
338
  });
374
339
  /**
375
340
  * Receives an absolute path to a solcjs module and the input to be compiled,
@@ -507,14 +472,11 @@ const DEFAULT_CONCURRENCY_LEVEL = Math.max(os_1.default.cpus().length - 1, 1);
507
472
  .addParam("solcBuild", undefined, undefined, config_env_1.types.any)
508
473
  .setAction(async ({ compilationJob, input, output, solcBuild, }, { artifacts, run }) => {
509
474
  const pathToBuildInfo = await artifacts.saveBuildInfo(compilationJob.getSolcConfig().version, solcBuild.longVersion, input, output);
510
- const artifactsEmittedPerFile = [];
511
- for (const file of compilationJob.getResolvedFiles()) {
512
- log(`Emitting artifacts for file '${file.sourceName}'`);
513
- if (!compilationJob.emitsArtifacts(file)) {
514
- continue;
515
- }
516
- const artifactsEmitted = [];
517
- for (const [contractName, contractOutput] of Object.entries(output.contracts?.[file.sourceName] ?? {})) {
475
+ const artifactsEmittedPerFile = await Promise.all(compilationJob
476
+ .getResolvedFiles()
477
+ .filter((f) => compilationJob.emitsArtifacts(f))
478
+ .map(async (file) => {
479
+ const artifactsEmitted = await Promise.all(Object.entries(output.contracts?.[file.sourceName] ?? {}).map(async ([contractName, contractOutput]) => {
518
480
  log(`Emitting artifact for contract '${contractName}'`);
519
481
  const artifact = await run(task_names_1.TASK_COMPILE_SOLIDITY_GET_ARTIFACT_FROM_COMPILATION_OUTPUT, {
520
482
  sourceName: file.sourceName,
@@ -522,13 +484,13 @@ const DEFAULT_CONCURRENCY_LEVEL = Math.max(os_1.default.cpus().length - 1, 1);
522
484
  contractOutput,
523
485
  });
524
486
  await artifacts.saveArtifactAndDebugFile(artifact, pathToBuildInfo);
525
- artifactsEmitted.push(artifact.contractName);
526
- }
527
- artifactsEmittedPerFile.push({
487
+ return artifact.contractName;
488
+ }));
489
+ return {
528
490
  file,
529
491
  artifactsEmitted,
530
- });
531
- }
492
+ };
493
+ }));
532
494
  return { artifactsEmittedPerFile };
533
495
  });
534
496
  /**
@@ -870,6 +832,7 @@ Read about compiler configuration at https://hardhat.org/config
870
832
  * disk, we remove it from the cache to force it to be recompiled.
871
833
  */
872
834
  async function invalidateCacheMissingArtifacts(solidityFilesCache, artifacts, resolvedFiles) {
835
+ const paths = new Set(await artifacts.getArtifactPaths());
873
836
  for (const file of resolvedFiles) {
874
837
  const cacheEntry = solidityFilesCache.getEntry(file.absolutePath);
875
838
  if (cacheEntry === undefined) {
@@ -877,14 +840,16 @@ async function invalidateCacheMissingArtifacts(solidityFilesCache, artifacts, re
877
840
  }
878
841
  const { artifacts: emittedArtifacts } = cacheEntry;
879
842
  for (const emittedArtifact of emittedArtifacts) {
880
- const artifactExists = await artifacts.artifactExists((0, contract_names_1.getFullyQualifiedName)(file.sourceName, emittedArtifact));
881
- if (!artifactExists) {
882
- log(`Invalidate cache for '${file.absolutePath}' because artifact '${emittedArtifact}' doesn't exist`);
843
+ const fqn = (0, contract_names_1.getFullyQualifiedName)(file.sourceName, emittedArtifact);
844
+ const path = artifacts.formArtifactPathFromFullyQualifiedName(fqn);
845
+ if (!paths.has(path)) {
846
+ log(`Invalidate cache for '${file.absolutePath}' because artifact '${fqn}' doesn't exist`);
883
847
  solidityFilesCache.removeEntry(file.absolutePath);
884
848
  break;
885
849
  }
886
850
  }
887
851
  }
852
+ artifacts.clearCache?.();
888
853
  return solidityFilesCache;
889
854
  }
890
855
  /**
@@ -905,14 +870,6 @@ function needsCompilation(job, cache) {
905
870
  function hasCompilationErrors(output) {
906
871
  return (output.errors && output.errors.some((x) => x.severity === "error"));
907
872
  }
908
- async function checkSolcBinary(solcPath) {
909
- return new Promise((resolve) => {
910
- const process = (0, child_process_1.exec)(`${solcPath} --version`);
911
- process.on("exit", (code) => {
912
- resolve(code === 0);
913
- });
914
- });
915
- }
916
873
  /**
917
874
  * This function returns a properly formatted Internal Compiler Error message.
918
875
  *
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/builtin-tasks/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/builtin-tasks/compile.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,10 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
2
  Object.defineProperty(exports, "__esModule", { value: true });
22
- const fs = __importStar(require("fs"));
23
3
  const config_env_1 = require("../internal/core/config/config-env");
24
4
  const errors_1 = require("../internal/core/errors");
25
5
  const errors_list_1 = require("../internal/core/errors-list");
26
6
  const packageInfo_1 = require("../internal/util/packageInfo");
7
+ const fs_utils_1 = require("../internal/util/fs-utils");
27
8
  const task_names_1 = require("./task-names");
28
9
  function getSortedFiles(dependenciesGraph) {
29
10
  const tsort = require("tsort");
@@ -82,7 +63,7 @@ function getFileWithoutImports(resolvedFile) {
82
63
  .setAction(async ({ files }, { run }) => {
83
64
  const sourcePaths = files === undefined
84
65
  ? await run(task_names_1.TASK_COMPILE_SOLIDITY_GET_SOURCE_PATHS)
85
- : files.map((f) => fs.realpathSync(f));
66
+ : files.map((f) => (0, fs_utils_1.getRealPathSync)(f));
86
67
  const sourceNames = await run(task_names_1.TASK_COMPILE_SOLIDITY_GET_SOURCE_NAMES, {
87
68
  sourcePaths,
88
69
  });