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
@@ -1,8 +1,8 @@
1
- import { Block } from "@ethereumjs/block";
2
- import Common from "@ethereumjs/common";
3
- import { TypedTransaction } from "@ethereumjs/tx";
4
- import Bloom from "@ethereumjs/vm/dist/bloom";
5
- import { BN, bufferToHex } from "ethereumjs-util";
1
+ import { Block } from "@ignored/block";
2
+ import { Common } from "@ignored/common";
3
+ import { TypedTransaction } from "@ignored/tx";
4
+ import { bufferToHex } from "@ignored/util";
5
+ import { Bloom } from "@ignored/vm";
6
6
 
7
7
  import { assertHardhatInvariant } from "../../core/errors";
8
8
  import { bloomFilter, filterLogs } from "./filter";
@@ -10,36 +10,36 @@ import { FilterParams } from "./node-types";
10
10
  import { RpcLogOutput, RpcReceiptOutput } from "./output";
11
11
 
12
12
  interface Reservation {
13
- first: BN;
14
- last: BN;
15
- interval: BN;
13
+ first: bigint;
14
+ last: bigint;
15
+ interval: bigint;
16
16
  previousBlockStateRoot: Buffer;
17
- previousBlockTotalDifficulty: BN;
18
- previousBlockBaseFeePerGas: BN | undefined;
17
+ previousBlockTotalDifficulty: bigint;
18
+ previousBlockBaseFeePerGas: bigint | undefined;
19
19
  }
20
20
 
21
21
  export class BlockchainData {
22
- private _blocksByNumber: Map<number, Block> = new Map();
22
+ private _blocksByNumber: Map<bigint, Block> = new Map();
23
23
  private _blocksByHash: Map<string, Block> = new Map();
24
24
  private _blocksByTransactions: Map<string, Block> = new Map();
25
25
  private _transactions: Map<string, TypedTransaction> = new Map();
26
26
  private _transactionReceipts: Map<string, RpcReceiptOutput> = new Map();
27
- private _totalDifficulty: Map<string, BN> = new Map();
27
+ private _totalDifficulty: Map<string, bigint> = new Map();
28
28
  private _blockReservations: Reservation[] = new Array();
29
29
 
30
30
  constructor(private _common: Common) {}
31
31
 
32
32
  public reserveBlocks(
33
- first: BN,
34
- count: BN,
35
- interval: BN,
33
+ first: bigint,
34
+ count: bigint,
35
+ interval: bigint,
36
36
  previousBlockStateRoot: Buffer,
37
- previousBlockTotalDifficulty: BN,
38
- previousBlockBaseFeePerGas: BN | undefined
37
+ previousBlockTotalDifficulty: bigint,
38
+ previousBlockBaseFeePerGas: bigint | undefined
39
39
  ) {
40
40
  const reservation: Reservation = {
41
41
  first,
42
- last: first.add(count.subn(1)),
42
+ last: first + count - 1n,
43
43
  interval,
44
44
  previousBlockStateRoot,
45
45
  previousBlockTotalDifficulty,
@@ -48,8 +48,8 @@ export class BlockchainData {
48
48
  this._blockReservations.push(reservation);
49
49
  }
50
50
 
51
- public getBlockByNumber(blockNumber: BN) {
52
- return this._blocksByNumber.get(blockNumber.toNumber());
51
+ public getBlockByNumber(blockNumber: bigint) {
52
+ return this._blocksByNumber.get(blockNumber);
53
53
  }
54
54
 
55
55
  public getBlockByHash(blockHash: Buffer) {
@@ -74,16 +74,12 @@ export class BlockchainData {
74
74
 
75
75
  public getLogs(filterParams: FilterParams) {
76
76
  const logs: RpcLogOutput[] = [];
77
- for (
78
- let i = filterParams.fromBlock;
79
- i.lte(filterParams.toBlock);
80
- i = i.addn(1)
81
- ) {
77
+ for (let i = filterParams.fromBlock; i <= filterParams.toBlock; i++) {
82
78
  const block = this.getBlockByNumber(i);
83
79
  if (
84
80
  block === undefined ||
85
81
  !bloomFilter(
86
- new Bloom(block.header.bloom),
82
+ new Bloom(block.header.logsBloom),
87
83
  filterParams.addresses,
88
84
  filterParams.normalizedTopics
89
85
  )
@@ -107,9 +103,9 @@ export class BlockchainData {
107
103
  return logs;
108
104
  }
109
105
 
110
- public addBlock(block: Block, totalDifficulty: BN) {
106
+ public addBlock(block: Block, totalDifficulty: bigint) {
111
107
  const blockHash = bufferToHex(block.hash());
112
- const blockNumber = new BN(block.header.number).toNumber();
108
+ const blockNumber = block.header.number;
113
109
  this._blocksByNumber.set(blockNumber, block);
114
110
  this._blocksByHash.set(blockHash, block);
115
111
  this._totalDifficulty.set(blockHash, totalDifficulty);
@@ -128,7 +124,7 @@ export class BlockchainData {
128
124
  */
129
125
  public removeBlock(block: Block) {
130
126
  const blockHash = bufferToHex(block.hash());
131
- const blockNumber = new BN(block.header.number).toNumber();
127
+ const blockNumber = block.header.number;
132
128
  this._blocksByNumber.delete(blockNumber);
133
129
  this._blocksByHash.delete(blockHash);
134
130
  this._totalDifficulty.delete(blockHash);
@@ -149,14 +145,14 @@ export class BlockchainData {
149
145
  this._transactionReceipts.set(receipt.transactionHash, receipt);
150
146
  }
151
147
 
152
- public isReservedBlock(blockNumber: BN): boolean {
148
+ public isReservedBlock(blockNumber: bigint): boolean {
153
149
  return this._findBlockReservation(blockNumber) !== -1;
154
150
  }
155
151
 
156
- private _findBlockReservation(blockNumber: BN): number {
152
+ private _findBlockReservation(blockNumber: bigint): number {
157
153
  return this._blockReservations.findIndex(
158
154
  (reservation) =>
159
- reservation.first.lte(blockNumber) && blockNumber.lte(reservation.last)
155
+ reservation.first <= blockNumber && blockNumber <= reservation.last
160
156
  );
161
157
  }
162
158
 
@@ -180,11 +176,11 @@ export class BlockchainData {
180
176
  /**
181
177
  * Cancel and return the reservation that has block `blockNumber`
182
178
  */
183
- public cancelReservationWithBlock(blockNumber: BN): Reservation {
179
+ public cancelReservationWithBlock(blockNumber: bigint): Reservation {
184
180
  return this._removeReservation(this._findBlockReservation(blockNumber));
185
181
  }
186
182
 
187
- public fulfillBlockReservation(blockNumber: BN) {
183
+ public fulfillBlockReservation(blockNumber: bigint) {
188
184
  // in addition to adding the given block, the reservation needs to be split
189
185
  // in two in order to accomodate access to the given block.
190
186
 
@@ -200,17 +196,17 @@ export class BlockchainData {
200
196
  // split the block reservation:
201
197
  const oldReservation = this._removeReservation(reservationIndex);
202
198
 
203
- if (!blockNumber.eq(oldReservation.first)) {
199
+ if (blockNumber !== oldReservation.first) {
204
200
  this._blockReservations.push({
205
201
  ...oldReservation,
206
- last: blockNumber.subn(1),
202
+ last: blockNumber - 1n,
207
203
  });
208
204
  }
209
205
 
210
- if (!blockNumber.eq(oldReservation.last)) {
206
+ if (blockNumber !== oldReservation.last) {
211
207
  this._blockReservations.push({
212
208
  ...oldReservation,
213
- first: blockNumber.addn(1),
209
+ first: blockNumber + 1n,
214
210
  });
215
211
  }
216
212
 
@@ -230,7 +226,7 @@ export class BlockchainData {
230
226
  );
231
227
  }
232
228
 
233
- private _calculateTimestampForReservedBlock(blockNumber: BN): BN {
229
+ private _calculateTimestampForReservedBlock(blockNumber: bigint): bigint {
234
230
  const reservationIndex = this._findBlockReservation(blockNumber);
235
231
 
236
232
  assertHardhatInvariant(
@@ -240,7 +236,7 @@ export class BlockchainData {
240
236
 
241
237
  const reservation = this._blockReservations[reservationIndex];
242
238
 
243
- const blockNumberBeforeReservation = reservation.first.subn(1);
239
+ const blockNumberBeforeReservation = reservation.first - 1n;
244
240
 
245
241
  const blockBeforeReservation = this.getBlockByNumber(
246
242
  blockNumberBeforeReservation
@@ -254,8 +250,9 @@ export class BlockchainData {
254
250
  ? this._calculateTimestampForReservedBlock(blockNumberBeforeReservation)
255
251
  : blockBeforeReservation.header.timestamp;
256
252
 
257
- return previousTimestamp.add(
258
- reservation.interval.mul(blockNumber.sub(reservation.first).addn(1))
253
+ return (
254
+ previousTimestamp +
255
+ reservation.interval * (blockNumber - reservation.first + 1n)
259
256
  );
260
257
  }
261
258
  }
@@ -1,7 +1,7 @@
1
- import { Block } from "@ethereumjs/block";
2
- import Common from "@ethereumjs/common";
3
- import { TypedTransaction } from "@ethereumjs/tx";
4
- import { BN, zeros } from "ethereumjs-util";
1
+ import { Block } from "@ignored/block";
2
+ import { Common } from "@ignored/common";
3
+ import { TypedTransaction } from "@ignored/tx";
4
+ import { zeros } from "@ignored/util";
5
5
 
6
6
  import { BlockchainBase } from "./BlockchainBase";
7
7
  import { FilterParams } from "./node-types";
@@ -14,30 +14,30 @@ export class HardhatBlockchain
14
14
  extends BlockchainBase
15
15
  implements HardhatBlockchainInterface
16
16
  {
17
- private _length = 0;
17
+ private _length = 0n;
18
18
 
19
19
  constructor(common: Common) {
20
20
  super(common);
21
21
  }
22
22
 
23
- public getLatestBlockNumber(): BN {
24
- return new BN(this._length - 1);
23
+ public getLatestBlockNumber(): bigint {
24
+ return BigInt(this._length - 1n);
25
25
  }
26
26
 
27
27
  public async addBlock(block: Block): Promise<Block> {
28
28
  this._validateBlock(block);
29
29
  const totalDifficulty = await this._computeTotalDifficulty(block);
30
30
  this._data.addBlock(block, totalDifficulty);
31
- this._length += 1;
31
+ this._length += 1n;
32
32
  return block;
33
33
  }
34
34
 
35
35
  public reserveBlocks(
36
- count: BN,
37
- interval: BN,
36
+ count: bigint,
37
+ interval: bigint,
38
38
  previousBlockStateRoot: Buffer,
39
- previousBlockTotalDifficulty: BN,
40
- previousBlockBaseFeePerGas: BN | undefined
39
+ previousBlockTotalDifficulty: bigint,
40
+ previousBlockBaseFeePerGas: bigint | undefined
41
41
  ) {
42
42
  super.reserveBlocks(
43
43
  count,
@@ -46,7 +46,7 @@ export class HardhatBlockchain
46
46
  previousBlockTotalDifficulty,
47
47
  previousBlockBaseFeePerGas
48
48
  );
49
- this._length = this._length + count.toNumber();
49
+ this._length += count;
50
50
  }
51
51
 
52
52
  public deleteLaterBlocks(block: Block): void {
@@ -55,10 +55,10 @@ export class HardhatBlockchain
55
55
  throw new Error("Invalid block");
56
56
  }
57
57
 
58
- this._delBlock(actual.header.number.addn(1));
58
+ this._delBlock(actual.header.number + 1n);
59
59
  }
60
60
 
61
- public async getTotalDifficulty(blockHash: Buffer): Promise<BN> {
61
+ public async getTotalDifficulty(blockHash: Buffer): Promise<bigint> {
62
62
  const totalDifficulty = this._data.getTotalDifficulty(blockHash);
63
63
  if (totalDifficulty === undefined) {
64
64
  throw new Error("Block not found");
@@ -88,18 +88,18 @@ export class HardhatBlockchain
88
88
  }
89
89
 
90
90
  private _validateBlock(block: Block) {
91
- const blockNumber = block.header.number.toNumber();
91
+ const blockNumber = block.header.number;
92
92
  const parentHash = block.header.parentHash;
93
- const parent = this._data.getBlockByNumber(new BN(blockNumber - 1));
93
+ const parent = this._data.getBlockByNumber(BigInt(blockNumber - 1n));
94
94
 
95
- if (this._length !== blockNumber) {
95
+ if (BigInt(this._length) !== blockNumber) {
96
96
  throw new Error(
97
97
  `Invalid block number ${blockNumber}. Expected ${this._length}.`
98
98
  );
99
99
  }
100
100
 
101
101
  if (
102
- (blockNumber === 0 && !parentHash.equals(zeros(32))) ||
102
+ (blockNumber === 0n && !parentHash.equals(zeros(32))) ||
103
103
  (blockNumber > 0 &&
104
104
  parent !== undefined &&
105
105
  !parentHash.equals(parent.hash()))
@@ -108,8 +108,8 @@ export class HardhatBlockchain
108
108
  }
109
109
  }
110
110
 
111
- protected _delBlock(blockNumber: BN): void {
111
+ protected _delBlock(blockNumber: bigint): void {
112
112
  super._delBlock(blockNumber);
113
- this._length = blockNumber.toNumber();
113
+ this._length = blockNumber;
114
114
  }
115
115
  }
@@ -1,12 +1,11 @@
1
- import { TypedTransaction } from "@ethereumjs/tx";
2
- import { BN } from "ethereumjs-util";
1
+ import { TypedTransaction } from "@ignored/tx";
3
2
  import {
4
3
  List as ImmutableList,
5
4
  Map as ImmutableMap,
6
5
  Record as ImmutableRecord,
7
6
  } from "immutable";
8
7
 
9
- import { bnToHex } from "./utils/bnToHex";
8
+ import { BigIntUtils } from "../../util/bigint";
10
9
 
11
10
  export interface OrderedTransaction {
12
11
  orderId: number;
@@ -45,5 +44,5 @@ export const makePoolState = ImmutableRecord<PoolState>({
45
44
  pendingTransactions: ImmutableMap<string, SenderTransactions>(),
46
45
  queuedTransactions: ImmutableMap<string, SenderTransactions>(),
47
46
  hashToTransaction: ImmutableMap<string, SerializedTransaction>(),
48
- blockGasLimit: bnToHex(new BN(9500000)),
47
+ blockGasLimit: BigIntUtils.toHex(9500000),
49
48
  });
@@ -1,12 +1,15 @@
1
- import { TypedTransaction } from "@ethereumjs/tx";
2
- import { BN } from "ethereumjs-util";
1
+ import { TypedTransaction } from "@ignored/tx";
3
2
  import Heap from "mnemonist/heap";
4
3
 
5
4
  import { InternalError, InvalidInputError } from "../../core/providers/errors";
5
+ import { BigIntUtils } from "../../util/bigint";
6
6
  import { MempoolOrder } from "./node-types";
7
7
  import { OrderedTransaction } from "./PoolState";
8
8
 
9
- function getEffectiveMinerFee(tx: OrderedTransaction, baseFee?: BN): BN {
9
+ function getEffectiveMinerFee(
10
+ tx: OrderedTransaction,
11
+ baseFee?: bigint
12
+ ): bigint {
10
13
  // This mimics the EIP-1559 normalize_transaction function
11
14
  const maxFeePerGas =
12
15
  "gasPrice" in tx.data ? tx.data.gasPrice : tx.data.maxFeePerGas;
@@ -18,18 +21,18 @@ function getEffectiveMinerFee(tx: OrderedTransaction, baseFee?: BN): BN {
18
21
  return maxFeePerGas;
19
22
  }
20
23
 
21
- return BN.min(maxPriorityFeePerGas, maxFeePerGas.sub(baseFee));
24
+ return BigIntUtils.min(maxPriorityFeePerGas, maxFeePerGas - baseFee);
22
25
  }
23
26
 
24
27
  function decreasingOrderEffectiveMinerFeeComparator(
25
28
  left: OrderedTransaction,
26
29
  right: OrderedTransaction,
27
- baseFee?: BN
30
+ baseFee?: bigint
28
31
  ) {
29
32
  const leftEffectiveMinerFee = getEffectiveMinerFee(left, baseFee);
30
33
  const rightEffectiveMinerFee = getEffectiveMinerFee(right, baseFee);
31
34
 
32
- const cmp = rightEffectiveMinerFee.cmp(leftEffectiveMinerFee);
35
+ const cmp = BigIntUtils.cmp(rightEffectiveMinerFee, leftEffectiveMinerFee);
33
36
 
34
37
  if (cmp !== 0) {
35
38
  return cmp;
@@ -49,7 +52,7 @@ function decreasingOrderComparator(
49
52
 
50
53
  function getOrderedTransactionHeap(
51
54
  mempoolOrder: MempoolOrder,
52
- baseFee?: BN
55
+ baseFee?: bigint
53
56
  ): Heap<OrderedTransaction> {
54
57
  switch (mempoolOrder) {
55
58
  case "priority":
@@ -98,7 +101,7 @@ export class TransactionQueue {
98
101
  constructor(
99
102
  pendingTransactions: Map<string, OrderedTransaction[]>,
100
103
  mempoolOrder: MempoolOrder,
101
- baseFee?: BN
104
+ baseFee?: bigint
102
105
  ) {
103
106
  this._heap = getOrderedTransactionHeap(mempoolOrder, baseFee);
104
107