hardhat 2.10.1 → 2.11.0-dev.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 (440) hide show
  1. package/README.md +1 -1
  2. package/builtin-tasks/compile.js +6 -8
  3. package/builtin-tasks/compile.js.map +1 -1
  4. package/builtin-tasks/node.js +9 -12
  5. package/builtin-tasks/node.js.map +1 -1
  6. package/builtin-tasks/test.js +2 -3
  7. package/builtin-tasks/test.js.map +1 -1
  8. package/console.sol +444 -444
  9. package/internal/artifacts.js +1 -1
  10. package/internal/artifacts.js.map +1 -1
  11. package/internal/cli/ArgumentsParser.js +5 -2
  12. package/internal/cli/ArgumentsParser.js.map +1 -1
  13. package/internal/cli/analytics.js +2 -2
  14. package/internal/cli/analytics.js.map +1 -1
  15. package/internal/cli/autocomplete.js +20 -32
  16. package/internal/cli/autocomplete.js.map +1 -1
  17. package/internal/cli/cli.js +1 -1
  18. package/internal/cli/cli.js.map +1 -1
  19. package/internal/cli/project-creation.js +14 -4
  20. package/internal/cli/project-creation.js.map +1 -1
  21. package/internal/constants.d.ts.map +1 -1
  22. package/internal/constants.js +2 -0
  23. package/internal/constants.js.map +1 -1
  24. package/internal/core/config/config-loading.js +2 -3
  25. package/internal/core/config/config-loading.js.map +1 -1
  26. package/internal/core/config/config-resolution.d.ts.map +1 -1
  27. package/internal/core/config/config-resolution.js +84 -35
  28. package/internal/core/config/config-resolution.js.map +1 -1
  29. package/internal/core/config/config-validation.js +38 -20
  30. package/internal/core/config/config-validation.js.map +1 -1
  31. package/internal/core/config/default-config.d.ts.map +1 -1
  32. package/internal/core/config/default-config.js +17 -4
  33. package/internal/core/config/default-config.js.map +1 -1
  34. package/internal/core/errors.js +4 -2
  35. package/internal/core/errors.js.map +1 -1
  36. package/internal/core/execution-mode.js +2 -2
  37. package/internal/core/execution-mode.js.map +1 -1
  38. package/internal/core/flamegraph.d.ts +10 -0
  39. package/internal/core/flamegraph.d.ts.map +1 -0
  40. package/internal/core/flamegraph.js +245 -0
  41. package/internal/core/flamegraph.js.map +1 -0
  42. package/internal/core/jsonrpc/types/base-types.d.ts +7 -8
  43. package/internal/core/jsonrpc/types/base-types.d.ts.map +1 -1
  44. package/internal/core/jsonrpc/types/base-types.js +24 -24
  45. package/internal/core/jsonrpc/types/base-types.js.map +1 -1
  46. package/internal/core/jsonrpc/types/input/blockTag.d.ts +15 -10
  47. package/internal/core/jsonrpc/types/input/blockTag.d.ts.map +1 -1
  48. package/internal/core/jsonrpc/types/input/blockTag.js +2 -0
  49. package/internal/core/jsonrpc/types/input/blockTag.js.map +1 -1
  50. package/internal/core/jsonrpc/types/input/callRequest.d.ts +5 -6
  51. package/internal/core/jsonrpc/types/input/callRequest.d.ts.map +1 -1
  52. package/internal/core/jsonrpc/types/input/callRequest.js.map +1 -1
  53. package/internal/core/jsonrpc/types/input/filterRequest.d.ts +6 -7
  54. package/internal/core/jsonrpc/types/input/filterRequest.d.ts.map +1 -1
  55. package/internal/core/jsonrpc/types/input/filterRequest.js.map +1 -1
  56. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts +7 -8
  57. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts.map +1 -1
  58. package/internal/core/jsonrpc/types/input/transactionRequest.js.map +1 -1
  59. package/internal/core/jsonrpc/types/output/block.d.ts +29 -30
  60. package/internal/core/jsonrpc/types/output/block.d.ts.map +1 -1
  61. package/internal/core/jsonrpc/types/output/block.js +8 -2
  62. package/internal/core/jsonrpc/types/output/block.js.map +1 -1
  63. package/internal/core/jsonrpc/types/output/log.d.ts +3 -4
  64. package/internal/core/jsonrpc/types/output/log.d.ts.map +1 -1
  65. package/internal/core/jsonrpc/types/output/log.js.map +1 -1
  66. package/internal/core/jsonrpc/types/output/receipt.d.ts +10 -11
  67. package/internal/core/jsonrpc/types/output/receipt.d.ts.map +1 -1
  68. package/internal/core/jsonrpc/types/output/receipt.js.map +1 -1
  69. package/internal/core/jsonrpc/types/output/transaction.d.ts +13 -14
  70. package/internal/core/jsonrpc/types/output/transaction.d.ts.map +1 -1
  71. package/internal/core/jsonrpc/types/output/transaction.js.map +1 -1
  72. package/internal/core/providers/accounts.d.ts.map +1 -1
  73. package/internal/core/providers/accounts.js +30 -24
  74. package/internal/core/providers/accounts.js.map +1 -1
  75. package/internal/core/providers/chainId.js +1 -1
  76. package/internal/core/providers/chainId.js.map +1 -1
  77. package/internal/core/providers/construction.d.ts.map +1 -1
  78. package/internal/core/providers/construction.js +5 -5
  79. package/internal/core/providers/construction.js.map +1 -1
  80. package/internal/core/providers/gas-providers.d.ts +4 -4
  81. package/internal/core/providers/gas-providers.d.ts.map +1 -1
  82. package/internal/core/providers/gas-providers.js +16 -15
  83. package/internal/core/providers/gas-providers.js.map +1 -1
  84. package/internal/core/providers/http.js +7 -2
  85. package/internal/core/providers/http.js.map +1 -1
  86. package/internal/core/providers/util.js +5 -8
  87. package/internal/core/providers/util.js.map +1 -1
  88. package/internal/core/runtime-environment.js +1 -1
  89. package/internal/core/runtime-environment.js.map +1 -1
  90. package/internal/core/task-profiling.d.ts +18 -0
  91. package/internal/core/task-profiling.d.ts.map +1 -0
  92. package/internal/core/task-profiling.js +50 -0
  93. package/internal/core/task-profiling.js.map +1 -0
  94. package/internal/core/typescript-support.js +3 -3
  95. package/internal/core/typescript-support.js.map +1 -1
  96. package/internal/hardhat-network/jsonrpc/client.d.ts +39 -39
  97. package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
  98. package/internal/hardhat-network/jsonrpc/client.js +14 -14
  99. package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
  100. package/internal/hardhat-network/provider/BlockchainBase.d.ts +13 -10
  101. package/internal/hardhat-network/provider/BlockchainBase.d.ts.map +1 -1
  102. package/internal/hardhat-network/provider/BlockchainBase.js +38 -16
  103. package/internal/hardhat-network/provider/BlockchainBase.js.map +1 -1
  104. package/internal/hardhat-network/provider/BlockchainData.d.ts +15 -16
  105. package/internal/hardhat-network/provider/BlockchainData.d.ts.map +1 -1
  106. package/internal/hardhat-network/provider/BlockchainData.js +33 -29
  107. package/internal/hardhat-network/provider/BlockchainData.js.map +1 -1
  108. package/internal/hardhat-network/provider/HardhatBlockchain.d.ts +7 -8
  109. package/internal/hardhat-network/provider/HardhatBlockchain.d.ts.map +1 -1
  110. package/internal/hardhat-network/provider/HardhatBlockchain.js +13 -14
  111. package/internal/hardhat-network/provider/HardhatBlockchain.js.map +1 -1
  112. package/internal/hardhat-network/provider/PoolState.d.ts +1 -1
  113. package/internal/hardhat-network/provider/PoolState.d.ts.map +1 -1
  114. package/internal/hardhat-network/provider/PoolState.js +2 -3
  115. package/internal/hardhat-network/provider/PoolState.js.map +1 -1
  116. package/internal/hardhat-network/provider/TransactionQueue.d.ts +2 -3
  117. package/internal/hardhat-network/provider/TransactionQueue.d.ts.map +1 -1
  118. package/internal/hardhat-network/provider/TransactionQueue.js +3 -3
  119. package/internal/hardhat-network/provider/TransactionQueue.js.map +1 -1
  120. package/internal/hardhat-network/provider/TxPool.d.ts +8 -8
  121. package/internal/hardhat-network/provider/TxPool.d.ts.map +1 -1
  122. package/internal/hardhat-network/provider/TxPool.js +66 -68
  123. package/internal/hardhat-network/provider/TxPool.js.map +1 -1
  124. package/internal/hardhat-network/provider/ethereumjs-workarounds.js +2 -2
  125. package/internal/hardhat-network/provider/ethereumjs-workarounds.js.map +1 -1
  126. package/internal/hardhat-network/provider/filter.d.ts +5 -6
  127. package/internal/hardhat-network/provider/filter.d.ts.map +1 -1
  128. package/internal/hardhat-network/provider/filter.js +7 -8
  129. package/internal/hardhat-network/provider/filter.js.map +1 -1
  130. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts +10 -11
  131. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
  132. package/internal/hardhat-network/provider/fork/ForkBlockchain.js +51 -47
  133. package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
  134. package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts +8 -10
  135. package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts.map +1 -1
  136. package/internal/hardhat-network/provider/fork/ForkStateManager.js +51 -69
  137. package/internal/hardhat-network/provider/fork/ForkStateManager.js.map +1 -1
  138. package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts +1 -1
  139. package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts.map +1 -1
  140. package/internal/hardhat-network/provider/fork/rpcToBlockData.js +2 -3
  141. package/internal/hardhat-network/provider/fork/rpcToBlockData.js.map +1 -1
  142. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts +2 -2
  143. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts.map +1 -1
  144. package/internal/hardhat-network/provider/fork/rpcToTxData.js +7 -11
  145. package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +1 -1
  146. package/internal/hardhat-network/provider/modules/eth.d.ts +2 -1
  147. package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -1
  148. package/internal/hardhat-network/provider/modules/eth.js +92 -68
  149. package/internal/hardhat-network/provider/modules/eth.js.map +1 -1
  150. package/internal/hardhat-network/provider/modules/evm.d.ts.map +1 -1
  151. package/internal/hardhat-network/provider/modules/evm.js +14 -14
  152. package/internal/hardhat-network/provider/modules/evm.js.map +1 -1
  153. package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +1 -1
  154. package/internal/hardhat-network/provider/modules/hardhat.js +13 -13
  155. package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
  156. package/internal/hardhat-network/provider/modules/logger.d.ts +7 -8
  157. package/internal/hardhat-network/provider/modules/logger.d.ts.map +1 -1
  158. package/internal/hardhat-network/provider/modules/logger.js +29 -32
  159. package/internal/hardhat-network/provider/modules/logger.js.map +1 -1
  160. package/internal/hardhat-network/provider/modules/net.d.ts +1 -1
  161. package/internal/hardhat-network/provider/modules/net.d.ts.map +1 -1
  162. package/internal/hardhat-network/provider/modules/personal.d.ts.map +1 -1
  163. package/internal/hardhat-network/provider/modules/personal.js +3 -3
  164. package/internal/hardhat-network/provider/modules/personal.js.map +1 -1
  165. package/internal/hardhat-network/provider/modules/web3.d.ts.map +1 -1
  166. package/internal/hardhat-network/provider/modules/web3.js +5 -4
  167. package/internal/hardhat-network/provider/modules/web3.js.map +1 -1
  168. package/internal/hardhat-network/provider/node-types.d.ts +30 -29
  169. package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
  170. package/internal/hardhat-network/provider/node.d.ts +47 -42
  171. package/internal/hardhat-network/provider/node.d.ts.map +1 -1
  172. package/internal/hardhat-network/provider/node.js +262 -208
  173. package/internal/hardhat-network/provider/node.js.map +1 -1
  174. package/internal/hardhat-network/provider/output.d.ts +5 -6
  175. package/internal/hardhat-network/provider/output.d.ts.map +1 -1
  176. package/internal/hardhat-network/provider/output.js +39 -36
  177. package/internal/hardhat-network/provider/output.js.map +1 -1
  178. package/internal/hardhat-network/provider/provider.d.ts +1 -2
  179. package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
  180. package/internal/hardhat-network/provider/provider.js.map +1 -1
  181. package/internal/hardhat-network/provider/return-data.d.ts +2 -2
  182. package/internal/hardhat-network/provider/return-data.d.ts.map +1 -1
  183. package/internal/hardhat-network/provider/return-data.js +4 -1
  184. package/internal/hardhat-network/provider/return-data.js.map +1 -1
  185. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts +5 -5
  186. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts.map +1 -1
  187. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +60 -17
  188. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
  189. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts +4 -4
  190. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts.map +1 -1
  191. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +59 -16
  192. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
  193. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts +3 -3
  194. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts.map +1 -1
  195. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +41 -9
  196. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
  197. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts +4 -4
  198. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts.map +1 -1
  199. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js +7 -23
  200. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js.map +1 -1
  201. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts +3 -3
  202. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts.map +1 -1
  203. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js +7 -22
  204. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js.map +1 -1
  205. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts +3 -3
  206. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts.map +1 -1
  207. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js +1 -1
  208. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js.map +1 -1
  209. package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts +5 -6
  210. package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts.map +1 -1
  211. package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js +2 -3
  212. package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js.map +1 -1
  213. package/internal/hardhat-network/provider/utils/getCurrentTimestamp.d.ts +1 -0
  214. package/internal/hardhat-network/provider/utils/getCurrentTimestamp.d.ts.map +1 -1
  215. package/internal/hardhat-network/provider/utils/getCurrentTimestamp.js +5 -1
  216. package/internal/hardhat-network/provider/utils/getCurrentTimestamp.js.map +1 -1
  217. package/internal/hardhat-network/provider/utils/makeAccount.d.ts +1 -1
  218. package/internal/hardhat-network/provider/utils/makeAccount.d.ts.map +1 -1
  219. package/internal/hardhat-network/provider/utils/makeAccount.js +6 -6
  220. package/internal/hardhat-network/provider/utils/makeAccount.js.map +1 -1
  221. package/internal/hardhat-network/provider/utils/makeCommon.d.ts +2 -2
  222. package/internal/hardhat-network/provider/utils/makeCommon.d.ts.map +1 -1
  223. package/internal/hardhat-network/provider/utils/makeCommon.js +7 -23
  224. package/internal/hardhat-network/provider/utils/makeCommon.js.map +1 -1
  225. package/internal/hardhat-network/provider/utils/makeForkClient.d.ts +1 -2
  226. package/internal/hardhat-network/provider/utils/makeForkClient.d.ts.map +1 -1
  227. package/internal/hardhat-network/provider/utils/makeForkClient.js +7 -8
  228. package/internal/hardhat-network/provider/utils/makeForkClient.js.map +1 -1
  229. package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts +1 -1
  230. package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts.map +1 -1
  231. package/internal/hardhat-network/provider/utils/makeStateTrie.js +4 -4
  232. package/internal/hardhat-network/provider/utils/makeStateTrie.js.map +1 -1
  233. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts +6 -3
  234. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts.map +1 -1
  235. package/internal/hardhat-network/provider/utils/putGenesisBlock.js +22 -4
  236. package/internal/hardhat-network/provider/utils/putGenesisBlock.js.map +1 -1
  237. package/internal/hardhat-network/provider/utils/random.d.ts +15 -0
  238. package/internal/hardhat-network/provider/utils/random.d.ts.map +1 -0
  239. package/internal/hardhat-network/provider/utils/random.js +48 -0
  240. package/internal/hardhat-network/provider/utils/random.js.map +1 -0
  241. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.d.ts +1 -2
  242. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.d.ts.map +1 -1
  243. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js +5 -4
  244. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js.map +1 -1
  245. package/internal/hardhat-network/provider/utils/reorgs-protection.d.ts +2 -2
  246. package/internal/hardhat-network/provider/utils/reorgs-protection.d.ts.map +1 -1
  247. package/internal/hardhat-network/provider/utils/reorgs-protection.js +7 -7
  248. package/internal/hardhat-network/provider/utils/reorgs-protection.js.map +1 -1
  249. package/internal/hardhat-network/provider/utils/txMapToArray.d.ts +1 -1
  250. package/internal/hardhat-network/provider/utils/txMapToArray.d.ts.map +1 -1
  251. package/internal/hardhat-network/stack-traces/compiler-to-model.js +6 -8
  252. package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -1
  253. package/internal/hardhat-network/stack-traces/consoleLogger.d.ts.map +1 -1
  254. package/internal/hardhat-network/stack-traces/consoleLogger.js +51 -47
  255. package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
  256. package/internal/hardhat-network/stack-traces/constants.d.ts +3 -0
  257. package/internal/hardhat-network/stack-traces/constants.d.ts.map +1 -0
  258. package/internal/hardhat-network/stack-traces/constants.js +6 -0
  259. package/internal/hardhat-network/stack-traces/constants.js.map +1 -0
  260. package/internal/hardhat-network/stack-traces/contracts-identifier.js +2 -2
  261. package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +1 -1
  262. package/internal/hardhat-network/stack-traces/debug.js +29 -19
  263. package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
  264. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts.map +1 -1
  265. package/internal/hardhat-network/stack-traces/error-inferrer.js +48 -26
  266. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
  267. package/internal/hardhat-network/stack-traces/logger.d.ts +223 -2
  268. package/internal/hardhat-network/stack-traces/logger.d.ts.map +1 -1
  269. package/internal/hardhat-network/stack-traces/logger.js +445 -224
  270. package/internal/hardhat-network/stack-traces/logger.js.map +1 -1
  271. package/internal/hardhat-network/stack-traces/message-trace.d.ts +6 -7
  272. package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -1
  273. package/internal/hardhat-network/stack-traces/message-trace.js.map +1 -1
  274. package/internal/hardhat-network/stack-traces/model.js +6 -6
  275. package/internal/hardhat-network/stack-traces/model.js.map +1 -1
  276. package/internal/hardhat-network/stack-traces/panic-errors.d.ts +1 -2
  277. package/internal/hardhat-network/stack-traces/panic-errors.d.ts.map +1 -1
  278. package/internal/hardhat-network/stack-traces/panic-errors.js +1 -1
  279. package/internal/hardhat-network/stack-traces/panic-errors.js.map +1 -1
  280. package/internal/hardhat-network/stack-traces/solidity-errors.d.ts.map +1 -1
  281. package/internal/hardhat-network/stack-traces/solidity-errors.js +21 -12
  282. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  283. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +6 -5
  284. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts.map +1 -1
  285. package/internal/hardhat-network/stack-traces/solidity-stack-trace.js.map +1 -1
  286. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts +1 -1
  287. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
  288. package/internal/hardhat-network/stack-traces/solidityTracer.js +5 -1
  289. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
  290. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts +2 -1
  291. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts.map +1 -1
  292. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +79 -78
  293. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
  294. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js +5 -1
  295. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js.map +1 -1
  296. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +3 -2
  297. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +1 -1
  298. package/internal/hardhat-network/stack-traces/vm-tracer.js +15 -16
  299. package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
  300. package/internal/reset.js +1 -1
  301. package/internal/reset.js.map +1 -1
  302. package/internal/sentry/anonymizer.js +2 -3
  303. package/internal/sentry/anonymizer.js.map +1 -1
  304. package/internal/sentry/subprocess.js +1 -1
  305. package/internal/sentry/subprocess.js.map +1 -1
  306. package/internal/sentry/transport.js +3 -4
  307. package/internal/sentry/transport.js.map +1 -1
  308. package/internal/solidity/compilation-job.js +2 -4
  309. package/internal/solidity/compilation-job.js.map +1 -1
  310. package/internal/solidity/compiler/downloader.d.ts.map +1 -1
  311. package/internal/solidity/compiler/downloader.js +6 -6
  312. package/internal/solidity/compiler/downloader.js.map +1 -1
  313. package/internal/solidity/dependencyGraph.js +3 -5
  314. package/internal/solidity/dependencyGraph.js.map +1 -1
  315. package/internal/solidity/parse.js +1 -1
  316. package/internal/solidity/parse.js.map +1 -1
  317. package/internal/solidity/resolver.js +4 -1
  318. package/internal/solidity/resolver.js.map +1 -1
  319. package/internal/util/abi-helpers.js +1 -1
  320. package/internal/util/abi-helpers.js.map +1 -1
  321. package/internal/util/bigint.d.ts +25 -0
  322. package/internal/util/bigint.d.ts.map +1 -0
  323. package/internal/util/bigint.js +67 -0
  324. package/internal/util/bigint.js.map +1 -0
  325. package/internal/util/download.js +1 -1
  326. package/internal/util/download.js.map +1 -1
  327. package/internal/util/fs-utils.d.ts +32 -0
  328. package/internal/util/fs-utils.d.ts.map +1 -0
  329. package/internal/util/fs-utils.js +151 -0
  330. package/internal/util/fs-utils.js.map +1 -0
  331. package/internal/util/hardforks.d.ts +3 -3
  332. package/internal/util/hardforks.d.ts.map +1 -1
  333. package/internal/util/hardforks.js +5 -28
  334. package/internal/util/hardforks.js.map +1 -1
  335. package/internal/util/jsonrpc.js +1 -1
  336. package/internal/util/jsonrpc.js.map +1 -1
  337. package/internal/util/lazy.js +2 -2
  338. package/internal/util/lazy.js.map +1 -1
  339. package/internal/util/packageInfo.js +1 -1
  340. package/internal/util/packageInfo.js.map +1 -1
  341. package/internal/util/scripts-runner.js +5 -2
  342. package/internal/util/scripts-runner.js.map +1 -1
  343. package/internal/util/wei-values.d.ts +1 -2
  344. package/internal/util/wei-values.d.ts.map +1 -1
  345. package/internal/util/wei-values.js +9 -10
  346. package/internal/util/wei-values.js.map +1 -1
  347. package/internal/vendor/await-semaphore/index.d.ts +12 -0
  348. package/internal/vendor/await-semaphore/index.d.ts.map +1 -0
  349. package/internal/vendor/await-semaphore/index.js +64 -0
  350. package/internal/vendor/await-semaphore/index.js.map +1 -0
  351. package/package.json +13 -9
  352. package/profiling.d.ts +18 -0
  353. package/profiling.d.ts.map +1 -0
  354. package/profiling.js +32 -0
  355. package/profiling.js.map +1 -0
  356. package/sample-projects/javascript/scripts/deploy.js +3 -1
  357. package/sample-projects/javascript/test/Lock.js +1 -1
  358. package/sample-projects/typescript/scripts/deploy.ts +1 -1
  359. package/sample-projects/typescript/test/Lock.ts +1 -1
  360. package/src/builtin-tasks/node.ts +4 -6
  361. package/src/internal/constants.ts +3 -1
  362. package/src/internal/core/config/config-resolution.ts +30 -7
  363. package/src/internal/core/config/default-config.ts +12 -4
  364. package/src/internal/core/jsonrpc/types/base-types.ts +23 -24
  365. package/src/internal/core/jsonrpc/types/input/blockTag.ts +2 -4
  366. package/src/internal/core/jsonrpc/types/input/callRequest.ts +0 -4
  367. package/src/internal/core/jsonrpc/types/input/filterRequest.ts +0 -4
  368. package/src/internal/core/jsonrpc/types/input/transactionRequest.ts +0 -4
  369. package/src/internal/core/jsonrpc/types/output/block.ts +0 -4
  370. package/src/internal/core/jsonrpc/types/output/log.ts +0 -4
  371. package/src/internal/core/jsonrpc/types/output/receipt.ts +0 -4
  372. package/src/internal/core/jsonrpc/types/output/transaction.ts +0 -4
  373. package/src/internal/core/providers/accounts.ts +16 -26
  374. package/src/internal/core/providers/construction.ts +5 -3
  375. package/src/internal/core/providers/gas-providers.ts +25 -33
  376. package/src/internal/core/providers/util.ts +1 -1
  377. package/src/internal/hardhat-network/jsonrpc/client.ts +22 -22
  378. package/src/internal/hardhat-network/provider/BlockchainBase.ts +62 -25
  379. package/src/internal/hardhat-network/provider/BlockchainData.ts +39 -42
  380. package/src/internal/hardhat-network/provider/HardhatBlockchain.ts +21 -21
  381. package/src/internal/hardhat-network/provider/PoolState.ts +3 -4
  382. package/src/internal/hardhat-network/provider/TransactionQueue.ts +11 -8
  383. package/src/internal/hardhat-network/provider/TxPool.ts +62 -64
  384. package/src/internal/hardhat-network/provider/ethereumjs-workarounds.ts +3 -3
  385. package/src/internal/hardhat-network/provider/filter.ts +9 -12
  386. package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +52 -50
  387. package/src/internal/hardhat-network/provider/fork/ForkStateManager.ts +35 -60
  388. package/src/internal/hardhat-network/provider/fork/rpcToBlockData.ts +2 -2
  389. package/src/internal/hardhat-network/provider/fork/rpcToTxData.ts +3 -3
  390. package/src/internal/hardhat-network/provider/modules/eth.ts +88 -63
  391. package/src/internal/hardhat-network/provider/modules/evm.ts +19 -22
  392. package/src/internal/hardhat-network/provider/modules/hardhat.ts +21 -19
  393. package/src/internal/hardhat-network/provider/modules/logger.ts +33 -40
  394. package/src/internal/hardhat-network/provider/modules/net.ts +1 -1
  395. package/src/internal/hardhat-network/provider/modules/personal.ts +2 -1
  396. package/src/internal/hardhat-network/provider/modules/web3.ts +5 -4
  397. package/src/internal/hardhat-network/provider/node-types.ts +32 -31
  398. package/src/internal/hardhat-network/provider/node.ts +379 -343
  399. package/src/internal/hardhat-network/provider/output.ts +32 -37
  400. package/src/internal/hardhat-network/provider/provider.ts +5 -6
  401. package/src/internal/hardhat-network/provider/return-data.ts +6 -3
  402. package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +51 -24
  403. package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +50 -23
  404. package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +29 -11
  405. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +12 -24
  406. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts +11 -22
  407. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts +3 -3
  408. package/src/internal/hardhat-network/provider/types/HardhatBlockchainInterface.ts +8 -9
  409. package/src/internal/hardhat-network/provider/utils/getCurrentTimestamp.ts +4 -0
  410. package/src/internal/hardhat-network/provider/utils/makeAccount.ts +4 -10
  411. package/src/internal/hardhat-network/provider/utils/makeCommon.ts +8 -34
  412. package/src/internal/hardhat-network/provider/utils/makeForkClient.ts +8 -9
  413. package/src/internal/hardhat-network/provider/utils/makeStateTrie.ts +3 -3
  414. package/src/internal/hardhat-network/provider/utils/putGenesisBlock.ts +34 -6
  415. package/src/internal/hardhat-network/provider/utils/random.ts +54 -0
  416. package/src/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.ts +6 -7
  417. package/src/internal/hardhat-network/provider/utils/reorgs-protection.ts +8 -8
  418. package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +16 -6
  419. package/src/internal/hardhat-network/stack-traces/contracts-identifier.ts +1 -1
  420. package/src/internal/hardhat-network/stack-traces/debug.ts +1 -1
  421. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +11 -7
  422. package/src/internal/hardhat-network/stack-traces/logger.ts +444 -223
  423. package/src/internal/hardhat-network/stack-traces/message-trace.ts +6 -7
  424. package/src/internal/hardhat-network/stack-traces/model.ts +1 -1
  425. package/src/internal/hardhat-network/stack-traces/panic-errors.ts +3 -5
  426. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +16 -1
  427. package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +6 -6
  428. package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +6 -1
  429. package/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts +106 -103
  430. package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +23 -18
  431. package/src/internal/solidity/compiler/downloader.ts +5 -2
  432. package/src/internal/util/bigint.ts +84 -0
  433. package/src/internal/util/hardforks.ts +4 -29
  434. package/src/internal/util/wei-values.ts +11 -13
  435. package/src/types/config.ts +8 -10
  436. package/types/config.d.ts +8 -9
  437. package/types/config.d.ts.map +1 -1
  438. package/src/internal/hardhat-network/provider/fork/random.ts +0 -33
  439. package/src/internal/hardhat-network/provider/utils/bnToHex.ts +0 -5
  440. package/src/internal/hardhat-network/provider/utils/makeForkCommon.ts +0 -15
@@ -23,8 +23,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.EthModule = void 0;
26
- const tx_1 = require("@ethereumjs/tx");
27
- const ethereumjs_util_1 = require("ethereumjs-util");
26
+ const tx_1 = require("@ignored/tx");
27
+ const util_1 = require("@ignored/util");
28
28
  const t = __importStar(require("io-ts"));
29
29
  const cloneDeep_1 = __importDefault(require("lodash/cloneDeep"));
30
30
  const base_types_1 = require("../../../core/jsonrpc/types/base-types");
@@ -39,6 +39,7 @@ const filter_1 = require("../filter");
39
39
  const output_1 = require("../output");
40
40
  const assertions_1 = require("../utils/assertions");
41
41
  const io_ts_1 = require("../../../util/io-ts");
42
+ const bigint_1 = require("../../../util/bigint");
42
43
  const EIP1559_MIN_HARDFORK = "london";
43
44
  const ACCESS_LIST_MIN_HARDFORK = "berlin";
44
45
  const EIP155_MIN_HARDFORK = "spuriousDragon";
@@ -187,7 +188,6 @@ class EthModule {
187
188
  return (0, validation_1.validateParams)(params, callRequest_1.rpcCallRequest, blockTag_1.optionalRpcNewBlockTag);
188
189
  }
189
190
  async _callAction(rpcCall, blockTag) {
190
- var _a;
191
191
  this._validateTransactionAndCallRequest(rpcCall);
192
192
  const blockNumberOrPending = await this._resolveNewBlockTag(blockTag);
193
193
  const callParams = await this._rpcCallRequestToNodeCallParams(rpcCall);
@@ -196,7 +196,7 @@ class EthModule {
196
196
  this._logger.logCallTrace(callParams, code, trace, consoleLogMessages, error);
197
197
  await this._runHardhatNetworkMessageTraceHooks(trace, true);
198
198
  if (error !== undefined && this._throwOnCallFailures) {
199
- const callReturnData = (_a = trace === null || trace === void 0 ? void 0 : trace.returnData.toString("hex")) !== null && _a !== void 0 ? _a : "";
199
+ const callReturnData = trace?.returnData.toString("hex") ?? "";
200
200
  error.data = `0x${callReturnData}`;
201
201
  throw error;
202
202
  }
@@ -225,7 +225,6 @@ class EthModule {
225
225
  return (0, validation_1.validateParams)(params, callRequest_1.rpcCallRequest, blockTag_1.optionalRpcNewBlockTag);
226
226
  }
227
227
  async _estimateGasAction(callRequest, blockTag) {
228
- var _a;
229
228
  this._validateTransactionAndCallRequest(callRequest);
230
229
  // estimateGas behaves differently when there's no blockTag
231
230
  // it uses "pending" as default instead of "latest"
@@ -235,7 +234,7 @@ class EthModule {
235
234
  if (error !== undefined) {
236
235
  const code = await this._node.getCodeFromTrace(trace, blockNumberOrPending);
237
236
  this._logger.logEstimateGasTrace(callParams, code, trace, consoleLogMessages, error);
238
- const callReturnData = (_a = trace === null || trace === void 0 ? void 0 : trace.returnData.toString("hex")) !== null && _a !== void 0 ? _a : "";
237
+ const callReturnData = trace?.returnData.toString("hex") ?? "";
239
238
  error.data = `0x${callReturnData}`;
240
239
  throw error;
241
240
  }
@@ -254,7 +253,7 @@ class EthModule {
254
253
  }
255
254
  async _getBalanceAction(address, blockTag) {
256
255
  const blockNumberOrPending = await this._resolveNewBlockTag(blockTag);
257
- return (0, base_types_1.numberToRpcQuantity)(await this._node.getAccountBalance(new ethereumjs_util_1.Address(address), blockNumberOrPending));
256
+ return (0, base_types_1.numberToRpcQuantity)(await this._node.getAccountBalance(new util_1.Address(address), blockNumberOrPending));
258
257
  }
259
258
  // eth_getBlockByHash
260
259
  _getBlockByHashParams(params) {
@@ -324,7 +323,7 @@ class EthModule {
324
323
  }
325
324
  async _getCodeAction(address, blockTag) {
326
325
  const blockNumberOrPending = await this._resolveNewBlockTag(blockTag);
327
- return (0, base_types_1.bufferToRpcData)(await this._node.getCode(new ethereumjs_util_1.Address(address), blockNumberOrPending));
326
+ return (0, base_types_1.bufferToRpcData)(await this._node.getCode(new util_1.Address(address), blockNumberOrPending));
328
327
  }
329
328
  // eth_getCompilers
330
329
  // eth_getFilterChanges
@@ -388,7 +387,7 @@ class EthModule {
388
387
  }
389
388
  async _getStorageAtAction(address, slot, blockTag) {
390
389
  const blockNumberOrPending = await this._resolveNewBlockTag(blockTag);
391
- const data = await this._node.getStorageAt(new ethereumjs_util_1.Address(address), slot, blockNumberOrPending);
390
+ const data = await this._node.getStorageAt(new util_1.Address(address), slot, blockNumberOrPending);
392
391
  return (0, base_types_1.bufferToRpcData)(data);
393
392
  }
394
393
  // eth_getTransactionByBlockHashAndIndex
@@ -396,7 +395,7 @@ class EthModule {
396
395
  return (0, validation_1.validateParams)(params, base_types_1.rpcHash, base_types_1.rpcQuantity);
397
396
  }
398
397
  async _getTransactionByBlockHashAndIndexAction(hash, index) {
399
- const i = index.toNumber();
398
+ const i = Number(index);
400
399
  const block = await this._node.getBlockByHash(hash);
401
400
  if (block === undefined) {
402
401
  return null;
@@ -417,7 +416,7 @@ class EthModule {
417
416
  return null;
418
417
  }
419
418
  const block = await this._node.getBlockByNumber(numberOrPending);
420
- const i = index.toNumber();
419
+ const i = Number(index);
421
420
  if (block === undefined) {
422
421
  return null;
423
422
  }
@@ -456,7 +455,7 @@ class EthModule {
456
455
  }
457
456
  async _getTransactionCountAction(address, blockTag) {
458
457
  const blockNumberOrPending = await this._resolveNewBlockTag(blockTag);
459
- return (0, base_types_1.numberToRpcQuantity)(await this._node.getNextConfirmedNonce(new ethereumjs_util_1.Address(address), blockNumberOrPending));
458
+ return (0, base_types_1.numberToRpcQuantity)(await this._node.getNextConfirmedNonce(new util_1.Address(address), blockNumberOrPending));
460
459
  }
461
460
  // eth_getTransactionReceipt
462
461
  _getTransactionReceiptParams(params) {
@@ -548,7 +547,7 @@ class EthModule {
548
547
  throw new errors_1.InvalidArgumentsError(`Invalid transaction`, error);
549
548
  }
550
549
  if (error.message.includes("The chain ID does not match")) {
551
- const chainId = this._common.chainIdBN().toString();
550
+ const chainId = this._common.chainId();
552
551
  throw new errors_1.InvalidArgumentsError(`Trying to send a raw transaction with an invalid chainId. The expected chainId is ${chainId}`, error);
553
552
  }
554
553
  }
@@ -567,9 +566,9 @@ class EthModule {
567
566
  return (0, validation_1.validateParams)(params, transactionRequest_1.rpcTransactionRequest);
568
567
  }
569
568
  async _sendTransactionAction(transactionRequest) {
570
- const expectedChainId = this._common.chainIdBN();
569
+ const expectedChainId = this._common.chainId();
571
570
  if (transactionRequest.chainId !== undefined &&
572
- !transactionRequest.chainId.eq(expectedChainId)) {
571
+ transactionRequest.chainId !== expectedChainId) {
573
572
  throw new errors_1.InvalidArgumentsError(`Invalid chainId ${transactionRequest.chainId.toString()} provided, expected ${expectedChainId.toString()} instead.`);
574
573
  }
575
574
  this._validateTransactionAndCallRequest(transactionRequest);
@@ -582,8 +581,8 @@ class EthModule {
582
581
  return (0, validation_1.validateParams)(params, base_types_1.rpcAddress, base_types_1.rpcData);
583
582
  }
584
583
  async _signAction(address, data) {
585
- const signature = await this._node.signPersonalMessage(new ethereumjs_util_1.Address(address), data);
586
- return (0, ethereumjs_util_1.toRpcSig)(signature.v, signature.r, signature.s);
584
+ const signature = await this._node.signPersonalMessage(new util_1.Address(address), data);
585
+ return (0, util_1.toRpcSig)(signature.v, signature.r, signature.s);
587
586
  }
588
587
  // eth_signTransaction
589
588
  // eth_signTypedData_v4
@@ -601,11 +600,11 @@ class EthModule {
601
600
  try {
602
601
  typedMessage = JSON.parse(typedData);
603
602
  }
604
- catch (_a) {
603
+ catch {
605
604
  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.`);
606
605
  }
607
606
  }
608
- return this._node.signTypedDataV4(new ethereumjs_util_1.Address(address), typedMessage);
607
+ return this._node.signTypedDataV4(new util_1.Address(address), typedMessage);
609
608
  }
610
609
  // eth_submitHashrate
611
610
  // eth_submitWork
@@ -653,10 +652,10 @@ class EthModule {
653
652
  // eth_feeHistory
654
653
  _feeHistoryParams(params) {
655
654
  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)));
656
- if (blockCount.ltn(1)) {
655
+ if (blockCount < 1n) {
657
656
  throw new errors_1.InvalidInputError(`blockCount should be at least 1`);
658
657
  }
659
- if (blockCount.gtn(1024)) {
658
+ if (blockCount > 1024n) {
660
659
  throw new errors_1.InvalidInputError(`blockCount should be at most 1024`);
661
660
  }
662
661
  if (rewardPercentiles !== undefined) {
@@ -675,16 +674,15 @@ class EthModule {
675
674
  return [blockCount, newestBlock, rewardPercentiles];
676
675
  }
677
676
  async _feeHistoryAction(blockCount, newestBlock, rewardPercentiles) {
678
- var _a;
679
677
  if (!this._node.isEip1559Active()) {
680
678
  throw new errors_1.InvalidInputError(`eth_feeHistory is disabled. It only works with the London hardfork or a later one.`);
681
679
  }
682
680
  const resolvedNewestBlock = await this._resolveNewBlockTag(newestBlock);
683
- const feeHistory = await this._node.getFeeHistory(blockCount, resolvedNewestBlock, rewardPercentiles !== null && rewardPercentiles !== void 0 ? rewardPercentiles : []);
681
+ const feeHistory = await this._node.getFeeHistory(blockCount, resolvedNewestBlock, rewardPercentiles ?? []);
684
682
  const oldestBlock = (0, base_types_1.numberToRpcQuantity)(feeHistory.oldestBlock);
685
683
  const baseFeePerGas = feeHistory.baseFeePerGas.map(base_types_1.numberToRpcQuantity);
686
684
  const gasUsedRatio = feeHistory.gasUsedRatio;
687
- const reward = (_a = feeHistory.reward) === null || _a === void 0 ? void 0 : _a.map((rs) => rs.map(base_types_1.numberToRpcQuantity));
685
+ const reward = feeHistory.reward?.map((rs) => rs.map(base_types_1.numberToRpcQuantity));
688
686
  return {
689
687
  oldestBlock,
690
688
  baseFeePerGas,
@@ -699,9 +697,9 @@ class EthModule {
699
697
  from: rpcCall.from !== undefined
700
698
  ? rpcCall.from
701
699
  : await this._getDefaultCallFrom(),
702
- data: rpcCall.data !== undefined ? rpcCall.data : (0, ethereumjs_util_1.toBuffer)([]),
700
+ data: rpcCall.data !== undefined ? rpcCall.data : (0, util_1.toBuffer)([]),
703
701
  gasLimit: rpcCall.gas !== undefined ? rpcCall.gas : this._node.getBlockGasLimit(),
704
- value: rpcCall.value !== undefined ? rpcCall.value : new ethereumjs_util_1.BN(0),
702
+ value: rpcCall.value !== undefined ? rpcCall.value : 0n,
705
703
  accessList: rpcCall.accessList !== undefined
706
704
  ? this._rpcAccessListToNodeAccessList(rpcCall.accessList)
707
705
  : undefined,
@@ -711,16 +709,15 @@ class EthModule {
711
709
  };
712
710
  }
713
711
  async _rpcTransactionRequestToNodeTransactionParams(rpcTx) {
714
- var _a;
715
712
  const baseParams = {
716
713
  to: rpcTx.to,
717
714
  from: rpcTx.from,
718
715
  gasLimit: rpcTx.gas !== undefined ? rpcTx.gas : this._node.getBlockGasLimit(),
719
- value: rpcTx.value !== undefined ? rpcTx.value : new ethereumjs_util_1.BN(0),
720
- data: rpcTx.data !== undefined ? rpcTx.data : (0, ethereumjs_util_1.toBuffer)([]),
716
+ value: rpcTx.value !== undefined ? rpcTx.value : 0n,
717
+ data: rpcTx.data !== undefined ? rpcTx.data : (0, util_1.toBuffer)([]),
721
718
  nonce: rpcTx.nonce !== undefined
722
719
  ? rpcTx.nonce
723
- : await this._node.getAccountNextPendingNonce(new ethereumjs_util_1.Address(rpcTx.from)),
720
+ : await this._node.getAccountNextPendingNonce(new util_1.Address(rpcTx.from)),
724
721
  };
725
722
  if (this._node.isEip1559Active() &&
726
723
  (rpcTx.maxFeePerGas !== undefined ||
@@ -734,35 +731,42 @@ class EthModule {
734
731
  // If you only provide a maxFeePerGas, and the suggested tip is higher
735
732
  // than that, we adjust the tip to make the tx valid
736
733
  if (rpcTx.maxFeePerGas !== undefined &&
737
- rpcTx.maxFeePerGas.lt(rpcTx.maxPriorityFeePerGas)) {
734
+ rpcTx.maxFeePerGas < rpcTx.maxPriorityFeePerGas) {
738
735
  rpcTx.maxPriorityFeePerGas = rpcTx.maxFeePerGas;
739
736
  }
740
737
  }
741
738
  if (rpcTx.maxFeePerGas === undefined) {
742
739
  const baseFeePerGas = await this._node.getNextBlockBaseFeePerGas();
743
740
  (0, assertions_1.assertHardhatNetworkInvariant)(baseFeePerGas !== undefined, "EIP-1559 transactions should only be sent if the next block has baseFeePerGas");
744
- rpcTx.maxFeePerGas = baseFeePerGas
745
- .muln(2)
746
- .add(rpcTx.maxPriorityFeePerGas);
741
+ rpcTx.maxFeePerGas = 2n * baseFeePerGas + rpcTx.maxPriorityFeePerGas;
747
742
  }
748
- return Object.assign(Object.assign({}, baseParams), { maxFeePerGas: rpcTx.maxFeePerGas, maxPriorityFeePerGas: rpcTx.maxPriorityFeePerGas, accessList });
749
- }
750
- const gasPrice = (_a = rpcTx.gasPrice) !== null && _a !== void 0 ? _a : (await this._node.getGasPrice());
743
+ return {
744
+ ...baseParams,
745
+ maxFeePerGas: rpcTx.maxFeePerGas,
746
+ maxPriorityFeePerGas: rpcTx.maxPriorityFeePerGas,
747
+ accessList,
748
+ };
749
+ }
750
+ const gasPrice = rpcTx.gasPrice ?? (await this._node.getGasPrice());
751
751
  // AccessList params
752
752
  if (rpcTx.accessList !== undefined) {
753
- return Object.assign(Object.assign({}, baseParams), { gasPrice, accessList: this._rpcAccessListToNodeAccessList(rpcTx.accessList) });
753
+ return {
754
+ ...baseParams,
755
+ gasPrice,
756
+ accessList: this._rpcAccessListToNodeAccessList(rpcTx.accessList),
757
+ };
754
758
  }
755
759
  // Legacy params
756
- return Object.assign(Object.assign({}, baseParams), { gasPrice });
760
+ return {
761
+ ...baseParams,
762
+ gasPrice,
763
+ };
757
764
  }
758
765
  _rpcAccessListToNodeAccessList(rpcAccessList) {
759
- return rpcAccessList.map((tuple) => {
760
- var _a;
761
- return [
762
- tuple.address,
763
- (_a = tuple.storageKeys) !== null && _a !== void 0 ? _a : [],
764
- ];
765
- });
766
+ return rpcAccessList.map((tuple) => [
767
+ tuple.address,
768
+ tuple.storageKeys ?? [],
769
+ ]);
766
770
  }
767
771
  async _resolveOldBlockTag(oldBlockTag) {
768
772
  if (oldBlockTag === undefined || oldBlockTag === "latest") {
@@ -772,10 +776,14 @@ class EthModule {
772
776
  return "pending";
773
777
  }
774
778
  if (oldBlockTag === "earliest") {
775
- return new ethereumjs_util_1.BN(0);
779
+ return 0n;
780
+ }
781
+ if (oldBlockTag === "safe" || oldBlockTag === "finalized") {
782
+ this._checkPostMergeBlockTags(oldBlockTag);
783
+ return this._node.getLatestBlockNumber();
776
784
  }
777
785
  const block = await this._node.getBlockByNumber(oldBlockTag);
778
- return block === null || block === void 0 ? void 0 : block.header.number;
786
+ return block?.header.number;
779
787
  }
780
788
  async _resolveNewBlockTag(newBlockTag, defaultValue = "latest") {
781
789
  if (newBlockTag === undefined) {
@@ -788,16 +796,22 @@ class EthModule {
788
796
  return this._node.getLatestBlockNumber();
789
797
  }
790
798
  if (newBlockTag === "earliest") {
791
- return new ethereumjs_util_1.BN(0);
799
+ return 0n;
792
800
  }
793
- if ("blockNumber" in newBlockTag && "blockHash" in newBlockTag) {
794
- throw new errors_1.InvalidArgumentsError("Invalid block tag received. Only one of hash or block number can be used.");
801
+ if (newBlockTag === "safe" || newBlockTag === "finalized") {
802
+ this._checkPostMergeBlockTags(newBlockTag);
803
+ return this._node.getLatestBlockNumber();
795
804
  }
796
- if ("blockNumber" in newBlockTag && "requireCanonical" in newBlockTag) {
797
- throw new errors_1.InvalidArgumentsError("Invalid block tag received. requireCanonical only works with hashes.");
805
+ if (!bigint_1.BigIntUtils.isBigInt(newBlockTag)) {
806
+ if ("blockNumber" in newBlockTag && "blockHash" in newBlockTag) {
807
+ throw new errors_1.InvalidArgumentsError("Invalid block tag received. Only one of hash or block number can be used.");
808
+ }
809
+ if ("blockNumber" in newBlockTag && "requireCanonical" in newBlockTag) {
810
+ throw new errors_1.InvalidArgumentsError("Invalid block tag received. requireCanonical only works with hashes.");
811
+ }
798
812
  }
799
813
  let block;
800
- if (ethereumjs_util_1.BN.isBN(newBlockTag)) {
814
+ if (bigint_1.BigIntUtils.isBigInt(newBlockTag)) {
801
815
  block = await this._node.getBlockByNumber(newBlockTag);
802
816
  }
803
817
  else if ("blockNumber" in newBlockTag) {
@@ -818,8 +832,12 @@ class EthModule {
818
832
  blockTag === "pending") {
819
833
  return filter_1.LATEST_BLOCK;
820
834
  }
835
+ if (blockTag === "safe" || blockTag === "finalized") {
836
+ this._checkPostMergeBlockTags(blockTag);
837
+ return filter_1.LATEST_BLOCK;
838
+ }
821
839
  if (blockTag === "earliest") {
822
- return new ethereumjs_util_1.BN(0);
840
+ return 0n;
823
841
  }
824
842
  return blockTag;
825
843
  }
@@ -827,13 +845,13 @@ class EthModule {
827
845
  if (typeof tag === "string") {
828
846
  return tag;
829
847
  }
830
- if (ethereumjs_util_1.BN.isBN(tag)) {
848
+ if (bigint_1.BigIntUtils.isBigInt(tag)) {
831
849
  return tag.toString();
832
850
  }
833
851
  if ("blockNumber" in tag) {
834
852
  return tag.blockNumber.toString();
835
853
  }
836
- return (0, ethereumjs_util_1.bufferToHex)(tag.blockHash);
854
+ return (0, util_1.bufferToHex)(tag.blockHash);
837
855
  }
838
856
  _extractNormalizedLogTopics(topics) {
839
857
  if (topics === undefined || topics.length === 0) {
@@ -862,12 +880,11 @@ class EthModule {
862
880
  async _getDefaultCallFrom() {
863
881
  const localAccounts = await this._node.getLocalAccountAddresses();
864
882
  if (localAccounts.length === 0) {
865
- return (0, ethereumjs_util_1.toBuffer)((0, ethereumjs_util_1.zeroAddress)());
883
+ return (0, util_1.toBuffer)((0, util_1.zeroAddress)());
866
884
  }
867
- return (0, ethereumjs_util_1.toBuffer)(localAccounts[0]);
885
+ return (0, util_1.toBuffer)(localAccounts[0]);
868
886
  }
869
887
  async _sendTransactionAndReturnHash(tx) {
870
- var _a, _b;
871
888
  let result = await this._node.sendTransaction(tx);
872
889
  if (typeof result === "string") {
873
890
  return result;
@@ -889,7 +906,7 @@ class EthModule {
889
906
  const trace = await this._handleMineBlockResults(result, tx);
890
907
  if (trace.error !== undefined && this._throwOnTransactionFailures) {
891
908
  const e = trace.error;
892
- const returnData = (_b = (_a = trace.trace) === null || _a === void 0 ? void 0 : _a.returnData.toString("hex")) !== null && _b !== void 0 ? _b : "";
909
+ const returnData = trace.trace?.returnData.toString("hex") ?? "";
893
910
  e.data = `0x${returnData}`;
894
911
  e.transactionHash = (0, base_types_1.bufferToRpcData)(tx.hash());
895
912
  throw e;
@@ -904,7 +921,7 @@ class EthModule {
904
921
  if (singleTransactionMined) {
905
922
  const block = results[0].block;
906
923
  const tx = block.transactions[0];
907
- const txGasUsed = results[0].blockResult.results[0].gasUsed.toNumber();
924
+ const txGasUsed = results[0].blockResult.results[0].totalGasSpent;
908
925
  const trace = results[0].traces[0];
909
926
  await this._logSingleTransaction(tx, block, txGasUsed, trace);
910
927
  return trace;
@@ -919,16 +936,16 @@ class EthModule {
919
936
  const sentTxTrace = sentTxResult.traces[sentTxIndex];
920
937
  if (!singleTransactionMined) {
921
938
  const blockNumber = sentTxResult.block.header.number;
922
- const code = await this._node.getCodeFromTrace(sentTxTrace.trace, new ethereumjs_util_1.BN(blockNumber));
939
+ const code = await this._node.getCodeFromTrace(sentTxTrace.trace, blockNumber);
923
940
  const { block, blockResult } = sentTxResult;
924
- const gasUsed = blockResult.results[sentTxIndex].gasUsed.toNumber();
941
+ const gasUsed = blockResult.results[sentTxIndex].totalGasSpent;
925
942
  this._logger.logCurrentlySentTransaction(sentTx, gasUsed, sentTxTrace, code, block);
926
943
  }
927
944
  return sentTxTrace;
928
945
  }
929
946
  }
930
947
  async _logSingleTransaction(tx, block, txGasUsed, txTrace) {
931
- const code = await this._node.getCodeFromTrace(txTrace.trace, new ethereumjs_util_1.BN(block.header.number));
948
+ const code = await this._node.getCodeFromTrace(txTrace.trace, block.header.number);
932
949
  this._logger.logSingleTransaction(tx, block, txGasUsed, txTrace, code);
933
950
  await this._runHardhatNetworkMessageTraceHooks(txTrace.trace, false);
934
951
  }
@@ -936,7 +953,7 @@ class EthModule {
936
953
  const { block, traces } = result;
937
954
  const codes = [];
938
955
  for (const txTrace of traces) {
939
- const code = await this._node.getCodeFromTrace(txTrace.trace, new ethereumjs_util_1.BN(block.header.number));
956
+ const code = await this._node.getCodeFromTrace(txTrace.trace, block.header.number);
940
957
  codes.push(code);
941
958
  }
942
959
  this._logger.logBlockFromAutomine(result, codes, sentTx.hash());
@@ -991,14 +1008,14 @@ You can use them by running Hardhat Network with 'hardfork' ${ACCESS_LIST_MIN_HA
991
1008
  }
992
1009
  if (rpcRequest.maxFeePerGas !== undefined &&
993
1010
  rpcRequest.maxPriorityFeePerGas !== undefined &&
994
- rpcRequest.maxPriorityFeePerGas.gt(rpcRequest.maxFeePerGas)) {
1011
+ rpcRequest.maxPriorityFeePerGas > rpcRequest.maxFeePerGas) {
995
1012
  throw new errors_1.InvalidInputError(`maxPriorityFeePerGas (${rpcRequest.maxPriorityFeePerGas.toString()}) is bigger than maxFeePerGas (${rpcRequest.maxFeePerGas.toString()})`);
996
1013
  }
997
1014
  }
998
1015
  // TODO: Find a better place for this
999
1016
  _validateEip155HardforkRequirement(tx) {
1000
1017
  // 27 and 28 are only valid for non-EIP-155 legacy txs
1001
- if (tx.v.eqn(27) || tx.v.eqn(28)) {
1018
+ if (tx.v === 27n || tx.v === 28n) {
1002
1019
  return;
1003
1020
  }
1004
1021
  if (!this._common.gteHardfork(EIP155_MIN_HARDFORK)) {
@@ -1024,6 +1041,13 @@ You can use them by running Hardhat Network with 'hardfork' ${ACCESS_LIST_MIN_HA
1024
1041
  You can use them by running Hardhat Network with 'hardfork' ${EIP1559_MIN_HARDFORK} or later.`);
1025
1042
  }
1026
1043
  }
1044
+ _checkPostMergeBlockTags(blockTag) {
1045
+ const isPostMerge = this._node.isPostMergeHardfork();
1046
+ const hardfork = this._node.hardfork;
1047
+ if (!isPostMerge) {
1048
+ throw new errors_1.InvalidArgumentsError(`The '${blockTag}' block tag is not allowed in pre-merge hardforks. You are using the '${hardfork}' hardfork.`);
1049
+ }
1050
+ }
1027
1051
  }
1028
1052
  exports.EthModule = EthModule;
1029
1053
  //# sourceMappingURL=eth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eth.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/modules/eth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eth.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/modules/eth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/modules/evm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,+CAA+C,EAAE,MAAM,mBAAmB,CAAC;AAepF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQzC,qBAAa,SAAS;IAElB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,4CAA4C;gBAH5C,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,WAAW,EACzB,OAAO,EAAE,aAAa,EACtB,4CAA4C,GAAE,+CAA+C,EAAO;IAG1G,cAAc,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,GAAG,EAAO,GACjB,OAAO,CAAC,GAAG,CAAC;IAsCf,OAAO,CAAC,4BAA4B;YAItB,4BAA4B;IAmB1C,OAAO,CAAC,mBAAmB;YAIb,mBAAmB;IAWjC,OAAO,CAAC,WAAW;YAOL,WAAW;IAwBzB,OAAO,CAAC,aAAa;YAIP,aAAa;IAM3B,OAAO,CAAC,eAAe;YAIT,eAAe;IAO7B,OAAO,CAAC,kBAAkB;YAIZ,kBAAkB;IAOhC,OAAO,CAAC,wBAAwB;YAIlB,wBAAwB;IAUtC,OAAO,CAAC,uBAAuB;YAIjB,uBAAuB;YASvB,SAAS;YAoBT,mCAAmC;CAYlD"}
1
+ {"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/modules/evm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+CAA+C,EAAE,MAAM,mBAAmB,CAAC;AAepF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQzC,qBAAa,SAAS;IAElB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,4CAA4C;gBAH5C,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,WAAW,EACzB,OAAO,EAAE,aAAa,EACtB,4CAA4C,GAAE,+CAA+C,EAAO;IAG1G,cAAc,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,GAAG,EAAO,GACjB,OAAO,CAAC,GAAG,CAAC;IAsCf,OAAO,CAAC,4BAA4B;YAItB,4BAA4B;IAkB1C,OAAO,CAAC,mBAAmB;YAIb,mBAAmB;IAWjC,OAAO,CAAC,WAAW;YAOL,WAAW;IAuBzB,OAAO,CAAC,aAAa;YAIP,aAAa;IAM3B,OAAO,CAAC,eAAe;YAIT,eAAe;IAO7B,OAAO,CAAC,kBAAkB;YAIZ,kBAAkB;IAOhC,OAAO,CAAC,wBAAwB;YAIlB,wBAAwB;IAUtC,OAAO,CAAC,uBAAuB;YAIjB,uBAAuB;YASvB,SAAS;YAoBT,mCAAmC;CAYlD"}