hardhat 3.2.0 → 3.3.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 (248) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/src/internal/builtin-global-options.d.ts.map +1 -1
  3. package/dist/src/internal/builtin-global-options.js +14 -1
  4. package/dist/src/internal/builtin-global-options.js.map +1 -1
  5. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts +0 -5
  6. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts.map +1 -1
  7. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js +12 -3
  8. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js.map +1 -1
  9. package/dist/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.d.ts.map +1 -1
  10. package/dist/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.js +12 -2
  11. package/dist/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.js.map +1 -1
  12. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts +9 -3
  13. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts.map +1 -1
  14. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js +65 -42
  15. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js.map +1 -1
  16. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.d.ts +11 -0
  17. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.d.ts.map +1 -0
  18. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js +104 -0
  19. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js.map +1 -0
  20. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.d.ts +6 -0
  21. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.d.ts.map +1 -0
  22. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.js +152 -0
  23. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.js.map +1 -0
  24. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.d.ts +19 -0
  25. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.d.ts.map +1 -0
  26. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.js +104 -0
  27. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.js.map +1 -0
  28. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js +1 -1
  29. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js.map +1 -1
  30. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.d.ts.map +1 -1
  31. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.js +8 -8
  32. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.js.map +1 -1
  33. package/dist/src/internal/builtin-plugins/network-manager/http-provider.d.ts.map +1 -1
  34. package/dist/src/internal/builtin-plugins/network-manager/http-provider.js +1 -0
  35. package/dist/src/internal/builtin-plugins/network-manager/http-provider.js.map +1 -1
  36. package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts +1 -1
  37. package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts.map +1 -1
  38. package/dist/src/internal/builtin-plugins/network-manager/network-manager.js +63 -7
  39. package/dist/src/internal/builtin-plugins/network-manager/network-manager.js.map +1 -1
  40. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.d.ts.map +1 -1
  41. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.js +56 -33
  42. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.js.map +1 -1
  43. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.d.ts +0 -3
  44. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.d.ts.map +1 -1
  45. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.js +9 -12
  46. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.js.map +1 -1
  47. package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.d.ts.map +1 -1
  48. package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.js +1 -1
  49. package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.js.map +1 -1
  50. package/dist/src/internal/builtin-plugins/node/helpers.d.ts.map +1 -1
  51. package/dist/src/internal/builtin-plugins/node/helpers.js +6 -2
  52. package/dist/src/internal/builtin-plugins/node/helpers.js.map +1 -1
  53. package/dist/src/internal/builtin-plugins/solidity/build-system/artifacts.d.ts.map +1 -1
  54. package/dist/src/internal/builtin-plugins/solidity/build-system/artifacts.js +4 -0
  55. package/dist/src/internal/builtin-plugins/solidity/build-system/artifacts.js.map +1 -1
  56. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts +5 -1
  57. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts.map +1 -1
  58. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js +86 -47
  59. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js.map +1 -1
  60. package/dist/src/internal/builtin-plugins/solidity/build-system/cache.d.ts +1 -0
  61. package/dist/src/internal/builtin-plugins/solidity/build-system/cache.d.ts.map +1 -1
  62. package/dist/src/internal/builtin-plugins/solidity/build-system/cache.js.map +1 -1
  63. package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.d.ts +3 -3
  64. package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.d.ts.map +1 -1
  65. package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.js +24 -4
  66. package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.js.map +1 -1
  67. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.d.ts +16 -0
  68. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.d.ts.map +1 -1
  69. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.js +1 -1
  70. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.js.map +1 -1
  71. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.d.ts.map +1 -1
  72. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.js +1 -1
  73. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.js.map +1 -1
  74. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.d.ts +2 -2
  75. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.d.ts.map +1 -1
  76. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.js.map +1 -1
  77. package/dist/src/internal/builtin-plugins/solidity/config.d.ts +4 -2
  78. package/dist/src/internal/builtin-plugins/solidity/config.d.ts.map +1 -1
  79. package/dist/src/internal/builtin-plugins/solidity/config.js +247 -68
  80. package/dist/src/internal/builtin-plugins/solidity/config.js.map +1 -1
  81. package/dist/src/internal/builtin-plugins/solidity/exports.d.ts +3 -0
  82. package/dist/src/internal/builtin-plugins/solidity/exports.d.ts.map +1 -0
  83. package/dist/src/internal/builtin-plugins/solidity/exports.js +3 -0
  84. package/dist/src/internal/builtin-plugins/solidity/exports.js.map +1 -0
  85. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.d.ts.map +1 -1
  86. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.js +2 -1
  87. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.js.map +1 -1
  88. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/solidity.d.ts +4 -0
  89. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/solidity.d.ts.map +1 -0
  90. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/solidity.js +7 -0
  91. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/solidity.js.map +1 -0
  92. package/dist/src/internal/builtin-plugins/solidity/index.d.ts.map +1 -1
  93. package/dist/src/internal/builtin-plugins/solidity/index.js +1 -0
  94. package/dist/src/internal/builtin-plugins/solidity/index.js.map +1 -1
  95. package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.d.ts +18 -0
  96. package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.d.ts.map +1 -0
  97. package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.js +33 -0
  98. package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.js.map +1 -0
  99. package/dist/src/internal/builtin-plugins/solidity/type-extensions.d.ts +201 -28
  100. package/dist/src/internal/builtin-plugins/solidity/type-extensions.d.ts.map +1 -1
  101. package/dist/src/internal/builtin-plugins/solidity/type-extensions.js.map +1 -1
  102. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.d.ts +12 -6
  103. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.d.ts.map +1 -1
  104. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js +9 -7
  105. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js.map +1 -1
  106. package/dist/src/internal/builtin-plugins/solidity-test/formatters.d.ts +1 -12
  107. package/dist/src/internal/builtin-plugins/solidity-test/formatters.d.ts.map +1 -1
  108. package/dist/src/internal/builtin-plugins/solidity-test/formatters.js +0 -150
  109. package/dist/src/internal/builtin-plugins/solidity-test/formatters.js.map +1 -1
  110. package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts +4 -3
  111. package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts.map +1 -1
  112. package/dist/src/internal/builtin-plugins/solidity-test/helpers.js +5 -9
  113. package/dist/src/internal/builtin-plugins/solidity-test/helpers.js.map +1 -1
  114. package/dist/src/internal/builtin-plugins/solidity-test/index.d.ts.map +1 -1
  115. package/dist/src/internal/builtin-plugins/solidity-test/index.js +0 -7
  116. package/dist/src/internal/builtin-plugins/solidity-test/index.js.map +1 -1
  117. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.d.ts +7 -0
  118. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.d.ts.map +1 -0
  119. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.js +20 -0
  120. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.js.map +1 -0
  121. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.d.ts +24 -0
  122. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.d.ts.map +1 -0
  123. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.js +68 -0
  124. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.js.map +1 -0
  125. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.d.ts +13 -0
  126. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.d.ts.map +1 -0
  127. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.js +136 -0
  128. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.js.map +1 -0
  129. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.d.ts +19 -0
  130. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.d.ts.map +1 -0
  131. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.js +133 -0
  132. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.js.map +1 -0
  133. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.d.ts +10 -0
  134. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.d.ts.map +1 -0
  135. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.js +2 -0
  136. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.js.map +1 -0
  137. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.d.ts +12 -0
  138. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.d.ts.map +1 -0
  139. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.js +81 -0
  140. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.js.map +1 -0
  141. package/dist/src/internal/builtin-plugins/solidity-test/reporter.d.ts +1 -1
  142. package/dist/src/internal/builtin-plugins/solidity-test/reporter.d.ts.map +1 -1
  143. package/dist/src/internal/builtin-plugins/solidity-test/reporter.js +5 -2
  144. package/dist/src/internal/builtin-plugins/solidity-test/reporter.js.map +1 -1
  145. package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts +0 -1
  146. package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts.map +1 -1
  147. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +21 -14
  148. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
  149. package/dist/src/internal/builtin-plugins/test/index.d.ts.map +1 -1
  150. package/dist/src/internal/builtin-plugins/test/index.js +0 -7
  151. package/dist/src/internal/builtin-plugins/test/index.js.map +1 -1
  152. package/dist/src/internal/builtin-plugins/test/task-action.d.ts +0 -1
  153. package/dist/src/internal/builtin-plugins/test/task-action.d.ts.map +1 -1
  154. package/dist/src/internal/builtin-plugins/test/task-action.js +1 -4
  155. package/dist/src/internal/builtin-plugins/test/task-action.js.map +1 -1
  156. package/dist/src/internal/cli/help/get-help-string.d.ts.map +1 -1
  157. package/dist/src/internal/cli/help/get-help-string.js +1 -1
  158. package/dist/src/internal/cli/help/get-help-string.js.map +1 -1
  159. package/dist/src/internal/cli/init/init.d.ts.map +1 -1
  160. package/dist/src/internal/cli/init/init.js +1 -1
  161. package/dist/src/internal/cli/init/init.js.map +1 -1
  162. package/dist/src/internal/cli/init/prompt.d.ts.map +1 -1
  163. package/dist/src/internal/cli/init/prompt.js +1 -7
  164. package/dist/src/internal/cli/init/prompt.js.map +1 -1
  165. package/dist/src/internal/core/hre.d.ts +2 -1
  166. package/dist/src/internal/core/hre.d.ts.map +1 -1
  167. package/dist/src/internal/core/hre.js +18 -0
  168. package/dist/src/internal/core/hre.js.map +1 -1
  169. package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.d.ts.map +1 -1
  170. package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.js +6 -1
  171. package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.js.map +1 -1
  172. package/dist/src/internal/core/user-interruptions.d.ts.map +1 -1
  173. package/dist/src/internal/core/user-interruptions.js +2 -5
  174. package/dist/src/internal/core/user-interruptions.js.map +1 -1
  175. package/dist/src/internal/utils/colorizer.d.ts +10 -0
  176. package/dist/src/internal/utils/colorizer.d.ts.map +1 -0
  177. package/dist/src/internal/utils/colorizer.js +2 -0
  178. package/dist/src/internal/utils/colorizer.js.map +1 -0
  179. package/dist/src/internal/utils/package.d.ts.map +1 -1
  180. package/dist/src/internal/utils/package.js +1 -1
  181. package/dist/src/internal/utils/package.js.map +1 -1
  182. package/dist/src/types/global-options.d.ts +1 -0
  183. package/dist/src/types/global-options.d.ts.map +1 -1
  184. package/dist/src/types/hooks.d.ts +32 -0
  185. package/dist/src/types/hooks.d.ts.map +1 -1
  186. package/dist/src/types/solidity/compilation-job.d.ts +5 -5
  187. package/dist/src/types/solidity/compilation-job.d.ts.map +1 -1
  188. package/dist/src/types/solidity/solidity-artifacts.d.ts +15 -0
  189. package/dist/src/types/solidity/solidity-artifacts.d.ts.map +1 -1
  190. package/package.json +6 -5
  191. package/src/internal/builtin-global-options.ts +15 -1
  192. package/src/internal/builtin-plugins/gas-analytics/helpers.ts +13 -3
  193. package/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.ts +25 -3
  194. package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +107 -56
  195. package/src/internal/builtin-plugins/network-manager/edr/genesis-state.ts +179 -0
  196. package/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.ts +197 -0
  197. package/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.ts +137 -0
  198. package/src/internal/builtin-plugins/network-manager/hook-handlers/hre.ts +1 -0
  199. package/src/internal/builtin-plugins/network-manager/hook-handlers/network.ts +8 -11
  200. package/src/internal/builtin-plugins/network-manager/http-provider.ts +1 -0
  201. package/src/internal/builtin-plugins/network-manager/network-manager.ts +83 -10
  202. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.ts +98 -34
  203. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.ts +10 -30
  204. package/src/internal/builtin-plugins/node/artifacts/build-info-watcher.ts +1 -2
  205. package/src/internal/builtin-plugins/node/helpers.ts +9 -2
  206. package/src/internal/builtin-plugins/solidity/build-system/artifacts.ts +7 -2
  207. package/src/internal/builtin-plugins/solidity/build-system/build-system.ts +141 -65
  208. package/src/internal/builtin-plugins/solidity/build-system/cache.ts +1 -0
  209. package/src/internal/builtin-plugins/solidity/build-system/compilation-job.ts +34 -7
  210. package/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.ts +1 -1
  211. package/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.ts +1 -2
  212. package/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.ts +4 -2
  213. package/src/internal/builtin-plugins/solidity/config.ts +335 -110
  214. package/src/internal/builtin-plugins/solidity/exports.ts +2 -0
  215. package/src/internal/builtin-plugins/solidity/hook-handlers/config.ts +3 -0
  216. package/src/internal/builtin-plugins/solidity/hook-handlers/solidity.ts +9 -0
  217. package/src/internal/builtin-plugins/solidity/index.ts +1 -0
  218. package/src/internal/builtin-plugins/solidity/solidity-hooks.ts +53 -0
  219. package/src/internal/builtin-plugins/solidity/type-extensions.ts +258 -31
  220. package/src/internal/builtin-plugins/solidity-test/edr-artifacts.ts +22 -10
  221. package/src/internal/builtin-plugins/solidity-test/formatters.ts +1 -213
  222. package/src/internal/builtin-plugins/solidity-test/helpers.ts +8 -8
  223. package/src/internal/builtin-plugins/solidity-test/index.ts +0 -7
  224. package/src/internal/builtin-plugins/solidity-test/inline-config/constants.ts +21 -0
  225. package/src/internal/builtin-plugins/solidity-test/inline-config/helpers.ts +99 -0
  226. package/src/internal/builtin-plugins/solidity-test/inline-config/index.ts +272 -0
  227. package/src/internal/builtin-plugins/solidity-test/inline-config/parsing.ts +186 -0
  228. package/src/internal/builtin-plugins/solidity-test/inline-config/types.ts +9 -0
  229. package/src/internal/builtin-plugins/solidity-test/inline-config/validation.ts +122 -0
  230. package/src/internal/builtin-plugins/solidity-test/reporter.ts +6 -6
  231. package/src/internal/builtin-plugins/solidity-test/task-action.ts +42 -25
  232. package/src/internal/builtin-plugins/test/index.ts +0 -7
  233. package/src/internal/builtin-plugins/test/task-action.ts +1 -6
  234. package/src/internal/cli/help/get-help-string.ts +2 -2
  235. package/src/internal/cli/init/init.ts +1 -1
  236. package/src/internal/cli/init/prompt.ts +1 -14
  237. package/src/internal/core/hre.ts +33 -0
  238. package/src/internal/core/plugins/detect-plugin-npm-dependency-problems.ts +8 -1
  239. package/src/internal/core/user-interruptions.ts +3 -5
  240. package/src/internal/utils/colorizer.ts +9 -0
  241. package/src/internal/utils/package.ts +1 -2
  242. package/src/types/global-options.ts +1 -0
  243. package/src/types/hooks.ts +37 -0
  244. package/src/types/solidity/compilation-job.ts +5 -5
  245. package/src/types/solidity/solidity-artifacts.ts +16 -0
  246. package/templates/hardhat-3/01-node-test-runner-viem/package.json +5 -5
  247. package/templates/hardhat-3/02-mocha-ethers/package.json +11 -11
  248. package/templates/hardhat-3/03-minimal/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/config.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,6BAA6B,CAAC;AAErC,MAAM,eAAe,GAAG,oBAAoB,CAC1C;IACE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;CAChE,EACD,0CAA0C,CAC3C,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,qBAAqB,CAAC,2CAA2C,CAAC;IAC7E,SAAS,EAAE,qBAAqB,CAAC,2CAA2C,CAAC;IAC7E,QAAQ,EAAE,qBAAqB,CAAC,2CAA2C,CAAC;CAC7E,CAAC,CAAC;AAEH,wEAAwE;AACxE,MAAM,+BAA+B,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAChE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,8BAA8B,GAAG,wBAAwB,CAAC,MAAM,CAAC;IACrE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IAC9D,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,qBAAqB,CAAC,6CAA6C,CAAC;IAC7E,QAAQ,EAAE,qBAAqB,CAC7B,6CAA6C,CAC9C;CACF,CAAC,CAAC;AAEH,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC;AAEH,MAAM,mCAAmC,GAAG,+BAA+B;KACxE,KAAK,CAAC,4BAA4B,CAAC;KACnC,MAAM,CAAC;IACN,SAAS,EAAE,qBAAqB,CAC9B,2CAA2C,CAC5C;IACD,SAAS,EAAE,qBAAqB,CAC9B,2CAA2C,CAC5C;IACD,QAAQ,EAAE,qBAAqB,CAC7B,2CAA2C,CAC5C;CACF,CAAC,CAAC;AAEL,MAAM,kCAAkC,GAAG,8BAA8B;KACtE,KAAK,CAAC,4BAA4B,CAAC;KACnC,MAAM,CAAC;IACN,OAAO,EAAE,qBAAqB,CAC5B,6CAA6C,CAC9C;IACD,QAAQ,EAAE,qBAAqB,CAC7B,6CAA6C,CAC9C;CACF,CAAC,CAAC;AAEL,MAAM,mCAAmC,GAAG,4BAA4B,CAAC,MAAM,CAC7E;IACE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAChB,CAAC,CAAC,MAAM,EAAE,EACV,oBAAoB,CAClB;QACE;YACE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,IAAI,IAAI;YAC7C,+BAA+B;SAChC;QACD;YACE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,WAAW,IAAI,IAAI;YAC/C,8BAA8B;SAC/B;KACF,EACD,iEAAiE,CAClE,CACF;IACD,OAAO,EAAE,qBAAqB,CAC5B,4CAA4C,CAC7C;IACD,SAAS,EAAE,qBAAqB,CAC9B,4CAA4C,CAC7C;IACD,SAAS,EAAE,qBAAqB,CAC9B,4CAA4C,CAC7C;CACF,CACF,CAAC;AAEF,MAAM,sBAAsB,GAAG,oBAAoB,CACjD;IACE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/D;QACE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,SAAS,IAAI,IAAI;QAC7C,mCAAmC;KACpC;IACD;QACE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,WAAW,IAAI,IAAI;QAC/C,kCAAkC;KACnC;IACD;QACE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,IAAI,IAAI;QAC9C,mCAAmC;KACpC;CACF,EACD,8IAA8I,CAC/I,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,OAAO,EAAE,oBAAoB,CAC3B;YACE,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC9D;gBACE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACzD,eAAe;aAChB;SACF,EACD,2FAA2F,CAC5F,CAAC,QAAQ,EAAE;KACb,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,MAAM,UAAU,0BAA0B,CACxC,UAAmB;IAEnB,MAAM,MAAM,GAAG,yBAAyB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAErE,IACE,QAAQ,CAAC,UAAU,CAAC;QACpB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC7B,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtC,CAAC,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC5C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EACL,sEAAsE;YACxE,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,UAA6B,EAC7B,cAA6B;IAE7B,IAAI,YAAY,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC;IAE7C,4DAA4D;IAC5D,YAAY;QACV,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;YAC9D,CAAC,CAAC,YAAY,CAAC,QAAQ;YACvB,CAAC,CAAC,YAAY,CAAC;IAEnB,YAAY,KAAK,WAAW,CAAC;IAE7B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAE3E,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAC9C,CAAC;IAEF,OAAO;QACL,GAAG,cAAc;QACjB,KAAK,EAAE;YACL,GAAG,cAAc,CAAC,KAAK;YACvB,OAAO,EAAE;gBACP,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO;gBAC/B,QAAQ,EAAE,aAAa;aACxB;SACF;QACD,QAAQ,EAAE,qBAAqB,CAAC,UAAU,CAAC,QAAQ,IAAI,OAAO,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,cAAkC;IAElC,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,cAAc,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAED,yDAAyD;IACzD,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,MAAM,qBAAqB,GAAG;YAC5B,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;SAC1D,CAAC;QACF,OAAO;YACL,QAAQ,EAAE;gBACR,OAAO,EAAE,yBAAyB,CAAC,qBAAqB,CAAC;gBACzD,UAAU,EAAE,yBAAyB,CACnC,eAAe,CAAC,qBAAqB,CAAC,EACtC,IAAI,CACL;aACF;YACD,eAAe,EAAE,EAAE;SACpB,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,IAAI,SAAS,IAAI,cAAc,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;QACjE,OAAO;YACL,QAAQ,EAAE;gBACR,OAAO,EAAE,yBAAyB,CAAC,cAAc,CAAC;gBAClD,UAAU,EAAE,yBAAyB,CACnC,eAAe,CAAC,cAAc,CAAC,EAC/B,IAAI,CACL;aACF;YACD,eAAe,EAAE,cAAc,CAAC,eAAe,IAAI,EAAE;SACtD,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,MAAM,QAAQ,GAA+C,EAAE,CAAC;IAEhE,KAAK,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CACjD,cAAc,CAAC,QAAQ,CACxB,EAAE,CAAC;QACF,QAAQ,CAAC,WAAW,CAAC,GAAG,yBAAyB,CAC/C,OAAO,EACP,WAAW,KAAK,YAAY,CAC7B,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,+EAA+E;IAC/E,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE,CAAC;QAC7C,IAAI,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,OAAO,CAAC,GAAG,yBAAyB,CAC3C,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAChD,OAAO,KAAK,YAAY,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,eAAe,EAAE,cAAc,CAAC,eAAe,IAAI,EAAE;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,cAEkC,EAClC,aAAsB,KAAK;IAE3B,IAAI,SAAS,IAAI,cAAc,EAAE,CAAC;QAChC,OAAO;YACL,SAAS,EAAE,CAAC,iBAAiB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YAC1D,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,UAAU;YAC/C,UAAU,EAAE,cAAc,CAAC,UAAU,IAAI,KAAK;SAC/C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACnD,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CACxC;QACD,SAAS,EAAE,MAAM,CAAC,WAAW,CAC3B,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAChD,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;YAC9B,cAAc;YACd,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC;SACxC,CACF,CACF;QACD,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,UAAU;QAC/C,UAAU,EAAE,cAAc,CAAC,UAAU,IAAI,KAAK;KAC/C,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,UAA0B,EAC1B,aAAsB,KAAK;IAE3B,MAAM,yBAAyB,GAA2B;QACxD,eAAe,EAAE;YACf,GAAG,EAAE;gBACH,EAAE,EAAE,CAAC,KAAK,CAAC;gBACX,GAAG,EAAE;oBACH,KAAK;oBACL,cAAc;oBACd,sBAAsB;oBACtB,uBAAuB;oBACvB,UAAU;iBACX;aACF;SACF;KACF,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QACf,yBAAyB,CAAC,SAAS,GAAG;YACpC,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,GAAG;SACV,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,qCAAqC;IACrC,8BAA8B;IAC9B,qEAAqE;IACrE,mDAAmD;IACnD,4DAA4D;IAC5D,4BAA4B;IAC5B,IAAI,kBAAkB,GAAwB,UAAU,CAAC,UAAU,CAAC;IACpE,IAAI,kBAAkB,KAAK,SAAS,IAAI,8BAA8B,EAAE,EAAE,CAAC;QACzE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAEnC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YACrE,kBAAkB,GAAG,IAAI,CAAC;QAC5B,CAAC;aAAM,IAAI,UAAU,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,kBAAkB,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,QAAQ,EAAE,SAAS,CAAC,yBAAyB,EAAE,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;QACzE,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,UAAU,EAAE,kBAAkB;KAC/B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,qBAEkC;IAElC,IAAI,SAAS,IAAI,qBAAqB,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,qBAAqB,CAAC,OAAO;SACvC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrD,OAAO,EAAE,CAAC,CAAC,OAAO;SACnB,CAAC,CAAC;QACH,SAAS,EAAE,MAAM,CAAC,WAAW,CAC3B,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CACvD,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;YAC9B,cAAc;YACd,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE;SAC9B,CACF,CACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { isSolcSolidityCompilerConfig } from "./build-system/build-system.js";
2
+ export { spawnCompile } from "./build-system/compiler/compiler.js";
3
+ //# sourceMappingURL=exports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { isSolcSolidityCompilerConfig } from "./build-system/build-system.js";
2
+ export { spawnCompile } from "./build-system/compiler/compiler.js";
3
+ //# sourceMappingURL=exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/hook-handlers/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;8BAOrC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAAtD,wBAmBE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/hook-handlers/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;8BAQrC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAAtD,wBAqBE"}
@@ -1,4 +1,4 @@
1
- import { resolveSolidityUserConfig, validateSolidityUserConfig, } from "../config.js";
1
+ import { resolveSolidityUserConfig, validateSolidityConfig, validateSolidityUserConfig, } from "../config.js";
2
2
  export default async () => {
3
3
  const handlers = {
4
4
  validateUserConfig: async (userConfig) => validateSolidityUserConfig(userConfig),
@@ -6,6 +6,7 @@ export default async () => {
6
6
  const resolvedConfig = await next(userConfig, resolveConfigurationVariable);
7
7
  return resolveSolidityUserConfig(userConfig, resolvedConfig);
8
8
  },
9
+ validateResolvedConfig: async (resolvedConfig) => validateSolidityConfig(resolvedConfig),
9
10
  };
10
11
  return handlers;
11
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/hook-handlers/config.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AAEtB,eAAe,KAAK,IAAmC,EAAE;IACvD,MAAM,QAAQ,GAAyB;QACrC,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CACvC,0BAA0B,CAAC,UAAU,CAAC;QACxC,iBAAiB,EAAE,KAAK,EACtB,UAAU,EACV,4BAA4B,EAC5B,IAAI,EACJ,EAAE;YACF,MAAM,cAAc,GAAG,MAAM,IAAI,CAC/B,UAAU,EACV,4BAA4B,CAC7B,CAAC;YAEF,OAAO,yBAAyB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC/D,CAAC;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/hook-handlers/config.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AAEtB,eAAe,KAAK,IAAmC,EAAE;IACvD,MAAM,QAAQ,GAAyB;QACrC,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CACvC,0BAA0B,CAAC,UAAU,CAAC;QACxC,iBAAiB,EAAE,KAAK,EACtB,UAAU,EACV,4BAA4B,EAC5B,IAAI,EACJ,EAAE;YACF,MAAM,cAAc,GAAG,MAAM,IAAI,CAC/B,UAAU,EACV,4BAA4B,CAC7B,CAAC;YAEF,OAAO,yBAAyB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC/D,CAAC;QACD,sBAAsB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAC/C,sBAAsB,CAAC,cAAc,CAAC;KACzC,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SolidityHooks } from "../../../../types/hooks.js";
2
+ declare const _default: () => Promise<Partial<SolidityHooks>>;
3
+ export default _default;
4
+ //# sourceMappingURL=solidity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solidity.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/hook-handlers/solidity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;8BAIvC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAAxD,wBAIG"}
@@ -0,0 +1,7 @@
1
+ import { downloadSolcCompilersHandler } from "../solidity-hooks.js";
2
+ export default async () => ({
3
+ downloadCompilers: async (_context, compilerConfigs, quiet) => {
4
+ await downloadSolcCompilersHandler(compilerConfigs, quiet);
5
+ },
6
+ });
7
+ //# sourceMappingURL=solidity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solidity.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/hook-handlers/solidity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEpE,eAAe,KAAK,IAAqC,EAAE,CAAC,CAAC;IAC3D,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE;QAC5D,MAAM,4BAA4B,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAK/D,OAAO,sBAAsB,CAAC;AAgC9B,QAAA,MAAM,aAAa,EAAE,aA4BpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAK/D,OAAO,sBAAsB,CAAC;AAgC9B,QAAA,MAAM,aAAa,EAAE,aA6BpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -36,6 +36,7 @@ const hardhatPlugin = {
36
36
  hookHandlers: {
37
37
  config: () => import("./hook-handlers/config.js"),
38
38
  hre: () => import("./hook-handlers/hre.js"),
39
+ solidity: () => import("./hook-handlers/solidity.js"),
39
40
  },
40
41
  tasks: [
41
42
  {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,sBAAsB,CAAC;AAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;KAC7C,OAAO,CAAC;IACP,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,iDAAiD;CAC/D,CAAC;KACD,OAAO,CAAC;IACP,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,2CAA2C;CACzD,CAAC;KACD,SAAS,CAAC;IACT,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,kCAAkC;IAC/C,YAAY,EAAE,SAAS;CACxB,CAAC;KACD,mBAAmB,CAAC;IACnB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,sCAAsC;IACnD,YAAY,EAAE,EAAE;CACjB,CAAC;KACD,OAAO,CAAC;IACP,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,iCAAiC;CAC/C,CAAC;KACD,OAAO,CAAC;IACP,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,qCAAqC;CACnD,CAAC;KACD,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;KACjD,KAAK,EAAE,CAAC;AAEX,MAAM,aAAa,GAAkB;IACnC,EAAE,EAAE,kBAAkB;IACtB,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACrD,YAAY,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC;QACjD,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC;KAC5C;IACD,KAAK,EAAE;QACL;YACE,GAAG,SAAS;YACZ,EAAE,EAAE,CAAC,OAAO,CAAC;YACb,WAAW,EAAE,eAAe;SAC7B;QACD;YACE,GAAG,SAAS;YACZ,EAAE,EAAE,CAAC,SAAS,CAAC;YACf,WAAW,EAAE,iCAAiC;SAC/C;KACF;IACD,aAAa,EAAE;QACb,YAAY,CAAC;YACX,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,YAAY,CAAC,sBAAsB;YACzC,YAAY,EAAE,SAAS;SACxB,CAAC;KACH;IACD,UAAU,EAAE,SAAS;CACtB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,sBAAsB,CAAC;AAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;KAC7C,OAAO,CAAC;IACP,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,iDAAiD;CAC/D,CAAC;KACD,OAAO,CAAC;IACP,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,2CAA2C;CACzD,CAAC;KACD,SAAS,CAAC;IACT,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,kCAAkC;IAC/C,YAAY,EAAE,SAAS;CACxB,CAAC;KACD,mBAAmB,CAAC;IACnB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,sCAAsC;IACnD,YAAY,EAAE,EAAE;CACjB,CAAC;KACD,OAAO,CAAC;IACP,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,iCAAiC;CAC/C,CAAC;KACD,OAAO,CAAC;IACP,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,qCAAqC;CACnD,CAAC;KACD,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;KACjD,KAAK,EAAE,CAAC;AAEX,MAAM,aAAa,GAAkB;IACnC,EAAE,EAAE,kBAAkB;IACtB,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACrD,YAAY,EAAE;QACZ,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC;QACjD,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC;QAC3C,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC;KACtD;IACD,KAAK,EAAE;QACL;YACE,GAAG,SAAS;YACZ,EAAE,EAAE,CAAC,OAAO,CAAC;YACb,WAAW,EAAE,eAAe;SAC7B;QACD;YACE,GAAG,SAAS;YACZ,EAAE,EAAE,CAAC,SAAS,CAAC;YACf,WAAW,EAAE,iCAAiC;SAC/C;KACF;IACD,aAAa,EAAE;QACb,YAAY,CAAC;YACX,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,YAAY,CAAC,sBAAsB;YACzC,YAAY,EAAE,SAAS;SACxB,CAAC;KACH;IACD,UAAU,EAAE,SAAS;CACtB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { SolidityCompilerConfig } from "../../../types/config.js";
2
+ import type { Compiler } from "../../../types/solidity.js";
3
+ /**
4
+ * Downloads solc compilers for the given configs, filtering out non-solc types.
5
+ * This is the default implementation of the `downloadCompilers` hook handler.
6
+ */
7
+ export declare function downloadSolcCompilersHandler(compilerConfigs: SolidityCompilerConfig[], quiet: boolean): Promise<void>;
8
+ /**
9
+ * Resolves the preferWasm setting for a given compiler config, falling back
10
+ * to the build profile's preferWasm if not set on the compiler.
11
+ */
12
+ export declare function resolvePreferWasm(compilerConfig: SolidityCompilerConfig, buildProfilePreferWasm: boolean): boolean;
13
+ /**
14
+ * Creates a solc Compiler for the given config. This is the default
15
+ * implementation used as the fallback in the `getCompiler` hook chain.
16
+ */
17
+ export declare function getSolcCompilerForConfig(compilerConfig: SolidityCompilerConfig, buildProfilePreferWasm: boolean): Promise<Compiler>;
18
+ //# sourceMappingURL=solidity-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solidity-hooks.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/solidity-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAQ3D;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,eAAe,EAAE,sBAAsB,EAAE,EACzC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,sBAAsB,EACtC,sBAAsB,EAAE,OAAO,GAC9B,OAAO,CAKT;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,cAAc,EAAE,sBAAsB,EACtC,sBAAsB,EAAE,OAAO,GAC9B,OAAO,CAAC,QAAQ,CAAC,CAKnB"}
@@ -0,0 +1,33 @@
1
+ import { isSolcSolidityCompilerConfig } from "./build-system/build-system.js";
2
+ import { downloadSolcCompilers, getCompiler, } from "./build-system/compiler/index.js";
3
+ /**
4
+ * Downloads solc compilers for the given configs, filtering out non-solc types.
5
+ * This is the default implementation of the `downloadCompilers` hook handler.
6
+ */
7
+ export async function downloadSolcCompilersHandler(compilerConfigs, quiet) {
8
+ const solcVersions = new Set(compilerConfigs.filter(isSolcSolidityCompilerConfig).map((c) => c.version));
9
+ if (solcVersions.size > 0) {
10
+ await downloadSolcCompilers(solcVersions, quiet);
11
+ }
12
+ }
13
+ /**
14
+ * Resolves the preferWasm setting for a given compiler config, falling back
15
+ * to the build profile's preferWasm if not set on the compiler.
16
+ */
17
+ export function resolvePreferWasm(compilerConfig, buildProfilePreferWasm) {
18
+ if (isSolcSolidityCompilerConfig(compilerConfig)) {
19
+ return compilerConfig.preferWasm ?? buildProfilePreferWasm;
20
+ }
21
+ return false;
22
+ }
23
+ /**
24
+ * Creates a solc Compiler for the given config. This is the default
25
+ * implementation used as the fallback in the `getCompiler` hook chain.
26
+ */
27
+ export async function getSolcCompilerForConfig(compilerConfig, buildProfilePreferWasm) {
28
+ return getCompiler(compilerConfig.version, {
29
+ preferWasm: resolvePreferWasm(compilerConfig, buildProfilePreferWasm),
30
+ compilerPath: compilerConfig.path,
31
+ });
32
+ }
33
+ //# sourceMappingURL=solidity-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solidity-hooks.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/solidity-hooks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EACL,qBAAqB,EACrB,WAAW,GACZ,MAAM,kCAAkC,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,eAAyC,EACzC,KAAc;IAEd,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,eAAe,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAC3E,CAAC;IAEF,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,cAAsC,EACtC,sBAA+B;IAE/B,IAAI,4BAA4B,CAAC,cAAc,CAAC,EAAE,CAAC;QACjD,OAAO,cAAc,CAAC,UAAU,IAAI,sBAAsB,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,cAAsC,EACtC,sBAA+B;IAE/B,OAAO,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE;QACzC,UAAU,EAAE,iBAAiB,CAAC,cAAc,EAAE,sBAAsB,CAAC;QACrE,YAAY,EAAE,cAAc,CAAC,IAAI;KAClC,CAAC,CAAC;AACL,CAAC"}
@@ -1,54 +1,206 @@
1
- import type { SolcConfig } from "../../../types/config.js";
1
+ import type { SolidityCompilerConfig } from "../../../types/config.js";
2
2
  import type { BuildOptions, CompilationJobCreationError, FileBuildResult, SolidityBuildSystem } from "../../../types/solidity/build-system.js";
3
3
  import type { Compiler, CompilerInput, CompilerOutput } from "../../../types/solidity.js";
4
4
  import "../../../types/config.js";
5
5
  declare module "../../../types/config.js" {
6
+ /**
7
+ * An interface with a key per compiler type.
8
+ * The types of the values don't matter; we use `true` as a convention.
9
+ *
10
+ * By default, only "solc" is provided. Plugins can extend this via
11
+ * declaration merging to add new compiler types (e.g. "solx").
12
+ */
13
+ interface SolidityCompilerTypeDefinitions {
14
+ solc: true;
15
+ }
16
+ /**
17
+ * The different Solidity compiler types, derived from
18
+ * SolidityCompilerTypeDefinitions. Extensible via declaration merging.
19
+ */
20
+ type SolidityCompilerType = keyof SolidityCompilerTypeDefinitions;
21
+ /**
22
+ * The type of `userConfig.solidity`.
23
+ */
6
24
  type SolidityUserConfig = string | string[] | SingleVersionSolidityUserConfig | MultiVersionSolidityUserConfig | BuildProfilesSolidityUserConfig;
7
- interface SolcUserConfig {
25
+ /**
26
+ * Fields that all the object-typed variants of SolidityUserConfig share.
27
+ *
28
+ * Note: All the variants of SolidityUserConfig except for the string and
29
+ * array of strings MUST extend this interface. This is especially relevant
30
+ * for plugins creating their own `SingleVersionSolidityUserConfig` variant.
31
+ */
32
+ interface CommonSolidityUserConfig {
33
+ isolated?: boolean;
34
+ npmFilesToBuild?: string[];
35
+ }
36
+ /**
37
+ * Fields that all the SolidityCompilerUserConfig variants share.
38
+ *
39
+ * Note: All the types of SolidityCompilerUserConfig MUST extend this
40
+ * interface. This is especially relevant for plugins creating their own
41
+ * `SolidityCompilerUserConfig` variant.
42
+ */
43
+ interface CommonSolidityCompilerUserConfig {
44
+ type?: SolidityCompilerType;
8
45
  version: string;
9
46
  settings?: any;
10
47
  path?: string;
11
- preferWasm?: boolean;
12
48
  }
13
- interface SingleVersionSolcUserConfig extends SolcUserConfig {
14
- isolated?: boolean;
49
+ /**
50
+ * Deprecated: Use `SolcSolidityCompilerUserConfig` instead.
51
+ * @deprecated
52
+ */
53
+ interface SolcUserConfig extends CommonSolidityCompilerUserConfig {
54
+ type?: "solc";
15
55
  preferWasm?: boolean;
16
56
  }
17
- interface MultiVersionSolcUserConfig {
18
- isolated?: boolean;
19
- preferWasm?: boolean;
20
- compilers: SolcUserConfig[];
21
- overrides?: Record<string, SolcUserConfig>;
57
+ /**
58
+ * Solc-specific SolidityCompilerUserConfig.
59
+ */
60
+ interface SolcSolidityCompilerUserConfig extends SolcUserConfig {
22
61
  }
23
- interface CommonSolidityUserConfig {
24
- npmFilesToBuild?: string[];
62
+ /**
63
+ * A map from compiler type to its SolidityCompilerUserConfig type.
64
+ *
65
+ * Note: The types MUST extend `CommonSolidityCompilerUserConfig`.
66
+ */
67
+ interface SolidityCompilerUserConfigPerType {
68
+ solc: SolcSolidityCompilerUserConfig;
69
+ }
70
+ /**
71
+ * The type of all the compiler user configs.
72
+ */
73
+ type SolidityCompilerUserConfig = {
74
+ [type in keyof SolidityCompilerUserConfigPerType]: SolidityCompilerUserConfigPerType[type];
75
+ }[keyof SolidityCompilerUserConfigPerType] | (Omit<SolcSolidityCompilerUserConfig, "type"> & Partial<Pick<SolcSolidityCompilerUserConfig, "type">>);
76
+ /**
77
+ * Deprecated: Use `SolcSingleVersionSolidityUserConfig` instead.
78
+ * @deprecated
79
+ */
80
+ interface SingleVersionSolcUserConfig extends SolcSolidityCompilerUserConfig, CommonSolidityUserConfig {
25
81
  }
26
- interface SingleVersionSolidityUserConfig extends SingleVersionSolcUserConfig, CommonSolidityUserConfig {
82
+ /**
83
+ * Solc-specific SingleVersionSolidityUserConfig.
84
+ */
85
+ interface SolcSingleVersionSolidityUserConfig extends SingleVersionSolcUserConfig {
27
86
  }
87
+ /**
88
+ * A map from compiler type to its SingleVersionSolidityUserConfig type.
89
+ *
90
+ * Note: The types MUST extend `CommonSolidityUserConfig`.
91
+ */
92
+ interface SingleVersionSolidityUserConfigPerType {
93
+ solc: SolcSingleVersionSolidityUserConfig;
94
+ }
95
+ /**
96
+ * The type of all the single version user configs.
97
+ */
98
+ type SingleVersionSolidityUserConfig = {
99
+ [type in keyof SingleVersionSolidityUserConfigPerType]: SingleVersionSolidityUserConfigPerType[type];
100
+ }[keyof SingleVersionSolidityUserConfigPerType] | (Omit<SolcSingleVersionSolidityUserConfig, "type"> & Partial<Pick<SolcSingleVersionSolidityUserConfig, "type">>);
101
+ /**
102
+ * Deprecated: Use `MultiVersionSolidityUserConfig` or
103
+ * `MultiVersionBuildProfileUserConfig` instead.
104
+ * @deprecated
105
+ */
106
+ interface MultiVersionSolcUserConfig {
107
+ preferWasm?: boolean;
108
+ isolated?: boolean;
109
+ compilers: SolidityCompilerUserConfig[];
110
+ overrides?: Record<string, SolidityCompilerUserConfig>;
111
+ }
112
+ /**
113
+ * The type of a multi-version SolidityUserConfig.
114
+ *
115
+ * Partially defined in `MultiVersionSolcUserConfig` for backwards
116
+ * compatibility.
117
+ */
28
118
  interface MultiVersionSolidityUserConfig extends MultiVersionSolcUserConfig, CommonSolidityUserConfig {
29
119
  }
120
+ /**
121
+ * The type of a single-version build profile user config.
122
+ */
123
+ type SingleVersionBuildProfileUserConfig = SolidityCompilerUserConfig & {
124
+ isolated?: boolean;
125
+ };
126
+ /**
127
+ * The type of a multi-version build profile user config.
128
+ */
129
+ interface MultiVersionBuildProfileUserConfig extends MultiVersionSolcUserConfig {
130
+ }
131
+ /**
132
+ * The type of the build profile version of the SolidityUserConfig.
133
+ */
30
134
  interface BuildProfilesSolidityUserConfig extends CommonSolidityUserConfig {
31
- profiles: Record<string, SingleVersionSolcUserConfig | MultiVersionSolcUserConfig>;
135
+ profiles: Record<string, SingleVersionBuildProfileUserConfig | MultiVersionBuildProfileUserConfig>;
32
136
  }
137
+ /**
138
+ * Extension of HardhatUserConfig with the `solidity` property.
139
+ */
33
140
  interface HardhatUserConfig {
34
141
  solidity?: SolidityUserConfig;
35
142
  }
36
- interface SolcConfig {
143
+ /**
144
+ * Common fields of a SolidityCompilerConfig.
145
+ *
146
+ * Note: All the types of SolidityCompiler config MUST extend this interface.
147
+ * This is especially relevant for plugins creating their own
148
+ * `SolidityCompilerConfig` variant.
149
+ */
150
+ interface CommonSolidityCompilerConfig {
151
+ type?: SolidityCompilerType;
37
152
  version: string;
38
153
  settings: any;
39
154
  path?: string;
155
+ }
156
+ /**
157
+ * Deprecated: Use `SolcSolidityCompilerConfig` instead.
158
+ * @deprecated
159
+ */
160
+ interface SolcConfig extends CommonSolidityCompilerConfig {
161
+ type?: "solc";
40
162
  preferWasm?: boolean;
41
163
  }
164
+ /**
165
+ * The type of a solc-specific SolidityCompilerConfig.
166
+ */
167
+ interface SolcSolidityCompilerConfig extends SolcConfig {
168
+ }
169
+ /**
170
+ * A map from compiler type to its `SolidityCompilerConfig` type. Note that
171
+ * the types MUST extend `CommonSolidityCompilerConfig`.
172
+ */
173
+ interface SolidityCompilerConfigPerType {
174
+ solc: SolcSolidityCompilerConfig;
175
+ }
176
+ /**
177
+ * The type of all the compiler configs.
178
+ */
179
+ type SolidityCompilerConfig = {
180
+ [type in keyof SolidityCompilerConfigPerType]: SolidityCompilerConfigPerType[type] & {
181
+ type: type;
182
+ };
183
+ }[keyof SolidityCompilerConfigPerType] | (Omit<SolcSolidityCompilerConfig, "type"> & Partial<Pick<SolcSolidityCompilerConfig, "type">>);
184
+ /**
185
+ * The type of a resolved build profile config.
186
+ */
42
187
  interface SolidityBuildProfileConfig {
43
188
  isolated: boolean;
44
189
  preferWasm: boolean;
45
- compilers: SolcConfig[];
46
- overrides: Record<string, SolcConfig>;
190
+ compilers: SolidityCompilerConfig[];
191
+ overrides: Record<string, SolidityCompilerConfig>;
47
192
  }
193
+ /**
194
+ * Resolved Solidity config.
195
+ */
48
196
  interface SolidityConfig {
49
197
  profiles: Record<string, SolidityBuildProfileConfig>;
50
198
  npmFilesToBuild: string[];
199
+ registeredCompilerTypes: SolidityCompilerType[];
51
200
  }
201
+ /**
202
+ * An extension of HardhatConfig with the `solidity` property.
203
+ */
52
204
  interface HardhatConfig {
53
205
  solidity: SolidityConfig;
54
206
  }
@@ -77,6 +229,27 @@ declare module "../../../types/hooks.js" {
77
229
  solidity: SolidityHooks;
78
230
  }
79
231
  interface SolidityHooks {
232
+ /**
233
+ * Hook triggered to download compilers needed for compilation.
234
+ * Each handler should download compilers it is responsible for.
235
+ * Runs in parallel — all registered handlers execute concurrently.
236
+ *
237
+ * @param context The hook context.
238
+ * @param compilerConfigs All compiler configurations from all build profiles.
239
+ * @param quiet Whether to suppress download progress output.
240
+ */
241
+ downloadCompilers: (context: HookContext, compilerConfigs: SolidityCompilerConfig[], quiet: boolean) => Promise<void>;
242
+ /**
243
+ * Hook to obtain a Compiler instance for a given compiler configuration.
244
+ * The default handler returns a solc compiler. Plugins can intercept to
245
+ * return their own compiler (e.g. SolxCompiler for type: "solx").
246
+ *
247
+ * @param context The hook context.
248
+ * @param compilerConfig The compiler configuration to get a compiler for.
249
+ * @param next A function to call the next handler for this hook.
250
+ * @returns A Compiler instance.
251
+ */
252
+ getCompiler: (context: HookContext, compilerConfig: SolidityCompilerConfig, next: (nextContext: HookContext, nextCompilerConfig: SolidityCompilerConfig) => Promise<Compiler>) => Promise<Compiler>;
80
253
  /**
81
254
  * Hook triggered during the cleanup process of Solidity compilation artifacts.
82
255
  * This hook runs after unused artifacts and build-info files have been removed.
@@ -105,7 +278,7 @@ declare module "../../../types/hooks.js" {
105
278
  */
106
279
  preprocessProjectFileBeforeBuilding(context: HookContext, inputSourceName: string, fsPath: string, fileContent: string, solcVersion: string, next: (nextContext: HookContext, nextInputSourceName: string, nextFsPath: string, nextFileContent: string, nextSolcVersion: string) => Promise<string>): Promise<string>;
107
280
  /**
108
- * Hook triggered within the compilation job when its' solc input is first constructed.
281
+ * Hook triggered within the compilation job when its solc input is first constructed.
109
282
  *
110
283
  * @param context The hook context.
111
284
  * @param solcInput The solc input that will be passed to solc.
@@ -128,22 +301,22 @@ declare module "../../../types/hooks.js" {
128
301
  */
129
302
  build: (context: HookContext, rootFilePaths: string[], options: BuildOptions | undefined, next: (nextContext: HookContext, nextRootFilePaths: string[], nextOptions: BuildOptions | undefined) => Promise<CompilationJobCreationError | Map<string, FileBuildResult>>) => Promise<CompilationJobCreationError | Map<string, FileBuildResult>>;
130
303
  /**
131
- * Hook triggered to invoke a passed in Solc compiler on the
132
- * Solc input generated for a given compilation job.
133
- * This hook allows for manipulating the Solc input passed into the Solc
134
- * compiler Hardhat has selected for the compilation job, and similarly to
135
- * manipulate the Solc output.
304
+ * Hook triggered to invoke a compiler on the standard-json input
305
+ * generated for a given compilation job.
306
+ * This hook allows for manipulating the input passed into the compiler
307
+ * Hardhat has selected for the compilation job, and similarly to
308
+ * manipulate the output.
136
309
  *
137
310
  * @param context The hook context.
138
- * @param compile The Solc compiler selected by Hardhat for this compilation
139
- * job.
140
- * @param solcInput The solc input json constructed from the compilation
311
+ * @param compiler The compiler selected by Hardhat for this compilation
141
312
  * job.
142
- * @param solcConfig The configuration used to setup solc e.g. version.
313
+ * @param solcInput The standard-json input constructed from the
314
+ * compilation job.
315
+ * @param solcConfig The compiler configuration (version, type, etc.).
143
316
  * @param next A function to call the next handler for this hook, or the
144
317
  * default implementation if no more handlers exist.
145
318
  */
146
- invokeSolc(context: HookContext, compiler: Compiler, solcInput: CompilerInput, solcConfig: SolcConfig, next: (nextContext: HookContext, nextCompiler: Compiler, nextSolcInput: CompilerInput, nextSolcConfig: SolcConfig) => Promise<CompilerOutput>): Promise<CompilerOutput>;
319
+ invokeSolc(context: HookContext, compiler: Compiler, solcInput: CompilerInput, solcConfig: SolidityCompilerConfig, next: (nextContext: HookContext, nextCompiler: Compiler, nextSolcInput: CompilerInput, nextSolcConfig: SolidityCompilerConfig) => Promise<CompilerOutput>): Promise<CompilerOutput>;
147
320
  /**
148
321
  * Provide a handler for this hook to supply remappings for npm packages.
149
322
  *
@@ -1 +1 @@
1
- {"version":3,"file":"type-extensions.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/type-extensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-extensions.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/type-extensions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-extensions.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/type-extensions.ts"],"names":[],"mappings":"AAaA,OAAO,0BAA0B,CAAC;AAoFlC,OAAO,uBAAuB,CAAC;AAO/B,OAAO,kCAAkC,CAAC;AAO1C,OAAO,yBAAyB,CAAC"}
1
+ {"version":3,"file":"type-extensions.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/type-extensions.ts"],"names":[],"mappings":"AAaA,OAAO,0BAA0B,CAAC;AAqRlC,OAAO,uBAAuB,CAAC;AAO/B,OAAO,kCAAkC,CAAC;AAO1C,OAAO,yBAAyB,CAAC"}
@@ -1,20 +1,26 @@
1
1
  import type { ArtifactManager } from "../../../types/artifacts.js";
2
- import type { BuildInfoAndOutput, Artifact as EdrArtifact } from "@nomicfoundation/edr";
2
+ import type { BuildInfoAndOutput as EdrBuildInfoAndOutput, Artifact as EdrArtifact } from "@nomicfoundation/edr";
3
+ export interface BuildInfoAndOutput extends EdrBuildInfoAndOutput {
4
+ buildInfoId: string;
5
+ }
6
+ export interface EdrArtifactWithMetadata {
7
+ edrArtifact: EdrArtifact;
8
+ userSourceName: string;
9
+ buildInfoId: string;
10
+ }
11
+ export declare const BUILD_INFO_FORMAT: RegExp;
3
12
  /**
4
13
  * This function returns all the build infos and associated outputs.
5
14
  *
6
15
  * @param artifactManager The artifact manager.
7
16
  * @returns The build infos in the Hardhat v3 format as expected by the EDR.
8
17
  */
9
- export declare function getBuildInfos(artifactManager: ArtifactManager): Promise<BuildInfoAndOutput[]>;
18
+ export declare function getBuildInfosAndOutputs(artifactManager: ArtifactManager): Promise<BuildInfoAndOutput[]>;
10
19
  /**
11
20
  * This function returns the artifacts generated during the compilation.
12
21
  *
13
22
  * @param artifactManager The artifact manager.
14
23
  * @returns The artifacts in the format expected by the EDR.
15
24
  */
16
- export declare function getEdrArtifacts(artifactManager: ArtifactManager): Promise<Array<{
17
- edrArtifact: EdrArtifact;
18
- userSourceName: string;
19
- }>>;
25
+ export declare function buildEdrArtifactsWithMetadata(artifactManager: ArtifactManager): Promise<EdrArtifactWithMetadata[]>;
20
26
  //# sourceMappingURL=edr-artifacts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edr-artifacts.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/edr-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EACV,kBAAkB,EAClB,QAAQ,IAAI,WAAW,EACxB,MAAM,sBAAsB,CAAC;AAQ9B;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAgC/B;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,KAAK,CAAC;IAAE,WAAW,EAAE,WAAW,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAuFtE"}
1
+ {"version":3,"file":"edr-artifacts.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/edr-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EACV,kBAAkB,IAAI,qBAAqB,EAC3C,QAAQ,IAAI,WAAW,EACxB,MAAM,sBAAsB,CAAC;AAK9B,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,MAC4E,CAAC;AAE7G;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiC/B;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAwFpC"}
@@ -1,17 +1,17 @@
1
1
  import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
2
2
  import { readBinaryFile } from "@nomicfoundation/hardhat-utils/fs";
3
- const BUILD_INFO_FORMAT = /^solc-(?<major>\d+)_(?<minor>\d+)_(?<patch>\d+)-[0-9a-fA-F]*$/;
3
+ export const BUILD_INFO_FORMAT = /^solc-(?<major>\d+)_(?<minor>\d+)_(?<patch>\d+)(?:-(?<compilerType>[a-zA-Z][a-zA-Z0-9]*))?-[0-9a-fA-F]*$/;
4
4
  /**
5
5
  * This function returns all the build infos and associated outputs.
6
6
  *
7
7
  * @param artifactManager The artifact manager.
8
8
  * @returns The build infos in the Hardhat v3 format as expected by the EDR.
9
9
  */
10
- export async function getBuildInfos(artifactManager) {
11
- const buildIds = await artifactManager.getAllBuildInfoIds();
12
- return Promise.all(Array.from(buildIds).map(async (buildId) => {
13
- const buildInfoPath = await artifactManager.getBuildInfoPath(buildId);
14
- const buildInfoOutputPath = await artifactManager.getBuildInfoOutputPath(buildId);
10
+ export async function getBuildInfosAndOutputs(artifactManager) {
11
+ const buildInfoIds = await artifactManager.getAllBuildInfoIds();
12
+ return Promise.all(Array.from(buildInfoIds).map(async (buildInfoId) => {
13
+ const buildInfoPath = await artifactManager.getBuildInfoPath(buildInfoId);
14
+ const buildInfoOutputPath = await artifactManager.getBuildInfoOutputPath(buildInfoId);
15
15
  // This is only safe because of how we currently interact with getBuildInfos
16
16
  // i.e. we call it immediately after a build which should ensure both
17
17
  // the build info and build info output exist. If the usage pattern of this
@@ -22,6 +22,7 @@ export async function getBuildInfos(artifactManager) {
22
22
  const buildInfo = await readBinaryFile(buildInfoPath);
23
23
  const output = await readBinaryFile(buildInfoOutputPath);
24
24
  return {
25
+ buildInfoId,
25
26
  buildInfo,
26
27
  output,
27
28
  };
@@ -33,7 +34,7 @@ export async function getBuildInfos(artifactManager) {
33
34
  * @param artifactManager The artifact manager.
34
35
  * @returns The artifacts in the format expected by the EDR.
35
36
  */
36
- export async function getEdrArtifacts(artifactManager) {
37
+ export async function buildEdrArtifactsWithMetadata(artifactManager) {
37
38
  const fullyQualifiedNames = await artifactManager.getAllFullyQualifiedNames();
38
39
  const artifacts = await Promise.all(Array.from(fullyQualifiedNames).map(async (fullyQualifiedName) => {
39
40
  return artifactManager.readArtifact(fullyQualifiedName);
@@ -84,6 +85,7 @@ export async function getEdrArtifacts(artifactManager) {
84
85
  contract,
85
86
  },
86
87
  userSourceName: artifact.sourceName,
88
+ buildInfoId: artifact.buildInfoId,
87
89
  };
88
90
  });
89
91
  }