hardhat 3.3.0 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.d.ts.map +1 -1
  3. package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.js +6 -14
  4. package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.js.map +1 -1
  5. package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.d.ts.map +1 -1
  6. package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.js +10 -10
  7. package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.js.map +1 -1
  8. package/dist/src/internal/builtin-plugins/clean/index.js +1 -1
  9. package/dist/src/internal/builtin-plugins/clean/index.js.map +1 -1
  10. package/dist/src/internal/builtin-plugins/console/index.js +1 -1
  11. package/dist/src/internal/builtin-plugins/console/index.js.map +1 -1
  12. package/dist/src/internal/builtin-plugins/console/task-action.d.ts.map +1 -1
  13. package/dist/src/internal/builtin-plugins/console/task-action.js +2 -1
  14. package/dist/src/internal/builtin-plugins/console/task-action.js.map +1 -1
  15. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js +2 -2
  16. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js.map +1 -1
  17. package/dist/src/internal/builtin-plugins/flatten/index.js +1 -1
  18. package/dist/src/internal/builtin-plugins/flatten/index.js.map +1 -1
  19. package/dist/src/internal/builtin-plugins/gas-analytics/exports.d.ts +1 -1
  20. package/dist/src/internal/builtin-plugins/gas-analytics/exports.d.ts.map +1 -1
  21. package/dist/src/internal/builtin-plugins/gas-analytics/exports.js +1 -1
  22. package/dist/src/internal/builtin-plugins/gas-analytics/exports.js.map +1 -1
  23. package/dist/src/internal/builtin-plugins/gas-analytics/function-gas-snapshots.d.ts.map +1 -1
  24. package/dist/src/internal/builtin-plugins/gas-analytics/function-gas-snapshots.js +1 -2
  25. package/dist/src/internal/builtin-plugins/gas-analytics/function-gas-snapshots.js.map +1 -1
  26. package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.d.ts +7 -5
  27. package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.d.ts.map +1 -1
  28. package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.js +60 -44
  29. package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.js.map +1 -1
  30. package/dist/src/internal/builtin-plugins/gas-analytics/helpers/accessors.d.ts +6 -0
  31. package/dist/src/internal/builtin-plugins/gas-analytics/helpers/accessors.d.ts.map +1 -0
  32. package/dist/src/internal/builtin-plugins/gas-analytics/helpers/accessors.js +14 -0
  33. package/dist/src/internal/builtin-plugins/gas-analytics/helpers/accessors.js.map +1 -0
  34. package/dist/src/internal/builtin-plugins/gas-analytics/helpers/compat.d.ts +4 -0
  35. package/dist/src/internal/builtin-plugins/gas-analytics/helpers/compat.d.ts.map +1 -0
  36. package/dist/src/internal/builtin-plugins/gas-analytics/helpers/compat.js +27 -0
  37. package/dist/src/internal/builtin-plugins/gas-analytics/helpers/compat.js.map +1 -0
  38. package/dist/src/internal/builtin-plugins/gas-analytics/helpers/utils.d.ts +36 -0
  39. package/dist/src/internal/builtin-plugins/gas-analytics/helpers/utils.d.ts.map +1 -0
  40. package/dist/src/internal/builtin-plugins/gas-analytics/helpers/utils.js +86 -0
  41. package/dist/src/internal/builtin-plugins/gas-analytics/helpers/utils.js.map +1 -0
  42. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.js +1 -1
  43. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.js.map +1 -1
  44. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.js +1 -1
  45. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.js.map +1 -1
  46. package/dist/src/internal/builtin-plugins/gas-analytics/index.d.ts.map +1 -1
  47. package/dist/src/internal/builtin-plugins/gas-analytics/index.js +2 -2
  48. package/dist/src/internal/builtin-plugins/gas-analytics/index.js.map +1 -1
  49. package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.d.ts.map +1 -1
  50. package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.js +1 -2
  51. package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.js.map +1 -1
  52. package/dist/src/internal/builtin-plugins/gas-analytics/types.d.ts +10 -2
  53. package/dist/src/internal/builtin-plugins/gas-analytics/types.d.ts.map +1 -1
  54. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js +4 -4
  55. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js.map +1 -1
  56. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js +1 -1
  57. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js.map +1 -1
  58. package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/solidity-stack-trace.d.ts +4 -4
  59. package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/solidity-stack-trace.d.ts.map +1 -1
  60. package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/solidity-stack-trace.js +2 -2
  61. package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/solidity-stack-trace.js.map +1 -1
  62. package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.d.ts +6 -3
  63. package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.d.ts.map +1 -1
  64. package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.js +23 -5
  65. package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.js.map +1 -1
  66. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.d.ts.map +1 -1
  67. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js +3 -2
  68. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js.map +1 -1
  69. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.d.ts.map +1 -1
  70. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js +24 -2
  71. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js.map +1 -1
  72. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.d.ts.map +1 -1
  73. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.js +19 -11
  74. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.js.map +1 -1
  75. package/dist/src/internal/builtin-plugins/network-manager/http-provider.d.ts.map +1 -1
  76. package/dist/src/internal/builtin-plugins/network-manager/http-provider.js +2 -2
  77. package/dist/src/internal/builtin-plugins/network-manager/http-provider.js.map +1 -1
  78. package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts +11 -1
  79. package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts.map +1 -1
  80. package/dist/src/internal/builtin-plugins/network-manager/network-manager.js +91 -24
  81. package/dist/src/internal/builtin-plugins/network-manager/network-manager.js.map +1 -1
  82. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/hd-wallet-handler.d.ts.map +1 -1
  83. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/hd-wallet-handler.js.map +1 -1
  84. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.d.ts +1 -0
  85. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.d.ts.map +1 -1
  86. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.js +22 -8
  87. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.js.map +1 -1
  88. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/sender.d.ts +2 -0
  89. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/sender.d.ts.map +1 -1
  90. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/sender.js +19 -12
  91. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/sender.js.map +1 -1
  92. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/chain-id/chain-id-handler.d.ts +1 -0
  93. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/chain-id/chain-id-handler.d.ts.map +1 -1
  94. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/chain-id/chain-id-handler.js +9 -3
  95. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/chain-id/chain-id-handler.js.map +1 -1
  96. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.d.ts +2 -0
  97. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.d.ts.map +1 -1
  98. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.js +5 -1
  99. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.js.map +1 -1
  100. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-price-handler.d.ts +1 -0
  101. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-price-handler.d.ts.map +1 -1
  102. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-price-handler.js +5 -1
  103. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-price-handler.js.map +1 -1
  104. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-handler.d.ts +1 -0
  105. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-handler.d.ts.map +1 -1
  106. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-handler.js +5 -1
  107. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-handler.js.map +1 -1
  108. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-price-handler.d.ts +1 -0
  109. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-price-handler.d.ts.map +1 -1
  110. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-price-handler.js +5 -1
  111. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-price-handler.js.map +1 -1
  112. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/types.d.ts +9 -0
  113. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/types.d.ts.map +1 -1
  114. package/dist/src/internal/builtin-plugins/network-manager/revert-error-code.d.ts +2 -0
  115. package/dist/src/internal/builtin-plugins/network-manager/revert-error-code.d.ts.map +1 -0
  116. package/dist/src/internal/builtin-plugins/network-manager/revert-error-code.js +3 -0
  117. package/dist/src/internal/builtin-plugins/network-manager/revert-error-code.js.map +1 -0
  118. package/dist/src/internal/builtin-plugins/network-manager/type-extensions/config.d.ts +1 -1
  119. package/dist/src/internal/builtin-plugins/network-manager/type-extensions/config.d.ts.map +1 -1
  120. package/dist/src/internal/builtin-plugins/network-manager/type-validation.d.ts.map +1 -1
  121. package/dist/src/internal/builtin-plugins/network-manager/type-validation.js +2 -1
  122. package/dist/src/internal/builtin-plugins/network-manager/type-validation.js.map +1 -1
  123. package/dist/src/internal/builtin-plugins/node/helpers.js +1 -1
  124. package/dist/src/internal/builtin-plugins/node/helpers.js.map +1 -1
  125. package/dist/src/internal/builtin-plugins/node/index.js +1 -1
  126. package/dist/src/internal/builtin-plugins/node/index.js.map +1 -1
  127. package/dist/src/internal/builtin-plugins/node/json-rpc/handler.d.ts.map +1 -1
  128. package/dist/src/internal/builtin-plugins/node/json-rpc/handler.js +8 -2
  129. package/dist/src/internal/builtin-plugins/node/json-rpc/handler.js.map +1 -1
  130. package/dist/src/internal/builtin-plugins/node/task-action.js +2 -2
  131. package/dist/src/internal/builtin-plugins/node/task-action.js.map +1 -1
  132. package/dist/src/internal/builtin-plugins/run/index.js +1 -1
  133. package/dist/src/internal/builtin-plugins/run/index.js.map +1 -1
  134. package/dist/src/internal/builtin-plugins/run/task-action.d.ts.map +1 -1
  135. package/dist/src/internal/builtin-plugins/run/task-action.js +2 -1
  136. package/dist/src/internal/builtin-plugins/run/task-action.js.map +1 -1
  137. package/dist/src/internal/builtin-plugins/solidity/build-system/artifacts.d.ts.map +1 -1
  138. package/dist/src/internal/builtin-plugins/solidity/build-system/artifacts.js +3 -0
  139. package/dist/src/internal/builtin-plugins/solidity/build-system/artifacts.js.map +1 -1
  140. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts +1 -1
  141. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts.map +1 -1
  142. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js +125 -39
  143. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js.map +1 -1
  144. package/dist/src/internal/builtin-plugins/solidity/build-system/cache.d.ts +2 -0
  145. package/dist/src/internal/builtin-plugins/solidity/build-system/cache.d.ts.map +1 -1
  146. package/dist/src/internal/builtin-plugins/solidity/build-system/cache.js.map +1 -1
  147. package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.d.ts +3 -1
  148. package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.d.ts.map +1 -1
  149. package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.js +12 -4
  150. package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.js.map +1 -1
  151. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.js +4 -4
  152. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.js.map +1 -1
  153. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/index.js +2 -2
  154. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/index.js.map +1 -1
  155. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/solcjs-runner.js +1 -1
  156. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/solcjs-runner.js.map +1 -1
  157. package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph-building.js +1 -1
  158. package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph-building.js.map +1 -1
  159. package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph.d.ts.map +1 -1
  160. package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph.js +5 -5
  161. package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph.js.map +1 -1
  162. package/dist/src/internal/builtin-plugins/solidity/build-system/read-source-file.js +1 -1
  163. package/dist/src/internal/builtin-plugins/solidity/build-system/read-source-file.js.map +1 -1
  164. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.js +10 -10
  165. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.js.map +1 -1
  166. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.js +1 -1
  167. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.js.map +1 -1
  168. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-info.d.ts.map +1 -1
  169. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-info.js +1 -0
  170. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-info.js.map +1 -1
  171. package/dist/src/internal/builtin-plugins/solidity/build-system/warning-suppression.js +2 -2
  172. package/dist/src/internal/builtin-plugins/solidity/build-system/warning-suppression.js.map +1 -1
  173. package/dist/src/internal/builtin-plugins/solidity/config.d.ts.map +1 -1
  174. package/dist/src/internal/builtin-plugins/solidity/config.js +19 -16
  175. package/dist/src/internal/builtin-plugins/solidity/config.js.map +1 -1
  176. package/dist/src/internal/builtin-plugins/solidity/constants.d.ts +3 -0
  177. package/dist/src/internal/builtin-plugins/solidity/constants.d.ts.map +1 -0
  178. package/dist/src/internal/builtin-plugins/solidity/constants.js +19 -0
  179. package/dist/src/internal/builtin-plugins/solidity/constants.js.map +1 -0
  180. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.js +1 -1
  181. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.js.map +1 -1
  182. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.d.ts.map +1 -1
  183. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.js +10 -10
  184. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.js.map +1 -1
  185. package/dist/src/internal/builtin-plugins/solidity/index.js +1 -1
  186. package/dist/src/internal/builtin-plugins/solidity/index.js.map +1 -1
  187. package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.js +1 -1
  188. package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.js.map +1 -1
  189. package/dist/src/internal/builtin-plugins/solidity/tasks/build.d.ts +1 -1
  190. package/dist/src/internal/builtin-plugins/solidity/tasks/build.d.ts.map +1 -1
  191. package/dist/src/internal/builtin-plugins/solidity/tasks/build.js +225 -55
  192. package/dist/src/internal/builtin-plugins/solidity/tasks/build.js.map +1 -1
  193. package/dist/src/internal/builtin-plugins/solidity/type-extensions.d.ts +30 -4
  194. package/dist/src/internal/builtin-plugins/solidity/type-extensions.d.ts.map +1 -1
  195. package/dist/src/internal/builtin-plugins/solidity/type-extensions.js.map +1 -1
  196. package/dist/src/internal/builtin-plugins/solidity-test/config.d.ts.map +1 -1
  197. package/dist/src/internal/builtin-plugins/solidity-test/config.js +5 -3
  198. package/dist/src/internal/builtin-plugins/solidity-test/config.js.map +1 -1
  199. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js +2 -2
  200. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js.map +1 -1
  201. package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts +0 -2
  202. package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts.map +1 -1
  203. package/dist/src/internal/builtin-plugins/solidity-test/helpers.js +0 -3
  204. package/dist/src/internal/builtin-plugins/solidity-test/helpers.js.map +1 -1
  205. package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/config.js +1 -1
  206. package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/config.js.map +1 -1
  207. package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/test.js +1 -1
  208. package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/test.js.map +1 -1
  209. package/dist/src/internal/builtin-plugins/solidity-test/index.js +1 -1
  210. package/dist/src/internal/builtin-plugins/solidity-test/index.js.map +1 -1
  211. package/dist/src/internal/builtin-plugins/solidity-test/reporter.js +1 -1
  212. package/dist/src/internal/builtin-plugins/solidity-test/reporter.js.map +1 -1
  213. package/dist/src/internal/builtin-plugins/solidity-test/runner.d.ts +2 -8
  214. package/dist/src/internal/builtin-plugins/solidity-test/runner.d.ts.map +1 -1
  215. package/dist/src/internal/builtin-plugins/solidity-test/runner.js +47 -50
  216. package/dist/src/internal/builtin-plugins/solidity-test/runner.js.map +1 -1
  217. package/dist/src/internal/builtin-plugins/solidity-test/stack-trace-solidity-errors.d.ts.map +1 -1
  218. package/dist/src/internal/builtin-plugins/solidity-test/stack-trace-solidity-errors.js +11 -2
  219. package/dist/src/internal/builtin-plugins/solidity-test/stack-trace-solidity-errors.js.map +1 -1
  220. package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts.map +1 -1
  221. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +108 -32
  222. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
  223. package/dist/src/internal/builtin-plugins/solidity-test/type-extensions.d.ts +1 -2
  224. package/dist/src/internal/builtin-plugins/solidity-test/type-extensions.d.ts.map +1 -1
  225. package/dist/src/internal/builtin-plugins/telemetry/index.js +1 -1
  226. package/dist/src/internal/builtin-plugins/telemetry/index.js.map +1 -1
  227. package/dist/src/internal/builtin-plugins/test/hook-handlers/config.js +1 -1
  228. package/dist/src/internal/builtin-plugins/test/hook-handlers/config.js.map +1 -1
  229. package/dist/src/internal/builtin-plugins/test/index.js +1 -1
  230. package/dist/src/internal/builtin-plugins/test/index.js.map +1 -1
  231. package/dist/src/internal/builtin-plugins/test/task-action.d.ts.map +1 -1
  232. package/dist/src/internal/builtin-plugins/test/task-action.js +3 -4
  233. package/dist/src/internal/builtin-plugins/test/task-action.js.map +1 -1
  234. package/dist/src/internal/cli/init/init.js +1 -1
  235. package/dist/src/internal/cli/init/init.js.map +1 -1
  236. package/dist/src/internal/cli/main.d.ts.map +1 -1
  237. package/dist/src/internal/cli/main.js +12 -2
  238. package/dist/src/internal/cli/main.js.map +1 -1
  239. package/dist/src/internal/cli/node-version.d.ts.map +1 -1
  240. package/dist/src/internal/cli/node-version.js +3 -0
  241. package/dist/src/internal/cli/node-version.js.map +1 -1
  242. package/dist/src/internal/cli/telemetry/analytics/analytics.js +2 -2
  243. package/dist/src/internal/cli/telemetry/analytics/analytics.js.map +1 -1
  244. package/dist/src/internal/cli/telemetry/error-reporter/global-error-handlers.d.ts +6 -0
  245. package/dist/src/internal/cli/telemetry/error-reporter/global-error-handlers.d.ts.map +1 -0
  246. package/dist/src/internal/cli/telemetry/error-reporter/global-error-handlers.js +47 -0
  247. package/dist/src/internal/cli/telemetry/error-reporter/global-error-handlers.js.map +1 -0
  248. package/dist/src/internal/cli/telemetry/error-reporter/reporter.d.ts +27 -0
  249. package/dist/src/internal/cli/telemetry/error-reporter/reporter.d.ts.map +1 -0
  250. package/dist/src/internal/cli/telemetry/error-reporter/reporter.js +40 -0
  251. package/dist/src/internal/cli/telemetry/error-reporter/reporter.js.map +1 -0
  252. package/dist/src/internal/cli/telemetry/sentry/anonymizer.js +1 -1
  253. package/dist/src/internal/cli/telemetry/sentry/anonymizer.js.map +1 -1
  254. package/dist/src/internal/cli/telemetry/sentry/init.d.ts +0 -8
  255. package/dist/src/internal/cli/telemetry/sentry/init.d.ts.map +1 -1
  256. package/dist/src/internal/cli/telemetry/sentry/init.js +1 -37
  257. package/dist/src/internal/cli/telemetry/sentry/init.js.map +1 -1
  258. package/dist/src/internal/cli/telemetry/sentry/reporter.d.ts +8 -2
  259. package/dist/src/internal/cli/telemetry/sentry/reporter.d.ts.map +1 -1
  260. package/dist/src/internal/cli/telemetry/sentry/reporter.js +18 -12
  261. package/dist/src/internal/cli/telemetry/sentry/reporter.js.map +1 -1
  262. package/dist/src/internal/cli/telemetry/sentry/transport.js +1 -1
  263. package/dist/src/internal/cli/telemetry/sentry/transport.js.map +1 -1
  264. package/dist/src/internal/cli/telemetry/telemetry-permissions.js +1 -1
  265. package/dist/src/internal/cli/telemetry/telemetry-permissions.js.map +1 -1
  266. package/dist/src/internal/config-loading.js +3 -3
  267. package/dist/src/internal/config-loading.js.map +1 -1
  268. package/dist/src/internal/core/configuration-variables.d.ts.map +1 -1
  269. package/dist/src/internal/core/configuration-variables.js +1 -1
  270. package/dist/src/internal/core/configuration-variables.js.map +1 -1
  271. package/dist/src/internal/core/hook-manager.js +3 -3
  272. package/dist/src/internal/core/hook-manager.js.map +1 -1
  273. package/dist/src/internal/core/hre.d.ts.map +1 -1
  274. package/dist/src/internal/core/hre.js +3 -3
  275. package/dist/src/internal/core/hre.js.map +1 -1
  276. package/dist/src/internal/core/plugins/resolve-plugin-list.js +1 -1
  277. package/dist/src/internal/core/plugins/resolve-plugin-list.js.map +1 -1
  278. package/dist/src/internal/core/tasks/resolved-task.js +4 -4
  279. package/dist/src/internal/core/tasks/resolved-task.js.map +1 -1
  280. package/dist/src/internal/core/user-interruptions.js +9 -9
  281. package/dist/src/internal/core/user-interruptions.js.map +1 -1
  282. package/dist/src/internal/hre-initialization.js +1 -1
  283. package/dist/src/internal/hre-initialization.js.map +1 -1
  284. package/dist/src/types/artifacts.d.ts +5 -4
  285. package/dist/src/types/artifacts.d.ts.map +1 -1
  286. package/dist/src/types/network.d.ts +39 -0
  287. package/dist/src/types/network.d.ts.map +1 -1
  288. package/dist/src/types/solidity/build-system.d.ts +66 -3
  289. package/dist/src/types/solidity/build-system.d.ts.map +1 -1
  290. package/dist/src/types/solidity/build-system.js.map +1 -1
  291. package/dist/src/types/solidity/compilation-job.d.ts +6 -0
  292. package/dist/src/types/solidity/compilation-job.d.ts.map +1 -1
  293. package/dist/src/types/solidity/solidity-artifacts.d.ts +14 -0
  294. package/dist/src/types/solidity/solidity-artifacts.d.ts.map +1 -1
  295. package/package.json +9 -9
  296. package/src/internal/builtin-plugins/artifacts/artifact-manager.ts +10 -16
  297. package/src/internal/builtin-plugins/artifacts/hook-handlers/hre.ts +16 -10
  298. package/src/internal/builtin-plugins/clean/index.ts +1 -1
  299. package/src/internal/builtin-plugins/console/index.ts +1 -1
  300. package/src/internal/builtin-plugins/console/task-action.ts +2 -1
  301. package/src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts +2 -2
  302. package/src/internal/builtin-plugins/flatten/index.ts +1 -1
  303. package/src/internal/builtin-plugins/gas-analytics/exports.ts +1 -1
  304. package/src/internal/builtin-plugins/gas-analytics/function-gas-snapshots.ts +1 -2
  305. package/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.ts +100 -61
  306. package/src/internal/builtin-plugins/gas-analytics/helpers/accessors.ts +31 -0
  307. package/src/internal/builtin-plugins/gas-analytics/helpers/compat.ts +37 -0
  308. package/src/internal/builtin-plugins/gas-analytics/helpers/utils.ts +112 -0
  309. package/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.ts +1 -1
  310. package/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.ts +1 -1
  311. package/src/internal/builtin-plugins/gas-analytics/index.ts +4 -2
  312. package/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.ts +1 -2
  313. package/src/internal/builtin-plugins/gas-analytics/types.ts +11 -2
  314. package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +4 -4
  315. package/src/internal/builtin-plugins/network-manager/edr/genesis-state.ts +1 -1
  316. package/src/internal/builtin-plugins/network-manager/edr/stack-traces/solidity-stack-trace.ts +4 -0
  317. package/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.ts +28 -4
  318. package/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.ts +3 -2
  319. package/src/internal/builtin-plugins/network-manager/hook-handlers/hre.ts +31 -2
  320. package/src/internal/builtin-plugins/network-manager/hook-handlers/network.ts +22 -16
  321. package/src/internal/builtin-plugins/network-manager/http-provider.ts +6 -2
  322. package/src/internal/builtin-plugins/network-manager/network-manager.ts +139 -32
  323. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/hd-wallet-handler.ts +1 -0
  324. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.ts +30 -13
  325. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/sender.ts +25 -17
  326. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/chain-id/chain-id-handler.ts +13 -5
  327. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.ts +7 -1
  328. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-price-handler.ts +7 -1
  329. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-handler.ts +7 -1
  330. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-price-handler.ts +7 -1
  331. package/src/internal/builtin-plugins/network-manager/request-handlers/types.ts +10 -0
  332. package/src/internal/builtin-plugins/network-manager/revert-error-code.ts +2 -0
  333. package/src/internal/builtin-plugins/network-manager/type-extensions/config.ts +1 -1
  334. package/src/internal/builtin-plugins/network-manager/type-validation.ts +5 -1
  335. package/src/internal/builtin-plugins/node/helpers.ts +1 -1
  336. package/src/internal/builtin-plugins/node/index.ts +1 -1
  337. package/src/internal/builtin-plugins/node/json-rpc/handler.ts +10 -2
  338. package/src/internal/builtin-plugins/node/task-action.ts +2 -2
  339. package/src/internal/builtin-plugins/run/index.ts +1 -1
  340. package/src/internal/builtin-plugins/run/task-action.ts +2 -1
  341. package/src/internal/builtin-plugins/solidity/build-system/artifacts.ts +3 -0
  342. package/src/internal/builtin-plugins/solidity/build-system/build-system.ts +176 -45
  343. package/src/internal/builtin-plugins/solidity/build-system/cache.ts +2 -0
  344. package/src/internal/builtin-plugins/solidity/build-system/compilation-job.ts +16 -10
  345. package/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.ts +4 -4
  346. package/src/internal/builtin-plugins/solidity/build-system/compiler/index.ts +2 -2
  347. package/src/internal/builtin-plugins/solidity/build-system/compiler/solcjs-runner.ts +1 -1
  348. package/src/internal/builtin-plugins/solidity/build-system/dependency-graph-building.ts +1 -1
  349. package/src/internal/builtin-plugins/solidity/build-system/dependency-graph.ts +9 -7
  350. package/src/internal/builtin-plugins/solidity/build-system/read-source-file.ts +2 -2
  351. package/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.ts +11 -11
  352. package/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.ts +1 -1
  353. package/src/internal/builtin-plugins/solidity/build-system/solc-info.ts +1 -0
  354. package/src/internal/builtin-plugins/solidity/build-system/warning-suppression.ts +2 -2
  355. package/src/internal/builtin-plugins/solidity/config.ts +23 -13
  356. package/src/internal/builtin-plugins/solidity/constants.ts +21 -0
  357. package/src/internal/builtin-plugins/solidity/hook-handlers/config.ts +1 -1
  358. package/src/internal/builtin-plugins/solidity/hook-handlers/hre.ts +14 -10
  359. package/src/internal/builtin-plugins/solidity/index.ts +1 -1
  360. package/src/internal/builtin-plugins/solidity/solidity-hooks.ts +1 -1
  361. package/src/internal/builtin-plugins/solidity/tasks/build.ts +359 -74
  362. package/src/internal/builtin-plugins/solidity/type-extensions.ts +38 -8
  363. package/src/internal/builtin-plugins/solidity-test/config.ts +11 -2
  364. package/src/internal/builtin-plugins/solidity-test/edr-artifacts.ts +2 -2
  365. package/src/internal/builtin-plugins/solidity-test/helpers.ts +0 -7
  366. package/src/internal/builtin-plugins/solidity-test/hook-handlers/config.ts +1 -1
  367. package/src/internal/builtin-plugins/solidity-test/hook-handlers/test.ts +1 -1
  368. package/src/internal/builtin-plugins/solidity-test/index.ts +1 -1
  369. package/src/internal/builtin-plugins/solidity-test/reporter.ts +1 -1
  370. package/src/internal/builtin-plugins/solidity-test/runner.ts +64 -83
  371. package/src/internal/builtin-plugins/solidity-test/stack-trace-solidity-errors.ts +15 -2
  372. package/src/internal/builtin-plugins/solidity-test/task-action.ts +161 -43
  373. package/src/internal/builtin-plugins/solidity-test/type-extensions.ts +1 -2
  374. package/src/internal/builtin-plugins/telemetry/index.ts +1 -1
  375. package/src/internal/builtin-plugins/test/hook-handlers/config.ts +1 -1
  376. package/src/internal/builtin-plugins/test/index.ts +1 -1
  377. package/src/internal/builtin-plugins/test/task-action.ts +3 -4
  378. package/src/internal/cli/init/init.ts +1 -1
  379. package/src/internal/cli/main.ts +19 -3
  380. package/src/internal/cli/node-version.ts +3 -0
  381. package/src/internal/cli/telemetry/analytics/analytics.ts +2 -2
  382. package/src/internal/cli/telemetry/error-reporter/global-error-handlers.ts +64 -0
  383. package/src/internal/cli/telemetry/error-reporter/reporter.ts +49 -0
  384. package/src/internal/cli/telemetry/sentry/anonymizer.ts +1 -1
  385. package/src/internal/cli/telemetry/sentry/init.ts +2 -62
  386. package/src/internal/cli/telemetry/sentry/reporter.ts +27 -15
  387. package/src/internal/cli/telemetry/sentry/transport.ts +1 -1
  388. package/src/internal/cli/telemetry/telemetry-permissions.ts +1 -1
  389. package/src/internal/config-loading.ts +3 -3
  390. package/src/internal/core/configuration-variables.ts +19 -18
  391. package/src/internal/core/hook-manager.ts +3 -3
  392. package/src/internal/core/hre.ts +5 -3
  393. package/src/internal/core/plugins/resolve-plugin-list.ts +1 -1
  394. package/src/internal/core/tasks/resolved-task.ts +4 -4
  395. package/src/internal/core/user-interruptions.ts +9 -9
  396. package/src/internal/hre-initialization.ts +1 -1
  397. package/src/types/artifacts.ts +5 -4
  398. package/src/types/network.ts +48 -0
  399. package/src/types/solidity/build-system.ts +66 -3
  400. package/src/types/solidity/compilation-job.ts +7 -0
  401. package/src/types/solidity/solidity-artifacts.ts +16 -0
  402. package/templates/hardhat-2/04-mocha-viem-ts/package.json +1 -1
  403. package/templates/hardhat-3/01-node-test-runner-viem/gitignore +11 -0
  404. package/templates/hardhat-3/01-node-test-runner-viem/package.json +12 -12
  405. package/templates/hardhat-3/01-node-test-runner-viem/scripts/send-op-tx.ts +1 -1
  406. package/templates/hardhat-3/01-node-test-runner-viem/test/Counter.ts +1 -1
  407. package/templates/hardhat-3/02-mocha-ethers/gitignore +11 -0
  408. package/templates/hardhat-3/02-mocha-ethers/package.json +14 -14
  409. package/templates/hardhat-3/02-mocha-ethers/scripts/send-op-tx.ts +1 -1
  410. package/templates/hardhat-3/02-mocha-ethers/test/Counter.ts +1 -1
  411. package/templates/hardhat-3/03-minimal/gitignore +11 -0
  412. package/templates/hardhat-3/03-minimal/package.json +1 -1
  413. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts +0 -14
  414. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts.map +0 -1
  415. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js +0 -55
  416. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js.map +0 -1
  417. package/src/internal/builtin-plugins/gas-analytics/helpers.ts +0 -96
@@ -70,11 +70,11 @@ export interface ArtifactManager {
70
70
  /**
71
71
  * Returns true if an artifact exists.
72
72
  *
73
- * This function doesn't throw if the name is not unique.
73
+ * This function doesn't throw if the name is not unique, this means that
74
+ * this method may return `true`, and a successive call to `readArtifact` can
75
+ * throw because of a duplicated name.
74
76
  *
75
77
  * @param contractNameOrFullyQualifiedName Contract or fully qualified name.
76
- * @throws Throws an error if a non-unique contract name is used,
77
- * indicating which fully qualified names can be used instead.
78
78
  */
79
79
  artifactExists(contractNameOrFullyQualifiedName: string): Promise<boolean>;
80
80
  /**
@@ -98,7 +98,8 @@ export interface ArtifactManager {
98
98
  * If it does return an id, it's not guaranteed that the build info is
99
99
  * present.
100
100
  *
101
- * @param contractNameOrFullyQualifiedName Contract or fully qualified name, whose artifact must exist.
101
+ * @param contractNameOrFullyQualifiedName Contract or fully qualified name,
102
+ * whose artifact must exist.
102
103
  * @throws Throws an error if a non-unique contract name is used,
103
104
  * indicating which fully qualified names can be used instead.
104
105
  * @throws Throws an error if the artifact doesn't exist.
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../src/types/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../src/types/artifacts.ts"],"names":[],"mappings":"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"}
@@ -35,8 +35,47 @@ export interface NetworkConnectionParams<ChainTypeT extends ChainType | string =
35
35
  chainType?: ChainTypeT;
36
36
  override?: NetworkConfigOverride;
37
37
  }
38
+ export interface CachedNetworkConnectionParams<ChainTypeT extends ChainType | string = DefaultChainType> extends NetworkConnectionParams<ChainTypeT> {
39
+ override?: never;
40
+ }
38
41
  export interface NetworkManager {
42
+ /**
43
+ * Creates a new network connection based on the provided parameters.
44
+ *
45
+ * @param networkOrParams The network name or connection parameters. When
46
+ * omitted, the default network is used.
47
+ *
48
+ * @returns A new {@link NetworkConnection} for the specified network.
49
+ */
50
+ create<ChainTypeT extends ChainType | string = DefaultChainType>(networkOrParams?: NetworkConnectionParams<ChainTypeT> | string): Promise<NetworkConnection<ChainTypeT>>;
51
+ /**
52
+ * Creates a new network connection based on the provided parameters.
53
+ *
54
+ * @deprecated Use {@link NetworkManager.create} or
55
+ * {@link NetworkManager.getOrCreate} instead.
56
+ *
57
+ * - {@link NetworkManager.create} always creates a new network instance.
58
+ * - {@link NetworkManager.getOrCreate} returns an existing instance if one exists.
59
+ *
60
+ * `connect` will be removed in a future version of Hardhat.
61
+ *
62
+ * @param networkOrParams The network name or connection parameters. When
63
+ * omitted, the default network is used.
64
+ *
65
+ * @returns A new {@link NetworkConnection} for the specified network.
66
+ */
39
67
  connect<ChainTypeT extends ChainType | string = DefaultChainType>(networkOrParams?: NetworkConnectionParams<ChainTypeT> | string): Promise<NetworkConnection<ChainTypeT>>;
68
+ /**
69
+ * Returns an existing network connection if one was previously created
70
+ * with the same network name and chain type. Creates a new one otherwise.
71
+ *
72
+ * @param networkOrParams The network name or connection parameters. When
73
+ * omitted, the default network is used. Overrides are not supported.
74
+ *
75
+ * @returns A {@link NetworkConnection} for the specified network, cached
76
+ * by network name and chain type.
77
+ */
78
+ getOrCreate<ChainTypeT extends ChainType | string = DefaultChainType>(networkOrParams?: CachedNetworkConnectionParams<ChainTypeT> | string): Promise<NetworkConnection<ChainTypeT>>;
40
79
  /**
41
80
  * Spawns an Ethereum JSON-RPC server listening on HTTP and Websocket.
42
81
  *
@@ -1 +1 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/types/network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,SAAS;IACrD,gBAAgB,EAAE,MAAM,CAAC,CAAC;CAC3B,GACG,CAAC,SAAS,SAAS,GACjB,CAAC,GACD,gBAAgB,GAClB,gBAAgB,CAAC;AAIrB,MAAM,WAAW,eAAe;CAAG;AAEnC,MAAM,WAAW,uBAAuB,CACtC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB;IAExD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB,EAC9D,eAAe,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,GAAG,MAAM,GAC7D,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IAE1C;;;;;;;;OAQG;IACH,YAAY,CAAC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB,EACnE,eAAe,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,GAAG,MAAM,EAC9D,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB,CAChC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB;IAExD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAEpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAErD;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;;;;;;OAQG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B"}
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/types/network.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,13 @@ export interface BuildOptions {
37
37
  */
38
38
  quiet?: boolean;
39
39
  /**
40
- * Whether to compile contracts or tests. Defaults to contracts
40
+ * Whether to compile contracts or tests. Defaults to contracts.
41
+ *
42
+ * When `solidity.splitTestsCompilation` is `false` (the default), only
43
+ * `"contracts"` is accepted.
44
+ *
45
+ * When `solidity.splitTestsCompilation` is `true`, both scopes are valid
46
+ * and produce separate compilation passes.
41
47
  */
42
48
  scope?: BuildScope;
43
49
  }
@@ -212,6 +218,16 @@ export interface SolidityBuildSystem {
212
218
  * The root files are either absolute paths or
213
219
  * `npm:<package-name>/<file-path>` URIs.
214
220
  *
221
+ * When `solidity.splitTestsCompilation` is `false`, contracts and tests are
222
+ * compiled together and `scope: "contracts"` returns every build root:
223
+ * contract roots, test roots, and `npmFilesToBuild` roots.
224
+ *
225
+ * Calling this method with `scope: "tests"` in this mode is a logic error and
226
+ * throws a `HardhatError`.
227
+ *
228
+ * When `solidity.splitTestsCompilation` is `true`, `scope: "contracts"`
229
+ * returns only contract roots and `scope: "tests"` returns only test roots.
230
+ *
215
231
  * @returns An array of root file paths.
216
232
  */
217
233
  getRootFilePaths(options?: {
@@ -224,6 +240,15 @@ export interface SolidityBuildSystem {
224
240
  /**
225
241
  * Builds the provided files, generating their compilation artifacts.
226
242
  *
243
+ * When `solidity.splitTestsCompilation` is `false`, this method rejects
244
+ * `scope: "tests"` as a logic error and throws a `HardhatError`
245
+ *
246
+ * In this mode, callers must use `scope: "contracts"` and contracts and tests
247
+ * are built together, emitting their artifacts into the same directory.
248
+ *
249
+ * When `solidity.splitTestsCompilation` is `true`, both scopes are valid
250
+ * and are built into separate artifact directories.
251
+ *
227
252
  * @param rootFilePaths The files to build, which can be either absolute paths
228
253
  * or `npm:<package-name>/<file-path>` URIs.
229
254
  * @param options The options to use when building the files.
@@ -246,6 +271,9 @@ export interface SolidityBuildSystem {
246
271
  * can be returned for multiple files, so you should deduplicate the results
247
272
  * before using them.
248
273
  *
274
+ * When `solidity.splitTestsCompilation` is `false`, this method rejects
275
+ * `scope: "tests"` as a logic error and throws a `HardhatError`.
276
+ *
249
277
  * @param rootFilePaths The files to analyze, which can be either absolute
250
278
  * paths or `npm:<package-name>/<file-path>` URIs.
251
279
  * @param options The options to use when analyzing the files.
@@ -278,6 +306,13 @@ export interface SolidityBuildSystem {
278
306
  /**
279
307
  * Emits the artifacts of the given compilation job.
280
308
  *
309
+ * When `solidity.splitTestsCompilation` is `false`, this method rejects
310
+ * `scope: "tests"` as a logic error and throws a `HardhatError`
311
+ *
312
+ * Artifacts for both contracts and tests are emitted under the main artifacts
313
+ * directory when built with `scope: "contracts"` and `splitTestsCompilation`
314
+ * `false`.
315
+ *
281
316
  * @param compilationJob The compilation job to emit the artifacts of.
282
317
  * @param compilerOutput The result of running the compilation job.
283
318
  * @returns A map from user source name to the absolute paths of the
@@ -296,7 +331,25 @@ export interface SolidityBuildSystem {
296
331
  * This method should only be used after a complete build has succeeded, as
297
332
  * it relies on the build system to have generated all the necessary artifact
298
333
  * files.
299
-
334
+ *
335
+ * When `solidity.splitTestsCompilation` is `false`, this method rejects
336
+ * `scope: "tests"` as a logic error and throws a `HardhatError`. Cleanup in
337
+ * this mode operates on the main artifacts directory using `scope:
338
+ * "contracts"`.
339
+ *
340
+ * What is considered a complete build changes according to
341
+ * `splitTestsCompilation`:
342
+ * - When it's `true`
343
+ * - A full "contracts" build is run when `--no-contracts` isn't used, and
344
+ * no explicit contract `files` are provided (i.e. you can still provide
345
+ * explicit test `files`).
346
+ * - A full "tests" build is run when `--no-tests` isn't used, and no
347
+ * explicit test files `files` are provided (i.e. you can still provide
348
+ * explicit contract `files`)
349
+ * - When it's `false`
350
+ * - A full build is when `files`, `--no-contracts`, nor `--no-tests` are
351
+ * used.
352
+ *
300
353
  * @param rootFilePaths All the root files of the project.
301
354
  */
302
355
  cleanupArtifacts(rootFilePaths: string[], options?: {
@@ -316,7 +369,17 @@ export interface SolidityBuildSystem {
316
369
  */
317
370
  compileBuildInfo(buildInfo: SolidityBuildInfo, options?: CompileBuildInfoOptions): Promise<CompilerOutput>;
318
371
  /**
319
- * Gets the artifacts directory for a given target (contracts/tests)
372
+ * Gets the artifacts directory for a given target (contracts/tests).
373
+ *
374
+ * When `solidity.splitTestsCompilation` is `false`, both scopes return the
375
+ * main artifacts directory, because contracts and tests share it.
376
+ *
377
+ * Unlike the other scope-aware methods, this one does not throw on that mode,
378
+ * as it's a read-only method that can be helpful for plugins.
379
+ *
380
+ * When `solidity.splitTestsCompilation` is `true`, `scope: "contracts"`
381
+ * returns the main artifacts directory and `scope: "tests"` returns a
382
+ * separate test-artifacts directory under the cache path.
320
383
  */
321
384
  getArtifactsDirectory(scope: BuildScope): Promise<string>;
322
385
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-system.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-system.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-system.js","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"AAqFA,MAAM,CAAN,IAAY,iCAmCX;AAnCD,WAAY,iCAAiC;IAC3C;;OAEG;IACH,kHAA6E,CAAA;IAE7E;;OAEG;IACH,8HAAyF,CAAA;IAEzF;;OAEG;IACH,gGAA2D,CAAA;IAE3D;;OAEG;IACH,oJAA+G,CAAA;IAE/G;;OAEG;IACH,kHAA6E,CAAA;IAE7E;;OAEG;IACH,kJAA6G,CAAA;IAE7G;;OAEG;IACH,0GAAqE,CAAA;AACvE,CAAC,EAnCW,iCAAiC,KAAjC,iCAAiC,QAmC5C;AAyDD;;GAEG;AACH,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,8CAAuB,CAAA;IACvB,sDAA+B,CAAA;IAC/B,sDAA+B,CAAA;AACjC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B"}
1
+ {"version":3,"file":"build-system.js","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"AA2FA,MAAM,CAAN,IAAY,iCAmCX;AAnCD,WAAY,iCAAiC;IAC3C;;OAEG;IACH,kHAA6E,CAAA;IAE7E;;OAEG;IACH,8HAAyF,CAAA;IAEzF;;OAEG;IACH,gGAA2D,CAAA;IAE3D;;OAEG;IACH,oJAA+G,CAAA;IAE/G;;OAEG;IACH,kHAA6E,CAAA;IAE7E;;OAEG;IACH,kJAA6G,CAAA;IAE7G;;OAEG;IACH,0GAAqE,CAAA;AACvE,CAAC,EAnCW,iCAAiC,KAAjC,iCAAiC,QAmC5C;AAyDD;;GAEG;AACH,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,8CAAuB,CAAA;IACvB,sDAA+B,CAAA;IAC/B,sDAA+B,CAAA;AACjC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B"}
@@ -1,5 +1,6 @@
1
1
  import type { CompilerInput } from "./compiler-io.js";
2
2
  import type { DependencyGraph } from "./dependency-graph.js";
3
+ import type { ToolVersions } from "./solidity-artifacts.js";
3
4
  import type { SolidityCompilerConfig } from "../config.js";
4
5
  /**
5
6
  * A compilation job to be run.
@@ -18,6 +19,11 @@ export interface CompilationJob {
18
19
  * The long version of the compiler to be used.
19
20
  */
20
21
  solcLongVersion: string;
22
+ /**
23
+ * The versions to include in the build info, if any.
24
+ * When present, these versions influence the build id.
25
+ */
26
+ toolVersions?: ToolVersions;
21
27
  /**
22
28
  * Returns the solc input to be used.
23
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"compilation-job.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/compilation-job.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,eAAe,EAAE,eAAe,CAAC;IAEjC;;OAEG;IACH,UAAU,EAAE,sBAAsB,CAAC;IAEnC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAEvC;;;;;;;;;OASG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B"}
1
+ {"version":3,"file":"compilation-job.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/compilation-job.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,eAAe,EAAE,eAAe,CAAC;IAEjC;;OAEG;IACH,UAAU,EAAE,sBAAsB,CAAC;IAEnC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAEvC;;;;;;;;;OASG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B"}
@@ -1,4 +1,11 @@
1
1
  import type { CompilerInput, CompilerOutput } from "./compiler-io.js";
2
+ /**
3
+ * A record with the versions of the different tools used to create a
4
+ * build info.
5
+ */
6
+ export interface ToolVersions {
7
+ readonly hardhat: string;
8
+ }
2
9
  /**
3
10
  * A SolidityBuildInfo is a file that contains all the information of a solc
4
11
  * run. It includes all the necessary information to recreate that exact same
@@ -37,6 +44,13 @@ export interface SolidityBuildInfo {
37
44
  * type may not be registered in the current type definitions.
38
45
  */
39
46
  readonly compilerType?: string;
47
+ /**
48
+ * Versions of the different tools used to create this build info.
49
+ *
50
+ * Not present if the build profile used to create this build info
51
+ * had `toolVersionsInBuildInfo` as `false`.
52
+ */
53
+ readonly toolVersions?: ToolVersions;
40
54
  /**
41
55
  * A mapping from user source names to input source names, for the root
42
56
  * files of the build (i.e. the files whose artifacts where being compiled).
@@ -1 +1 @@
1
- {"version":3,"file":"solidity-artifacts.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/solidity-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IAEzC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;;OAOG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACjC"}
1
+ {"version":3,"file":"solidity-artifacts.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/solidity-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IAEzC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAErC;;;;;;;OAOG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACjC"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "hardhat",
3
- "version": "3.3.0",
3
+ "version": "3.4.1",
4
4
  "description": "Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.",
5
- "homepage": "https://github.com/nomicfoundation/hardhat/tree/v-next/v-next/hardhat",
5
+ "homepage": "https://hardhat.org",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/NomicFoundation/hardhat",
9
- "directory": "v-next/hardhat"
9
+ "directory": "packages/hardhat"
10
10
  },
11
11
  "author": "Nomic Foundation",
12
12
  "license": "MIT",
@@ -62,7 +62,7 @@
62
62
  "README.md"
63
63
  ],
64
64
  "devDependencies": {
65
- "@nomicfoundation/hardhat-node-test-reporter": "^3.0.3",
65
+ "@nomicfoundation/hardhat-node-test-reporter": "^3.0.5",
66
66
  "@types/adm-zip": "^0.5.5",
67
67
  "@types/debug": "^4.1.7",
68
68
  "@types/node": "^22.0.0",
@@ -74,14 +74,14 @@
74
74
  "prettier": "3.2.5",
75
75
  "rimraf": "^5.0.5",
76
76
  "typescript": "~5.8.0",
77
- "@nomicfoundation/hardhat-test-utils": "^2.0.2"
77
+ "@nomicfoundation/hardhat-test-utils": "^2.0.3"
78
78
  },
79
79
  "dependencies": {
80
80
  "@nomicfoundation/edr": "0.12.0-next.29",
81
- "@nomicfoundation/hardhat-errors": "^3.0.10",
82
- "@nomicfoundation/hardhat-utils": "^4.0.2",
83
- "@nomicfoundation/hardhat-vendored": "^3.0.1",
84
- "@nomicfoundation/hardhat-zod-utils": "^3.0.3",
81
+ "@nomicfoundation/hardhat-errors": "^3.0.11",
82
+ "@nomicfoundation/hardhat-utils": "^4.0.4",
83
+ "@nomicfoundation/hardhat-vendored": "^3.0.2",
84
+ "@nomicfoundation/hardhat-zod-utils": "^3.0.4",
85
85
  "@nomicfoundation/solidity-analyzer": "^0.1.1",
86
86
  "@sentry/core": "^9.4.0",
87
87
  "adm-zip": "^0.4.16",
@@ -57,7 +57,7 @@ export class ArtifactManagerImplementation implements ArtifactManager {
57
57
  contractNameOrFullyQualifiedName,
58
58
  );
59
59
 
60
- return readJsonFile(artifactPath);
60
+ return await readJsonFile(artifactPath);
61
61
  }
62
62
 
63
63
  public async getArtifactPath(
@@ -81,22 +81,16 @@ export class ArtifactManagerImplementation implements ArtifactManager {
81
81
  public async artifactExists(
82
82
  contractNameOrFullyQualifiedName: string,
83
83
  ): Promise<boolean> {
84
- try {
85
- // This throw if the artifact doesn't exist
86
- await this.getArtifactPath(contractNameOrFullyQualifiedName);
87
-
88
- return true;
89
- } catch (error) {
90
- if (HardhatError.isHardhatError(error)) {
91
- if (
92
- error.number === HardhatError.ERRORS.CORE.ARTIFACTS.NOT_FOUND.number
93
- ) {
94
- return false;
95
- }
96
- }
84
+ const { bareNameToFullyQualifiedNameMap, allFullyQualifiedNames } =
85
+ await this.#getFsData();
97
86
 
98
- throw error;
87
+ if (this.#isFullyQualifiedName(contractNameOrFullyQualifiedName)) {
88
+ return allFullyQualifiedNames.has(contractNameOrFullyQualifiedName);
99
89
  }
90
+
91
+ return bareNameToFullyQualifiedNameMap.has(
92
+ contractNameOrFullyQualifiedName,
93
+ );
100
94
  }
101
95
 
102
96
  public async getBuildInfoId(
@@ -191,7 +185,7 @@ export class ArtifactManagerImplementation implements ArtifactManager {
191
185
  HardhatError.ERRORS.CORE.ARTIFACTS.MULTIPLE_FOUND,
192
186
  {
193
187
  contractName: contractNameOrFullyQualifiedName,
194
- candidates: Array.from(fqns).join(EOL),
188
+ candidates: Array.from(fqns).sort().join(EOL),
195
189
  },
196
190
  );
197
191
  }
@@ -20,62 +20,68 @@ class LazyArtifactManager implements ArtifactManager {
20
20
  contractNameOrFullyQualifiedName: ContractNameT,
21
21
  ): Promise<GetArtifactByName<ContractNameT>> {
22
22
  const artifactManager = await this.#getArtifactManager();
23
- return artifactManager.readArtifact(contractNameOrFullyQualifiedName);
23
+ return await artifactManager.readArtifact(contractNameOrFullyQualifiedName);
24
24
  }
25
25
 
26
26
  public async getArtifactPath(
27
27
  contractNameOrFullyQualifiedName: string,
28
28
  ): Promise<string> {
29
29
  const artifactManager = await this.#getArtifactManager();
30
- return artifactManager.getArtifactPath(contractNameOrFullyQualifiedName);
30
+ return await artifactManager.getArtifactPath(
31
+ contractNameOrFullyQualifiedName,
32
+ );
31
33
  }
32
34
 
33
35
  public async artifactExists(
34
36
  contractNameOrFullyQualifiedName: string,
35
37
  ): Promise<boolean> {
36
38
  const artifactManager = await this.#getArtifactManager();
37
- return artifactManager.artifactExists(contractNameOrFullyQualifiedName);
39
+ return await artifactManager.artifactExists(
40
+ contractNameOrFullyQualifiedName,
41
+ );
38
42
  }
39
43
 
40
44
  public async getAllFullyQualifiedNames(): Promise<ReadonlySet<string>> {
41
45
  const artifactManager = await this.#getArtifactManager();
42
- return artifactManager.getAllFullyQualifiedNames();
46
+ return await artifactManager.getAllFullyQualifiedNames();
43
47
  }
44
48
 
45
49
  public async getAllArtifactPaths(): Promise<ReadonlySet<string>> {
46
50
  const artifactManager = await this.#getArtifactManager();
47
- return artifactManager.getAllArtifactPaths();
51
+ return await artifactManager.getAllArtifactPaths();
48
52
  }
49
53
 
50
54
  public async getBuildInfoId(
51
55
  contractNameOrFullyQualifiedName: string,
52
56
  ): Promise<string | undefined> {
53
57
  const artifactManager = await this.#getArtifactManager();
54
- return artifactManager.getBuildInfoId(contractNameOrFullyQualifiedName);
58
+ return await artifactManager.getBuildInfoId(
59
+ contractNameOrFullyQualifiedName,
60
+ );
55
61
  }
56
62
 
57
63
  public async getAllBuildInfoIds(): Promise<ReadonlySet<string>> {
58
64
  const artifactManager = await this.#getArtifactManager();
59
- return artifactManager.getAllBuildInfoIds();
65
+ return await artifactManager.getAllBuildInfoIds();
60
66
  }
61
67
 
62
68
  public async getBuildInfoPath(
63
69
  buildInfoId: string,
64
70
  ): Promise<string | undefined> {
65
71
  const artifactManager = await this.#getArtifactManager();
66
- return artifactManager.getBuildInfoPath(buildInfoId);
72
+ return await artifactManager.getBuildInfoPath(buildInfoId);
67
73
  }
68
74
 
69
75
  public async getBuildInfoOutputPath(
70
76
  buildInfoId: string,
71
77
  ): Promise<string | undefined> {
72
78
  const artifactManager = await this.#getArtifactManager();
73
- return artifactManager.getBuildInfoOutputPath(buildInfoId);
79
+ return await artifactManager.getBuildInfoOutputPath(buildInfoId);
74
80
  }
75
81
 
76
82
  public async clearCache(): Promise<void> {
77
83
  const artifactManager = await this.#getArtifactManager();
78
- return artifactManager.clearCache();
84
+ return await artifactManager.clearCache();
79
85
  }
80
86
 
81
87
  async #getArtifactManager(): Promise<ArtifactManager> {
@@ -12,7 +12,7 @@ const hardhatPlugin: HardhatPlugin = {
12
12
  name: "global",
13
13
  description: "Clear the global cache",
14
14
  })
15
- .setAction(async () => import("./task-action.js"))
15
+ .setAction(async () => await import("./task-action.js"))
16
16
  .build(),
17
17
  ],
18
18
  npmPackage: "hardhat",
@@ -20,7 +20,7 @@ const hardhatPlugin: HardhatPlugin = {
20
20
  description: "Commands to run when the console starts",
21
21
  defaultValue: [],
22
22
  })
23
- .setAction(async () => import("./task-action.js"))
23
+ .setAction(async () => await import("./task-action.js"))
24
24
  .build(),
25
25
  ],
26
26
  dependencies: () => [import("../solidity/index.js")],
@@ -42,7 +42,8 @@ const consoleAction: NewTaskActionFunction<ConsoleActionArguments> = async (
42
42
  }
43
43
 
44
44
  if (!noCompile) {
45
- await hre.tasks.getTask("build").run({ noTests: true, quiet: true });
45
+ const noTests = hre.config.solidity.splitTestsCompilation;
46
+ await hre.tasks.getTask("build").run({ noTests, quiet: true });
46
47
  }
47
48
 
48
49
  return await new Promise<REPLServer>(async (resolve) => {
@@ -94,7 +94,7 @@ export default async (): Promise<Partial<SolidityHooks>> => ({
94
94
  );
95
95
  }
96
96
  } else {
97
- return next(context, sourceName, fsPath, fileContent, solcVersion);
97
+ return await next(context, sourceName, fsPath, fileContent, solcVersion);
98
98
  }
99
99
  },
100
100
  preprocessSolcInputBeforeBuilding: async (context, solcInput, next) => {
@@ -121,6 +121,6 @@ export default async (): Promise<Partial<SolidityHooks>> => ({
121
121
  solcInput.sources[COVERAGE_LIBRARY_PATH] = { content };
122
122
  }
123
123
 
124
- return next(context, solcInput);
124
+ return await next(context, solcInput);
125
125
  },
126
126
  });
@@ -14,7 +14,7 @@ const hardhatPlugin: HardhatPlugin = {
14
14
  description: "An optional list of files to flatten",
15
15
  type: ArgumentType.FILE,
16
16
  })
17
- .setAction(async () => import("./task-action.js"))
17
+ .setAction(async () => await import("./task-action.js"))
18
18
  .build(),
19
19
  ],
20
20
  };
@@ -2,4 +2,4 @@ export {
2
2
  markTestRunStart,
3
3
  markTestRunDone,
4
4
  markTestWorkerDone,
5
- } from "./helpers.js";
5
+ } from "./helpers/compat.js";
@@ -17,8 +17,7 @@ import {
17
17
  parseFullyQualifiedName,
18
18
  } from "../../../utils/contract-names.js";
19
19
 
20
- import { getUserFqn } from "./gas-analytics-manager.js";
21
- import { formatSectionHeader } from "./helpers.js";
20
+ import { formatSectionHeader, getUserFqn } from "./helpers/utils.js";
22
21
 
23
22
  export const FUNCTION_GAS_SNAPSHOTS_FILE = ".gas-snapshot";
24
23