hardhat 2.10.2 → 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 (428) hide show
  1. package/builtin-tasks/compile.js +6 -8
  2. package/builtin-tasks/compile.js.map +1 -1
  3. package/builtin-tasks/node.js +9 -12
  4. package/builtin-tasks/node.js.map +1 -1
  5. package/builtin-tasks/test.js +2 -3
  6. package/builtin-tasks/test.js.map +1 -1
  7. package/internal/artifacts.js +1 -1
  8. package/internal/artifacts.js.map +1 -1
  9. package/internal/cli/ArgumentsParser.js +5 -2
  10. package/internal/cli/ArgumentsParser.js.map +1 -1
  11. package/internal/cli/analytics.js +2 -2
  12. package/internal/cli/analytics.js.map +1 -1
  13. package/internal/cli/autocomplete.js +20 -32
  14. package/internal/cli/autocomplete.js.map +1 -1
  15. package/internal/cli/cli.js +1 -1
  16. package/internal/cli/cli.js.map +1 -1
  17. package/internal/cli/project-creation.js +14 -4
  18. package/internal/cli/project-creation.js.map +1 -1
  19. package/internal/constants.d.ts.map +1 -1
  20. package/internal/constants.js +2 -0
  21. package/internal/constants.js.map +1 -1
  22. package/internal/core/config/config-loading.js +2 -3
  23. package/internal/core/config/config-loading.js.map +1 -1
  24. package/internal/core/config/config-resolution.d.ts.map +1 -1
  25. package/internal/core/config/config-resolution.js +84 -35
  26. package/internal/core/config/config-resolution.js.map +1 -1
  27. package/internal/core/config/config-validation.js +38 -20
  28. package/internal/core/config/config-validation.js.map +1 -1
  29. package/internal/core/config/default-config.d.ts.map +1 -1
  30. package/internal/core/config/default-config.js +7 -4
  31. package/internal/core/config/default-config.js.map +1 -1
  32. package/internal/core/errors.js +4 -2
  33. package/internal/core/errors.js.map +1 -1
  34. package/internal/core/execution-mode.js +2 -2
  35. package/internal/core/execution-mode.js.map +1 -1
  36. package/internal/core/flamegraph.d.ts +10 -0
  37. package/internal/core/flamegraph.d.ts.map +1 -0
  38. package/internal/core/flamegraph.js +245 -0
  39. package/internal/core/flamegraph.js.map +1 -0
  40. package/internal/core/jsonrpc/types/base-types.d.ts +7 -8
  41. package/internal/core/jsonrpc/types/base-types.d.ts.map +1 -1
  42. package/internal/core/jsonrpc/types/base-types.js +24 -24
  43. package/internal/core/jsonrpc/types/base-types.js.map +1 -1
  44. package/internal/core/jsonrpc/types/input/blockTag.d.ts +15 -10
  45. package/internal/core/jsonrpc/types/input/blockTag.d.ts.map +1 -1
  46. package/internal/core/jsonrpc/types/input/blockTag.js +2 -0
  47. package/internal/core/jsonrpc/types/input/blockTag.js.map +1 -1
  48. package/internal/core/jsonrpc/types/input/callRequest.d.ts +5 -6
  49. package/internal/core/jsonrpc/types/input/callRequest.d.ts.map +1 -1
  50. package/internal/core/jsonrpc/types/input/callRequest.js.map +1 -1
  51. package/internal/core/jsonrpc/types/input/filterRequest.d.ts +6 -7
  52. package/internal/core/jsonrpc/types/input/filterRequest.d.ts.map +1 -1
  53. package/internal/core/jsonrpc/types/input/filterRequest.js.map +1 -1
  54. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts +7 -8
  55. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts.map +1 -1
  56. package/internal/core/jsonrpc/types/input/transactionRequest.js.map +1 -1
  57. package/internal/core/jsonrpc/types/output/block.d.ts +29 -30
  58. package/internal/core/jsonrpc/types/output/block.d.ts.map +1 -1
  59. package/internal/core/jsonrpc/types/output/block.js +8 -2
  60. package/internal/core/jsonrpc/types/output/block.js.map +1 -1
  61. package/internal/core/jsonrpc/types/output/log.d.ts +3 -4
  62. package/internal/core/jsonrpc/types/output/log.d.ts.map +1 -1
  63. package/internal/core/jsonrpc/types/output/log.js.map +1 -1
  64. package/internal/core/jsonrpc/types/output/receipt.d.ts +10 -11
  65. package/internal/core/jsonrpc/types/output/receipt.d.ts.map +1 -1
  66. package/internal/core/jsonrpc/types/output/receipt.js.map +1 -1
  67. package/internal/core/jsonrpc/types/output/transaction.d.ts +13 -14
  68. package/internal/core/jsonrpc/types/output/transaction.d.ts.map +1 -1
  69. package/internal/core/jsonrpc/types/output/transaction.js.map +1 -1
  70. package/internal/core/providers/accounts.d.ts.map +1 -1
  71. package/internal/core/providers/accounts.js +30 -24
  72. package/internal/core/providers/accounts.js.map +1 -1
  73. package/internal/core/providers/chainId.js +1 -1
  74. package/internal/core/providers/chainId.js.map +1 -1
  75. package/internal/core/providers/construction.d.ts.map +1 -1
  76. package/internal/core/providers/construction.js +5 -5
  77. package/internal/core/providers/construction.js.map +1 -1
  78. package/internal/core/providers/gas-providers.d.ts +4 -4
  79. package/internal/core/providers/gas-providers.d.ts.map +1 -1
  80. package/internal/core/providers/gas-providers.js +16 -15
  81. package/internal/core/providers/gas-providers.js.map +1 -1
  82. package/internal/core/providers/http.js +7 -2
  83. package/internal/core/providers/http.js.map +1 -1
  84. package/internal/core/providers/util.js +5 -8
  85. package/internal/core/providers/util.js.map +1 -1
  86. package/internal/core/runtime-environment.js +1 -1
  87. package/internal/core/runtime-environment.js.map +1 -1
  88. package/internal/core/task-profiling.d.ts +18 -0
  89. package/internal/core/task-profiling.d.ts.map +1 -0
  90. package/internal/core/task-profiling.js +50 -0
  91. package/internal/core/task-profiling.js.map +1 -0
  92. package/internal/core/typescript-support.js +3 -3
  93. package/internal/core/typescript-support.js.map +1 -1
  94. package/internal/hardhat-network/jsonrpc/client.d.ts +39 -39
  95. package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
  96. package/internal/hardhat-network/jsonrpc/client.js +14 -14
  97. package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
  98. package/internal/hardhat-network/provider/BlockchainBase.d.ts +13 -10
  99. package/internal/hardhat-network/provider/BlockchainBase.d.ts.map +1 -1
  100. package/internal/hardhat-network/provider/BlockchainBase.js +38 -16
  101. package/internal/hardhat-network/provider/BlockchainBase.js.map +1 -1
  102. package/internal/hardhat-network/provider/BlockchainData.d.ts +15 -16
  103. package/internal/hardhat-network/provider/BlockchainData.d.ts.map +1 -1
  104. package/internal/hardhat-network/provider/BlockchainData.js +33 -29
  105. package/internal/hardhat-network/provider/BlockchainData.js.map +1 -1
  106. package/internal/hardhat-network/provider/HardhatBlockchain.d.ts +7 -8
  107. package/internal/hardhat-network/provider/HardhatBlockchain.d.ts.map +1 -1
  108. package/internal/hardhat-network/provider/HardhatBlockchain.js +13 -14
  109. package/internal/hardhat-network/provider/HardhatBlockchain.js.map +1 -1
  110. package/internal/hardhat-network/provider/PoolState.d.ts +1 -1
  111. package/internal/hardhat-network/provider/PoolState.d.ts.map +1 -1
  112. package/internal/hardhat-network/provider/PoolState.js +2 -3
  113. package/internal/hardhat-network/provider/PoolState.js.map +1 -1
  114. package/internal/hardhat-network/provider/TransactionQueue.d.ts +2 -3
  115. package/internal/hardhat-network/provider/TransactionQueue.d.ts.map +1 -1
  116. package/internal/hardhat-network/provider/TransactionQueue.js +3 -3
  117. package/internal/hardhat-network/provider/TransactionQueue.js.map +1 -1
  118. package/internal/hardhat-network/provider/TxPool.d.ts +8 -8
  119. package/internal/hardhat-network/provider/TxPool.d.ts.map +1 -1
  120. package/internal/hardhat-network/provider/TxPool.js +66 -68
  121. package/internal/hardhat-network/provider/TxPool.js.map +1 -1
  122. package/internal/hardhat-network/provider/ethereumjs-workarounds.js +2 -2
  123. package/internal/hardhat-network/provider/ethereumjs-workarounds.js.map +1 -1
  124. package/internal/hardhat-network/provider/filter.d.ts +5 -6
  125. package/internal/hardhat-network/provider/filter.d.ts.map +1 -1
  126. package/internal/hardhat-network/provider/filter.js +7 -8
  127. package/internal/hardhat-network/provider/filter.js.map +1 -1
  128. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts +10 -11
  129. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
  130. package/internal/hardhat-network/provider/fork/ForkBlockchain.js +51 -47
  131. package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
  132. package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts +8 -10
  133. package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts.map +1 -1
  134. package/internal/hardhat-network/provider/fork/ForkStateManager.js +51 -69
  135. package/internal/hardhat-network/provider/fork/ForkStateManager.js.map +1 -1
  136. package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts +1 -1
  137. package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts.map +1 -1
  138. package/internal/hardhat-network/provider/fork/rpcToBlockData.js +2 -3
  139. package/internal/hardhat-network/provider/fork/rpcToBlockData.js.map +1 -1
  140. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts +2 -2
  141. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts.map +1 -1
  142. package/internal/hardhat-network/provider/fork/rpcToTxData.js +7 -11
  143. package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +1 -1
  144. package/internal/hardhat-network/provider/modules/eth.d.ts +2 -1
  145. package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -1
  146. package/internal/hardhat-network/provider/modules/eth.js +92 -68
  147. package/internal/hardhat-network/provider/modules/eth.js.map +1 -1
  148. package/internal/hardhat-network/provider/modules/evm.d.ts.map +1 -1
  149. package/internal/hardhat-network/provider/modules/evm.js +14 -14
  150. package/internal/hardhat-network/provider/modules/evm.js.map +1 -1
  151. package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +1 -1
  152. package/internal/hardhat-network/provider/modules/hardhat.js +13 -13
  153. package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
  154. package/internal/hardhat-network/provider/modules/logger.d.ts +7 -8
  155. package/internal/hardhat-network/provider/modules/logger.d.ts.map +1 -1
  156. package/internal/hardhat-network/provider/modules/logger.js +29 -32
  157. package/internal/hardhat-network/provider/modules/logger.js.map +1 -1
  158. package/internal/hardhat-network/provider/modules/net.d.ts +1 -1
  159. package/internal/hardhat-network/provider/modules/net.d.ts.map +1 -1
  160. package/internal/hardhat-network/provider/modules/personal.d.ts.map +1 -1
  161. package/internal/hardhat-network/provider/modules/personal.js +3 -3
  162. package/internal/hardhat-network/provider/modules/personal.js.map +1 -1
  163. package/internal/hardhat-network/provider/modules/web3.d.ts.map +1 -1
  164. package/internal/hardhat-network/provider/modules/web3.js +5 -4
  165. package/internal/hardhat-network/provider/modules/web3.js.map +1 -1
  166. package/internal/hardhat-network/provider/node-types.d.ts +30 -29
  167. package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
  168. package/internal/hardhat-network/provider/node.d.ts +47 -42
  169. package/internal/hardhat-network/provider/node.d.ts.map +1 -1
  170. package/internal/hardhat-network/provider/node.js +262 -208
  171. package/internal/hardhat-network/provider/node.js.map +1 -1
  172. package/internal/hardhat-network/provider/output.d.ts +5 -6
  173. package/internal/hardhat-network/provider/output.d.ts.map +1 -1
  174. package/internal/hardhat-network/provider/output.js +39 -36
  175. package/internal/hardhat-network/provider/output.js.map +1 -1
  176. package/internal/hardhat-network/provider/provider.d.ts +1 -2
  177. package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
  178. package/internal/hardhat-network/provider/provider.js.map +1 -1
  179. package/internal/hardhat-network/provider/return-data.d.ts +1 -2
  180. package/internal/hardhat-network/provider/return-data.d.ts.map +1 -1
  181. package/internal/hardhat-network/provider/return-data.js +1 -1
  182. package/internal/hardhat-network/provider/return-data.js.map +1 -1
  183. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts +5 -5
  184. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts.map +1 -1
  185. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +60 -17
  186. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
  187. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts +4 -4
  188. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts.map +1 -1
  189. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +59 -16
  190. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
  191. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts +3 -3
  192. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts.map +1 -1
  193. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +41 -9
  194. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
  195. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts +4 -4
  196. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts.map +1 -1
  197. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js +7 -23
  198. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js.map +1 -1
  199. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts +3 -3
  200. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts.map +1 -1
  201. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js +7 -22
  202. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js.map +1 -1
  203. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts +3 -3
  204. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts.map +1 -1
  205. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js +1 -1
  206. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js.map +1 -1
  207. package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts +5 -6
  208. package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts.map +1 -1
  209. package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js +2 -3
  210. package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js.map +1 -1
  211. package/internal/hardhat-network/provider/utils/getCurrentTimestamp.d.ts +1 -0
  212. package/internal/hardhat-network/provider/utils/getCurrentTimestamp.d.ts.map +1 -1
  213. package/internal/hardhat-network/provider/utils/getCurrentTimestamp.js +5 -1
  214. package/internal/hardhat-network/provider/utils/getCurrentTimestamp.js.map +1 -1
  215. package/internal/hardhat-network/provider/utils/makeAccount.d.ts +1 -1
  216. package/internal/hardhat-network/provider/utils/makeAccount.d.ts.map +1 -1
  217. package/internal/hardhat-network/provider/utils/makeAccount.js +6 -6
  218. package/internal/hardhat-network/provider/utils/makeAccount.js.map +1 -1
  219. package/internal/hardhat-network/provider/utils/makeCommon.d.ts +2 -2
  220. package/internal/hardhat-network/provider/utils/makeCommon.d.ts.map +1 -1
  221. package/internal/hardhat-network/provider/utils/makeCommon.js +7 -23
  222. package/internal/hardhat-network/provider/utils/makeCommon.js.map +1 -1
  223. package/internal/hardhat-network/provider/utils/makeForkClient.d.ts +1 -2
  224. package/internal/hardhat-network/provider/utils/makeForkClient.d.ts.map +1 -1
  225. package/internal/hardhat-network/provider/utils/makeForkClient.js +7 -8
  226. package/internal/hardhat-network/provider/utils/makeForkClient.js.map +1 -1
  227. package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts +1 -1
  228. package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts.map +1 -1
  229. package/internal/hardhat-network/provider/utils/makeStateTrie.js +4 -4
  230. package/internal/hardhat-network/provider/utils/makeStateTrie.js.map +1 -1
  231. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts +6 -3
  232. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts.map +1 -1
  233. package/internal/hardhat-network/provider/utils/putGenesisBlock.js +22 -4
  234. package/internal/hardhat-network/provider/utils/putGenesisBlock.js.map +1 -1
  235. package/internal/hardhat-network/provider/utils/random.d.ts +15 -0
  236. package/internal/hardhat-network/provider/utils/random.d.ts.map +1 -0
  237. package/internal/hardhat-network/provider/utils/random.js +48 -0
  238. package/internal/hardhat-network/provider/utils/random.js.map +1 -0
  239. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.d.ts +1 -2
  240. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.d.ts.map +1 -1
  241. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js +5 -4
  242. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js.map +1 -1
  243. package/internal/hardhat-network/provider/utils/reorgs-protection.d.ts +2 -2
  244. package/internal/hardhat-network/provider/utils/reorgs-protection.d.ts.map +1 -1
  245. package/internal/hardhat-network/provider/utils/reorgs-protection.js +7 -7
  246. package/internal/hardhat-network/provider/utils/reorgs-protection.js.map +1 -1
  247. package/internal/hardhat-network/provider/utils/txMapToArray.d.ts +1 -1
  248. package/internal/hardhat-network/provider/utils/txMapToArray.d.ts.map +1 -1
  249. package/internal/hardhat-network/stack-traces/compiler-to-model.js +6 -8
  250. package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -1
  251. package/internal/hardhat-network/stack-traces/consoleLogger.d.ts.map +1 -1
  252. package/internal/hardhat-network/stack-traces/consoleLogger.js +45 -45
  253. package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
  254. package/internal/hardhat-network/stack-traces/constants.d.ts +3 -0
  255. package/internal/hardhat-network/stack-traces/constants.d.ts.map +1 -0
  256. package/internal/hardhat-network/stack-traces/constants.js +6 -0
  257. package/internal/hardhat-network/stack-traces/constants.js.map +1 -0
  258. package/internal/hardhat-network/stack-traces/contracts-identifier.js +2 -2
  259. package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +1 -1
  260. package/internal/hardhat-network/stack-traces/debug.js +29 -19
  261. package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
  262. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts.map +1 -1
  263. package/internal/hardhat-network/stack-traces/error-inferrer.js +44 -26
  264. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
  265. package/internal/hardhat-network/stack-traces/message-trace.d.ts +6 -7
  266. package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -1
  267. package/internal/hardhat-network/stack-traces/message-trace.js.map +1 -1
  268. package/internal/hardhat-network/stack-traces/model.js +6 -6
  269. package/internal/hardhat-network/stack-traces/model.js.map +1 -1
  270. package/internal/hardhat-network/stack-traces/panic-errors.d.ts +1 -2
  271. package/internal/hardhat-network/stack-traces/panic-errors.d.ts.map +1 -1
  272. package/internal/hardhat-network/stack-traces/panic-errors.js +1 -1
  273. package/internal/hardhat-network/stack-traces/panic-errors.js.map +1 -1
  274. package/internal/hardhat-network/stack-traces/solidity-errors.d.ts.map +1 -1
  275. package/internal/hardhat-network/stack-traces/solidity-errors.js +21 -12
  276. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  277. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +6 -5
  278. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts.map +1 -1
  279. package/internal/hardhat-network/stack-traces/solidity-stack-trace.js.map +1 -1
  280. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
  281. package/internal/hardhat-network/stack-traces/solidityTracer.js +4 -0
  282. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
  283. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts +2 -1
  284. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts.map +1 -1
  285. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +79 -78
  286. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
  287. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js +5 -1
  288. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js.map +1 -1
  289. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +3 -2
  290. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +1 -1
  291. package/internal/hardhat-network/stack-traces/vm-tracer.js +15 -16
  292. package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
  293. package/internal/reset.js +1 -1
  294. package/internal/reset.js.map +1 -1
  295. package/internal/sentry/anonymizer.js +2 -3
  296. package/internal/sentry/anonymizer.js.map +1 -1
  297. package/internal/sentry/subprocess.js +1 -1
  298. package/internal/sentry/subprocess.js.map +1 -1
  299. package/internal/sentry/transport.js +3 -4
  300. package/internal/sentry/transport.js.map +1 -1
  301. package/internal/solidity/compilation-job.js +2 -4
  302. package/internal/solidity/compilation-job.js.map +1 -1
  303. package/internal/solidity/compiler/downloader.d.ts.map +1 -1
  304. package/internal/solidity/compiler/downloader.js +6 -6
  305. package/internal/solidity/compiler/downloader.js.map +1 -1
  306. package/internal/solidity/dependencyGraph.js +3 -5
  307. package/internal/solidity/dependencyGraph.js.map +1 -1
  308. package/internal/solidity/parse.js +1 -1
  309. package/internal/solidity/parse.js.map +1 -1
  310. package/internal/solidity/resolver.js +4 -1
  311. package/internal/solidity/resolver.js.map +1 -1
  312. package/internal/util/abi-helpers.js +1 -1
  313. package/internal/util/abi-helpers.js.map +1 -1
  314. package/internal/util/bigint.d.ts +25 -0
  315. package/internal/util/bigint.d.ts.map +1 -0
  316. package/internal/util/bigint.js +67 -0
  317. package/internal/util/bigint.js.map +1 -0
  318. package/internal/util/download.js +1 -1
  319. package/internal/util/download.js.map +1 -1
  320. package/internal/util/fs-utils.d.ts +32 -0
  321. package/internal/util/fs-utils.d.ts.map +1 -0
  322. package/internal/util/fs-utils.js +151 -0
  323. package/internal/util/fs-utils.js.map +1 -0
  324. package/internal/util/hardforks.d.ts +3 -3
  325. package/internal/util/hardforks.d.ts.map +1 -1
  326. package/internal/util/hardforks.js +5 -28
  327. package/internal/util/hardforks.js.map +1 -1
  328. package/internal/util/jsonrpc.js +1 -1
  329. package/internal/util/jsonrpc.js.map +1 -1
  330. package/internal/util/lazy.js +2 -2
  331. package/internal/util/lazy.js.map +1 -1
  332. package/internal/util/packageInfo.js +1 -1
  333. package/internal/util/packageInfo.js.map +1 -1
  334. package/internal/util/scripts-runner.js +5 -2
  335. package/internal/util/scripts-runner.js.map +1 -1
  336. package/internal/util/wei-values.d.ts +1 -2
  337. package/internal/util/wei-values.d.ts.map +1 -1
  338. package/internal/util/wei-values.js +9 -10
  339. package/internal/util/wei-values.js.map +1 -1
  340. package/internal/vendor/await-semaphore/index.d.ts +12 -0
  341. package/internal/vendor/await-semaphore/index.d.ts.map +1 -0
  342. package/internal/vendor/await-semaphore/index.js +64 -0
  343. package/internal/vendor/await-semaphore/index.js.map +1 -0
  344. package/package.json +13 -9
  345. package/profiling.d.ts +18 -0
  346. package/profiling.d.ts.map +1 -0
  347. package/profiling.js +32 -0
  348. package/profiling.js.map +1 -0
  349. package/src/builtin-tasks/node.ts +4 -6
  350. package/src/internal/constants.ts +3 -1
  351. package/src/internal/core/config/config-resolution.ts +30 -7
  352. package/src/internal/core/config/default-config.ts +2 -4
  353. package/src/internal/core/jsonrpc/types/base-types.ts +23 -24
  354. package/src/internal/core/jsonrpc/types/input/blockTag.ts +2 -4
  355. package/src/internal/core/jsonrpc/types/input/callRequest.ts +0 -4
  356. package/src/internal/core/jsonrpc/types/input/filterRequest.ts +0 -4
  357. package/src/internal/core/jsonrpc/types/input/transactionRequest.ts +0 -4
  358. package/src/internal/core/jsonrpc/types/output/block.ts +0 -4
  359. package/src/internal/core/jsonrpc/types/output/log.ts +0 -4
  360. package/src/internal/core/jsonrpc/types/output/receipt.ts +0 -4
  361. package/src/internal/core/jsonrpc/types/output/transaction.ts +0 -4
  362. package/src/internal/core/providers/accounts.ts +16 -26
  363. package/src/internal/core/providers/construction.ts +5 -3
  364. package/src/internal/core/providers/gas-providers.ts +25 -33
  365. package/src/internal/core/providers/util.ts +1 -1
  366. package/src/internal/hardhat-network/jsonrpc/client.ts +22 -22
  367. package/src/internal/hardhat-network/provider/BlockchainBase.ts +62 -25
  368. package/src/internal/hardhat-network/provider/BlockchainData.ts +39 -42
  369. package/src/internal/hardhat-network/provider/HardhatBlockchain.ts +21 -21
  370. package/src/internal/hardhat-network/provider/PoolState.ts +3 -4
  371. package/src/internal/hardhat-network/provider/TransactionQueue.ts +11 -8
  372. package/src/internal/hardhat-network/provider/TxPool.ts +62 -64
  373. package/src/internal/hardhat-network/provider/ethereumjs-workarounds.ts +3 -3
  374. package/src/internal/hardhat-network/provider/filter.ts +9 -12
  375. package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +52 -50
  376. package/src/internal/hardhat-network/provider/fork/ForkStateManager.ts +35 -60
  377. package/src/internal/hardhat-network/provider/fork/rpcToBlockData.ts +2 -2
  378. package/src/internal/hardhat-network/provider/fork/rpcToTxData.ts +3 -3
  379. package/src/internal/hardhat-network/provider/modules/eth.ts +88 -63
  380. package/src/internal/hardhat-network/provider/modules/evm.ts +19 -22
  381. package/src/internal/hardhat-network/provider/modules/hardhat.ts +21 -19
  382. package/src/internal/hardhat-network/provider/modules/logger.ts +33 -40
  383. package/src/internal/hardhat-network/provider/modules/net.ts +1 -1
  384. package/src/internal/hardhat-network/provider/modules/personal.ts +2 -1
  385. package/src/internal/hardhat-network/provider/modules/web3.ts +5 -4
  386. package/src/internal/hardhat-network/provider/node-types.ts +32 -31
  387. package/src/internal/hardhat-network/provider/node.ts +379 -343
  388. package/src/internal/hardhat-network/provider/output.ts +32 -37
  389. package/src/internal/hardhat-network/provider/provider.ts +5 -6
  390. package/src/internal/hardhat-network/provider/return-data.ts +2 -3
  391. package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +51 -24
  392. package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +50 -23
  393. package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +29 -11
  394. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +12 -24
  395. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts +11 -22
  396. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts +3 -3
  397. package/src/internal/hardhat-network/provider/types/HardhatBlockchainInterface.ts +8 -9
  398. package/src/internal/hardhat-network/provider/utils/getCurrentTimestamp.ts +4 -0
  399. package/src/internal/hardhat-network/provider/utils/makeAccount.ts +4 -10
  400. package/src/internal/hardhat-network/provider/utils/makeCommon.ts +8 -34
  401. package/src/internal/hardhat-network/provider/utils/makeForkClient.ts +8 -9
  402. package/src/internal/hardhat-network/provider/utils/makeStateTrie.ts +3 -3
  403. package/src/internal/hardhat-network/provider/utils/putGenesisBlock.ts +34 -6
  404. package/src/internal/hardhat-network/provider/utils/random.ts +54 -0
  405. package/src/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.ts +6 -7
  406. package/src/internal/hardhat-network/provider/utils/reorgs-protection.ts +8 -8
  407. package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +7 -2
  408. package/src/internal/hardhat-network/stack-traces/contracts-identifier.ts +1 -1
  409. package/src/internal/hardhat-network/stack-traces/debug.ts +1 -1
  410. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +6 -7
  411. package/src/internal/hardhat-network/stack-traces/message-trace.ts +6 -7
  412. package/src/internal/hardhat-network/stack-traces/model.ts +1 -1
  413. package/src/internal/hardhat-network/stack-traces/panic-errors.ts +3 -5
  414. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +16 -1
  415. package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +6 -6
  416. package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +5 -0
  417. package/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts +106 -103
  418. package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +23 -18
  419. package/src/internal/solidity/compiler/downloader.ts +5 -2
  420. package/src/internal/util/bigint.ts +84 -0
  421. package/src/internal/util/hardforks.ts +4 -29
  422. package/src/internal/util/wei-values.ts +11 -13
  423. package/src/types/config.ts +8 -10
  424. package/types/config.d.ts +8 -9
  425. package/types/config.d.ts.map +1 -1
  426. package/src/internal/hardhat-network/provider/fork/random.ts +0 -33
  427. package/src/internal/hardhat-network/provider/utils/bnToHex.ts +0 -5
  428. package/src/internal/hardhat-network/provider/utils/makeForkCommon.ts +0 -15
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-profiling.d.ts","sourceRoot":"","sources":["../../src/internal/core/task-profiling.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAM3D;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,QAE3D;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAE7E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,gBAAgB,UAAQ,QAuBzB"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.flagParallelChildren = exports.createParentTaskProfile = exports.completeTaskProfile = exports.createTaskProfile = void 0;
4
+ function createTaskProfile(name) {
5
+ return {
6
+ name,
7
+ start: process.hrtime.bigint(),
8
+ children: [],
9
+ };
10
+ }
11
+ exports.createTaskProfile = createTaskProfile;
12
+ function completeTaskProfile(taskProfile) {
13
+ taskProfile.end = process.hrtime.bigint();
14
+ }
15
+ exports.completeTaskProfile = completeTaskProfile;
16
+ function createParentTaskProfile(taskProfile) {
17
+ return createTaskProfile(`super::${taskProfile.name}`);
18
+ }
19
+ exports.createParentTaskProfile = createParentTaskProfile;
20
+ /**
21
+ * Sets `parallel` to `true` to any children that was running at the same time
22
+ * of another.
23
+ *
24
+ * We assume `children[]` is in chronological `start` order.
25
+ */
26
+ function flagParallelChildren(profile, isParentParallel = false) {
27
+ if (isParentParallel) {
28
+ profile.parallel = true;
29
+ for (const child of profile.children) {
30
+ child.parallel = true;
31
+ }
32
+ }
33
+ else {
34
+ for (const [i, child] of profile.children.entries()) {
35
+ if (i === 0) {
36
+ continue;
37
+ }
38
+ const prevChild = profile.children[i - 1];
39
+ if (child.start < prevChild.end) {
40
+ prevChild.parallel = true;
41
+ child.parallel = true;
42
+ }
43
+ }
44
+ }
45
+ for (const child of profile.children) {
46
+ flagParallelChildren(child, child.parallel);
47
+ }
48
+ }
49
+ exports.flagParallelChildren = flagParallelChildren;
50
+ //# sourceMappingURL=task-profiling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-profiling.js","sourceRoot":"","sources":["../../src/internal/core/task-profiling.ts"],"names":[],"mappings":";;;AAQA,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAC9B,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAND,8CAMC;AAED,SAAgB,mBAAmB,CAAC,WAAwB;IAC1D,WAAW,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;AAC5C,CAAC;AAFD,kDAEC;AAED,SAAgB,uBAAuB,CAAC,WAAwB;IAC9D,OAAO,iBAAiB,CAAC,UAAU,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;AACzD,CAAC;AAFD,0DAEC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAClC,OAAoB,EACpB,gBAAgB,GAAG,KAAK;IAExB,IAAI,gBAAgB,EAAE;QACpB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;SACvB;KACF;SAAM;QACL,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE;YACnD,IAAI,CAAC,KAAK,CAAC,EAAE;gBACX,SAAS;aACV;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,GAAI,EAAE;gBAChC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC1B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;aACvB;SACF;KACF;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE;QACpC,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;KAC7C;AACH,CAAC;AAzBD,oDAyBC"}
@@ -30,7 +30,7 @@ function isTypescriptSupported() {
30
30
  require.resolve("ts-node");
31
31
  cachedIsTypescriptSupported = true;
32
32
  }
33
- catch (_a) {
33
+ catch {
34
34
  cachedIsTypescriptSupported = false;
35
35
  }
36
36
  }
@@ -41,13 +41,13 @@ function loadTsNode(tsConfigPath) {
41
41
  try {
42
42
  require.resolve("typescript");
43
43
  }
44
- catch (_a) {
44
+ catch {
45
45
  throw new errors_1.HardhatError(errors_list_1.ERRORS.GENERAL.TYPESCRIPT_NOT_INSTALLED);
46
46
  }
47
47
  try {
48
48
  require.resolve("ts-node");
49
49
  }
50
- catch (_b) {
50
+ catch {
51
51
  throw new errors_1.HardhatError(errors_list_1.ERRORS.GENERAL.TS_NODE_NOT_INSTALLED);
52
52
  }
53
53
  // If we are running tests we just want to transpile
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-support.js","sourceRoot":"","sources":["../../src/internal/core/typescript-support.ts"],"names":[],"mappings":";;;AAEA,4DAA4D;AAC5D,qCAAwC;AACxC,+CAAuC;AACvC,qDAA6D;AAE7D,IAAI,2BAAgD,CAAC;AAErD;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,UAAmB;IACvD,MAAM,MAAM,GAAG,IAAA,kCAAiB,EAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAHD,sDAGC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,MAAqB;IAC3D,OAAO,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnD,CAAC;AAFD,0DAEC;AAED,SAAgB,qBAAqB;IACnC,IAAI,2BAA2B,KAAK,SAAS,EAAE;QAC7C,IAAI;YACF,gDAAgD;YAChD,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3B,2BAA2B,GAAG,IAAI,CAAC;SACpC;QAAC,WAAM;YACN,2BAA2B,GAAG,KAAK,CAAC;SACrC;KACF;IAED,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAbD,sDAaC;AAED,SAAgB,UAAU,CAAC,YAAqB;IAC9C,IAAI;QACF,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;KAC/B;IAAC,WAAM;QACN,MAAM,IAAI,qBAAY,CAAC,oBAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;KACjE;IAED,IAAI;QACF,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC5B;IAAC,WAAM;QACN,MAAM,IAAI,qBAAY,CAAC,oBAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;KAC9D;IAED,oDAAoD;IACpD,IAAI,IAAA,0CAAyB,GAAE,EAAE;QAC/B,6DAA6D;QAC7D,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAC3C,OAAO;KACR;IAED,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,YAAY,CAAC;KAC5C;IAED,uDAAuD;IACvD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE;QAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC;KACpC;IAED,6DAA6D;IAC7D,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC9B,CAAC;AA/BD,gCA+BC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"typescript-support.js","sourceRoot":"","sources":["../../src/internal/core/typescript-support.ts"],"names":[],"mappings":";;;AAEA,4DAA4D;AAC5D,qCAAwC;AACxC,+CAAuC;AACvC,qDAA6D;AAE7D,IAAI,2BAAgD,CAAC;AAErD;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,UAAmB;IACvD,MAAM,MAAM,GAAG,IAAA,kCAAiB,EAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAHD,sDAGC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,MAAqB;IAC3D,OAAO,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnD,CAAC;AAFD,0DAEC;AAED,SAAgB,qBAAqB;IACnC,IAAI,2BAA2B,KAAK,SAAS,EAAE;QAC7C,IAAI;YACF,gDAAgD;YAChD,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9B,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3B,2BAA2B,GAAG,IAAI,CAAC;SACpC;QAAC,MAAM;YACN,2BAA2B,GAAG,KAAK,CAAC;SACrC;KACF;IAED,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAbD,sDAaC;AAED,SAAgB,UAAU,CAAC,YAAqB;IAC9C,IAAI;QACF,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;KAC/B;IAAC,MAAM;QACN,MAAM,IAAI,qBAAY,CAAC,oBAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;KACjE;IAED,IAAI;QACF,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC5B;IAAC,MAAM;QACN,MAAM,IAAI,qBAAY,CAAC,oBAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;KAC9D;IAED,oDAAoD;IACpD,IAAI,IAAA,0CAAyB,GAAE,EAAE;QAC/B,6DAA6D;QAC7D,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAC3C,OAAO;KACR;IAED,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,YAAY,CAAC;KAC5C;IAED,uDAAuD;IACvD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE;QAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC;KACpC;IAED,6DAA6D;IAC7D,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC9B,CAAC;AA/BD,gCA+BC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import { Address, BN } from "ethereumjs-util";
2
+ import { Address } from "@ignored/util";
3
3
  import { RpcBlock, RpcBlockWithTransactions } from "../../core/jsonrpc/types/output/block";
4
4
  import { HttpProvider } from "../../core/providers/http";
5
5
  import { FeeHistory } from "../provider/node-types";
@@ -10,87 +10,87 @@ export declare class JsonRpcClient {
10
10
  private _maxReorg;
11
11
  private _forkCachePath?;
12
12
  private _cache;
13
- constructor(_httpProvider: HttpProvider, _networkId: number, _latestBlockNumberOnCreation: number, _maxReorg: number, _forkCachePath?: string | undefined);
13
+ constructor(_httpProvider: HttpProvider, _networkId: number, _latestBlockNumberOnCreation: bigint, _maxReorg: bigint, _forkCachePath?: string | undefined);
14
14
  getNetworkId(): number;
15
15
  getDebugTraceTransaction(transactionHash: Buffer): Promise<any>;
16
- getStorageAt(address: Address, position: BN, blockNumber: BN): Promise<Buffer>;
17
- getBlockByNumber(blockNumber: BN, includeTransactions?: false): Promise<RpcBlock | null>;
18
- getBlockByNumber(blockNumber: BN, includeTransactions: true): Promise<RpcBlockWithTransactions | null>;
16
+ getStorageAt(address: Address, position: bigint, blockNumber: bigint): Promise<Buffer>;
17
+ getBlockByNumber(blockNumber: bigint, includeTransactions?: false): Promise<RpcBlock | null>;
18
+ getBlockByNumber(blockNumber: bigint, includeTransactions: true): Promise<RpcBlockWithTransactions | null>;
19
19
  getBlockByHash(blockHash: Buffer, includeTransactions?: false): Promise<RpcBlock | null>;
20
20
  getBlockByHash(blockHash: Buffer, includeTransactions: true): Promise<RpcBlockWithTransactions | null>;
21
21
  getTransactionByHash(transactionHash: Buffer): Promise<{
22
22
  blockHash: Buffer | null;
23
- blockNumber: BN | null;
23
+ blockNumber: bigint | null;
24
24
  from: Buffer;
25
- gas: BN;
26
- gasPrice: BN;
25
+ gas: bigint;
26
+ gasPrice: bigint;
27
27
  hash: Buffer;
28
28
  input: Buffer;
29
- nonce: BN;
29
+ nonce: bigint;
30
30
  to: Buffer | null | undefined;
31
- transactionIndex: BN | null;
32
- value: BN;
33
- v: BN;
34
- r: BN;
35
- s: BN;
36
- type: BN | undefined;
37
- chainId: BN | null | undefined;
31
+ transactionIndex: bigint | null;
32
+ value: bigint;
33
+ v: bigint;
34
+ r: bigint;
35
+ s: bigint;
36
+ type: bigint | undefined;
37
+ chainId: bigint | null | undefined;
38
38
  accessList: {
39
39
  address: Buffer;
40
40
  storageKeys: Buffer[] | null;
41
41
  }[] | undefined;
42
- maxFeePerGas: BN | undefined;
43
- maxPriorityFeePerGas: BN | undefined;
42
+ maxFeePerGas: bigint | undefined;
43
+ maxPriorityFeePerGas: bigint | undefined;
44
44
  } | null>;
45
- getTransactionCount(address: Buffer, blockNumber: BN): Promise<BN>;
45
+ getTransactionCount(address: Buffer, blockNumber: bigint): Promise<bigint>;
46
46
  getTransactionReceipt(transactionHash: Buffer): Promise<{
47
47
  transactionHash: Buffer;
48
- transactionIndex: BN;
48
+ transactionIndex: bigint;
49
49
  blockHash: Buffer;
50
- blockNumber: BN;
50
+ blockNumber: bigint;
51
51
  from: Buffer;
52
52
  to: Buffer | null;
53
- cumulativeGasUsed: BN;
54
- gasUsed: BN;
53
+ cumulativeGasUsed: bigint;
54
+ gasUsed: bigint;
55
55
  contractAddress: Buffer | null;
56
56
  logs: {
57
- logIndex: BN | null;
58
- transactionIndex: BN | null;
57
+ logIndex: bigint | null;
58
+ transactionIndex: bigint | null;
59
59
  transactionHash: Buffer | null;
60
60
  blockHash: Buffer | null;
61
- blockNumber: BN | null;
61
+ blockNumber: bigint | null;
62
62
  address: Buffer;
63
63
  data: Buffer;
64
64
  topics: Buffer[];
65
65
  }[];
66
66
  logsBloom: Buffer;
67
- status: BN | null | undefined;
67
+ status: bigint | null | undefined;
68
68
  root: Buffer | undefined;
69
- type: BN | undefined;
70
- effectiveGasPrice: BN | undefined;
69
+ type: bigint | undefined;
70
+ effectiveGasPrice: bigint | undefined;
71
71
  } | null>;
72
72
  getLogs(options: {
73
- fromBlock: BN;
74
- toBlock: BN;
73
+ fromBlock: bigint;
74
+ toBlock: bigint;
75
75
  address?: Buffer | Buffer[];
76
76
  topics?: Array<Array<Buffer | null> | null>;
77
77
  }): Promise<{
78
- logIndex: BN | null;
79
- transactionIndex: BN | null;
78
+ logIndex: bigint | null;
79
+ transactionIndex: bigint | null;
80
80
  transactionHash: Buffer | null;
81
81
  blockHash: Buffer | null;
82
- blockNumber: BN | null;
82
+ blockNumber: bigint | null;
83
83
  address: Buffer;
84
84
  data: Buffer;
85
85
  topics: Buffer[];
86
86
  }[]>;
87
- getAccountData(address: Address, blockNumber: BN): Promise<{
87
+ getAccountData(address: Address, blockNumber: bigint): Promise<{
88
88
  code: Buffer;
89
- transactionCount: BN;
90
- balance: BN;
89
+ transactionCount: bigint;
90
+ balance: bigint;
91
91
  }>;
92
- getFeeHistory(blockCount: BN, newestBlock: BN | "pending", rewardPercentiles: number[]): Promise<FeeHistory>;
93
- getLatestBlockNumber(): Promise<BN>;
92
+ getFeeHistory(blockCount: bigint, newestBlock: bigint | "pending", rewardPercentiles: number[]): Promise<FeeHistory>;
93
+ getLatestBlockNumber(): Promise<bigint>;
94
94
  private _perform;
95
95
  private _performBatch;
96
96
  private _send;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/client.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAe,MAAM,iBAAiB,CAAC;AAU3D,OAAO,EAEL,QAAQ,EAER,wBAAwB,EACzB,MAAM,uCAAuC,CAAC;AAK/C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,qBAAa,aAAa;IAItB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,4BAA4B;IACpC,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc,CAAC;IAPzB,OAAO,CAAC,MAAM,CAA+B;gBAGnC,aAAa,EAAE,YAAY,EAC3B,UAAU,EAAE,MAAM,EAClB,4BAA4B,EAAE,MAAM,EACpC,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,oBAAQ;IAG1B,YAAY,IAAI,MAAM;IAIhB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAU/D,YAAY,CACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,EAAE,EACZ,WAAW,EAAE,EAAE,GACd,OAAO,CAAC,MAAM,CAAC;IAaL,gBAAgB,CAC3B,WAAW,EAAE,EAAE,EACf,mBAAmB,CAAC,EAAE,KAAK,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEd,gBAAgB,CAC3B,WAAW,EAAE,EAAE,EACf,mBAAmB,EAAE,IAAI,GACxB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAuB9B,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,KAAK,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEd,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,IAAI,GACxB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAuB9B,oBAAoB,CAAC,eAAe,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;IAS5C,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;IASpD,qBAAqB,CAAC,eAAe,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;IAS7C,OAAO,CAAC,OAAO,EAAE;QAC5B,SAAS,EAAE,EAAE,CAAC;QACd,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;KAC7C;;;;;;;;;;IA+BY,cAAc,CACzB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,EAAE,GACd,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,EAAE,CAAC;QAAC,OAAO,EAAE,EAAE,CAAA;KAAE,CAAC;IA+BlD,aAAa,CACxB,UAAU,EAAE,EAAE,EACd,WAAW,EAAE,EAAE,GAAG,SAAS,EAC3B,iBAAiB,EAAE,MAAM,EAAE,GAC1B,OAAO,CAAC,UAAU,CAAC;IAoBT,oBAAoB,IAAI,OAAO,CAAC,EAAE,CAAC;YASlC,QAAQ;YAwCR,aAAa;YAiDb,KAAK;YAsBL,UAAU;IAexB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;YAIP,iBAAiB;YAYjB,sBAAsB;YActB,oBAAoB;YAqBpB,iBAAiB;IAa/B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,gBAAgB;CAKzB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/client.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAe,MAAM,eAAe,CAAC;AAUrD,OAAO,EAEL,QAAQ,EAER,wBAAwB,EACzB,MAAM,uCAAuC,CAAC;AAK/C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,qBAAa,aAAa;IAItB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,4BAA4B;IACpC,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc,CAAC;IAPzB,OAAO,CAAC,MAAM,CAA+B;gBAGnC,aAAa,EAAE,YAAY,EAC3B,UAAU,EAAE,MAAM,EAClB,4BAA4B,EAAE,MAAM,EACpC,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,oBAAQ;IAG1B,YAAY,IAAI,MAAM;IAIhB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAU/D,YAAY,CACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC;IAaL,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,KAAK,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEd,gBAAgB,CAC3B,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,IAAI,GACxB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAuB9B,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,KAAK,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEd,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,IAAI,GACxB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAuB9B,oBAAoB,CAAC,eAAe,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;IAS5C,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IASxD,qBAAqB,CAAC,eAAe,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;IAS7C,OAAO,CAAC,OAAO,EAAE;QAC5B,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;KAC7C;;;;;;;;;;IA+BY,cAAc,CACzB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IA+B1D,aAAa,CACxB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,iBAAiB,EAAE,MAAM,EAAE,GAC1B,OAAO,CAAC,UAAU,CAAC;IAoBT,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;YAStC,QAAQ;YAwCR,aAAa;YAiDb,KAAK;YAsBL,UAAU;IAexB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;YAIP,iBAAiB;YAYjB,sBAAsB;YActB,oBAAoB;YAqBpB,iBAAiB;IAa/B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,gBAAgB;CAKzB"}
@@ -23,7 +23,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  };
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.JsonRpcClient = void 0;
26
- const ethereumjs_util_1 = require("ethereumjs-util");
26
+ const util_1 = require("@ignored/util");
27
27
  const fs_extra_1 = __importDefault(require("fs-extra"));
28
28
  const t = __importStar(require("io-ts"));
29
29
  const path_1 = __importDefault(require("path"));
@@ -48,7 +48,7 @@ class JsonRpcClient {
48
48
  return this._networkId;
49
49
  }
50
50
  async getDebugTraceTransaction(transactionHash) {
51
- return this._perform("debug_traceTransaction", [(0, ethereumjs_util_1.bufferToHex)(transactionHash)], t.object, () => undefined);
51
+ return this._perform("debug_traceTransaction", [(0, util_1.bufferToHex)(transactionHash)], t.object, () => undefined);
52
52
  }
53
53
  // Storage key must be 32 bytes long
54
54
  async getStorageAt(address, position, blockNumber) {
@@ -60,36 +60,36 @@ class JsonRpcClient {
60
60
  }
61
61
  async getBlockByNumber(blockNumber, includeTransactions = false) {
62
62
  if (includeTransactions) {
63
- return this._perform("eth_getBlockByNumber", [(0, base_types_1.numberToRpcQuantity)(blockNumber), true], (0, io_ts_1.nullable)(block_1.rpcBlockWithTransactions), (block) => { var _a; return (_a = block === null || block === void 0 ? void 0 : block.number) !== null && _a !== void 0 ? _a : undefined; });
63
+ return this._perform("eth_getBlockByNumber", [(0, base_types_1.numberToRpcQuantity)(blockNumber), true], (0, io_ts_1.nullable)(block_1.rpcBlockWithTransactions), (block) => block?.number ?? undefined);
64
64
  }
65
- return this._perform("eth_getBlockByNumber", [(0, base_types_1.numberToRpcQuantity)(blockNumber), false], (0, io_ts_1.nullable)(block_1.rpcBlock), (block) => { var _a; return (_a = block === null || block === void 0 ? void 0 : block.number) !== null && _a !== void 0 ? _a : undefined; });
65
+ return this._perform("eth_getBlockByNumber", [(0, base_types_1.numberToRpcQuantity)(blockNumber), false], (0, io_ts_1.nullable)(block_1.rpcBlock), (block) => block?.number ?? undefined);
66
66
  }
67
67
  async getBlockByHash(blockHash, includeTransactions = false) {
68
68
  if (includeTransactions) {
69
- return this._perform("eth_getBlockByHash", [(0, ethereumjs_util_1.bufferToHex)(blockHash), true], (0, io_ts_1.nullable)(block_1.rpcBlockWithTransactions), (block) => { var _a; return (_a = block === null || block === void 0 ? void 0 : block.number) !== null && _a !== void 0 ? _a : undefined; });
69
+ return this._perform("eth_getBlockByHash", [(0, util_1.bufferToHex)(blockHash), true], (0, io_ts_1.nullable)(block_1.rpcBlockWithTransactions), (block) => block?.number ?? undefined);
70
70
  }
71
- return this._perform("eth_getBlockByHash", [(0, ethereumjs_util_1.bufferToHex)(blockHash), false], (0, io_ts_1.nullable)(block_1.rpcBlock), (block) => { var _a; return (_a = block === null || block === void 0 ? void 0 : block.number) !== null && _a !== void 0 ? _a : undefined; });
71
+ return this._perform("eth_getBlockByHash", [(0, util_1.bufferToHex)(blockHash), false], (0, io_ts_1.nullable)(block_1.rpcBlock), (block) => block?.number ?? undefined);
72
72
  }
73
73
  async getTransactionByHash(transactionHash) {
74
- return this._perform("eth_getTransactionByHash", [(0, ethereumjs_util_1.bufferToHex)(transactionHash)], (0, io_ts_1.nullable)(transaction_1.rpcTransaction), (tx) => { var _a; return (_a = tx === null || tx === void 0 ? void 0 : tx.blockNumber) !== null && _a !== void 0 ? _a : undefined; });
74
+ return this._perform("eth_getTransactionByHash", [(0, util_1.bufferToHex)(transactionHash)], (0, io_ts_1.nullable)(transaction_1.rpcTransaction), (tx) => tx?.blockNumber ?? undefined);
75
75
  }
76
76
  async getTransactionCount(address, blockNumber) {
77
- return this._perform("eth_getTransactionCount", [(0, ethereumjs_util_1.bufferToHex)(address), (0, base_types_1.numberToRpcQuantity)(blockNumber)], base_types_1.rpcQuantity, () => blockNumber);
77
+ return this._perform("eth_getTransactionCount", [(0, util_1.bufferToHex)(address), (0, base_types_1.numberToRpcQuantity)(blockNumber)], base_types_1.rpcQuantity, () => blockNumber);
78
78
  }
79
79
  async getTransactionReceipt(transactionHash) {
80
- return this._perform("eth_getTransactionReceipt", [(0, ethereumjs_util_1.bufferToHex)(transactionHash)], (0, io_ts_1.nullable)(receipt_1.rpcTransactionReceipt), (tx) => { var _a; return (_a = tx === null || tx === void 0 ? void 0 : tx.blockNumber) !== null && _a !== void 0 ? _a : undefined; });
80
+ return this._perform("eth_getTransactionReceipt", [(0, util_1.bufferToHex)(transactionHash)], (0, io_ts_1.nullable)(receipt_1.rpcTransactionReceipt), (tx) => tx?.blockNumber ?? undefined);
81
81
  }
82
82
  async getLogs(options) {
83
83
  let address;
84
84
  if (options.address !== undefined) {
85
85
  address = Array.isArray(options.address)
86
- ? options.address.map((x) => (0, ethereumjs_util_1.bufferToHex)(x))
87
- : (0, ethereumjs_util_1.bufferToHex)(options.address);
86
+ ? options.address.map((x) => (0, util_1.bufferToHex)(x))
87
+ : (0, util_1.bufferToHex)(options.address);
88
88
  }
89
89
  let topics;
90
90
  if (options.topics !== undefined) {
91
91
  topics = options.topics.map((items) => items !== null
92
- ? items.map((x) => (x !== null ? (0, ethereumjs_util_1.bufferToHex)(x) : x))
92
+ ? items.map((x) => (x !== null ? (0, util_1.bufferToHex)(x) : x))
93
93
  : null);
94
94
  }
95
95
  return this._perform("eth_getLogs", [
@@ -139,7 +139,7 @@ class JsonRpcClient {
139
139
  baseFeePerGas: t.array(base_types_1.rpcQuantity),
140
140
  gasUsedRatio: t.array(t.number),
141
141
  reward: (0, io_ts_1.optional)(t.array(t.array(base_types_1.rpcQuantity))),
142
- }), (res) => res.oldestBlock.addn(res.baseFeePerGas.length));
142
+ }), (res) => res.oldestBlock + BigInt(res.baseFeePerGas.length));
143
143
  }
144
144
  async getLatestBlockNumber() {
145
145
  return this._perform("eth_blockNumber", [], base_types_1.rpcQuantity, (blockNumber) => blockNumber);
@@ -293,7 +293,7 @@ class JsonRpcClient {
293
293
  if (blockNumber === undefined) {
294
294
  return false;
295
295
  }
296
- return !this._canBeReorgedOut(blockNumber.toNumber());
296
+ return !this._canBeReorgedOut(blockNumber);
297
297
  }
298
298
  _canBeReorgedOut(blockNumber) {
299
299
  const maxSafeBlockNumber = this._latestBlockNumberOnCreation - this._maxReorg;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAA2D;AAC3D,wDAA+B;AAC/B,yCAA2B;AAC3B,gDAAwB;AAExB,oEAI6C;AAC7C,iEAK+C;AAC/C,iGAA8F;AAC9F,6DAA6D;AAC7D,qEAAgF;AAChF,6EAA6E;AAE7E,0CAA4E;AAC5E,4CAAsD;AAGtD,MAAa,aAAa;IAGxB,YACU,aAA2B,EAC3B,UAAkB,EAClB,4BAAoC,EACpC,SAAiB,EACjB,cAAuB;QAJvB,kBAAa,GAAb,aAAa,CAAc;QAC3B,eAAU,GAAV,UAAU,CAAQ;QAClB,iCAA4B,GAA5B,4BAA4B,CAAQ;QACpC,cAAS,GAAT,SAAS,CAAQ;QACjB,mBAAc,GAAd,cAAc,CAAS;QAPzB,WAAM,GAAqB,IAAI,GAAG,EAAE,CAAC;IAQ1C,CAAC;IAEG,YAAY;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAC,eAAuB;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAClB,wBAAwB,EACxB,CAAC,IAAA,6BAAW,EAAC,eAAe,CAAC,CAAC,EAC9B,CAAC,CAAC,MAAM,EACR,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;IACJ,CAAC;IAED,oCAAoC;IAC7B,KAAK,CAAC,YAAY,CACvB,OAAgB,EAChB,QAAY,EACZ,WAAe;QAEf,OAAO,IAAI,CAAC,QAAQ,CAClB,kBAAkB,EAClB;YACE,OAAO,CAAC,QAAQ,EAAE;YAClB,IAAA,gCAAmB,EAAC,QAAQ,CAAC;YAC7B,IAAA,gCAAmB,EAAC,WAAW,CAAC;SACjC,EACD,oBAAO,EACP,GAAG,EAAE,CAAC,WAAW,CAClB,CAAC;IACJ,CAAC;IAYM,KAAK,CAAC,gBAAgB,CAC3B,WAAe,EACf,mBAAmB,GAAG,KAAK;QAE3B,IAAI,mBAAmB,EAAE;YACvB,OAAO,IAAI,CAAC,QAAQ,CAClB,sBAAsB,EACtB,CAAC,IAAA,gCAAmB,EAAC,WAAW,CAAC,EAAE,IAAI,CAAC,EACxC,IAAA,gBAAQ,EAAC,gCAAwB,CAAC,EAClC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,SAAS,CAAA,EAAA,CACtC,CAAC;SACH;QAED,OAAO,IAAI,CAAC,QAAQ,CAClB,sBAAsB,EACtB,CAAC,IAAA,gCAAmB,EAAC,WAAW,CAAC,EAAE,KAAK,CAAC,EACzC,IAAA,gBAAQ,EAAC,gBAAQ,CAAC,EAClB,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,SAAS,CAAA,EAAA,CACtC,CAAC;IACJ,CAAC;IAYM,KAAK,CAAC,cAAc,CACzB,SAAiB,EACjB,mBAAmB,GAAG,KAAK;QAE3B,IAAI,mBAAmB,EAAE;YACvB,OAAO,IAAI,CAAC,QAAQ,CAClB,oBAAoB,EACpB,CAAC,IAAA,6BAAW,EAAC,SAAS,CAAC,EAAE,IAAI,CAAC,EAC9B,IAAA,gBAAQ,EAAC,gCAAwB,CAAC,EAClC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,SAAS,CAAA,EAAA,CACtC,CAAC;SACH;QAED,OAAO,IAAI,CAAC,QAAQ,CAClB,oBAAoB,EACpB,CAAC,IAAA,6BAAW,EAAC,SAAS,CAAC,EAAE,KAAK,CAAC,EAC/B,IAAA,gBAAQ,EAAC,gBAAQ,CAAC,EAClB,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,SAAS,CAAA,EAAA,CACtC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,eAAuB;QACvD,OAAO,IAAI,CAAC,QAAQ,CAClB,0BAA0B,EAC1B,CAAC,IAAA,6BAAW,EAAC,eAAe,CAAC,CAAC,EAC9B,IAAA,gBAAQ,EAAC,4BAAc,CAAC,EACxB,CAAC,EAAE,EAAE,EAAE,WAAC,OAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,WAAW,mCAAI,SAAS,CAAA,EAAA,CACrC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,WAAe;QAC/D,OAAO,IAAI,CAAC,QAAQ,CAClB,yBAAyB,EACzB,CAAC,IAAA,6BAAW,EAAC,OAAO,CAAC,EAAE,IAAA,gCAAmB,EAAC,WAAW,CAAC,CAAC,EACxD,wBAAW,EACX,GAAG,EAAE,CAAC,WAAW,CAClB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,eAAuB;QACxD,OAAO,IAAI,CAAC,QAAQ,CAClB,2BAA2B,EAC3B,CAAC,IAAA,6BAAW,EAAC,eAAe,CAAC,CAAC,EAC9B,IAAA,gBAAQ,EAAC,+BAAqB,CAAC,EAC/B,CAAC,EAAE,EAAE,EAAE,WAAC,OAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,WAAW,mCAAI,SAAS,CAAA,EAAA,CACrC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,OAKpB;QACC,IAAI,OAAsC,CAAC;QAC3C,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;YACjC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;gBACtC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,6BAAW,EAAC,CAAC,CAAC,CAAC;gBAC5C,CAAC,CAAC,IAAA,6BAAW,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;SAClC;QACD,IAAI,MAAsD,CAAC;QAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACpC,KAAK,KAAK,IAAI;gBACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,6BAAW,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,CAAC,CAAC,IAAI,CACT,CAAC;SACH;QAED,OAAO,IAAI,CAAC,QAAQ,CAClB,aAAa,EACb;YACE;gBACE,SAAS,EAAE,IAAA,gCAAmB,EAAC,OAAO,CAAC,SAAS,CAAC;gBACjD,OAAO,EAAE,IAAA,gCAAmB,EAAC,OAAO,CAAC,OAAO,CAAC;gBAC7C,OAAO;gBACP,MAAM;aACP;SACF,EACD,CAAC,CAAC,KAAK,CAAC,YAAM,EAAE,cAAc,CAAC,EAC/B,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CACtB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,cAAc,CACzB,OAAgB,EAChB,WAAe;QAEf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CACtC;YACE;gBACE,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAA,gCAAmB,EAAC,WAAW,CAAC,CAAC;gBAC9D,KAAK,EAAE,oBAAO;aACf;YACD;gBACE,MAAM,EAAE,yBAAyB;gBACjC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAA,gCAAmB,EAAC,WAAW,CAAC,CAAC;gBAC9D,KAAK,EAAE,wBAAW;aACnB;YACD;gBACE,MAAM,EAAE,gBAAgB;gBACxB,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAA,gCAAmB,EAAC,WAAW,CAAC,CAAC;gBAC9D,KAAK,EAAE,wBAAW;aACnB;SACF,EACD,GAAG,EAAE,CAAC,WAAW,CAClB,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAChB,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;SACpB,CAAC;IACJ,CAAC;IAED,4FAA4F;IAC5F,4GAA4G;IACrG,KAAK,CAAC,aAAa,CACxB,UAAc,EACd,WAA2B,EAC3B,iBAA2B;QAE3B,OAAO,IAAI,CAAC,QAAQ,CAClB,gBAAgB,EAChB;YACE,IAAA,gCAAmB,EAAC,UAAU,CAAC;YAC/B,WAAW,KAAK,SAAS;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAA,gCAAmB,EAAC,WAAW,CAAC;YACpC,iBAAiB;SAClB,EACD,CAAC,CAAC,IAAI,CAAC;YACL,WAAW,EAAE,wBAAW;YACxB,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAW,CAAC;YACnC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,IAAA,gBAAQ,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAW,CAAC,CAAC,CAAC;SAChD,CAAC,EACF,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CACxD,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,oBAAoB;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAClB,iBAAiB,EACjB,EAAE,EACF,wBAAW,EACX,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAC7B,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,MAAc,EACd,MAAa,EACb,KAAgB,EAChB,yBAA+D;QAE/D,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,OAAO,YAAY,CAAC;SACrB;QAED,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;YACrC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACnD,IAAI,CAAC,cAAc,EACnB,QAAQ,EACR,KAAK,CACN,CAAC;YACF,IAAI,gBAAgB,KAAK,SAAS,EAAE;gBAClC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBAC/C,OAAO,gBAAgB,CAAC;aACzB;SACF;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,IAAA,6CAAqB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAE9D,MAAM,WAAW,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;YAClC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAE5C,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;gBACrC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;aACxE;SACF;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,KAIE,EACF,yBAAoE;QAEpE,iDAAiD;QACjD,qEAAqE;QACrE,mEAAmE;QACnE,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,OAAO,YAAY,CAAC;SACrB;QAED,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;YACrC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CACxD,IAAI,CAAC,cAAc,EACnB,QAAQ,EACR,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAC1B,CAAC;YAEF,IAAI,gBAAgB,KAAK,SAAS,EAAE;gBAClC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBAC/C,OAAO,gBAAgB,CAAC;aACzB;SACF;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAClD,IAAA,6CAAqB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAC9C,CAAC;QAEF,MAAM,WAAW,GAAG,yBAAyB,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;YAClC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAE7C,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;gBACrC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;aACzE;SACF;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,KAAK,CACjB,MAAc,EACd,MAAa,EACb,WAAW,GAAG,KAAK;QAEnB,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;SAC7D;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE;gBACvC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;aACzC;YAED,qGAAqG;YACrG,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAC5D,OAAO,IAAI,CAAC;aACb;YAED,gFAAgF;YAChF,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,KAA+C,EAC/C,WAAW,GAAG,KAAK;QAEnB,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAClD;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE;gBACvC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;aACrC;YACD,gFAAgF;YAChF,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAEO,YAAY,CAAC,WAAoB,EAAE,GAAQ;QACjD,MAAM,gBAAgB,GACpB,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACxC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAE5C,MAAM,YAAY,GAChB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACzC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEhD,OAAO,CACL,CAAC,WAAW,IAAI,YAAY,IAAI,GAAG,YAAY,KAAK,IAAI,gBAAgB,CACzE,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,MAAc,EAAE,MAAa;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,YAAY,GAAG,GAAG,SAAS,IAAI,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAExE,MAAM,MAAM,GAAG,IAAA,gDAAyC,EACtD,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAClC,CAAC;QAEF,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAEO,iBAAiB,CAAC,KAA+C;QACvE,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACzB,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC;YAC3B,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;SAClC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IAEO,aAAa,CAAC,QAAgB;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAEO,aAAa,CAAC,QAAgB,EAAE,aAAkB;QACxD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,aAAqB,EACrB,QAAgB,EAChB,KAAkB;QAElB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAE3E,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,OAAO,IAAA,6CAAqB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAChD;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,aAAqB,EACrB,QAAgB,EAChB,MAA0B;QAE1B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAE5E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC9B,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAA,6CAAqB,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,aAAqB,EACrB,QAAgB;QAEhB,IAAI;YACF,OAAO,MAAM,kBAAO,CAAC,QAAQ,CAC3B,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,QAAQ,CAAC,EACrD;gBACE,QAAQ,EAAE,MAAM;aACjB,CACF,CAAC;SACH;QAAC,OAAO,KAAU,EAAE;YACnB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC3B,OAAO,SAAS,CAAC;aAClB;YAED,gFAAgF;YAChF,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,aAAqB,EACrB,QAAgB,EAChB,SAAc;QAEd,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAE1E,MAAM,kBAAO,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,MAAM,kBAAO,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE;YAC9C,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;IACL,CAAC;IAEO,uBAAuB,CAAC,aAAqB,EAAE,GAAW;QAChE,OAAO,cAAI,CAAC,IAAI,CACd,aAAa,EACb,WAAW,IAAI,CAAC,UAAW,EAAE,EAC7B,WAAW,GAAG,OAAO,CACtB,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,WAA2B;QAC9C,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;IAEO,gBAAgB,CAAC,WAAmB;QAC1C,MAAM,kBAAkB,GACtB,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC;QACrD,OAAO,WAAW,GAAG,kBAAkB,CAAC;IAC1C,CAAC;CACF;AAteD,sCAseC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/client.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,29 @@
1
1
  /// <reference types="node" />
2
- import { Block } from "@ethereumjs/block";
3
- import Common from "@ethereumjs/common";
4
- import { TypedTransaction } from "@ethereumjs/tx";
5
- import { BN } from "ethereumjs-util";
2
+ import { Block, BlockHeader } from "@ignored/block";
3
+ import { BlockchainInterface, Consensus } from "@ignored/blockchain";
4
+ import { Common } from "@ignored/common";
5
+ import { TypedTransaction } from "@ignored/tx";
6
6
  import { BlockchainData } from "./BlockchainData";
7
7
  import { RpcReceiptOutput } from "./output";
8
8
  export declare abstract class BlockchainBase {
9
9
  protected _common: Common;
10
+ consensus: Consensus;
10
11
  protected readonly _data: BlockchainData;
11
12
  constructor(_common: Common);
12
13
  abstract addBlock(block: Block): Promise<Block>;
13
14
  addTransactionReceipts(receipts: RpcReceiptOutput[]): void;
14
15
  delBlock(blockHash: Buffer): Promise<void>;
15
16
  deleteBlock(blockHash: Buffer): void;
16
- getBlock(blockHashOrNumber: Buffer | BN | number): Promise<Block | null>;
17
- abstract getLatestBlockNumber(): BN;
17
+ getBlock(blockHashOrNumber: Buffer | bigint | number): Promise<Block | null>;
18
+ abstract getLatestBlockNumber(): bigint;
18
19
  getLatestBlock(): Promise<Block>;
19
20
  getLocalTransaction(transactionHash: Buffer): TypedTransaction | undefined;
20
- iterator(_name: string, _onBlock: (block: Block, reorg: boolean) => void | Promise<void>): Promise<number | void>;
21
+ iterator(_name: string, _onBlock: (block: Block, reorg: boolean) => void | Promise<void>): Promise<number>;
21
22
  putBlock(block: Block): Promise<void>;
22
- reserveBlocks(count: BN, interval: BN, previousBlockStateRoot: Buffer, previousBlockTotalDifficulty: BN, previousBlockBaseFeePerGas: BN | undefined): void;
23
- protected _delBlock(blockNumber: BN): void;
24
- protected _computeTotalDifficulty(block: Block): Promise<BN>;
23
+ reserveBlocks(count: bigint, interval: bigint, previousBlockStateRoot: Buffer, previousBlockTotalDifficulty: bigint, previousBlockBaseFeePerGas: bigint | undefined): void;
24
+ copy(): BlockchainInterface;
25
+ validateHeader(_header: BlockHeader, _height?: bigint | undefined): Promise<void>;
26
+ protected _delBlock(blockNumber: bigint): void;
27
+ protected _computeTotalDifficulty(block: Block): Promise<bigint>;
25
28
  }
26
29
  //# sourceMappingURL=BlockchainBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlockchainBase.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/BlockchainBase.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5C,8BAAsB,cAAc;IAGtB,SAAS,CAAC,OAAO,EAAE,MAAM;IAFrC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;gBAEnB,OAAO,EAAE,MAAM;aAIrB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE/C,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,EAAE;IAM7C,QAAQ,CAAC,SAAS,EAAE,MAAM;IAIhC,WAAW,CAAC,SAAS,EAAE,MAAM;IAQvB,QAAQ,CACnB,iBAAiB,EAAE,MAAM,GAAG,EAAE,GAAG,MAAM,GACtC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;aAiBR,oBAAoB,IAAI,EAAE;IAE7B,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC;IAQtC,mBAAmB,CACxB,eAAe,EAAE,MAAM,GACtB,gBAAgB,GAAG,SAAS;IAIxB,QAAQ,CACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC/D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIZ,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,aAAa,CAClB,KAAK,EAAE,EAAE,EACT,QAAQ,EAAE,EAAE,EACZ,sBAAsB,EAAE,MAAM,EAC9B,4BAA4B,EAAE,EAAE,EAChC,0BAA0B,EAAE,EAAE,GAAG,SAAS;IAY5C,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI;cAiB1B,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;CAoBnE"}
1
+ {"version":3,"file":"BlockchainBase.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/BlockchainBase.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,mBAAmB,EAGnB,SAAS,EAEV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAsB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5C,8BAAsB,cAAc;IAItB,SAAS,CAAC,OAAO,EAAE,MAAM;IAH9B,SAAS,EAAE,SAAS,CAAC;IAC5B,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;gBAEnB,OAAO,EAAE,MAAM;aAqBrB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE/C,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,EAAE;IAM7C,QAAQ,CAAC,SAAS,EAAE,MAAM;IAIhC,WAAW,CAAC,SAAS,EAAE,MAAM;IAQvB,QAAQ,CACnB,iBAAiB,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAC1C,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;aAkBR,oBAAoB,IAAI,MAAM;IAEjC,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC;IAQtC,mBAAmB,CACxB,eAAe,EAAE,MAAM,GACtB,gBAAgB,GAAG,SAAS;IAIxB,QAAQ,CACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC/D,OAAO,CAAC,MAAM,CAAC;IAIL,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,aAAa,CAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,EAC9B,4BAA4B,EAAE,MAAM,EACpC,0BAA0B,EAAE,MAAM,GAAG,SAAS;IAYzC,IAAI,IAAI,mBAAmB;IAI3B,cAAc,CACnB,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,IAAI,CAAC;IAIhB,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;cAiB9B,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;CAoBvE"}
@@ -1,14 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BlockchainBase = void 0;
4
- const ethereumjs_util_1 = require("ethereumjs-util");
4
+ const blockchain_1 = require("@ignored/blockchain");
5
+ const common_1 = require("@ignored/common");
5
6
  const errors_1 = require("../../core/errors");
7
+ const bigint_1 = require("../../util/bigint");
6
8
  const BlockchainData_1 = require("./BlockchainData");
7
9
  /* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
8
10
  class BlockchainBase {
9
11
  constructor(_common) {
10
12
  this._common = _common;
11
13
  this._data = new BlockchainData_1.BlockchainData(_common);
14
+ // copied from blockchain.ts in @ignored/blockchain
15
+ switch (this._common.consensusAlgorithm()) {
16
+ case common_1.ConsensusAlgorithm.Casper:
17
+ this.consensus = new blockchain_1.CasperConsensus();
18
+ break;
19
+ case common_1.ConsensusAlgorithm.Clique:
20
+ this.consensus = new blockchain_1.CliqueConsensus();
21
+ break;
22
+ case common_1.ConsensusAlgorithm.Ethash:
23
+ this.consensus = new blockchain_1.EthashConsensus();
24
+ break;
25
+ default:
26
+ throw new Error(`consensus algorithm ${this._common.consensusAlgorithm()} not supported`);
27
+ }
12
28
  }
13
29
  addTransactionReceipts(receipts) {
14
30
  for (const receipt of receipts) {
@@ -26,18 +42,18 @@ class BlockchainBase {
26
42
  this._delBlock(block.header.number);
27
43
  }
28
44
  async getBlock(blockHashOrNumber) {
29
- var _a, _b, _c;
30
- if ((typeof blockHashOrNumber === "number" || ethereumjs_util_1.BN.isBN(blockHashOrNumber)) &&
31
- this._data.isReservedBlock(new ethereumjs_util_1.BN(blockHashOrNumber))) {
32
- this._data.fulfillBlockReservation(new ethereumjs_util_1.BN(blockHashOrNumber));
45
+ if ((typeof blockHashOrNumber === "number" ||
46
+ bigint_1.BigIntUtils.isBigInt(blockHashOrNumber)) &&
47
+ this._data.isReservedBlock(BigInt(blockHashOrNumber))) {
48
+ this._data.fulfillBlockReservation(BigInt(blockHashOrNumber));
33
49
  }
34
50
  if (typeof blockHashOrNumber === "number") {
35
- return (_a = this._data.getBlockByNumber(new ethereumjs_util_1.BN(blockHashOrNumber))) !== null && _a !== void 0 ? _a : null;
51
+ return this._data.getBlockByNumber(BigInt(blockHashOrNumber)) ?? null;
36
52
  }
37
- if (ethereumjs_util_1.BN.isBN(blockHashOrNumber)) {
38
- return (_b = this._data.getBlockByNumber(blockHashOrNumber)) !== null && _b !== void 0 ? _b : null;
53
+ if (bigint_1.BigIntUtils.isBigInt(blockHashOrNumber)) {
54
+ return this._data.getBlockByNumber(blockHashOrNumber) ?? null;
39
55
  }
40
- return (_c = this._data.getBlockByHash(blockHashOrNumber)) !== null && _c !== void 0 ? _c : null;
56
+ return this._data.getBlockByHash(blockHashOrNumber) ?? null;
41
57
  }
42
58
  async getLatestBlock() {
43
59
  const block = await this.getBlock(this.getLatestBlockNumber());
@@ -56,36 +72,42 @@ class BlockchainBase {
56
72
  await this.addBlock(block);
57
73
  }
58
74
  reserveBlocks(count, interval, previousBlockStateRoot, previousBlockTotalDifficulty, previousBlockBaseFeePerGas) {
59
- this._data.reserveBlocks(this.getLatestBlockNumber().addn(1), count, interval, previousBlockStateRoot, previousBlockTotalDifficulty, previousBlockBaseFeePerGas);
75
+ this._data.reserveBlocks(this.getLatestBlockNumber() + 1n, count, interval, previousBlockStateRoot, previousBlockTotalDifficulty, previousBlockBaseFeePerGas);
76
+ }
77
+ copy() {
78
+ throw new Error("Method not implemented.");
79
+ }
80
+ validateHeader(_header, _height) {
81
+ throw new Error("Method not implemented.");
60
82
  }
61
83
  _delBlock(blockNumber) {
62
84
  let i = blockNumber;
63
- while (i.lte(this.getLatestBlockNumber())) {
85
+ while (i <= this.getLatestBlockNumber()) {
64
86
  if (this._data.isReservedBlock(i)) {
65
87
  const reservation = this._data.cancelReservationWithBlock(i);
66
- i = reservation.last.addn(1);
88
+ i = reservation.last + 1n;
67
89
  }
68
90
  else {
69
91
  const current = this._data.getBlockByNumber(i);
70
92
  if (current !== undefined) {
71
93
  this._data.removeBlock(current);
72
94
  }
73
- i = i.addn(1);
95
+ i++;
74
96
  }
75
97
  }
76
98
  }
77
99
  async _computeTotalDifficulty(block) {
78
100
  const difficulty = block.header.difficulty;
79
101
  const blockNumber = block.header.number;
80
- if (blockNumber.eqn(0)) {
102
+ if (blockNumber === 0n) {
81
103
  return difficulty;
82
104
  }
83
- const parentBlock = await this.getBlock(blockNumber.subn(1));
105
+ const parentBlock = await this.getBlock(blockNumber - 1n);
84
106
  (0, errors_1.assertHardhatInvariant)(parentBlock !== null, "Parent block should exist");
85
107
  const parentHash = parentBlock.hash();
86
108
  const parentTD = this._data.getTotalDifficulty(parentHash);
87
109
  (0, errors_1.assertHardhatInvariant)(parentTD !== undefined, "Parent block should have total difficulty");
88
- return parentTD.add(difficulty);
110
+ return parentTD + difficulty;
89
111
  }
90
112
  }
91
113
  exports.BlockchainBase = BlockchainBase;
@@ -1 +1 @@
1
- {"version":3,"file":"BlockchainBase.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/BlockchainBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlockchainBase.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/BlockchainBase.ts"],"names":[],"mappings":"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"}