hardhat 2.11.0-dev.0 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. package/builtin-tasks/clean.js +2 -1
  2. package/builtin-tasks/clean.js.map +1 -1
  3. package/builtin-tasks/compile.js +52 -95
  4. package/builtin-tasks/compile.js.map +1 -1
  5. package/builtin-tasks/flatten.js +2 -21
  6. package/builtin-tasks/flatten.js.map +1 -1
  7. package/builtin-tasks/node.js +1 -1
  8. package/builtin-tasks/node.js.map +1 -1
  9. package/builtin-tasks/test.js +3 -3
  10. package/builtin-tasks/test.js.map +1 -1
  11. package/builtin-tasks/utils/solidity-files-cache.d.ts.map +1 -1
  12. package/builtin-tasks/utils/solidity-files-cache.js +5 -6
  13. package/builtin-tasks/utils/solidity-files-cache.js.map +1 -1
  14. package/internal/artifacts.d.ts +3 -11
  15. package/internal/artifacts.d.ts.map +1 -1
  16. package/internal/artifacts.js +266 -133
  17. package/internal/artifacts.js.map +1 -1
  18. package/internal/cli/cli.js +26 -12
  19. package/internal/cli/cli.js.map +1 -1
  20. package/internal/core/config/config-loading.js +2 -2
  21. package/internal/core/config/config-loading.js.map +1 -1
  22. package/internal/core/config/config-resolution.d.ts.map +1 -1
  23. package/internal/core/config/config-resolution.js +11 -31
  24. package/internal/core/config/config-resolution.js.map +1 -1
  25. package/internal/core/config/default-config.js +1 -1
  26. package/internal/core/config/default-config.js.map +1 -1
  27. package/internal/core/errors-list.d.ts +7 -0
  28. package/internal/core/errors-list.d.ts.map +1 -1
  29. package/internal/core/errors-list.js +28 -11
  30. package/internal/core/errors-list.js.map +1 -1
  31. package/internal/core/errors.d.ts +2 -1
  32. package/internal/core/errors.d.ts.map +1 -1
  33. package/internal/core/errors.js +5 -1
  34. package/internal/core/errors.js.map +1 -1
  35. package/internal/core/execution-mode.d.ts.map +1 -1
  36. package/internal/core/execution-mode.js +2 -21
  37. package/internal/core/execution-mode.js.map +1 -1
  38. package/internal/core/flamegraph.d.ts +4 -0
  39. package/internal/core/flamegraph.d.ts.map +1 -1
  40. package/internal/core/flamegraph.js +13 -3
  41. package/internal/core/flamegraph.js.map +1 -1
  42. package/internal/core/jsonrpc/types/base-types.d.ts.map +1 -1
  43. package/internal/core/jsonrpc/types/base-types.js +12 -12
  44. package/internal/core/jsonrpc/types/base-types.js.map +1 -1
  45. package/internal/core/params/hardhat-params.d.ts.map +1 -1
  46. package/internal/core/params/hardhat-params.js +18 -0
  47. package/internal/core/params/hardhat-params.js.map +1 -1
  48. package/internal/core/providers/accounts.js +9 -9
  49. package/internal/core/providers/accounts.js.map +1 -1
  50. package/internal/core/providers/construction.d.ts.map +1 -1
  51. package/internal/core/providers/construction.js +5 -6
  52. package/internal/core/providers/construction.js.map +1 -1
  53. package/internal/core/providers/gas-providers.d.ts +2 -2
  54. package/internal/core/providers/util.js +1 -1
  55. package/internal/core/providers/util.js.map +1 -1
  56. package/internal/core/runtime-environment.d.ts +6 -0
  57. package/internal/core/runtime-environment.d.ts.map +1 -1
  58. package/internal/core/runtime-environment.js +72 -6
  59. package/internal/core/runtime-environment.js.map +1 -1
  60. package/internal/core/typescript-support.d.ts +1 -1
  61. package/internal/core/typescript-support.d.ts.map +1 -1
  62. package/internal/core/typescript-support.js +6 -2
  63. package/internal/core/typescript-support.js.map +1 -1
  64. package/internal/hardhat-network/jsonrpc/client.d.ts +1 -1
  65. package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
  66. package/internal/hardhat-network/jsonrpc/client.js +10 -10
  67. package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
  68. package/internal/hardhat-network/provider/BlockchainBase.d.ts +4 -4
  69. package/internal/hardhat-network/provider/BlockchainBase.d.ts.map +1 -1
  70. package/internal/hardhat-network/provider/BlockchainBase.js +31 -12
  71. package/internal/hardhat-network/provider/BlockchainBase.js.map +1 -1
  72. package/internal/hardhat-network/provider/BlockchainData.d.ts +3 -3
  73. package/internal/hardhat-network/provider/BlockchainData.d.ts.map +1 -1
  74. package/internal/hardhat-network/provider/BlockchainData.js +15 -15
  75. package/internal/hardhat-network/provider/BlockchainData.js.map +1 -1
  76. package/internal/hardhat-network/provider/HardhatBlockchain.d.ts +3 -3
  77. package/internal/hardhat-network/provider/HardhatBlockchain.d.ts.map +1 -1
  78. package/internal/hardhat-network/provider/HardhatBlockchain.js +2 -2
  79. package/internal/hardhat-network/provider/HardhatBlockchain.js.map +1 -1
  80. package/internal/hardhat-network/provider/PoolState.d.ts +1 -1
  81. package/internal/hardhat-network/provider/PoolState.d.ts.map +1 -1
  82. package/internal/hardhat-network/provider/PoolState.js +21 -2
  83. package/internal/hardhat-network/provider/PoolState.js.map +1 -1
  84. package/internal/hardhat-network/provider/TransactionQueue.d.ts +1 -1
  85. package/internal/hardhat-network/provider/TransactionQueue.d.ts.map +1 -1
  86. package/internal/hardhat-network/provider/TransactionQueue.js +22 -3
  87. package/internal/hardhat-network/provider/TransactionQueue.js.map +1 -1
  88. package/internal/hardhat-network/provider/TxPool.d.ts +4 -4
  89. package/internal/hardhat-network/provider/TxPool.d.ts.map +1 -1
  90. package/internal/hardhat-network/provider/TxPool.js +35 -16
  91. package/internal/hardhat-network/provider/TxPool.js.map +1 -1
  92. package/internal/hardhat-network/provider/ethereumjs-workarounds.js +4 -4
  93. package/internal/hardhat-network/provider/ethereumjs-workarounds.js.map +1 -1
  94. package/internal/hardhat-network/provider/filter.d.ts +1 -1
  95. package/internal/hardhat-network/provider/filter.d.ts.map +1 -1
  96. package/internal/hardhat-network/provider/filter.js +3 -3
  97. package/internal/hardhat-network/provider/filter.js.map +1 -1
  98. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts +3 -3
  99. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
  100. package/internal/hardhat-network/provider/fork/ForkBlockchain.js +13 -12
  101. package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
  102. package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts +3 -5
  103. package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts.map +1 -1
  104. package/internal/hardhat-network/provider/fork/ForkStateManager.js +36 -40
  105. package/internal/hardhat-network/provider/fork/ForkStateManager.js.map +1 -1
  106. package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts +1 -1
  107. package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts.map +1 -1
  108. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts +2 -2
  109. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts.map +1 -1
  110. package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +1 -1
  111. package/internal/hardhat-network/provider/modules/eth.d.ts +1 -1
  112. package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -1
  113. package/internal/hardhat-network/provider/modules/eth.js +22 -22
  114. package/internal/hardhat-network/provider/modules/eth.js.map +1 -1
  115. package/internal/hardhat-network/provider/modules/hardhat.d.ts +2 -0
  116. package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +1 -1
  117. package/internal/hardhat-network/provider/modules/hardhat.js +20 -6
  118. package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
  119. package/internal/hardhat-network/provider/modules/logger.d.ts +2 -2
  120. package/internal/hardhat-network/provider/modules/logger.d.ts.map +1 -1
  121. package/internal/hardhat-network/provider/modules/logger.js +14 -14
  122. package/internal/hardhat-network/provider/modules/logger.js.map +1 -1
  123. package/internal/hardhat-network/provider/modules/net.d.ts +1 -1
  124. package/internal/hardhat-network/provider/modules/net.d.ts.map +1 -1
  125. package/internal/hardhat-network/provider/modules/personal.js +3 -3
  126. package/internal/hardhat-network/provider/modules/personal.js.map +1 -1
  127. package/internal/hardhat-network/provider/modules/web3.d.ts.map +1 -1
  128. package/internal/hardhat-network/provider/modules/web3.js +4 -5
  129. package/internal/hardhat-network/provider/modules/web3.js.map +1 -1
  130. package/internal/hardhat-network/provider/node-types.d.ts +4 -4
  131. package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
  132. package/internal/hardhat-network/provider/node.d.ts +5 -4
  133. package/internal/hardhat-network/provider/node.d.ts.map +1 -1
  134. package/internal/hardhat-network/provider/node.js +71 -49
  135. package/internal/hardhat-network/provider/node.js.map +1 -1
  136. package/internal/hardhat-network/provider/output.d.ts +4 -4
  137. package/internal/hardhat-network/provider/output.d.ts.map +1 -1
  138. package/internal/hardhat-network/provider/output.js +24 -5
  139. package/internal/hardhat-network/provider/output.js.map +1 -1
  140. package/internal/hardhat-network/provider/provider.d.ts +2 -2
  141. package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
  142. package/internal/hardhat-network/provider/provider.js +3 -3
  143. package/internal/hardhat-network/provider/provider.js.map +1 -1
  144. package/internal/hardhat-network/provider/return-data.d.ts +1 -1
  145. package/internal/hardhat-network/provider/return-data.d.ts.map +1 -1
  146. package/internal/hardhat-network/provider/return-data.js +5 -4
  147. package/internal/hardhat-network/provider/return-data.js.map +1 -1
  148. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts +4 -4
  149. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts.map +1 -1
  150. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +8 -8
  151. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
  152. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts +3 -3
  153. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts.map +1 -1
  154. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +8 -8
  155. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
  156. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts +3 -3
  157. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts.map +1 -1
  158. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +5 -5
  159. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
  160. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts +4 -4
  161. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts.map +1 -1
  162. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js +25 -6
  163. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js.map +1 -1
  164. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts +3 -3
  165. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts.map +1 -1
  166. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js +25 -6
  167. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js.map +1 -1
  168. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts +3 -3
  169. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts.map +1 -1
  170. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js +2 -2
  171. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js.map +1 -1
  172. package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts +2 -2
  173. package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts.map +1 -1
  174. package/internal/hardhat-network/provider/utils/makeAccount.d.ts +1 -1
  175. package/internal/hardhat-network/provider/utils/makeAccount.d.ts.map +1 -1
  176. package/internal/hardhat-network/provider/utils/makeAccount.js +4 -4
  177. package/internal/hardhat-network/provider/utils/makeAccount.js.map +1 -1
  178. package/internal/hardhat-network/provider/utils/makeCommon.d.ts +1 -1
  179. package/internal/hardhat-network/provider/utils/makeCommon.d.ts.map +1 -1
  180. package/internal/hardhat-network/provider/utils/makeCommon.js +2 -2
  181. package/internal/hardhat-network/provider/utils/makeCommon.js.map +1 -1
  182. package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts +1 -1
  183. package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts.map +1 -1
  184. package/internal/hardhat-network/provider/utils/makeStateTrie.js +4 -4
  185. package/internal/hardhat-network/provider/utils/makeStateTrie.js.map +1 -1
  186. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts +3 -3
  187. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts.map +1 -1
  188. package/internal/hardhat-network/provider/utils/putGenesisBlock.js +4 -4
  189. package/internal/hardhat-network/provider/utils/putGenesisBlock.js.map +1 -1
  190. package/internal/hardhat-network/provider/utils/random.d.ts +2 -1
  191. package/internal/hardhat-network/provider/utils/random.d.ts.map +1 -1
  192. package/internal/hardhat-network/provider/utils/random.js +10 -9
  193. package/internal/hardhat-network/provider/utils/random.js.map +1 -1
  194. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js +21 -2
  195. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js.map +1 -1
  196. package/internal/hardhat-network/provider/utils/txMapToArray.d.ts +1 -1
  197. package/internal/hardhat-network/provider/utils/txMapToArray.d.ts.map +1 -1
  198. package/internal/hardhat-network/stack-traces/consoleLogger.js +45 -45
  199. package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
  200. package/internal/hardhat-network/stack-traces/constants.d.ts +1 -1
  201. package/internal/hardhat-network/stack-traces/constants.d.ts.map +1 -1
  202. package/internal/hardhat-network/stack-traces/constants.js +1 -1
  203. package/internal/hardhat-network/stack-traces/constants.js.map +1 -1
  204. package/internal/hardhat-network/stack-traces/contracts-identifier.js +2 -2
  205. package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +1 -1
  206. package/internal/hardhat-network/stack-traces/debug.js +13 -13
  207. package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
  208. package/internal/hardhat-network/stack-traces/error-inferrer.js +2 -2
  209. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
  210. package/internal/hardhat-network/stack-traces/message-trace.d.ts +1 -1
  211. package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -1
  212. package/internal/hardhat-network/stack-traces/model.js +6 -6
  213. package/internal/hardhat-network/stack-traces/model.js.map +1 -1
  214. package/internal/hardhat-network/stack-traces/panic-errors.d.ts +1 -1
  215. package/internal/hardhat-network/stack-traces/panic-errors.js +9 -9
  216. package/internal/hardhat-network/stack-traces/panic-errors.js.map +1 -1
  217. package/internal/hardhat-network/stack-traces/solidity-errors.js +3 -3
  218. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  219. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +1 -1
  220. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts +0 -2
  221. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
  222. package/internal/hardhat-network/stack-traces/solidityTracer.js +2 -4
  223. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
  224. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts +1 -1
  225. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts.map +1 -1
  226. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +27 -25
  227. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
  228. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +2 -2
  229. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +1 -1
  230. package/internal/hardhat-network/stack-traces/vm-tracer.js +15 -12
  231. package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
  232. package/internal/lib/hardhat-lib.d.ts.map +1 -1
  233. package/internal/lib/hardhat-lib.js +0 -2
  234. package/internal/lib/hardhat-lib.js.map +1 -1
  235. package/internal/solidity/compilation-job.d.ts.map +1 -1
  236. package/internal/solidity/compilation-job.js +6 -7
  237. package/internal/solidity/compilation-job.js.map +1 -1
  238. package/internal/solidity/compiler/downloader.d.ts +66 -40
  239. package/internal/solidity/compiler/downloader.d.ts.map +1 -1
  240. package/internal/solidity/compiler/downloader.js +180 -154
  241. package/internal/solidity/compiler/downloader.js.map +1 -1
  242. package/internal/solidity/compiler/index.d.ts +8 -4
  243. package/internal/solidity/compiler/index.d.ts.map +1 -1
  244. package/internal/solidity/compiler/index.js +1 -1
  245. package/internal/solidity/compiler/index.js.map +1 -1
  246. package/internal/solidity/dependencyGraph.d.ts.map +1 -1
  247. package/internal/solidity/dependencyGraph.js +3 -5
  248. package/internal/solidity/dependencyGraph.js.map +1 -1
  249. package/internal/solidity/parse.d.ts.map +1 -1
  250. package/internal/solidity/parse.js +2 -58
  251. package/internal/solidity/parse.js.map +1 -1
  252. package/internal/solidity/resolver.d.ts +1 -0
  253. package/internal/solidity/resolver.d.ts.map +1 -1
  254. package/internal/solidity/resolver.js +33 -8
  255. package/internal/solidity/resolver.js.map +1 -1
  256. package/internal/util/bigint.d.ts +13 -24
  257. package/internal/util/bigint.d.ts.map +1 -1
  258. package/internal/util/bigint.js +22 -29
  259. package/internal/util/bigint.js.map +1 -1
  260. package/internal/util/download.d.ts.map +1 -1
  261. package/internal/util/download.js +1 -1
  262. package/internal/util/download.js.map +1 -1
  263. package/internal/util/fs-utils.d.ts +26 -9
  264. package/internal/util/fs-utils.d.ts.map +1 -1
  265. package/internal/util/fs-utils.js +111 -68
  266. package/internal/util/fs-utils.js.map +1 -1
  267. package/internal/util/glob.d.ts +13 -0
  268. package/internal/util/glob.d.ts.map +1 -1
  269. package/internal/util/glob.js +13 -0
  270. package/internal/util/glob.js.map +1 -1
  271. package/internal/util/keccak.d.ts +3 -0
  272. package/internal/util/keccak.d.ts.map +1 -0
  273. package/internal/util/keccak.js +12 -0
  274. package/internal/util/keccak.js.map +1 -0
  275. package/internal/util/scripts-runner.d.ts.map +1 -1
  276. package/internal/util/scripts-runner.js +7 -4
  277. package/internal/util/scripts-runner.js.map +1 -1
  278. package/package.json +15 -15
  279. package/register.js +1 -3
  280. package/register.js.map +1 -1
  281. package/sample-projects/javascript/contracts/Lock.sol +3 -3
  282. package/sample-projects/typescript/contracts/Lock.sol +3 -3
  283. package/src/builtin-tasks/clean.ts +9 -6
  284. package/src/builtin-tasks/compile.ts +96 -128
  285. package/src/builtin-tasks/flatten.ts +2 -3
  286. package/src/builtin-tasks/node.ts +2 -2
  287. package/src/builtin-tasks/test.ts +7 -3
  288. package/src/builtin-tasks/utils/solidity-files-cache.ts +9 -8
  289. package/src/internal/artifacts.ts +392 -182
  290. package/src/internal/cli/cli.ts +43 -17
  291. package/src/internal/core/config/config-loading.ts +1 -1
  292. package/src/internal/core/config/config-resolution.ts +12 -24
  293. package/src/internal/core/config/default-config.ts +1 -1
  294. package/src/internal/core/errors-list.ts +29 -13
  295. package/src/internal/core/errors.ts +10 -2
  296. package/src/internal/core/execution-mode.ts +2 -3
  297. package/src/internal/core/flamegraph.ts +270 -0
  298. package/src/internal/core/jsonrpc/types/base-types.ts +7 -3
  299. package/src/internal/core/params/hardhat-params.ts +18 -0
  300. package/src/internal/core/providers/accounts.ts +8 -8
  301. package/src/internal/core/providers/construction.ts +10 -8
  302. package/src/internal/core/providers/gas-providers.ts +2 -2
  303. package/src/internal/core/providers/util.ts +1 -1
  304. package/src/internal/core/runtime-environment.ts +103 -10
  305. package/src/internal/core/task-profiling.ts +56 -0
  306. package/src/internal/core/typescript-support.ts +11 -2
  307. package/src/internal/hardhat-network/jsonrpc/client.ts +1 -1
  308. package/src/internal/hardhat-network/provider/BlockchainBase.ts +6 -6
  309. package/src/internal/hardhat-network/provider/BlockchainData.ts +5 -5
  310. package/src/internal/hardhat-network/provider/HardhatBlockchain.ts +4 -4
  311. package/src/internal/hardhat-network/provider/PoolState.ts +2 -2
  312. package/src/internal/hardhat-network/provider/TransactionQueue.ts +2 -2
  313. package/src/internal/hardhat-network/provider/TxPool.ts +12 -5
  314. package/src/internal/hardhat-network/provider/ethereumjs-workarounds.ts +3 -3
  315. package/src/internal/hardhat-network/provider/filter.ts +2 -2
  316. package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +10 -10
  317. package/src/internal/hardhat-network/provider/fork/ForkStateManager.ts +12 -18
  318. package/src/internal/hardhat-network/provider/fork/rpcToBlockData.ts +1 -1
  319. package/src/internal/hardhat-network/provider/fork/rpcToTxData.ts +5 -2
  320. package/src/internal/hardhat-network/provider/modules/eth.ts +10 -6
  321. package/src/internal/hardhat-network/provider/modules/hardhat.ts +25 -1
  322. package/src/internal/hardhat-network/provider/modules/logger.ts +3 -3
  323. package/src/internal/hardhat-network/provider/modules/net.ts +1 -1
  324. package/src/internal/hardhat-network/provider/modules/personal.ts +1 -1
  325. package/src/internal/hardhat-network/provider/modules/web3.ts +4 -6
  326. package/src/internal/hardhat-network/provider/node-types.ts +6 -6
  327. package/src/internal/hardhat-network/provider/node.ts +25 -12
  328. package/src/internal/hardhat-network/provider/output.ts +6 -6
  329. package/src/internal/hardhat-network/provider/provider.ts +7 -6
  330. package/src/internal/hardhat-network/provider/return-data.ts +9 -5
  331. package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +9 -5
  332. package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +8 -4
  333. package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +4 -4
  334. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +8 -5
  335. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts +4 -4
  336. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts +3 -3
  337. package/src/internal/hardhat-network/provider/types/HardhatBlockchainInterface.ts +2 -2
  338. package/src/internal/hardhat-network/provider/utils/makeAccount.ts +6 -1
  339. package/src/internal/hardhat-network/provider/utils/makeCommon.ts +1 -1
  340. package/src/internal/hardhat-network/provider/utils/makeStateTrie.ts +7 -3
  341. package/src/internal/hardhat-network/provider/utils/putGenesisBlock.ts +6 -6
  342. package/src/internal/hardhat-network/provider/utils/random.ts +17 -14
  343. package/src/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.ts +1 -1
  344. package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +1 -1
  345. package/src/internal/hardhat-network/stack-traces/constants.ts +2 -0
  346. package/src/internal/hardhat-network/stack-traces/contracts-identifier.ts +1 -1
  347. package/src/internal/hardhat-network/stack-traces/debug.ts +1 -1
  348. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +3 -3
  349. package/src/internal/hardhat-network/stack-traces/message-trace.ts +1 -1
  350. package/src/internal/hardhat-network/stack-traces/model.ts +1 -1
  351. package/src/internal/hardhat-network/stack-traces/panic-errors.ts +11 -11
  352. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +1 -1
  353. package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +1 -1
  354. package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +1 -4
  355. package/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts +31 -17
  356. package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +29 -14
  357. package/src/internal/lib/hardhat-lib.ts +0 -3
  358. package/src/internal/solidity/compilation-job.ts +11 -11
  359. package/src/internal/solidity/compiler/downloader.ts +271 -243
  360. package/src/internal/solidity/compiler/index.ts +13 -7
  361. package/src/internal/solidity/dependencyGraph.ts +12 -8
  362. package/src/internal/solidity/parse.ts +4 -70
  363. package/src/internal/solidity/resolver.ts +36 -8
  364. package/src/internal/util/bigint.ts +25 -43
  365. package/src/internal/util/download.ts +2 -2
  366. package/src/internal/util/fs-utils.ts +223 -0
  367. package/src/internal/util/glob.ts +13 -0
  368. package/src/internal/util/keccak.ts +5 -0
  369. package/src/internal/util/scripts-runner.ts +13 -4
  370. package/src/internal/util/wei-values.ts +1 -1
  371. package/src/internal/{hardhat-network/vendor → vendor}/await-semaphore/index.ts +0 -0
  372. package/src/profiling.ts +37 -0
  373. package/src/register.ts +1 -4
  374. package/src/types/artifacts.ts +21 -0
  375. package/src/types/config.ts +7 -7
  376. package/src/types/runtime.ts +2 -0
  377. package/src/utils/source-names.ts +36 -26
  378. package/types/artifacts.d.ts +19 -0
  379. package/types/artifacts.d.ts.map +1 -1
  380. package/types/config.d.ts +7 -7
  381. package/types/runtime.d.ts +2 -0
  382. package/types/runtime.d.ts.map +1 -1
  383. package/utils/source-names.d.ts.map +1 -1
  384. package/utils/source-names.js +25 -36
  385. package/utils/source-names.js.map +1 -1
  386. package/internal/hardhat-network/provider/fork/random.d.ts +0 -7
  387. package/internal/hardhat-network/provider/fork/random.d.ts.map +0 -1
  388. package/internal/hardhat-network/provider/fork/random.js +0 -32
  389. package/internal/hardhat-network/provider/fork/random.js.map +0 -1
  390. package/internal/hardhat-network/provider/utils/bnToHex.d.ts +0 -3
  391. package/internal/hardhat-network/provider/utils/bnToHex.d.ts.map +0 -1
  392. package/internal/hardhat-network/provider/utils/bnToHex.js +0 -9
  393. package/internal/hardhat-network/provider/utils/bnToHex.js.map +0 -1
  394. package/internal/hardhat-network/provider/utils/makeForkCommon.d.ts +0 -4
  395. package/internal/hardhat-network/provider/utils/makeForkCommon.d.ts.map +0 -1
  396. package/internal/hardhat-network/provider/utils/makeForkCommon.js +0 -16
  397. package/internal/hardhat-network/provider/utils/makeForkCommon.js.map +0 -1
  398. package/internal/hardhat-network/vendor/await-semaphore/index.d.ts +0 -12
  399. package/internal/hardhat-network/vendor/await-semaphore/index.d.ts.map +0 -1
  400. package/internal/hardhat-network/vendor/await-semaphore/index.js +0 -64
  401. package/internal/hardhat-network/vendor/await-semaphore/index.js.map +0 -1
  402. package/internal/util/antlr-prototype-pollution-workaround.d.ts +0 -16
  403. package/internal/util/antlr-prototype-pollution-workaround.d.ts.map +0 -1
  404. package/internal/util/antlr-prototype-pollution-workaround.js +0 -22
  405. package/internal/util/antlr-prototype-pollution-workaround.js.map +0 -1
  406. package/src/internal/util/antlr-prototype-pollution-workaround.ts +0 -17
@@ -23,13 +23,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.CompilerDownloader = exports.CompilerPlatform = void 0;
26
- const chalk_1 = __importDefault(require("chalk"));
27
- const debug_1 = __importDefault(require("debug"));
26
+ const path_1 = __importDefault(require("path"));
28
27
  const fs_extra_1 = __importDefault(require("fs-extra"));
28
+ const debug_1 = __importDefault(require("debug"));
29
29
  const os_1 = __importDefault(require("os"));
30
- const path_1 = __importDefault(require("path"));
30
+ const child_process_1 = require("child_process");
31
+ const download_1 = require("../../util/download");
31
32
  const errors_1 = require("../../core/errors");
32
33
  const errors_list_1 = require("../../core/errors-list");
34
+ const await_semaphore_1 = require("../../vendor/await-semaphore");
35
+ const log = (0, debug_1.default)("hardhat:core:solidity:downloader");
36
+ const COMPILER_REPOSITORY_URL = "https://binaries.soliditylang.org";
33
37
  var CompilerPlatform;
34
38
  (function (CompilerPlatform) {
35
39
  CompilerPlatform["LINUX"] = "linux-amd64";
@@ -37,182 +41,204 @@ var CompilerPlatform;
37
41
  CompilerPlatform["MACOS"] = "macosx-amd64";
38
42
  CompilerPlatform["WASM"] = "wasm";
39
43
  })(CompilerPlatform = exports.CompilerPlatform || (exports.CompilerPlatform = {}));
40
- const log = (0, debug_1.default)("hardhat:core:solidity:downloader");
41
- const COMPILER_FILES_DIR_URL_SOLC = "https://binaries.soliditylang.org/";
42
- async function downloadFile(url, destinationFile) {
43
- const { download } = await Promise.resolve().then(() => __importStar(require("../../util/download")));
44
- log(`Downloading from ${url} to ${destinationFile}`);
45
- await download(url, destinationFile);
46
- }
44
+ /**
45
+ * Default implementation of ICompilerDownloader.
46
+ *
47
+ * Important things to note:
48
+ * 1. If a compiler version is not found, this downloader may fail.
49
+ * 1.1. It only re-downloads the list of compilers once every X time.
50
+ * 1.1.1 If a user tries to download a new compiler before X amount of time
51
+ * has passed since its release, they may need to clean the cache, as
52
+ * indicated in the error messages.
53
+ */
47
54
  class CompilerDownloader {
48
- constructor(_compilersDir, options = {}) {
55
+ /**
56
+ * Use CompilerDownloader.getConcurrencySafeDownloader instead
57
+ */
58
+ constructor(_platform, _compilersDir, _compilerListCachePeriodMs = CompilerDownloader.defaultCompilerListCachePeriod, _downloadFunction = download_1.download) {
59
+ this._platform = _platform;
49
60
  this._compilersDir = _compilersDir;
50
- this._download = options.download ?? downloadFile;
51
- this._forceSolcJs = options.forceSolcJs ?? false;
61
+ this._compilerListCachePeriodMs = _compilerListCachePeriodMs;
62
+ this._downloadFunction = _downloadFunction;
63
+ this._mutex = new await_semaphore_1.Mutex();
52
64
  }
53
- async isCompilerDownloaded(version) {
54
- const compilerBuild = await this.getCompilerBuild(version);
55
- const downloadedFilePath = this._getDownloadedFilePath(compilerBuild);
56
- return this._fileExists(downloadedFilePath);
57
- }
58
- async verifyCompiler(compilerBuild, downloadedFilePath) {
59
- const ethereumjsUtil = await Promise.resolve().then(() => __importStar(require("@ignored/util")));
60
- const { keccak256 } = await Promise.resolve().then(() => __importStar(require("ethereum-cryptography/keccak")));
61
- const expectedKeccak256 = compilerBuild.keccak256;
62
- const compiler = await fs_extra_1.default.readFile(downloadedFilePath);
63
- const compilerKeccak256 = ethereumjsUtil.bufferToHex(ethereumjsUtil.arrToBufArr(keccak256(ethereumjsUtil.bufArrToArr(compiler))));
64
- if (expectedKeccak256 !== compilerKeccak256) {
65
- await fs_extra_1.default.unlink(downloadedFilePath);
66
- await fs_extra_1.default.unlink(this.getCompilersListPath(compilerBuild.platform));
67
- throw new errors_1.HardhatError(errors_list_1.ERRORS.SOLC.INVALID_DOWNLOAD, {
68
- remoteVersion: compilerBuild.version,
69
- });
65
+ static getCompilerPlatform() {
66
+ switch (os_1.default.platform()) {
67
+ case "win32":
68
+ return CompilerPlatform.WINDOWS;
69
+ case "linux":
70
+ return CompilerPlatform.LINUX;
71
+ case "darwin":
72
+ return CompilerPlatform.MACOS;
73
+ default:
74
+ return CompilerPlatform.WASM;
70
75
  }
71
76
  }
72
- async getDownloadedCompilerPath(version) {
73
- const { default: AdmZip } = await Promise.resolve().then(() => __importStar(require("adm-zip")));
74
- try {
75
- const compilerBuild = await this.getCompilerBuild(version);
76
- let downloadedFilePath = this._getDownloadedFilePath(compilerBuild);
77
- if (!(await this._fileExists(downloadedFilePath))) {
78
- await this.downloadCompiler(compilerBuild, downloadedFilePath);
79
- }
80
- await this.verifyCompiler(compilerBuild, downloadedFilePath);
81
- if (compilerBuild.platform === CompilerPlatform.LINUX ||
82
- compilerBuild.platform === CompilerPlatform.MACOS) {
83
- fs_extra_1.default.chmodSync(downloadedFilePath, 0o755);
84
- }
85
- else if (compilerBuild.platform === CompilerPlatform.WINDOWS) {
86
- // some window builds are zipped, some are not
87
- if (downloadedFilePath.endsWith(".zip")) {
88
- const zip = new AdmZip(downloadedFilePath);
89
- zip.extractAllTo(path_1.default.join(this._compilersDir, compilerBuild.version));
90
- downloadedFilePath = path_1.default.join(this._compilersDir, compilerBuild.version, "solc.exe");
91
- }
92
- }
93
- return {
94
- compilerPath: downloadedFilePath,
95
- platform: compilerBuild.platform,
96
- };
97
- }
98
- catch (e) {
99
- if (e instanceof Error) {
100
- if (errors_1.HardhatError.isHardhatError(e)) {
101
- throw e;
102
- }
103
- console.warn(chalk_1.default.yellow(`There was an unexpected problem downloading the compiler: ${e.message}`));
104
- }
77
+ static getConcurrencySafeDownloader(platform, compilersDir) {
78
+ const key = platform + compilersDir;
79
+ if (!this._downloaderPerPlatform.has(key)) {
80
+ this._downloaderPerPlatform.set(key, new CompilerDownloader(platform, compilersDir));
105
81
  }
82
+ return this._downloaderPerPlatform.get(key);
106
83
  }
107
- async getCompilersList(platform, pendingRetries = 3) {
108
- if (!(await this.compilersListExists(platform))) {
109
- await this.downloadCompilersList(platform);
110
- }
111
- try {
112
- return await fs_extra_1.default.readJSON(this.getCompilersListPath(platform));
84
+ async isCompilerDownloaded(version) {
85
+ const build = await this._getCompilerBuild(version);
86
+ if (build === undefined) {
87
+ return false;
113
88
  }
114
- catch (error) {
115
- // if parsing throws a syntax error, redownload and parse once more
116
- if (!(error instanceof SyntaxError) || pendingRetries === 0) {
117
- // eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
118
- throw error;
89
+ const downloadPath = this._getCompilerBinaryPathFromBuild(build);
90
+ return fs_extra_1.default.pathExists(downloadPath);
91
+ }
92
+ async downloadCompiler(version) {
93
+ await this._mutex.use(async () => {
94
+ let build = await this._getCompilerBuild(version);
95
+ if (build === undefined && (await this._shouldDownloadCompilerList())) {
96
+ try {
97
+ await this._downloadCompilerList();
98
+ }
99
+ catch (e) {
100
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.SOLC.VERSION_LIST_DOWNLOAD_FAILED, {}, e);
101
+ }
102
+ build = await this._getCompilerBuild(version);
119
103
  }
120
- // remove the malformed list and retry
121
- await fs_extra_1.default.remove(this.getCompilersListPath(platform));
122
- return this.getCompilersList(platform, pendingRetries - 1);
123
- }
124
- }
125
- async getCompilerBuild(version) {
126
- const platform = this._getCurrentPlatform();
127
- if (await this._versionExists(version, platform)) {
104
+ if (build === undefined) {
105
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.SOLC.INVALID_VERSION, { version });
106
+ }
107
+ let downloadPath;
128
108
  try {
129
- return await this._getCompilerBuildByPlatform(version, platform);
109
+ downloadPath = await this._downloadCompiler(build);
130
110
  }
131
- catch {
132
- log("Couldn't download native compiler, using solcjs instead");
111
+ catch (e) {
112
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.SOLC.DOWNLOAD_FAILED, {
113
+ remoteVersion: build.longVersion,
114
+ }, e);
133
115
  }
116
+ const verified = await this._verifyCompilerDownload(build, downloadPath);
117
+ if (!verified) {
118
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.SOLC.INVALID_DOWNLOAD, {
119
+ remoteVersion: build.longVersion,
120
+ });
121
+ }
122
+ await this._postProcessCompilerDownload(build, downloadPath);
123
+ });
124
+ }
125
+ async getCompiler(version) {
126
+ const build = await this._getCompilerBuild(version);
127
+ (0, errors_1.assertHardhatInvariant)(build !== undefined, "Trying to get a compiler before it was downloaded");
128
+ const compilerPath = this._getCompilerBinaryPathFromBuild(build);
129
+ (0, errors_1.assertHardhatInvariant)(await fs_extra_1.default.pathExists(compilerPath), "Trying to get a compiler before it was downloaded");
130
+ if (await fs_extra_1.default.pathExists(this._getCompilerDoesntWorkFile(build))) {
131
+ return undefined;
134
132
  }
135
- return this._getCompilerBuildByPlatform(version, CompilerPlatform.WASM);
136
- }
137
- async downloadCompilersList(platform = this._getCurrentPlatform()) {
138
- try {
139
- await this._download(getCompilerListURL(platform), this.getCompilersListPath(platform));
140
- }
141
- catch (error) {
142
- throw new errors_1.HardhatError(errors_list_1.ERRORS.SOLC.VERSION_LIST_DOWNLOAD_FAILED, {}, error);
133
+ return {
134
+ version,
135
+ longVersion: build.longVersion,
136
+ compilerPath,
137
+ isSolcJs: this._platform === CompilerPlatform.WASM,
138
+ };
139
+ }
140
+ async _getCompilerBuild(version) {
141
+ const listPath = this._getCompilerListPath();
142
+ if (!(await fs_extra_1.default.pathExists(listPath))) {
143
+ return undefined;
143
144
  }
145
+ const list = await this._readCompilerList(listPath);
146
+ return list.builds.find((b) => b.version === version);
144
147
  }
145
- async downloadCompiler(compilerBuild, downloadedFilePath) {
146
- log(`Downloading compiler version ${compilerBuild.version} platform ${compilerBuild.platform}`);
147
- const compilerUrl = getCompilerURL(compilerBuild.platform, compilerBuild.path);
148
- try {
149
- await this._download(compilerUrl, downloadedFilePath);
150
- }
151
- catch (error) {
152
- throw new errors_1.HardhatError(errors_list_1.ERRORS.SOLC.DOWNLOAD_FAILED, {
153
- remoteVersion: compilerBuild.version,
154
- }, error);
155
- }
148
+ _getCompilerListPath() {
149
+ return path_1.default.join(this._compilersDir, this._platform, "list.json");
156
150
  }
157
- async compilersListExists(platform) {
158
- return fs_extra_1.default.pathExists(this.getCompilersListPath(platform));
151
+ async _readCompilerList(listPath) {
152
+ return fs_extra_1.default.readJSON(listPath);
159
153
  }
160
- getCompilersListPath(platform) {
161
- return path_1.default.join(this._compilersDir, platform, "list.json");
154
+ _getCompilerDownloadPathFromBuild(build) {
155
+ return path_1.default.join(this._compilersDir, this._platform, build.path);
162
156
  }
163
- _getDownloadedFilePath(compilerBuild) {
164
- return path_1.default.join(this._compilersDir, compilerBuild.platform, compilerBuild.path);
157
+ _getCompilerBinaryPathFromBuild(build) {
158
+ const downloadPath = this._getCompilerDownloadPathFromBuild(build);
159
+ if (this._platform !== CompilerPlatform.WINDOWS ||
160
+ !downloadPath.endsWith(".zip")) {
161
+ return downloadPath;
162
+ }
163
+ return path_1.default.join(this._compilersDir, build.version, "solc.exe");
164
+ }
165
+ _getCompilerDoesntWorkFile(build) {
166
+ return `${this._getCompilerBinaryPathFromBuild(build)}.does.not.work`;
165
167
  }
166
- async _fetchVersionPath(version, platform) {
167
- const compilersListExisted = await this.compilersListExists(platform);
168
- let list = await this.getCompilersList(platform);
169
- let compilerBuildPath = list.releases[version];
170
- // We may need to re-download the compilers list.
171
- if (compilerBuildPath === undefined && compilersListExisted) {
172
- await fs_extra_1.default.unlink(this.getCompilersListPath(platform));
173
- list = await this.getCompilersList(platform);
174
- compilerBuildPath = list.releases[version];
168
+ async _shouldDownloadCompilerList() {
169
+ const listPath = this._getCompilerListPath();
170
+ if (!(await fs_extra_1.default.pathExists(listPath))) {
171
+ return true;
175
172
  }
176
- return compilerBuildPath;
177
- }
178
- async _versionExists(version, platform) {
179
- const versionPath = await this._fetchVersionPath(version, platform);
180
- return versionPath !== undefined;
181
- }
182
- async _getCompilerBuildByPlatform(version, platform) {
183
- const compilerBuildPath = await this._fetchVersionPath(version, platform);
184
- const list = await this.getCompilersList(platform);
185
- const compilerBuild = list.builds.find((b) => b.path === compilerBuildPath);
186
- if (compilerBuild === undefined) {
187
- throw new errors_1.HardhatError(errors_list_1.ERRORS.SOLC.INVALID_VERSION, { version });
173
+ const stats = await fs_extra_1.default.stat(listPath);
174
+ const age = new Date().valueOf() - stats.ctimeMs;
175
+ return age > this._compilerListCachePeriodMs;
176
+ }
177
+ async _downloadCompilerList() {
178
+ log(`Downloading compiler list for platform ${this._platform}`);
179
+ const url = `${COMPILER_REPOSITORY_URL}/${this._platform}/list.json`;
180
+ const downloadPath = this._getCompilerListPath();
181
+ await this._downloadFunction(url, downloadPath);
182
+ }
183
+ async _downloadCompiler(build) {
184
+ log(`Downloading compiler ${build.longVersion}`);
185
+ const url = `${COMPILER_REPOSITORY_URL}/${this._platform}/${build.path}`;
186
+ const downloadPath = this._getCompilerDownloadPathFromBuild(build);
187
+ await this._downloadFunction(url, downloadPath);
188
+ return downloadPath;
189
+ }
190
+ async _verifyCompilerDownload(build, downloadPath) {
191
+ const ethereumjsUtil = await Promise.resolve().then(() => __importStar(require("@nomicfoundation/ethereumjs-util")));
192
+ const { keccak256 } = await Promise.resolve().then(() => __importStar(require("../../util/keccak")));
193
+ const expectedKeccak256 = build.keccak256;
194
+ const compiler = await fs_extra_1.default.readFile(downloadPath);
195
+ const compilerKeccak256 = ethereumjsUtil.bufferToHex(keccak256(compiler));
196
+ if (expectedKeccak256 !== compilerKeccak256) {
197
+ await fs_extra_1.default.unlink(downloadPath);
198
+ return false;
188
199
  }
189
- compilerBuild.platform = platform;
190
- return compilerBuild;
191
- }
192
- async _fileExists(filePath) {
193
- return fs_extra_1.default.pathExists(filePath);
200
+ return true;
194
201
  }
195
- _getCurrentPlatform() {
196
- if (this._forceSolcJs) {
197
- return CompilerPlatform.WASM;
202
+ async _postProcessCompilerDownload(build, downloadPath) {
203
+ if (this._platform === CompilerPlatform.WASM) {
204
+ return;
198
205
  }
199
- switch (os_1.default.platform()) {
200
- case "win32":
201
- return CompilerPlatform.WINDOWS;
202
- case "linux":
203
- return CompilerPlatform.LINUX;
204
- case "darwin":
205
- return CompilerPlatform.MACOS;
206
- default:
207
- return CompilerPlatform.WASM;
206
+ if (this._platform === CompilerPlatform.LINUX ||
207
+ this._platform === CompilerPlatform.MACOS) {
208
+ fs_extra_1.default.chmodSync(downloadPath, 0o755);
209
+ }
210
+ else if (this._platform === CompilerPlatform.WINDOWS &&
211
+ downloadPath.endsWith(".zip")) {
212
+ // some window builds are zipped, some are not
213
+ const { default: AdmZip } = await Promise.resolve().then(() => __importStar(require("adm-zip")));
214
+ const solcFolder = path_1.default.join(this._compilersDir, build.version);
215
+ await fs_extra_1.default.ensureDir(solcFolder);
216
+ const zip = new AdmZip(downloadPath);
217
+ zip.extractAllTo(solcFolder);
218
+ }
219
+ log("Checking native solc binary");
220
+ const nativeSolcWorks = await this._checkNativeSolc(build);
221
+ if (nativeSolcWorks) {
222
+ return;
208
223
  }
224
+ await fs_extra_1.default.createFile(this._getCompilerDoesntWorkFile(build));
225
+ }
226
+ _checkNativeSolc(build) {
227
+ const solcPath = this._getCompilerBinaryPathFromBuild(build);
228
+ return new Promise((resolve) => {
229
+ try {
230
+ const process = (0, child_process_1.execFile)(solcPath, ["--version"]);
231
+ process.on("exit", (code) => {
232
+ resolve(code === 0);
233
+ });
234
+ }
235
+ catch {
236
+ resolve(false);
237
+ }
238
+ });
209
239
  }
210
240
  }
211
241
  exports.CompilerDownloader = CompilerDownloader;
212
- function getCompilerURL(platform, filePath) {
213
- return `${COMPILER_FILES_DIR_URL_SOLC}${platform}/${filePath}`;
214
- }
215
- function getCompilerListURL(platform) {
216
- return getCompilerURL(platform, "list.json");
217
- }
242
+ CompilerDownloader._downloaderPerPlatform = new Map();
243
+ CompilerDownloader.defaultCompilerListCachePeriod = 360000;
218
244
  //# sourceMappingURL=downloader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"downloader.js","sourceRoot":"","sources":["../../../src/internal/solidity/compiler/downloader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"downloader.js","sourceRoot":"","sources":["../../../src/internal/solidity/compiler/downloader.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
- export declare class Compiler {
1
+ import { CompilerInput, CompilerOutput } from "../../../types";
2
+ export interface ICompiler {
3
+ compile(input: CompilerInput): Promise<CompilerOutput>;
4
+ }
5
+ export declare class Compiler implements ICompiler {
2
6
  private _pathToSolcJs;
3
7
  private _loadedSolc?;
4
8
  constructor(_pathToSolcJs: string);
5
- compile(input: any): Promise<any>;
9
+ compile(input: CompilerInput): Promise<any>;
6
10
  getSolc(): Promise<any>;
7
11
  /**
8
12
  * This function loads the compiler sources bypassing any require hook.
@@ -12,9 +16,9 @@ export declare class Compiler {
12
16
  */
13
17
  private _loadCompilerSources;
14
18
  }
15
- export declare class NativeCompiler {
19
+ export declare class NativeCompiler implements ICompiler {
16
20
  private _pathToSolc;
17
21
  constructor(_pathToSolc: string);
18
- compile(input: any): Promise<any>;
22
+ compile(input: CompilerInput): Promise<any>;
19
23
  }
20
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/solidity/compiler/index.ts"],"names":[],"mappings":"AAGA,qBAAa,QAAQ;IAGP,OAAO,CAAC,aAAa;IAFjC,OAAO,CAAC,WAAW,CAAC,CAAM;gBAEN,aAAa,EAAE,MAAM;IAE5B,OAAO,CAAC,KAAK,EAAE,GAAG;IAOlB,OAAO;IAapB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;CAkB7B;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,MAAM;IAE1B,OAAO,CAAC,KAAK,EAAE,GAAG;CAqBhC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/solidity/compiler/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACxD;AAED,qBAAa,QAAS,YAAW,SAAS;IAG5B,OAAO,CAAC,aAAa;IAFjC,OAAO,CAAC,WAAW,CAAC,CAAM;gBAEN,aAAa,EAAE,MAAM;IAE5B,OAAO,CAAC,KAAK,EAAE,aAAa;IAO5B,OAAO;IAapB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;CAkB7B;AAED,qBAAa,cAAe,YAAW,SAAS;IAClC,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,MAAM;IAE1B,OAAO,CAAC,KAAK,EAAE,aAAa;CAsB1C"}
@@ -64,7 +64,7 @@ class NativeCompiler {
64
64
  }
65
65
  async compile(input) {
66
66
  const output = await new Promise((resolve, reject) => {
67
- const process = (0, child_process_1.exec)(`${this._pathToSolc} --standard-json`, {
67
+ const process = (0, child_process_1.execFile)(this._pathToSolc, [`--standard-json`], {
68
68
  maxBuffer: 1024 * 1024 * 500,
69
69
  }, (err, stdout) => {
70
70
  if (err !== null) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/solidity/compiler/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAqC;AACrC,uCAAyB;AAEzB,MAAa,QAAQ;IAGnB,YAAoB,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;IAAG,CAAC;IAEtC,KAAK,CAAC,OAAO,CAAC,KAAU;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAElC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;YAClC,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;QAED,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,wDAAa,cAAc,GAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,GAAG,WAAW,CAC5B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAC9C,CAAC;QAEF,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,YAAoB;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAkB,CAAC;QACzC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,UAC1B,MAAqB,EACrB,QAAgB;YAEhB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzE,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAEzC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;QAEzC,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAjDD,4BAiDC;AAED,MAAa,cAAc;IACzB,YAAoB,WAAmB;QAAnB,gBAAW,GAAX,WAAW,CAAQ;IAAG,CAAC;IAEpC,KAAK,CAAC,OAAO,CAAC,KAAU;QAC7B,MAAM,MAAM,GAAW,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3D,MAAM,OAAO,GAAG,IAAA,oBAAI,EAClB,GAAG,IAAI,CAAC,WAAW,kBAAkB,EACrC;gBACE,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;aAC7B,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACd,IAAI,GAAG,KAAK,IAAI,EAAE;oBAChB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;iBACpB;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CACF,CAAC;YAEF,OAAO,CAAC,KAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,KAAM,CAAC,GAAG,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF;AAxBD,wCAwBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/solidity/compiler/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAyC;AACzC,uCAAyB;AAOzB,MAAa,QAAQ;IAGnB,YAAoB,aAAqB;QAArB,kBAAa,GAAb,aAAa,CAAQ;IAAG,CAAC;IAEtC,KAAK,CAAC,OAAO,CAAC,KAAoB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAElC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;YAClC,OAAO,IAAI,CAAC,WAAW,CAAC;SACzB;QAED,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,wDAAa,cAAc,GAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,GAAG,WAAW,CAC5B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAC9C,CAAC;QAEF,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,YAAoB;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,WAAkB,CAAC;QACzC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,UAC1B,MAAqB,EACrB,QAAgB;YAEhB,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzE,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAEzC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;QAEzC,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAjDD,4BAiDC;AAED,MAAa,cAAc;IACzB,YAAoB,WAAmB;QAAnB,gBAAW,GAAX,WAAW,CAAQ;IAAG,CAAC;IAEpC,KAAK,CAAC,OAAO,CAAC,KAAoB;QACvC,MAAM,MAAM,GAAW,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3D,MAAM,OAAO,GAAG,IAAA,wBAAQ,EACtB,IAAI,CAAC,WAAW,EAChB,CAAC,iBAAiB,CAAC,EACnB;gBACE,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,GAAG;aAC7B,EACD,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACd,IAAI,GAAG,KAAK,IAAI,EAAE;oBAChB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;iBACpB;gBACD,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CACF,CAAC;YAEF,OAAO,CAAC,KAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,KAAM,CAAC,GAAG,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF;AAzBD,wCAyBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dependencyGraph.d.ts","sourceRoot":"","sources":["../../src/internal/solidity/dependencyGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEpD,qBAAa,eAAgB,YAAW,SAAS,CAAC,eAAe;WAC3C,uBAAuB,CACzC,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,YAAY,EAAE,GAC5B,OAAO,CAAC,eAAe,CAAC;IAU3B,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,oBAAoB,CAAwC;IAEpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAEnD,OAAO;IAEA,gBAAgB,IAAI,YAAY,EAAE;IAIlC,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAIhC,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,KAAK,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAMnD,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE;IAOnD,yBAAyB,CAC9B,IAAI,EAAE,YAAY,GACjB,SAAS,CAAC,oBAAoB,EAAE;IAY5B,sBAAsB,IAAI,eAAe,EAAE;IA4DlD,OAAO,CAAC,0BAA0B;YA+BpB,oBAAoB;CAqBnC"}
1
+ {"version":3,"file":"dependencyGraph.d.ts","sourceRoot":"","sources":["../../src/internal/solidity/dependencyGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEpD,qBAAa,eAAgB,YAAW,SAAS,CAAC,eAAe;WAC3C,uBAAuB,CACzC,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,YAAY,EAAE,GAC5B,OAAO,CAAC,eAAe,CAAC;IAY3B,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,oBAAoB,CAAwC;IAEpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAEnD,OAAO;IAEA,gBAAgB,IAAI,YAAY,EAAE;IAIlC,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAIhC,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,KAAK,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAMnD,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE;IAOnD,yBAAyB,CAC9B,IAAI,EAAE,YAAY,GACjB,SAAS,CAAC,oBAAoB,EAAE;IAY5B,sBAAsB,IAAI,eAAe,EAAE;IA4DlD,OAAO,CAAC,0BAA0B;YA+BpB,oBAAoB;CAuBnC"}
@@ -9,9 +9,7 @@ class DependencyGraph {
9
9
  }
10
10
  static async createFromResolvedFiles(resolver, resolvedFiles) {
11
11
  const graph = new DependencyGraph();
12
- for (const resolvedFile of resolvedFiles) {
13
- await graph._addDependenciesFrom(resolver, resolvedFile);
14
- }
12
+ await Promise.all(resolvedFiles.map((resolvedFile) => graph._addDependenciesFrom(resolver, resolvedFile)));
15
13
  return graph;
16
14
  }
17
15
  getResolvedFiles() {
@@ -106,11 +104,11 @@ class DependencyGraph {
106
104
  const dependencies = new Set();
107
105
  this._resolvedFiles.set(file.sourceName, file);
108
106
  this._dependenciesPerFile.set(file.sourceName, dependencies);
109
- for (const imp of file.content.imports) {
107
+ await Promise.all(file.content.imports.map(async (imp) => {
110
108
  const dependency = await resolver.resolveImport(file, imp);
111
109
  dependencies.add(dependency);
112
110
  await this._addDependenciesFrom(resolver, dependency);
113
- }
111
+ }));
114
112
  }
115
113
  }
116
114
  exports.DependencyGraph = DependencyGraph;
@@ -1 +1 @@
1
- {"version":3,"file":"dependencyGraph.js","sourceRoot":"","sources":["../../src/internal/solidity/dependencyGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependencyGraph.js","sourceRoot":"","sources":["../../src/internal/solidity/dependencyGraph.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/internal/solidity/parse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAIpF,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,mBAAmB,CAAqB;gBAEpC,mBAAmB,CAAC,EAAE,kBAAkB;IAK7C,KAAK,CACV,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,UAAU;IAyCb;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAyBtB"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/internal/solidity/parse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEpF,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,mBAAmB,CAAqB;gBAEpC,mBAAmB,CAAC,EAAE,kBAAkB;IAK7C,KAAK,CACV,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,UAAU;IAgBb;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAyBtB"}