hardhat 2.6.8 → 2.8.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 (380) hide show
  1. package/builtin-tasks/check.js +1 -1
  2. package/builtin-tasks/check.js.map +1 -1
  3. package/builtin-tasks/clean.js +3 -3
  4. package/builtin-tasks/clean.js.map +1 -1
  5. package/builtin-tasks/compile.js +48 -48
  6. package/builtin-tasks/compile.js.map +1 -1
  7. package/builtin-tasks/console.js +3 -3
  8. package/builtin-tasks/console.js.map +1 -1
  9. package/builtin-tasks/flatten.js +8 -6
  10. package/builtin-tasks/flatten.js.map +1 -1
  11. package/builtin-tasks/help.js +2 -2
  12. package/builtin-tasks/help.js.map +1 -1
  13. package/builtin-tasks/node.js +21 -15
  14. package/builtin-tasks/node.js.map +1 -1
  15. package/builtin-tasks/run.js +11 -7
  16. package/builtin-tasks/run.js.map +1 -1
  17. package/builtin-tasks/test.js +11 -11
  18. package/builtin-tasks/test.js.map +1 -1
  19. package/builtin-tasks/utils/solidity-files-cache.js +1 -1
  20. package/builtin-tasks/utils/solidity-files-cache.js.map +1 -1
  21. package/builtin-tasks/utils/watch.d.ts.map +1 -1
  22. package/builtin-tasks/utils/watch.js +4 -2
  23. package/builtin-tasks/utils/watch.js.map +1 -1
  24. package/internal/artifacts.d.ts +49 -0
  25. package/internal/artifacts.d.ts.map +1 -1
  26. package/internal/artifacts.js +204 -68
  27. package/internal/artifacts.js.map +1 -1
  28. package/internal/cli/analytics.js +11 -10
  29. package/internal/cli/analytics.js.map +1 -1
  30. package/internal/cli/autocomplete.js +7 -7
  31. package/internal/cli/autocomplete.js.map +1 -1
  32. package/internal/cli/bootstrap.js +2 -2
  33. package/internal/cli/bootstrap.js.map +1 -1
  34. package/internal/cli/cli.js +16 -16
  35. package/internal/cli/cli.js.map +1 -1
  36. package/internal/cli/project-creation.js +13 -13
  37. package/internal/cli/project-creation.js.map +1 -1
  38. package/internal/constants.d.ts +2 -0
  39. package/internal/constants.d.ts.map +1 -1
  40. package/internal/constants.js +4 -1
  41. package/internal/constants.js.map +1 -1
  42. package/internal/context.d.ts +1 -2
  43. package/internal/context.d.ts.map +1 -1
  44. package/internal/context.js +3 -3
  45. package/internal/context.js.map +1 -1
  46. package/internal/core/config/config-loading.d.ts.map +1 -1
  47. package/internal/core/config/config-loading.js +21 -7
  48. package/internal/core/config/config-loading.js.map +1 -1
  49. package/internal/core/config/config-resolution.d.ts.map +1 -1
  50. package/internal/core/config/config-resolution.js +50 -12
  51. package/internal/core/config/config-resolution.js.map +1 -1
  52. package/internal/core/config/config-validation.d.ts +1 -0
  53. package/internal/core/config/config-validation.d.ts.map +1 -1
  54. package/internal/core/config/config-validation.js +151 -38
  55. package/internal/core/config/config-validation.js.map +1 -1
  56. package/internal/core/config/default-config.d.ts.map +1 -1
  57. package/internal/core/config/default-config.js +66 -2
  58. package/internal/core/config/default-config.js.map +1 -1
  59. package/internal/core/errors-list.js +2 -2
  60. package/internal/core/errors-list.js.map +1 -1
  61. package/internal/core/errors.js +3 -3
  62. package/internal/core/errors.js.map +1 -1
  63. package/internal/core/execution-mode.js +2 -2
  64. package/internal/core/execution-mode.js.map +1 -1
  65. package/internal/core/jsonrpc/types/access-list.d.ts +0 -1
  66. package/internal/core/jsonrpc/types/access-list.d.ts.map +1 -1
  67. package/internal/core/jsonrpc/types/access-list.js +1 -1
  68. package/internal/core/jsonrpc/types/access-list.js.map +1 -1
  69. package/internal/core/jsonrpc/types/base-types.js +9 -9
  70. package/internal/core/jsonrpc/types/base-types.js.map +1 -1
  71. package/internal/core/jsonrpc/types/input/blockTag.d.ts +3 -4
  72. package/internal/core/jsonrpc/types/input/blockTag.d.ts.map +1 -1
  73. package/internal/core/jsonrpc/types/input/blockTag.js +3 -3
  74. package/internal/core/jsonrpc/types/input/blockTag.js.map +1 -1
  75. package/internal/core/jsonrpc/types/input/callRequest.d.ts +0 -1
  76. package/internal/core/jsonrpc/types/input/callRequest.d.ts.map +1 -1
  77. package/internal/core/jsonrpc/types/input/callRequest.js +9 -9
  78. package/internal/core/jsonrpc/types/input/callRequest.js.map +1 -1
  79. package/internal/core/jsonrpc/types/input/debugTraceTransaction.js +4 -4
  80. package/internal/core/jsonrpc/types/input/debugTraceTransaction.js.map +1 -1
  81. package/internal/core/jsonrpc/types/input/filterRequest.d.ts +0 -1
  82. package/internal/core/jsonrpc/types/input/filterRequest.d.ts.map +1 -1
  83. package/internal/core/jsonrpc/types/input/filterRequest.js +2 -2
  84. package/internal/core/jsonrpc/types/input/filterRequest.js.map +1 -1
  85. package/internal/core/jsonrpc/types/input/hardhat-network.js +4 -4
  86. package/internal/core/jsonrpc/types/input/hardhat-network.js.map +1 -1
  87. package/internal/core/jsonrpc/types/input/logAddress.js +1 -1
  88. package/internal/core/jsonrpc/types/input/logAddress.js.map +1 -1
  89. package/internal/core/jsonrpc/types/input/logTopics.js +1 -1
  90. package/internal/core/jsonrpc/types/input/logTopics.js.map +1 -1
  91. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts +0 -1
  92. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts.map +1 -1
  93. package/internal/core/jsonrpc/types/input/transactionRequest.js +10 -10
  94. package/internal/core/jsonrpc/types/input/transactionRequest.js.map +1 -1
  95. package/internal/core/jsonrpc/types/output/block.d.ts +0 -1
  96. package/internal/core/jsonrpc/types/output/block.d.ts.map +1 -1
  97. package/internal/core/jsonrpc/types/output/block.js +5 -5
  98. package/internal/core/jsonrpc/types/output/block.js.map +1 -1
  99. package/internal/core/jsonrpc/types/output/log.d.ts +1 -1
  100. package/internal/core/jsonrpc/types/output/log.d.ts.map +1 -1
  101. package/internal/core/jsonrpc/types/output/log.js +5 -4
  102. package/internal/core/jsonrpc/types/output/log.js.map +1 -1
  103. package/internal/core/jsonrpc/types/output/receipt.d.ts +1 -1
  104. package/internal/core/jsonrpc/types/output/receipt.d.ts.map +1 -1
  105. package/internal/core/jsonrpc/types/output/receipt.js +6 -6
  106. package/internal/core/jsonrpc/types/output/receipt.js.map +1 -1
  107. package/internal/core/jsonrpc/types/output/transaction.d.ts +0 -1
  108. package/internal/core/jsonrpc/types/output/transaction.d.ts.map +1 -1
  109. package/internal/core/jsonrpc/types/output/transaction.js +9 -9
  110. package/internal/core/jsonrpc/types/output/transaction.js.map +1 -1
  111. package/internal/core/params/argumentTypes.d.ts.map +1 -1
  112. package/internal/core/params/argumentTypes.js +25 -13
  113. package/internal/core/params/argumentTypes.js.map +1 -1
  114. package/internal/core/params/env-variables.d.ts.map +1 -1
  115. package/internal/core/params/env-variables.js +9 -5
  116. package/internal/core/params/env-variables.js.map +1 -1
  117. package/internal/core/params/hardhat-params.js +2 -2
  118. package/internal/core/params/hardhat-params.js.map +1 -1
  119. package/internal/core/project-structure.js +1 -1
  120. package/internal/core/project-structure.js.map +1 -1
  121. package/internal/core/providers/accounts.d.ts.map +1 -1
  122. package/internal/core/providers/accounts.js +9 -8
  123. package/internal/core/providers/accounts.js.map +1 -1
  124. package/internal/core/providers/backwards-compatibility.js.map +1 -1
  125. package/internal/core/providers/chainId.js +3 -3
  126. package/internal/core/providers/chainId.js.map +1 -1
  127. package/internal/core/providers/construction.d.ts.map +1 -1
  128. package/internal/core/providers/construction.js +6 -4
  129. package/internal/core/providers/construction.js.map +1 -1
  130. package/internal/core/providers/gas-providers.d.ts.map +1 -1
  131. package/internal/core/providers/gas-providers.js +19 -17
  132. package/internal/core/providers/gas-providers.js.map +1 -1
  133. package/internal/core/providers/http.js +1 -1
  134. package/internal/core/providers/http.js.map +1 -1
  135. package/internal/core/providers/util.js +1 -1
  136. package/internal/core/providers/util.js.map +1 -1
  137. package/internal/core/providers/wrapper.d.ts.map +1 -1
  138. package/internal/core/runtime-environment.d.ts.map +1 -1
  139. package/internal/core/runtime-environment.js +7 -5
  140. package/internal/core/runtime-environment.js.map +1 -1
  141. package/internal/core/typescript-support.d.ts +1 -1
  142. package/internal/core/typescript-support.d.ts.map +1 -1
  143. package/internal/core/typescript-support.js +8 -5
  144. package/internal/core/typescript-support.js.map +1 -1
  145. package/internal/hardhat-network/jsonrpc/client.d.ts +2 -0
  146. package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
  147. package/internal/hardhat-network/jsonrpc/client.js +23 -23
  148. package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
  149. package/internal/hardhat-network/jsonrpc/handler.js +16 -8
  150. package/internal/hardhat-network/jsonrpc/handler.js.map +1 -1
  151. package/internal/hardhat-network/jsonrpc/server.js +1 -1
  152. package/internal/hardhat-network/jsonrpc/server.js.map +1 -1
  153. package/internal/hardhat-network/provider/BlockchainData.d.ts +1 -1
  154. package/internal/hardhat-network/provider/BlockchainData.js +12 -12
  155. package/internal/hardhat-network/provider/BlockchainData.js.map +1 -1
  156. package/internal/hardhat-network/provider/HardhatBlockchain.js +2 -2
  157. package/internal/hardhat-network/provider/HardhatBlockchain.js.map +1 -1
  158. package/internal/hardhat-network/provider/HardhatStateManager.js +29 -29
  159. package/internal/hardhat-network/provider/HardhatStateManager.js.map +1 -1
  160. package/internal/hardhat-network/provider/PoolState.js +6 -6
  161. package/internal/hardhat-network/provider/PoolState.js.map +1 -1
  162. package/internal/hardhat-network/provider/TransactionQueue.d.ts +2 -1
  163. package/internal/hardhat-network/provider/TransactionQueue.d.ts.map +1 -1
  164. package/internal/hardhat-network/provider/TransactionQueue.js +16 -2
  165. package/internal/hardhat-network/provider/TransactionQueue.js.map +1 -1
  166. package/internal/hardhat-network/provider/TxPool.js +19 -19
  167. package/internal/hardhat-network/provider/TxPool.js.map +1 -1
  168. package/internal/hardhat-network/provider/filter.js +3 -3
  169. package/internal/hardhat-network/provider/filter.js.map +1 -1
  170. package/internal/hardhat-network/provider/fork/AccountState.js +4 -4
  171. package/internal/hardhat-network/provider/fork/AccountState.js.map +1 -1
  172. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
  173. package/internal/hardhat-network/provider/fork/ForkBlockchain.js +8 -10
  174. package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
  175. package/internal/hardhat-network/provider/fork/ForkStateManager.js +34 -34
  176. package/internal/hardhat-network/provider/fork/ForkStateManager.js.map +1 -1
  177. package/internal/hardhat-network/provider/fork/random.d.ts +0 -1
  178. package/internal/hardhat-network/provider/fork/random.d.ts.map +1 -1
  179. package/internal/hardhat-network/provider/fork/random.js +13 -8
  180. package/internal/hardhat-network/provider/fork/random.js.map +1 -1
  181. package/internal/hardhat-network/provider/fork/rpcToBlockData.js +1 -0
  182. package/internal/hardhat-network/provider/fork/rpcToBlockData.js.map +1 -1
  183. package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +1 -1
  184. package/internal/hardhat-network/provider/modules/debug.js +1 -1
  185. package/internal/hardhat-network/provider/modules/debug.js.map +1 -1
  186. package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -1
  187. package/internal/hardhat-network/provider/modules/eth.js +86 -84
  188. package/internal/hardhat-network/provider/modules/eth.js.map +1 -1
  189. package/internal/hardhat-network/provider/modules/evm.js +9 -9
  190. package/internal/hardhat-network/provider/modules/evm.js.map +1 -1
  191. package/internal/hardhat-network/provider/modules/hardhat.d.ts +2 -0
  192. package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +1 -1
  193. package/internal/hardhat-network/provider/modules/hardhat.js +25 -15
  194. package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
  195. package/internal/hardhat-network/provider/modules/logger.d.ts.map +1 -1
  196. package/internal/hardhat-network/provider/modules/logger.js +30 -25
  197. package/internal/hardhat-network/provider/modules/logger.js.map +1 -1
  198. package/internal/hardhat-network/provider/modules/net.js +2 -2
  199. package/internal/hardhat-network/provider/modules/net.js.map +1 -1
  200. package/internal/hardhat-network/provider/modules/personal.js +2 -2
  201. package/internal/hardhat-network/provider/modules/personal.js.map +1 -1
  202. package/internal/hardhat-network/provider/modules/web3.js +4 -4
  203. package/internal/hardhat-network/provider/modules/web3.js.map +1 -1
  204. package/internal/hardhat-network/provider/node-types.d.ts +7 -1
  205. package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
  206. package/internal/hardhat-network/provider/node-types.js.map +1 -1
  207. package/internal/hardhat-network/provider/node.d.ts +10 -2
  208. package/internal/hardhat-network/provider/node.d.ts.map +1 -1
  209. package/internal/hardhat-network/provider/node.js +144 -75
  210. package/internal/hardhat-network/provider/node.js.map +1 -1
  211. package/internal/hardhat-network/provider/output.d.ts +1 -1
  212. package/internal/hardhat-network/provider/output.d.ts.map +1 -1
  213. package/internal/hardhat-network/provider/output.js +94 -91
  214. package/internal/hardhat-network/provider/output.js.map +1 -1
  215. package/internal/hardhat-network/provider/provider.d.ts +7 -3
  216. package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
  217. package/internal/hardhat-network/provider/provider.js +11 -4
  218. package/internal/hardhat-network/provider/provider.js.map +1 -1
  219. package/internal/hardhat-network/provider/return-data.js +4 -4
  220. package/internal/hardhat-network/provider/return-data.js.map +1 -1
  221. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
  222. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
  223. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
  224. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js +1 -1
  225. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js.map +1 -1
  226. package/internal/hardhat-network/provider/utils/bnToHex.js +1 -1
  227. package/internal/hardhat-network/provider/utils/bnToHex.js.map +1 -1
  228. package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js.map +1 -1
  229. package/internal/hardhat-network/provider/utils/makeAccount.js +4 -4
  230. package/internal/hardhat-network/provider/utils/makeAccount.js.map +1 -1
  231. package/internal/hardhat-network/provider/utils/makeCommon.js +3 -3
  232. package/internal/hardhat-network/provider/utils/makeCommon.js.map +1 -1
  233. package/internal/hardhat-network/provider/utils/makeForkClient.js +4 -4
  234. package/internal/hardhat-network/provider/utils/makeForkClient.js.map +1 -1
  235. package/internal/hardhat-network/provider/utils/makeStateTrie.js +1 -1
  236. package/internal/hardhat-network/provider/utils/makeStateTrie.js.map +1 -1
  237. package/internal/hardhat-network/provider/utils/txMapToArray.js +1 -1
  238. package/internal/hardhat-network/provider/utils/txMapToArray.js.map +1 -1
  239. package/internal/hardhat-network/stack-traces/compiler-to-model.js +4 -4
  240. package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -1
  241. package/internal/hardhat-network/stack-traces/consoleLogger.js +44 -44
  242. package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
  243. package/internal/hardhat-network/stack-traces/contracts-identifier.js +6 -6
  244. package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +1 -1
  245. package/internal/hardhat-network/stack-traces/debug.js +17 -17
  246. package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
  247. package/internal/hardhat-network/stack-traces/error-inferrer.js +28 -28
  248. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
  249. package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.js +3 -3
  250. package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.js.map +1 -1
  251. package/internal/hardhat-network/stack-traces/model.js +5 -5
  252. package/internal/hardhat-network/stack-traces/model.js.map +1 -1
  253. package/internal/hardhat-network/stack-traces/solidity-errors.js +3 -3
  254. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  255. package/internal/hardhat-network/stack-traces/solidityTracer.js +10 -10
  256. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
  257. package/internal/hardhat-network/stack-traces/source-maps.js +7 -7
  258. package/internal/hardhat-network/stack-traces/source-maps.js.map +1 -1
  259. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +5 -5
  260. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
  261. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js +2 -2
  262. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js.map +1 -1
  263. package/internal/hardhat-network/stack-traces/vm-tracer.js +3 -3
  264. package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
  265. package/internal/lib/hardhat-lib.js +3 -3
  266. package/internal/lib/hardhat-lib.js.map +1 -1
  267. package/internal/reset.js +1 -1
  268. package/internal/reset.js.map +1 -1
  269. package/internal/sentry/anonymizer.js.map +1 -1
  270. package/internal/sentry/reporter.js +5 -5
  271. package/internal/sentry/reporter.js.map +1 -1
  272. package/internal/sentry/subprocess.js +2 -2
  273. package/internal/sentry/subprocess.js.map +1 -1
  274. package/internal/sentry/transport.js +1 -1
  275. package/internal/sentry/transport.js.map +1 -1
  276. package/internal/solidity/compilation-job.js +4 -4
  277. package/internal/solidity/compilation-job.js.map +1 -1
  278. package/internal/solidity/compiler/downloader.d.ts +1 -1
  279. package/internal/solidity/compiler/downloader.d.ts.map +1 -1
  280. package/internal/solidity/compiler/downloader.js +21 -7
  281. package/internal/solidity/compiler/downloader.js.map +1 -1
  282. package/internal/solidity/compiler/index.js +1 -1
  283. package/internal/solidity/compiler/index.js.map +1 -1
  284. package/internal/solidity/dependencyGraph.js +2 -1
  285. package/internal/solidity/dependencyGraph.js.map +1 -1
  286. package/internal/solidity/parse.js +3 -2
  287. package/internal/solidity/parse.js.map +1 -1
  288. package/internal/solidity/resolver.js +10 -10
  289. package/internal/solidity/resolver.js.map +1 -1
  290. package/internal/util/abi-helpers.js +1 -1
  291. package/internal/util/abi-helpers.js.map +1 -1
  292. package/internal/util/download.d.ts.map +1 -1
  293. package/internal/util/download.js +12 -1
  294. package/internal/util/download.js.map +1 -1
  295. package/internal/util/global-dir.js +1 -1
  296. package/internal/util/global-dir.js.map +1 -1
  297. package/internal/util/hardforks.d.ts +2 -1
  298. package/internal/util/hardforks.d.ts.map +1 -1
  299. package/internal/util/hardforks.js +3 -1
  300. package/internal/util/hardforks.js.map +1 -1
  301. package/internal/util/jsonrpc.js +1 -1
  302. package/internal/util/jsonrpc.js.map +1 -1
  303. package/internal/util/packageInfo.js +1 -1
  304. package/internal/util/packageInfo.js.map +1 -1
  305. package/internal/util/scripts-runner.js +3 -3
  306. package/internal/util/scripts-runner.js.map +1 -1
  307. package/package.json +13 -13
  308. package/register.js +7 -7
  309. package/register.js.map +1 -1
  310. package/src/builtin-tasks/flatten.ts +4 -2
  311. package/src/builtin-tasks/node.ts +17 -10
  312. package/src/builtin-tasks/run.ts +13 -8
  313. package/src/builtin-tasks/utils/watch.ts +3 -1
  314. package/src/internal/artifacts.ts +269 -72
  315. package/src/internal/cli/analytics.ts +1 -1
  316. package/src/internal/cli/autocomplete.ts +3 -3
  317. package/src/internal/cli/bootstrap.ts +1 -1
  318. package/src/internal/cli/cli.ts +2 -2
  319. package/src/internal/cli/project-creation.ts +2 -2
  320. package/src/internal/constants.ts +4 -0
  321. package/src/internal/context.ts +1 -1
  322. package/src/internal/core/config/config-loading.ts +24 -2
  323. package/src/internal/core/config/config-resolution.ts +61 -3
  324. package/src/internal/core/config/config-validation.ts +217 -15
  325. package/src/internal/core/config/default-config.ts +66 -2
  326. package/src/internal/core/errors-list.ts +2 -2
  327. package/src/internal/core/execution-mode.ts +1 -1
  328. package/src/internal/core/jsonrpc/types/output/log.ts +1 -0
  329. package/src/internal/core/params/argumentTypes.ts +40 -25
  330. package/src/internal/core/params/env-variables.ts +13 -8
  331. package/src/internal/core/params/hardhat-params.ts +2 -2
  332. package/src/internal/core/providers/accounts.ts +4 -3
  333. package/src/internal/core/providers/backwards-compatibility.ts +1 -1
  334. package/src/internal/core/providers/chainId.ts +1 -1
  335. package/src/internal/core/providers/construction.ts +9 -2
  336. package/src/internal/core/providers/gas-providers.ts +6 -4
  337. package/src/internal/core/providers/http.ts +1 -1
  338. package/src/internal/core/providers/wrapper.ts +1 -1
  339. package/src/internal/core/runtime-environment.ts +3 -1
  340. package/src/internal/core/typescript-support.ts +7 -3
  341. package/src/internal/hardhat-network/jsonrpc/client.ts +2 -2
  342. package/src/internal/hardhat-network/jsonrpc/handler.ts +12 -2
  343. package/src/internal/hardhat-network/jsonrpc/server.ts +2 -2
  344. package/src/internal/hardhat-network/provider/TransactionQueue.ts +31 -4
  345. package/src/internal/hardhat-network/provider/TxPool.ts +1 -1
  346. package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +2 -4
  347. package/src/internal/hardhat-network/provider/modules/eth.ts +23 -21
  348. package/src/internal/hardhat-network/provider/modules/hardhat.ts +15 -1
  349. package/src/internal/hardhat-network/provider/modules/logger.ts +13 -9
  350. package/src/internal/hardhat-network/provider/node-types.ts +8 -1
  351. package/src/internal/hardhat-network/provider/node.ts +156 -29
  352. package/src/internal/hardhat-network/provider/output.ts +9 -9
  353. package/src/internal/hardhat-network/provider/provider.ts +12 -2
  354. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +1 -1
  355. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +1 -1
  356. package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +3 -3
  357. package/src/internal/reset.ts +1 -1
  358. package/src/internal/sentry/subprocess.ts +2 -2
  359. package/src/internal/solidity/compiler/downloader.ts +27 -12
  360. package/src/internal/solidity/resolver.ts +1 -1
  361. package/src/internal/util/abi-helpers.ts +1 -1
  362. package/src/internal/util/download.ts +17 -1
  363. package/src/internal/util/hardforks.ts +2 -0
  364. package/src/internal/util/jsonrpc.ts +1 -1
  365. package/src/internal/util/packageInfo.ts +1 -1
  366. package/src/internal/util/scripts-runner.ts +1 -1
  367. package/src/register.ts +1 -1
  368. package/src/types/config.ts +42 -0
  369. package/src/utils/contract-names.ts +112 -0
  370. package/src/utils/source-names.ts +14 -12
  371. package/types/config.d.ts +26 -0
  372. package/types/config.d.ts.map +1 -1
  373. package/utils/contract-names.d.ts +10 -0
  374. package/utils/contract-names.d.ts.map +1 -1
  375. package/utils/contract-names.js +92 -1
  376. package/utils/contract-names.js.map +1 -1
  377. package/utils/source-names.d.ts +1 -1
  378. package/utils/source-names.js +8 -6
  379. package/utils/source-names.js.map +1 -1
  380. package/CHANGELOG.md +0 -54
@@ -169,22 +169,22 @@ class EthModule {
169
169
  }
170
170
  // eth_accounts
171
171
  _accountsParams(params) {
172
- return validation_1.validateParams(params);
172
+ return (0, validation_1.validateParams)(params);
173
173
  }
174
174
  async _accountsAction() {
175
175
  return this._node.getLocalAccountAddresses();
176
176
  }
177
177
  // eth_blockNumber
178
178
  _blockNumberParams(params) {
179
- return validation_1.validateParams(params);
179
+ return (0, validation_1.validateParams)(params);
180
180
  }
181
181
  async _blockNumberAction() {
182
182
  const blockNumber = await this._node.getLatestBlockNumber();
183
- return base_types_1.numberToRpcQuantity(blockNumber);
183
+ return (0, base_types_1.numberToRpcQuantity)(blockNumber);
184
184
  }
185
185
  // eth_call
186
186
  _callParams(params) {
187
- return validation_1.validateParams(params, callRequest_1.rpcCallRequest, blockTag_1.optionalRpcNewBlockTag);
187
+ return (0, validation_1.validateParams)(params, callRequest_1.rpcCallRequest, blockTag_1.optionalRpcNewBlockTag);
188
188
  }
189
189
  async _callAction(rpcCall, blockTag) {
190
190
  this._validateTransactionAndCallRequest(rpcCall);
@@ -197,18 +197,18 @@ class EthModule {
197
197
  if (error !== undefined && this._throwOnCallFailures) {
198
198
  throw error;
199
199
  }
200
- return base_types_1.bufferToRpcData(returnData.value);
200
+ return (0, base_types_1.bufferToRpcData)(returnData.value);
201
201
  }
202
202
  // eth_chainId
203
203
  _chainIdParams(params) {
204
- return validation_1.validateParams(params);
204
+ return (0, validation_1.validateParams)(params);
205
205
  }
206
206
  async _chainIdAction() {
207
- return base_types_1.numberToRpcQuantity(this._common.chainId());
207
+ return (0, base_types_1.numberToRpcQuantity)(this._common.chainId());
208
208
  }
209
209
  // eth_coinbase
210
210
  _coinbaseParams(params) {
211
- return validation_1.validateParams(params);
211
+ return (0, validation_1.validateParams)(params);
212
212
  }
213
213
  async _coinbaseAction() {
214
214
  return this._node.getCoinbaseAddress().toString();
@@ -219,7 +219,7 @@ class EthModule {
219
219
  // eth_estimateGas
220
220
  _estimateGasParams(params) {
221
221
  // Estimate gas uses a CallArgs in Geth, so we mimic it here
222
- return validation_1.validateParams(params, callRequest_1.rpcCallRequest, blockTag_1.optionalRpcNewBlockTag);
222
+ return (0, validation_1.validateParams)(params, callRequest_1.rpcCallRequest, blockTag_1.optionalRpcNewBlockTag);
223
223
  }
224
224
  async _estimateGasAction(callRequest, blockTag) {
225
225
  this._validateTransactionAndCallRequest(callRequest);
@@ -233,26 +233,26 @@ class EthModule {
233
233
  this._logger.logEstimateGasTrace(callParams, code, trace, consoleLogMessages, error);
234
234
  throw error;
235
235
  }
236
- return base_types_1.numberToRpcQuantity(estimation);
236
+ return (0, base_types_1.numberToRpcQuantity)(estimation);
237
237
  }
238
238
  // eth_gasPrice
239
239
  _gasPriceParams(params) {
240
- return validation_1.validateParams(params);
240
+ return (0, validation_1.validateParams)(params);
241
241
  }
242
242
  async _gasPriceAction() {
243
- return base_types_1.numberToRpcQuantity(await this._node.getGasPrice());
243
+ return (0, base_types_1.numberToRpcQuantity)(await this._node.getGasPrice());
244
244
  }
245
245
  // eth_getBalance
246
246
  _getBalanceParams(params) {
247
- return validation_1.validateParams(params, base_types_1.rpcAddress, blockTag_1.optionalRpcNewBlockTag);
247
+ return (0, validation_1.validateParams)(params, base_types_1.rpcAddress, blockTag_1.optionalRpcNewBlockTag);
248
248
  }
249
249
  async _getBalanceAction(address, blockTag) {
250
250
  const blockNumberOrPending = await this._resolveNewBlockTag(blockTag);
251
- return base_types_1.numberToRpcQuantity(await this._node.getAccountBalance(new ethereumjs_util_1.Address(address), blockNumberOrPending));
251
+ return (0, base_types_1.numberToRpcQuantity)(await this._node.getAccountBalance(new ethereumjs_util_1.Address(address), blockNumberOrPending));
252
252
  }
253
253
  // eth_getBlockByHash
254
254
  _getBlockByHashParams(params) {
255
- return validation_1.validateParams(params, base_types_1.rpcHash, t.boolean);
255
+ return (0, validation_1.validateParams)(params, base_types_1.rpcHash, t.boolean);
256
256
  }
257
257
  async _getBlockByHashAction(hash, includeTransactions) {
258
258
  const block = await this._node.getBlockByHash(hash);
@@ -260,11 +260,11 @@ class EthModule {
260
260
  return null;
261
261
  }
262
262
  const totalDifficulty = await this._node.getBlockTotalDifficulty(block);
263
- return output_1.getRpcBlock(block, totalDifficulty, output_1.shouldShowTransactionTypeForHardfork(this._common), includeTransactions);
263
+ return (0, output_1.getRpcBlock)(block, totalDifficulty, (0, output_1.shouldShowTransactionTypeForHardfork)(this._common), includeTransactions);
264
264
  }
265
265
  // eth_getBlockByNumber
266
266
  _getBlockByNumberParams(params) {
267
- return validation_1.validateParams(params, blockTag_1.rpcOldBlockTag, t.boolean);
267
+ return (0, validation_1.validateParams)(params, blockTag_1.rpcOldBlockTag, t.boolean);
268
268
  }
269
269
  async _getBlockByNumberAction(oldBlockTag, includeTransactions) {
270
270
  const numberOrPending = await this._resolveOldBlockTag(oldBlockTag);
@@ -284,22 +284,22 @@ class EthModule {
284
284
  }
285
285
  totalDifficulty = await this._node.getBlockTotalDifficulty(block);
286
286
  }
287
- return output_1.getRpcBlock(block, totalDifficulty, output_1.shouldShowTransactionTypeForHardfork(this._common), includeTransactions, numberOrPending === "pending");
287
+ return (0, output_1.getRpcBlock)(block, totalDifficulty, (0, output_1.shouldShowTransactionTypeForHardfork)(this._common), includeTransactions, numberOrPending === "pending");
288
288
  }
289
289
  // eth_getBlockTransactionCountByHash
290
290
  _getBlockTransactionCountByHashParams(params) {
291
- return validation_1.validateParams(params, base_types_1.rpcHash);
291
+ return (0, validation_1.validateParams)(params, base_types_1.rpcHash);
292
292
  }
293
293
  async _getBlockTransactionCountByHashAction(hash) {
294
294
  const block = await this._node.getBlockByHash(hash);
295
295
  if (block === undefined) {
296
296
  return null;
297
297
  }
298
- return base_types_1.numberToRpcQuantity(block.transactions.length);
298
+ return (0, base_types_1.numberToRpcQuantity)(block.transactions.length);
299
299
  }
300
300
  // eth_getBlockTransactionCountByNumber
301
301
  _getBlockTransactionCountByNumberParams(params) {
302
- return validation_1.validateParams(params, blockTag_1.rpcOldBlockTag);
302
+ return (0, validation_1.validateParams)(params, blockTag_1.rpcOldBlockTag);
303
303
  }
304
304
  async _getBlockTransactionCountByNumberAction(oldBlockTag) {
305
305
  const numberOrPending = await this._resolveOldBlockTag(oldBlockTag);
@@ -310,20 +310,20 @@ class EthModule {
310
310
  if (block === undefined) {
311
311
  return null;
312
312
  }
313
- return base_types_1.numberToRpcQuantity(block.transactions.length);
313
+ return (0, base_types_1.numberToRpcQuantity)(block.transactions.length);
314
314
  }
315
315
  // eth_getCode
316
316
  _getCodeParams(params) {
317
- return validation_1.validateParams(params, base_types_1.rpcAddress, blockTag_1.optionalRpcNewBlockTag);
317
+ return (0, validation_1.validateParams)(params, base_types_1.rpcAddress, blockTag_1.optionalRpcNewBlockTag);
318
318
  }
319
319
  async _getCodeAction(address, blockTag) {
320
320
  const blockNumberOrPending = await this._resolveNewBlockTag(blockTag);
321
- return base_types_1.bufferToRpcData(await this._node.getCode(new ethereumjs_util_1.Address(address), blockNumberOrPending));
321
+ return (0, base_types_1.bufferToRpcData)(await this._node.getCode(new ethereumjs_util_1.Address(address), blockNumberOrPending));
322
322
  }
323
323
  // eth_getCompilers
324
324
  // eth_getFilterChanges
325
325
  _getFilterChangesParams(params) {
326
- return validation_1.validateParams(params, base_types_1.rpcQuantity);
326
+ return (0, validation_1.validateParams)(params, base_types_1.rpcQuantity);
327
327
  }
328
328
  async _getFilterChangesAction(filterId) {
329
329
  const changes = await this._node.getFilterChanges(filterId);
@@ -334,7 +334,7 @@ class EthModule {
334
334
  }
335
335
  // eth_getFilterLogs
336
336
  _getFilterLogsParams(params) {
337
- return validation_1.validateParams(params, base_types_1.rpcQuantity);
337
+ return (0, validation_1.validateParams)(params, base_types_1.rpcQuantity);
338
338
  }
339
339
  async _getFilterLogsAction(filterId) {
340
340
  const changes = await this._node.getFilterLogs(filterId);
@@ -345,7 +345,7 @@ class EthModule {
345
345
  }
346
346
  // eth_getLogs
347
347
  _getLogsParams(params) {
348
- return validation_1.validateParams(params, filterRequest_1.rpcFilterRequest);
348
+ return (0, validation_1.validateParams)(params, filterRequest_1.rpcFilterRequest);
349
349
  }
350
350
  async _rpcFilterRequestToGetLogsParams(filter) {
351
351
  if (filter.blockHash !== undefined) {
@@ -373,21 +373,21 @@ class EthModule {
373
373
  async _getLogsAction(filter) {
374
374
  const filterParams = await this._rpcFilterRequestToGetLogsParams(filter);
375
375
  const logs = await this._node.getLogs(filterParams);
376
- return cloneDeep_1.default(logs);
376
+ return (0, cloneDeep_1.default)(logs);
377
377
  }
378
378
  // eth_getProof
379
379
  // eth_getStorageAt
380
380
  _getStorageAtParams(params) {
381
- return validation_1.validateParams(params, base_types_1.rpcAddress, base_types_1.rpcQuantity, blockTag_1.optionalRpcNewBlockTag);
381
+ return (0, validation_1.validateParams)(params, base_types_1.rpcAddress, base_types_1.rpcQuantity, blockTag_1.optionalRpcNewBlockTag);
382
382
  }
383
383
  async _getStorageAtAction(address, slot, blockTag) {
384
384
  const blockNumberOrPending = await this._resolveNewBlockTag(blockTag);
385
385
  const data = await this._node.getStorageAt(new ethereumjs_util_1.Address(address), slot, blockNumberOrPending);
386
- return base_types_1.bufferToRpcData(data);
386
+ return (0, base_types_1.bufferToRpcData)(data);
387
387
  }
388
388
  // eth_getTransactionByBlockHashAndIndex
389
389
  _getTransactionByBlockHashAndIndexParams(params) {
390
- return validation_1.validateParams(params, base_types_1.rpcHash, base_types_1.rpcQuantity);
390
+ return (0, validation_1.validateParams)(params, base_types_1.rpcHash, base_types_1.rpcQuantity);
391
391
  }
392
392
  async _getTransactionByBlockHashAndIndexAction(hash, index) {
393
393
  const i = index.toNumber();
@@ -399,11 +399,11 @@ class EthModule {
399
399
  if (tx === undefined) {
400
400
  return null;
401
401
  }
402
- return output_1.getRpcTransaction(tx, output_1.shouldShowTransactionTypeForHardfork(this._common), block, i);
402
+ return (0, output_1.getRpcTransaction)(tx, (0, output_1.shouldShowTransactionTypeForHardfork)(this._common), block, i);
403
403
  }
404
404
  // eth_getTransactionByBlockNumberAndIndex
405
405
  _getTransactionByBlockNumberAndIndexParams(params) {
406
- return validation_1.validateParams(params, blockTag_1.rpcOldBlockTag, base_types_1.rpcQuantity);
406
+ return (0, validation_1.validateParams)(params, blockTag_1.rpcOldBlockTag, base_types_1.rpcQuantity);
407
407
  }
408
408
  async _getTransactionByBlockNumberAndIndexAction(oldBlockTag, index) {
409
409
  const numberOrPending = await this._resolveOldBlockTag(oldBlockTag);
@@ -419,19 +419,19 @@ class EthModule {
419
419
  if (tx === undefined) {
420
420
  return null;
421
421
  }
422
- const showTransactionType = output_1.shouldShowTransactionTypeForHardfork(this._common);
422
+ const showTransactionType = (0, output_1.shouldShowTransactionTypeForHardfork)(this._common);
423
423
  return numberOrPending === "pending"
424
- ? output_1.getRpcTransaction(tx, showTransactionType, "pending")
425
- : output_1.getRpcTransaction(tx, showTransactionType, block, i);
424
+ ? (0, output_1.getRpcTransaction)(tx, showTransactionType, "pending")
425
+ : (0, output_1.getRpcTransaction)(tx, showTransactionType, block, i);
426
426
  }
427
427
  // eth_getTransactionByHash
428
428
  _getTransactionByHashParams(params) {
429
- return validation_1.validateParams(params, base_types_1.rpcHash);
429
+ return (0, validation_1.validateParams)(params, base_types_1.rpcHash);
430
430
  }
431
431
  async _getTransactionByHashAction(hash) {
432
432
  const pendingTx = await this._node.getPendingTransaction(hash);
433
433
  if (pendingTx !== undefined) {
434
- return output_1.getRpcTransaction(pendingTx, output_1.shouldShowTransactionTypeForHardfork(this._common), "pending");
434
+ return (0, output_1.getRpcTransaction)(pendingTx, (0, output_1.shouldShowTransactionTypeForHardfork)(this._common), "pending");
435
435
  }
436
436
  const block = await this._node.getBlockByTransactionHash(hash);
437
437
  if (block === undefined) {
@@ -442,26 +442,26 @@ class EthModule {
442
442
  if (tx === undefined) {
443
443
  throw new Error("Transaction not found in the saved block, this should never happen");
444
444
  }
445
- return output_1.getRpcTransaction(tx, output_1.shouldShowTransactionTypeForHardfork(this._common), block, index);
445
+ return (0, output_1.getRpcTransaction)(tx, (0, output_1.shouldShowTransactionTypeForHardfork)(this._common), block, index);
446
446
  }
447
447
  // eth_getTransactionCount
448
448
  _getTransactionCountParams(params) {
449
- return validation_1.validateParams(params, base_types_1.rpcAddress, blockTag_1.optionalRpcNewBlockTag);
449
+ return (0, validation_1.validateParams)(params, base_types_1.rpcAddress, blockTag_1.optionalRpcNewBlockTag);
450
450
  }
451
451
  async _getTransactionCountAction(address, blockTag) {
452
452
  const blockNumberOrPending = await this._resolveNewBlockTag(blockTag);
453
- return base_types_1.numberToRpcQuantity(await this._node.getNextConfirmedNonce(new ethereumjs_util_1.Address(address), blockNumberOrPending));
453
+ return (0, base_types_1.numberToRpcQuantity)(await this._node.getNextConfirmedNonce(new ethereumjs_util_1.Address(address), blockNumberOrPending));
454
454
  }
455
455
  // eth_getTransactionReceipt
456
456
  _getTransactionReceiptParams(params) {
457
- return validation_1.validateParams(params, base_types_1.rpcHash);
457
+ return (0, validation_1.validateParams)(params, base_types_1.rpcHash);
458
458
  }
459
459
  async _getTransactionReceiptAction(hash) {
460
460
  const receipt = await this._node.getTransactionReceipt(hash);
461
461
  if (receipt === undefined) {
462
462
  return null;
463
463
  }
464
- return cloneDeep_1.default(receipt);
464
+ return (0, cloneDeep_1.default)(receipt);
465
465
  }
466
466
  // eth_getUncleByBlockHashAndIndex
467
467
  // TODO: Implement
@@ -475,7 +475,7 @@ class EthModule {
475
475
  // eth_hashrate
476
476
  // eth_mining
477
477
  _miningParams(params) {
478
- return validation_1.validateParams(params);
478
+ return (0, validation_1.validateParams)(params);
479
479
  }
480
480
  async _miningAction() {
481
481
  return false;
@@ -486,16 +486,16 @@ class EthModule {
486
486
  }
487
487
  async _newBlockFilterAction() {
488
488
  const filterId = await this._node.newBlockFilter(false);
489
- return base_types_1.numberToRpcQuantity(filterId);
489
+ return (0, base_types_1.numberToRpcQuantity)(filterId);
490
490
  }
491
491
  // eth_newFilter
492
492
  _newFilterParams(params) {
493
- return validation_1.validateParams(params, filterRequest_1.rpcFilterRequest);
493
+ return (0, validation_1.validateParams)(params, filterRequest_1.rpcFilterRequest);
494
494
  }
495
495
  async _newFilterAction(filter) {
496
496
  const filterParams = await this._rpcFilterRequestToGetLogsParams(filter);
497
497
  const filterId = await this._node.newFilter(filterParams, false);
498
- return base_types_1.numberToRpcQuantity(filterId);
498
+ return (0, base_types_1.numberToRpcQuantity)(filterId);
499
499
  }
500
500
  // eth_newPendingTransactionFilter
501
501
  _newPendingTransactionParams(_params) {
@@ -503,7 +503,7 @@ class EthModule {
503
503
  }
504
504
  async _newPendingTransactionAction() {
505
505
  const filterId = await this._node.newPendingTransactionFilter(false);
506
- return base_types_1.numberToRpcQuantity(filterId);
506
+ return (0, base_types_1.numberToRpcQuantity)(filterId);
507
507
  }
508
508
  // eth_pendingTransactions
509
509
  _pendingTransactionsParams(_params) {
@@ -511,12 +511,12 @@ class EthModule {
511
511
  }
512
512
  async _pendingTransactionsAction() {
513
513
  const txs = await this._node.getPendingTransactions();
514
- return txs.map((tx) => output_1.getRpcTransaction(tx, output_1.shouldShowTransactionTypeForHardfork(this._common), "pending"));
514
+ return txs.map((tx) => (0, output_1.getRpcTransaction)(tx, (0, output_1.shouldShowTransactionTypeForHardfork)(this._common), "pending"));
515
515
  }
516
516
  // eth_protocolVersion
517
517
  // eth_sendRawTransaction
518
518
  _sendRawTransactionParams(params) {
519
- return validation_1.validateParams(params, base_types_1.rpcData);
519
+ return (0, validation_1.validateParams)(params, base_types_1.rpcData);
520
520
  }
521
521
  async _sendRawTransactionAction(rawTx) {
522
522
  this._validateRawTransactionHardforkRequirements(rawTx);
@@ -530,18 +530,20 @@ class EthModule {
530
530
  // This section of the code is incredibly dependant of TransactionFactory.fromSerializedData
531
531
  // AccessListEIP2930Transaction.fromSerializedTx and Transaction.fromSerializedTx
532
532
  // Please keep it updated.
533
- if (error.message === "invalid remainder") {
534
- throw new errors_1.InvalidArgumentsError("Invalid transaction", error);
535
- }
536
- if (error.message.includes("Incompatible EIP155")) {
537
- throw new errors_1.InvalidArgumentsError("Trying to send an incompatible EIP-155 transaction, signed for another chain.", error);
538
- }
539
- if (error.message.includes("TypedTransaction with ID") &&
540
- error.message.includes(" unknown")) {
541
- throw new errors_1.InvalidArgumentsError(`Invalid transaction`, error);
542
- }
543
- if (error.message.includes("The chain ID does not match")) {
544
- throw new errors_1.InvalidArgumentsError(`Trying to send a raw transaction with an invalid chainId. The expected chainId is ${this._common.chainIdBN()}`, error);
533
+ if (error instanceof Error) {
534
+ if (error.message === "invalid remainder") {
535
+ throw new errors_1.InvalidArgumentsError("Invalid transaction", error);
536
+ }
537
+ if (error.message.includes("Incompatible EIP155")) {
538
+ throw new errors_1.InvalidArgumentsError("Trying to send an incompatible EIP-155 transaction, signed for another chain.", error);
539
+ }
540
+ if (error.message.includes("TypedTransaction with ID") &&
541
+ error.message.includes(" unknown")) {
542
+ throw new errors_1.InvalidArgumentsError(`Invalid transaction`, error);
543
+ }
544
+ if (error.message.includes("The chain ID does not match")) {
545
+ throw new errors_1.InvalidArgumentsError(`Trying to send a raw transaction with an invalid chainId. The expected chainId is ${this._common.chainIdBN()}`, error);
546
+ }
545
547
  }
546
548
  throw error;
547
549
  }
@@ -555,7 +557,7 @@ class EthModule {
555
557
  }
556
558
  // eth_sendTransaction
557
559
  _sendTransactionParams(params) {
558
- return validation_1.validateParams(params, transactionRequest_1.rpcTransactionRequest);
560
+ return (0, validation_1.validateParams)(params, transactionRequest_1.rpcTransactionRequest);
559
561
  }
560
562
  async _sendTransactionAction(transactionRequest) {
561
563
  const expectedChainId = this._common.chainIdBN();
@@ -570,17 +572,17 @@ class EthModule {
570
572
  }
571
573
  // eth_sign
572
574
  _signParams(params) {
573
- return validation_1.validateParams(params, base_types_1.rpcAddress, base_types_1.rpcData);
575
+ return (0, validation_1.validateParams)(params, base_types_1.rpcAddress, base_types_1.rpcData);
574
576
  }
575
577
  async _signAction(address, data) {
576
578
  const signature = await this._node.signPersonalMessage(new ethereumjs_util_1.Address(address), data);
577
- return ethereumjs_util_1.toRpcSig(signature.v, signature.r, signature.s);
579
+ return (0, ethereumjs_util_1.toRpcSig)(signature.v, signature.r, signature.s);
578
580
  }
579
581
  // eth_signTransaction
580
582
  // eth_signTypedData_v4
581
583
  _signTypedDataV4Params(params) {
582
584
  // Validation of the TypedData parameter is handled by eth-sig-util
583
- return validation_1.validateParams(params, base_types_1.rpcAddress, t.any);
585
+ return (0, validation_1.validateParams)(params, base_types_1.rpcAddress, t.any);
584
586
  }
585
587
  async _signTypedDataV4Action(address, typedData) {
586
588
  let typedMessage = typedData;
@@ -592,7 +594,7 @@ class EthModule {
592
594
  try {
593
595
  typedMessage = JSON.parse(typedData);
594
596
  }
595
- catch (error) {
597
+ catch (_a) {
596
598
  throw new errors_1.InvalidInputError(`The message parameter is an invalid JSON. Either pass a valid JSON or a plain object conforming to EIP712 TypedData schema.`);
597
599
  }
598
600
  }
@@ -604,46 +606,46 @@ class EthModule {
604
606
  if (params.length === 0) {
605
607
  throw new errors_1.InvalidInputError("Expected subscription name as first argument");
606
608
  }
607
- return validation_1.validateParams(params, subscribeRequest_1.rpcSubscribeRequest, filterRequest_1.optionalRpcFilterRequest);
609
+ return (0, validation_1.validateParams)(params, subscribeRequest_1.rpcSubscribeRequest, filterRequest_1.optionalRpcFilterRequest);
608
610
  }
609
611
  async _subscribeAction(subscribeRequest, optionalFilterRequest) {
610
612
  switch (subscribeRequest) {
611
613
  case "newHeads":
612
- return base_types_1.numberToRpcQuantity(await this._node.newBlockFilter(true));
614
+ return (0, base_types_1.numberToRpcQuantity)(await this._node.newBlockFilter(true));
613
615
  case "newPendingTransactions":
614
- return base_types_1.numberToRpcQuantity(await this._node.newPendingTransactionFilter(true));
616
+ return (0, base_types_1.numberToRpcQuantity)(await this._node.newPendingTransactionFilter(true));
615
617
  case "logs":
616
618
  if (optionalFilterRequest === undefined) {
617
619
  throw new errors_1.InvalidArgumentsError("missing params argument");
618
620
  }
619
621
  const filterParams = await this._rpcFilterRequestToGetLogsParams(optionalFilterRequest);
620
- return base_types_1.numberToRpcQuantity(await this._node.newFilter(filterParams, true));
622
+ return (0, base_types_1.numberToRpcQuantity)(await this._node.newFilter(filterParams, true));
621
623
  }
622
624
  }
623
625
  // eth_syncing
624
626
  _syncingParams(params) {
625
- return validation_1.validateParams(params);
627
+ return (0, validation_1.validateParams)(params);
626
628
  }
627
629
  async _syncingAction() {
628
630
  return false;
629
631
  }
630
632
  // eth_uninstallFilter
631
633
  _uninstallFilterParams(params) {
632
- return validation_1.validateParams(params, base_types_1.rpcQuantity);
634
+ return (0, validation_1.validateParams)(params, base_types_1.rpcQuantity);
633
635
  }
634
636
  async _uninstallFilterAction(filterId) {
635
637
  return this._node.uninstallFilter(filterId, false);
636
638
  }
637
639
  // eth_unsubscribe
638
640
  _unsubscribeParams(params) {
639
- return validation_1.validateParams(params, base_types_1.rpcQuantity);
641
+ return (0, validation_1.validateParams)(params, base_types_1.rpcQuantity);
640
642
  }
641
643
  async _unsubscribeAction(filterId) {
642
644
  return this._node.uninstallFilter(filterId, true);
643
645
  }
644
646
  // eth_feeHistory
645
647
  _feeHistoryParams(params) {
646
- const [blockCount, newestBlock, rewardPercentiles] = validation_1.validateParams(params, base_types_1.rpcQuantity, blockTag_1.rpcNewBlockTag, io_ts_1.optional(t.array(base_types_1.rpcFloat)));
648
+ const [blockCount, newestBlock, rewardPercentiles] = (0, validation_1.validateParams)(params, base_types_1.rpcQuantity, blockTag_1.rpcNewBlockTag, (0, io_ts_1.optional)(t.array(base_types_1.rpcFloat)));
647
649
  if (blockCount.ltn(1)) {
648
650
  throw new errors_1.InvalidInputError(`blockCount should be at least 1`);
649
651
  }
@@ -672,7 +674,7 @@ class EthModule {
672
674
  }
673
675
  const resolvedNewestBlock = await this._resolveNewBlockTag(newestBlock);
674
676
  const feeHistory = await this._node.getFeeHistory(blockCount, resolvedNewestBlock, rewardPercentiles !== null && rewardPercentiles !== void 0 ? rewardPercentiles : []);
675
- const oldestBlock = base_types_1.numberToRpcQuantity(feeHistory.oldestBlock);
677
+ const oldestBlock = (0, base_types_1.numberToRpcQuantity)(feeHistory.oldestBlock);
676
678
  const baseFeePerGas = feeHistory.baseFeePerGas.map(base_types_1.numberToRpcQuantity);
677
679
  const gasUsedRatio = feeHistory.gasUsedRatio;
678
680
  const reward = (_a = feeHistory.reward) === null || _a === void 0 ? void 0 : _a.map((rs) => rs.map(base_types_1.numberToRpcQuantity));
@@ -690,7 +692,7 @@ class EthModule {
690
692
  from: rpcCall.from !== undefined
691
693
  ? rpcCall.from
692
694
  : await this._getDefaultCallFrom(),
693
- data: rpcCall.data !== undefined ? rpcCall.data : ethereumjs_util_1.toBuffer([]),
695
+ data: rpcCall.data !== undefined ? rpcCall.data : (0, ethereumjs_util_1.toBuffer)([]),
694
696
  gasLimit: rpcCall.gas !== undefined ? rpcCall.gas : this._node.getBlockGasLimit(),
695
697
  value: rpcCall.value !== undefined ? rpcCall.value : new ethereumjs_util_1.BN(0),
696
698
  accessList: rpcCall.accessList !== undefined
@@ -708,7 +710,7 @@ class EthModule {
708
710
  from: rpcTx.from,
709
711
  gasLimit: rpcTx.gas !== undefined ? rpcTx.gas : this._node.getBlockGasLimit(),
710
712
  value: rpcTx.value !== undefined ? rpcTx.value : new ethereumjs_util_1.BN(0),
711
- data: rpcTx.data !== undefined ? rpcTx.data : ethereumjs_util_1.toBuffer([]),
713
+ data: rpcTx.data !== undefined ? rpcTx.data : (0, ethereumjs_util_1.toBuffer)([]),
712
714
  nonce: rpcTx.nonce !== undefined
713
715
  ? rpcTx.nonce
714
716
  : await this._node.getAccountNextPendingNonce(new ethereumjs_util_1.Address(rpcTx.from)),
@@ -731,7 +733,7 @@ class EthModule {
731
733
  }
732
734
  if (rpcTx.maxFeePerGas === undefined) {
733
735
  const baseFeePerGas = await this._node.getNextBlockBaseFeePerGas();
734
- assertions_1.assertHardhatNetworkInvariant(baseFeePerGas !== undefined, "EIP-1559 transactions should only be sent if the next block has baseFeePerGas");
736
+ (0, assertions_1.assertHardhatNetworkInvariant)(baseFeePerGas !== undefined, "EIP-1559 transactions should only be sent if the next block has baseFeePerGas");
735
737
  rpcTx.maxFeePerGas = baseFeePerGas
736
738
  .muln(2)
737
739
  .add(rpcTx.maxPriorityFeePerGas);
@@ -824,7 +826,7 @@ class EthModule {
824
826
  if ("blockNumber" in tag) {
825
827
  return tag.blockNumber.toString();
826
828
  }
827
- return ethereumjs_util_1.bufferToHex(tag.blockHash);
829
+ return (0, ethereumjs_util_1.bufferToHex)(tag.blockHash);
828
830
  }
829
831
  _extractNormalizedLogTopics(topics) {
830
832
  if (topics === undefined || topics.length === 0) {
@@ -853,9 +855,9 @@ class EthModule {
853
855
  async _getDefaultCallFrom() {
854
856
  const localAccounts = await this._node.getLocalAccountAddresses();
855
857
  if (localAccounts.length === 0) {
856
- return ethereumjs_util_1.toBuffer(ethereumjs_util_1.zeroAddress());
858
+ return (0, ethereumjs_util_1.toBuffer)((0, ethereumjs_util_1.zeroAddress)());
857
859
  }
858
- return ethereumjs_util_1.toBuffer(localAccounts[0]);
860
+ return (0, ethereumjs_util_1.toBuffer)(localAccounts[0]);
859
861
  }
860
862
  async _sendTransactionAndReturnHash(tx) {
861
863
  let result = await this._node.sendTransaction(tx);
@@ -883,10 +885,10 @@ class EthModule {
883
885
  // This is a temporary solution until we improve our internal errors
884
886
  // We need this to be able to return the transaction hash in the JSON-RPC
885
887
  // response when the transaction fails
886
- e.transactionHash = base_types_1.bufferToRpcData(tx.hash());
888
+ e.transactionHash = (0, base_types_1.bufferToRpcData)(tx.hash());
887
889
  throw e;
888
890
  }
889
- return base_types_1.bufferToRpcData(tx.hash());
891
+ return (0, base_types_1.bufferToRpcData)(tx.hash());
890
892
  }
891
893
  async _handleMineBlockResults(results, sentTx) {
892
894
  const singleTransactionMined = results.length === 1 && results[0].block.transactions.length === 1;