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
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/client.ts"],"names":[],"mappings":"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"}
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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"}
@@ -1,17 +1,16 @@
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 } from "@ignored/block";
3
+ import { Common } from "@ignored/common";
4
+ import { TypedTransaction } from "@ignored/tx";
6
5
  import { FilterParams } from "./node-types";
7
6
  import { RpcLogOutput, RpcReceiptOutput } from "./output";
8
7
  interface Reservation {
9
- first: BN;
10
- last: BN;
11
- interval: BN;
8
+ first: bigint;
9
+ last: bigint;
10
+ interval: bigint;
12
11
  previousBlockStateRoot: Buffer;
13
- previousBlockTotalDifficulty: BN;
14
- previousBlockBaseFeePerGas: BN | undefined;
12
+ previousBlockTotalDifficulty: bigint;
13
+ previousBlockBaseFeePerGas: bigint | undefined;
15
14
  }
16
15
  export declare class BlockchainData {
17
16
  private _common;
@@ -23,15 +22,15 @@ export declare class BlockchainData {
23
22
  private _totalDifficulty;
24
23
  private _blockReservations;
25
24
  constructor(_common: Common);
26
- reserveBlocks(first: BN, count: BN, interval: BN, previousBlockStateRoot: Buffer, previousBlockTotalDifficulty: BN, previousBlockBaseFeePerGas: BN | undefined): void;
27
- getBlockByNumber(blockNumber: BN): Block | undefined;
25
+ reserveBlocks(first: bigint, count: bigint, interval: bigint, previousBlockStateRoot: Buffer, previousBlockTotalDifficulty: bigint, previousBlockBaseFeePerGas: bigint | undefined): void;
26
+ getBlockByNumber(blockNumber: bigint): Block | undefined;
28
27
  getBlockByHash(blockHash: Buffer): Block | undefined;
29
28
  getBlockByTransactionHash(transactionHash: Buffer): Block | undefined;
30
29
  getTransaction(transactionHash: Buffer): TypedTransaction | undefined;
31
30
  getTransactionReceipt(transactionHash: Buffer): RpcReceiptOutput | undefined;
32
- getTotalDifficulty(blockHash: Buffer): BN | undefined;
31
+ getTotalDifficulty(blockHash: Buffer): bigint | undefined;
33
32
  getLogs(filterParams: FilterParams): RpcLogOutput[];
34
- addBlock(block: Block, totalDifficulty: BN): void;
33
+ addBlock(block: Block, totalDifficulty: bigint): void;
35
34
  /**
36
35
  * WARNING: this method can leave the blockchain in an invalid state where
37
36
  * there are gaps between blocks. Ideally we should have a method that removes
@@ -40,7 +39,7 @@ export declare class BlockchainData {
40
39
  removeBlock(block: Block): void;
41
40
  addTransaction(transaction: TypedTransaction): void;
42
41
  addTransactionReceipt(receipt: RpcReceiptOutput): void;
43
- isReservedBlock(blockNumber: BN): boolean;
42
+ isReservedBlock(blockNumber: bigint): boolean;
44
43
  private _findBlockReservation;
45
44
  /**
46
45
  * WARNING: this method only removes the given reservation and can result in
@@ -51,8 +50,8 @@ export declare class BlockchainData {
51
50
  /**
52
51
  * Cancel and return the reservation that has block `blockNumber`
53
52
  */
54
- cancelReservationWithBlock(blockNumber: BN): Reservation;
55
- fulfillBlockReservation(blockNumber: BN): void;
53
+ cancelReservationWithBlock(blockNumber: bigint): Reservation;
54
+ fulfillBlockReservation(blockNumber: bigint): void;
56
55
  private _calculateTimestampForReservedBlock;
57
56
  }
58
57
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"BlockchainData.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/BlockchainData.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;AAElD,OAAO,EAAE,EAAE,EAAe,MAAM,iBAAiB,CAAC;AAIlD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE1D,UAAU,WAAW;IACnB,KAAK,EAAE,EAAE,CAAC;IACV,IAAI,EAAE,EAAE,CAAC;IACT,QAAQ,EAAE,EAAE,CAAC;IACb,sBAAsB,EAAE,MAAM,CAAC;IAC/B,4BAA4B,EAAE,EAAE,CAAC;IACjC,0BAA0B,EAAE,EAAE,GAAG,SAAS,CAAC;CAC5C;AAED,qBAAa,cAAc;IASb,OAAO,CAAC,OAAO;IAR3B,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,qBAAqB,CAAiC;IAC9D,OAAO,CAAC,aAAa,CAA4C;IACjE,OAAO,CAAC,oBAAoB,CAA4C;IACxE,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,kBAAkB,CAA8B;gBAEpC,OAAO,EAAE,MAAM;IAE5B,aAAa,CAClB,KAAK,EAAE,EAAE,EACT,KAAK,EAAE,EAAE,EACT,QAAQ,EAAE,EAAE,EACZ,sBAAsB,EAAE,MAAM,EAC9B,4BAA4B,EAAE,EAAE,EAChC,0BAA0B,EAAE,EAAE,GAAG,SAAS;IAarC,gBAAgB,CAAC,WAAW,EAAE,EAAE;IAIhC,cAAc,CAAC,SAAS,EAAE,MAAM;IAIhC,yBAAyB,CAAC,eAAe,EAAE,MAAM;IAIjD,cAAc,CAAC,eAAe,EAAE,MAAM;IAItC,qBAAqB,CAAC,eAAe,EAAE,MAAM;IAI7C,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAIpC,OAAO,CAAC,YAAY,EAAE,YAAY;IAmClC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE;IAcjD;;;;OAIG;IACI,WAAW,CAAC,KAAK,EAAE,KAAK;IAexB,cAAc,CAAC,WAAW,EAAE,gBAAgB;IAI5C,qBAAqB,CAAC,OAAO,EAAE,gBAAgB;IAI/C,eAAe,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO;IAIhD,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACI,0BAA0B,CAAC,WAAW,EAAE,EAAE,GAAG,WAAW;IAIxD,uBAAuB,CAAC,WAAW,EAAE,EAAE;IA8C9C,OAAO,CAAC,mCAAmC;CA4B5C"}
1
+ {"version":3,"file":"BlockchainData.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/BlockchainData.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAM/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE1D,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,4BAA4B,EAAE,MAAM,CAAC;IACrC,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAED,qBAAa,cAAc;IASb,OAAO,CAAC,OAAO;IAR3B,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,qBAAqB,CAAiC;IAC9D,OAAO,CAAC,aAAa,CAA4C;IACjE,OAAO,CAAC,oBAAoB,CAA4C;IACxE,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,kBAAkB,CAA8B;gBAEpC,OAAO,EAAE,MAAM;IAE5B,aAAa,CAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,EAC9B,4BAA4B,EAAE,MAAM,EACpC,0BAA0B,EAAE,MAAM,GAAG,SAAS;IAazC,gBAAgB,CAAC,WAAW,EAAE,MAAM;IAIpC,cAAc,CAAC,SAAS,EAAE,MAAM;IAIhC,yBAAyB,CAAC,eAAe,EAAE,MAAM;IAIjD,cAAc,CAAC,eAAe,EAAE,MAAM;IAItC,qBAAqB,CAAC,eAAe,EAAE,MAAM;IAI7C,kBAAkB,CAAC,SAAS,EAAE,MAAM;IAIpC,OAAO,CAAC,YAAY,EAAE,YAAY;IA+BlC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM;IAcrD;;;;OAIG;IACI,WAAW,CAAC,KAAK,EAAE,KAAK;IAexB,cAAc,CAAC,WAAW,EAAE,gBAAgB;IAI5C,qBAAqB,CAAC,OAAO,EAAE,gBAAgB;IAI/C,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIpD,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACI,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW;IAI5D,uBAAuB,CAAC,WAAW,EAAE,MAAM;IA8ClD,OAAO,CAAC,mCAAmC;CA6B5C"}
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.BlockchainData = void 0;
7
- const block_1 = require("@ethereumjs/block");
8
- const bloom_1 = __importDefault(require("@ethereumjs/vm/dist/bloom"));
9
- const ethereumjs_util_1 = require("ethereumjs-util");
4
+ const block_1 = require("@ignored/block");
5
+ const util_1 = require("@ignored/util");
6
+ const vm_1 = require("@ignored/vm");
10
7
  const errors_1 = require("../../core/errors");
11
8
  const filter_1 = require("./filter");
12
9
  class BlockchainData {
@@ -23,7 +20,7 @@ class BlockchainData {
23
20
  reserveBlocks(first, count, interval, previousBlockStateRoot, previousBlockTotalDifficulty, previousBlockBaseFeePerGas) {
24
21
  const reservation = {
25
22
  first,
26
- last: first.add(count.subn(1)),
23
+ last: first + count - 1n,
27
24
  interval,
28
25
  previousBlockStateRoot,
29
26
  previousBlockTotalDifficulty,
@@ -32,29 +29,29 @@ class BlockchainData {
32
29
  this._blockReservations.push(reservation);
33
30
  }
34
31
  getBlockByNumber(blockNumber) {
35
- return this._blocksByNumber.get(blockNumber.toNumber());
32
+ return this._blocksByNumber.get(blockNumber);
36
33
  }
37
34
  getBlockByHash(blockHash) {
38
- return this._blocksByHash.get((0, ethereumjs_util_1.bufferToHex)(blockHash));
35
+ return this._blocksByHash.get((0, util_1.bufferToHex)(blockHash));
39
36
  }
40
37
  getBlockByTransactionHash(transactionHash) {
41
- return this._blocksByTransactions.get((0, ethereumjs_util_1.bufferToHex)(transactionHash));
38
+ return this._blocksByTransactions.get((0, util_1.bufferToHex)(transactionHash));
42
39
  }
43
40
  getTransaction(transactionHash) {
44
- return this._transactions.get((0, ethereumjs_util_1.bufferToHex)(transactionHash));
41
+ return this._transactions.get((0, util_1.bufferToHex)(transactionHash));
45
42
  }
46
43
  getTransactionReceipt(transactionHash) {
47
- return this._transactionReceipts.get((0, ethereumjs_util_1.bufferToHex)(transactionHash));
44
+ return this._transactionReceipts.get((0, util_1.bufferToHex)(transactionHash));
48
45
  }
49
46
  getTotalDifficulty(blockHash) {
50
- return this._totalDifficulty.get((0, ethereumjs_util_1.bufferToHex)(blockHash));
47
+ return this._totalDifficulty.get((0, util_1.bufferToHex)(blockHash));
51
48
  }
52
49
  getLogs(filterParams) {
53
50
  const logs = [];
54
- for (let i = filterParams.fromBlock; i.lte(filterParams.toBlock); i = i.addn(1)) {
51
+ for (let i = filterParams.fromBlock; i <= filterParams.toBlock; i++) {
55
52
  const block = this.getBlockByNumber(i);
56
53
  if (block === undefined ||
57
- !(0, filter_1.bloomFilter)(new bloom_1.default(block.header.bloom), filterParams.addresses, filterParams.normalizedTopics)) {
54
+ !(0, filter_1.bloomFilter)(new vm_1.Bloom(block.header.logsBloom), filterParams.addresses, filterParams.normalizedTopics)) {
58
55
  continue;
59
56
  }
60
57
  for (const transaction of block.transactions) {
@@ -72,13 +69,13 @@ class BlockchainData {
72
69
  return logs;
73
70
  }
74
71
  addBlock(block, totalDifficulty) {
75
- const blockHash = (0, ethereumjs_util_1.bufferToHex)(block.hash());
76
- const blockNumber = new ethereumjs_util_1.BN(block.header.number).toNumber();
72
+ const blockHash = (0, util_1.bufferToHex)(block.hash());
73
+ const blockNumber = block.header.number;
77
74
  this._blocksByNumber.set(blockNumber, block);
78
75
  this._blocksByHash.set(blockHash, block);
79
76
  this._totalDifficulty.set(blockHash, totalDifficulty);
80
77
  for (const transaction of block.transactions) {
81
- const transactionHash = (0, ethereumjs_util_1.bufferToHex)(transaction.hash());
78
+ const transactionHash = (0, util_1.bufferToHex)(transaction.hash());
82
79
  this._transactions.set(transactionHash, transaction);
83
80
  this._blocksByTransactions.set(transactionHash, block);
84
81
  }
@@ -89,20 +86,20 @@ class BlockchainData {
89
86
  * the given block and all the following blocks.
90
87
  */
91
88
  removeBlock(block) {
92
- const blockHash = (0, ethereumjs_util_1.bufferToHex)(block.hash());
93
- const blockNumber = new ethereumjs_util_1.BN(block.header.number).toNumber();
89
+ const blockHash = (0, util_1.bufferToHex)(block.hash());
90
+ const blockNumber = block.header.number;
94
91
  this._blocksByNumber.delete(blockNumber);
95
92
  this._blocksByHash.delete(blockHash);
96
93
  this._totalDifficulty.delete(blockHash);
97
94
  for (const transaction of block.transactions) {
98
- const transactionHash = (0, ethereumjs_util_1.bufferToHex)(transaction.hash());
95
+ const transactionHash = (0, util_1.bufferToHex)(transaction.hash());
99
96
  this._transactions.delete(transactionHash);
100
97
  this._transactionReceipts.delete(transactionHash);
101
98
  this._blocksByTransactions.delete(transactionHash);
102
99
  }
103
100
  }
104
101
  addTransaction(transaction) {
105
- this._transactions.set((0, ethereumjs_util_1.bufferToHex)(transaction.hash()), transaction);
102
+ this._transactions.set((0, util_1.bufferToHex)(transaction.hash()), transaction);
106
103
  }
107
104
  addTransactionReceipt(receipt) {
108
105
  this._transactionReceipts.set(receipt.transactionHash, receipt);
@@ -111,7 +108,7 @@ class BlockchainData {
111
108
  return this._findBlockReservation(blockNumber) !== -1;
112
109
  }
113
110
  _findBlockReservation(blockNumber) {
114
- return this._blockReservations.findIndex((reservation) => reservation.first.lte(blockNumber) && blockNumber.lte(reservation.last));
111
+ return this._blockReservations.findIndex((reservation) => reservation.first <= blockNumber && blockNumber <= reservation.last);
115
112
  }
116
113
  /**
117
114
  * WARNING: this method only removes the given reservation and can result in
@@ -139,11 +136,17 @@ class BlockchainData {
139
136
  const timestamp = this._calculateTimestampForReservedBlock(blockNumber);
140
137
  // split the block reservation:
141
138
  const oldReservation = this._removeReservation(reservationIndex);
142
- if (!blockNumber.eq(oldReservation.first)) {
143
- this._blockReservations.push(Object.assign(Object.assign({}, oldReservation), { last: blockNumber.subn(1) }));
139
+ if (blockNumber !== oldReservation.first) {
140
+ this._blockReservations.push({
141
+ ...oldReservation,
142
+ last: blockNumber - 1n,
143
+ });
144
144
  }
145
- if (!blockNumber.eq(oldReservation.last)) {
146
- this._blockReservations.push(Object.assign(Object.assign({}, oldReservation), { first: blockNumber.addn(1) }));
145
+ if (blockNumber !== oldReservation.last) {
146
+ this._blockReservations.push({
147
+ ...oldReservation,
148
+ first: blockNumber + 1n,
149
+ });
147
150
  }
148
151
  this.addBlock(block_1.Block.fromBlockData({
149
152
  header: {
@@ -158,13 +161,14 @@ class BlockchainData {
158
161
  const reservationIndex = this._findBlockReservation(blockNumber);
159
162
  (0, errors_1.assertHardhatInvariant)(reservationIndex !== -1, `Block ${blockNumber.toString()} does not lie within any of the reservations.`);
160
163
  const reservation = this._blockReservations[reservationIndex];
161
- const blockNumberBeforeReservation = reservation.first.subn(1);
164
+ const blockNumberBeforeReservation = reservation.first - 1n;
162
165
  const blockBeforeReservation = this.getBlockByNumber(blockNumberBeforeReservation);
163
166
  (0, errors_1.assertHardhatInvariant)(blockBeforeReservation !== undefined, `Reservation after block ${blockNumberBeforeReservation.toString()} cannot be created because that block does not exist`);
164
167
  const previousTimestamp = this.isReservedBlock(blockNumberBeforeReservation)
165
168
  ? this._calculateTimestampForReservedBlock(blockNumberBeforeReservation)
166
169
  : blockBeforeReservation.header.timestamp;
167
- return previousTimestamp.add(reservation.interval.mul(blockNumber.sub(reservation.first).addn(1)));
170
+ return (previousTimestamp +
171
+ reservation.interval * (blockNumber - reservation.first + 1n));
168
172
  }
169
173
  }
170
174
  exports.BlockchainData = BlockchainData;
@@ -1 +1 @@
1
- {"version":3,"file":"BlockchainData.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/BlockchainData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlockchainData.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/BlockchainData.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AAGvC,wCAA4C;AAC5C,oCAAoC;AAEpC,8CAA2D;AAC3D,qCAAmD;AAanD,MAAa,cAAc;IASzB,YAAoB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;QAR3B,oBAAe,GAAuB,IAAI,GAAG,EAAE,CAAC;QAChD,kBAAa,GAAuB,IAAI,GAAG,EAAE,CAAC;QAC9C,0BAAqB,GAAuB,IAAI,GAAG,EAAE,CAAC;QACtD,kBAAa,GAAkC,IAAI,GAAG,EAAE,CAAC;QACzD,yBAAoB,GAAkC,IAAI,GAAG,EAAE,CAAC;QAChE,qBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAClD,uBAAkB,GAAkB,IAAI,KAAK,EAAE,CAAC;IAElB,CAAC;IAEhC,aAAa,CAClB,KAAa,EACb,KAAa,EACb,QAAgB,EAChB,sBAA8B,EAC9B,4BAAoC,EACpC,0BAA8C;QAE9C,MAAM,WAAW,GAAgB;YAC/B,KAAK;YACL,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,EAAE;YACxB,QAAQ;YACR,sBAAsB;YACtB,4BAA4B;YAC5B,0BAA0B;SAC3B,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAEM,gBAAgB,CAAC,WAAmB;QACzC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAEM,cAAc,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAA,kBAAW,EAAC,SAAS,CAAC,CAAC,CAAC;IACxD,CAAC;IAEM,yBAAyB,CAAC,eAAuB;QACtD,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAA,kBAAW,EAAC,eAAe,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,cAAc,CAAC,eAAuB;QAC3C,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAA,kBAAW,EAAC,eAAe,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEM,qBAAqB,CAAC,eAAuB;QAClD,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAA,kBAAW,EAAC,eAAe,CAAC,CAAC,CAAC;IACrE,CAAC;IAEM,kBAAkB,CAAC,SAAiB;QACzC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAA,kBAAW,EAAC,SAAS,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEM,OAAO,CAAC,YAA0B;QACvC,MAAM,IAAI,GAAmB,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YACnE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACvC,IACE,KAAK,KAAK,SAAS;gBACnB,CAAC,IAAA,oBAAW,EACV,IAAI,UAAK,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EACjC,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,gBAAgB,CAC9B,EACD;gBACA,SAAS;aACV;YACD,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE;gBAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/D,IAAI,OAAO,KAAK,SAAS,EAAE;oBACzB,IAAI,CAAC,IAAI,CACP,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,IAAI,EAAE;wBAC1B,SAAS,EAAE,YAAY,CAAC,SAAS;wBACjC,OAAO,EAAE,YAAY,CAAC,OAAO;wBAC7B,SAAS,EAAE,YAAY,CAAC,SAAS;wBACjC,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;qBAChD,CAAC,CACH,CAAC;iBACH;aACF;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,QAAQ,CAAC,KAAY,EAAE,eAAuB;QACnD,MAAM,SAAS,GAAG,IAAA,kBAAW,EAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAEtD,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE;YAC5C,MAAM,eAAe,GAAG,IAAA,kBAAW,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;YACrD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;SACxD;IACH,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,KAAY;QAC7B,MAAM,SAAS,GAAG,IAAA,kBAAW,EAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAExC,KAAK,MAAM,WAAW,IAAI,KAAK,CAAC,YAAY,EAAE;YAC5C,MAAM,eAAe,GAAG,IAAA,kBAAW,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC3C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAClD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;SACpD;IACH,CAAC;IAEM,cAAc,CAAC,WAA6B;QACjD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAA,kBAAW,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC;IAEM,qBAAqB,CAAC,OAAyB;QACpD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAEM,eAAe,CAAC,WAAmB;QACxC,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACxD,CAAC;IAEO,qBAAqB,CAAC,WAAmB;QAC/C,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,CACtC,CAAC,WAAW,EAAE,EAAE,CACd,WAAW,CAAC,KAAK,IAAI,WAAW,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,CACtE,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,kBAAkB,CAAC,KAAa;QACtC,IAAA,+BAAsB,EACpB,KAAK,IAAI,IAAI,CAAC,kBAAkB,EAChC,eAAe,KAAK,iBAAiB,CACtC,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAEzC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACI,0BAA0B,CAAC,WAAmB;QACnD,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEM,uBAAuB,CAAC,WAAmB;QAChD,2EAA2E;QAC3E,2DAA2D;QAE3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACjE,IAAA,+BAAsB,EACpB,gBAAgB,KAAK,CAAC,CAAC,EACvB,2CAA2C,WAAW,CAAC,QAAQ,EAAE,EAAE,CACpE,CAAC;QAEF,yDAAyD;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,mCAAmC,CAAC,WAAW,CAAC,CAAC;QAExE,+BAA+B;QAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAEjE,IAAI,WAAW,KAAK,cAAc,CAAC,KAAK,EAAE;YACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAC3B,GAAG,cAAc;gBACjB,IAAI,EAAE,WAAW,GAAG,EAAE;aACvB,CAAC,CAAC;SACJ;QAED,IAAI,WAAW,KAAK,cAAc,CAAC,IAAI,EAAE;YACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAC3B,GAAG,cAAc;gBACjB,KAAK,EAAE,WAAW,GAAG,EAAE;aACxB,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,QAAQ,CACX,aAAK,CAAC,aAAa,CACjB;YACE,MAAM,EAAE;gBACN,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,cAAc,CAAC,sBAAsB;gBAChD,aAAa,EAAE,cAAc,CAAC,0BAA0B;gBACxD,SAAS;aACV;SACF,EACD,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CACzB,EACD,cAAc,CAAC,4BAA4B,CAC5C,CAAC;IACJ,CAAC;IAEO,mCAAmC,CAAC,WAAmB;QAC7D,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAEjE,IAAA,+BAAsB,EACpB,gBAAgB,KAAK,CAAC,CAAC,EACvB,SAAS,WAAW,CAAC,QAAQ,EAAE,+CAA+C,CAC/E,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAE9D,MAAM,4BAA4B,GAAG,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;QAE5D,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAClD,4BAA4B,CAC7B,CAAC;QACF,IAAA,+BAAsB,EACpB,sBAAsB,KAAK,SAAS,EACpC,2BAA2B,4BAA4B,CAAC,QAAQ,EAAE,sDAAsD,CACzH,CAAC;QAEF,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAAC;YAC1E,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,4BAA4B,CAAC;YACxE,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC;QAE5C,OAAO,CACL,iBAAiB;YACjB,WAAW,CAAC,QAAQ,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC,CAC9D,CAAC;IACJ,CAAC;CACF;AA7OD,wCA6OC"}
@@ -1,8 +1,7 @@
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 } from "@ignored/block";
3
+ import { Common } from "@ignored/common";
4
+ import { TypedTransaction } from "@ignored/tx";
6
5
  import { BlockchainBase } from "./BlockchainBase";
7
6
  import { FilterParams } from "./node-types";
8
7
  import { RpcLogOutput } from "./output";
@@ -10,16 +9,16 @@ import { HardhatBlockchainInterface } from "./types/HardhatBlockchainInterface";
10
9
  export declare class HardhatBlockchain extends BlockchainBase implements HardhatBlockchainInterface {
11
10
  private _length;
12
11
  constructor(common: Common);
13
- getLatestBlockNumber(): BN;
12
+ getLatestBlockNumber(): bigint;
14
13
  addBlock(block: Block): Promise<Block>;
15
- reserveBlocks(count: BN, interval: BN, previousBlockStateRoot: Buffer, previousBlockTotalDifficulty: BN, previousBlockBaseFeePerGas: BN | undefined): void;
14
+ reserveBlocks(count: bigint, interval: bigint, previousBlockStateRoot: Buffer, previousBlockTotalDifficulty: bigint, previousBlockBaseFeePerGas: bigint | undefined): void;
16
15
  deleteLaterBlocks(block: Block): void;
17
- getTotalDifficulty(blockHash: Buffer): Promise<BN>;
16
+ getTotalDifficulty(blockHash: Buffer): Promise<bigint>;
18
17
  getTransaction(transactionHash: Buffer): Promise<TypedTransaction | undefined>;
19
18
  getBlockByTransactionHash(transactionHash: Buffer): Promise<Block | null>;
20
19
  getTransactionReceipt(transactionHash: Buffer): Promise<import("./output").RpcReceiptOutput | null>;
21
20
  getLogs(filterParams: FilterParams): Promise<RpcLogOutput[]>;
22
21
  private _validateBlock;
23
- protected _delBlock(blockNumber: BN): void;
22
+ protected _delBlock(blockNumber: bigint): void;
24
23
  }
25
24
  //# sourceMappingURL=HardhatBlockchain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HardhatBlockchain.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/HardhatBlockchain.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,EAAS,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAIhF,qBAAa,iBACX,SAAQ,cACR,YAAW,0BAA0B;IAErC,OAAO,CAAC,OAAO,CAAK;gBAER,MAAM,EAAE,MAAM;IAInB,oBAAoB,IAAI,EAAE;IAIpB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAQ5C,aAAa,CAClB,KAAK,EAAE,EAAE,EACT,QAAQ,EAAE,EAAE,EACZ,sBAAsB,EAAE,MAAM,EAC9B,4BAA4B,EAAE,EAAE,EAChC,0BAA0B,EAAE,EAAE,GAAG,SAAS;IAYrC,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAS/B,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IAQlD,cAAc,CACzB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAI3B,yBAAyB,CACpC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAKX,qBAAqB,CAAC,eAAe,EAAE,MAAM;IAI7C,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAIzE,OAAO,CAAC,cAAc;IAqBtB,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI;CAI3C"}
1
+ {"version":3,"file":"HardhatBlockchain.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/HardhatBlockchain.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAIhF,qBAAa,iBACX,SAAQ,cACR,YAAW,0BAA0B;IAErC,OAAO,CAAC,OAAO,CAAM;gBAET,MAAM,EAAE,MAAM;IAInB,oBAAoB,IAAI,MAAM;IAIxB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAQ5C,aAAa,CAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,EAC9B,4BAA4B,EAAE,MAAM,EACpC,0BAA0B,EAAE,MAAM,GAAG,SAAS;IAYzC,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAS/B,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQtD,cAAc,CACzB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAI3B,yBAAyB,CACpC,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAKX,qBAAqB,CAAC,eAAe,EAAE,MAAM;IAI7C,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAIzE,OAAO,CAAC,cAAc;IAqBtB,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAI/C"}