hardhat 2.23.0-dev.2 → 2.23.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 (510) hide show
  1. package/README.md +3 -1
  2. package/builtin-tasks/compile.js +8 -8
  3. package/builtin-tasks/compile.js.map +1 -1
  4. package/builtin-tasks/flatten.js +13 -6
  5. package/builtin-tasks/flatten.js.map +1 -1
  6. package/builtin-tasks/node.js +7 -7
  7. package/builtin-tasks/node.js.map +1 -1
  8. package/builtin-tasks/test.js +2 -2
  9. package/builtin-tasks/test.js.map +1 -1
  10. package/builtin-tasks/utils/watch.js +2 -2
  11. package/builtin-tasks/utils/watch.js.map +1 -1
  12. package/common/bigInt.d.ts +1 -1
  13. package/common/bigInt.d.ts.map +1 -1
  14. package/console.sol +1 -1
  15. package/internal/cli/autocomplete.js +1 -1
  16. package/internal/cli/autocomplete.js.map +1 -1
  17. package/internal/cli/banner-manager.d.ts +12 -0
  18. package/internal/cli/banner-manager.d.ts.map +1 -0
  19. package/internal/cli/banner-manager.js +126 -0
  20. package/internal/cli/banner-manager.js.map +1 -0
  21. package/internal/cli/bootstrap.js +4 -5
  22. package/internal/cli/bootstrap.js.map +1 -1
  23. package/internal/cli/cli.js +14 -9
  24. package/internal/cli/cli.js.map +1 -1
  25. package/internal/cli/constants.d.ts.map +1 -1
  26. package/internal/cli/constants.js +1 -1
  27. package/internal/cli/constants.js.map +1 -1
  28. package/internal/cli/is-node-version-to-warn-on.d.ts +13 -0
  29. package/internal/cli/is-node-version-to-warn-on.d.ts.map +1 -0
  30. package/internal/cli/is-node-version-to-warn-on.js +46 -0
  31. package/internal/cli/is-node-version-to-warn-on.js.map +1 -0
  32. package/internal/cli/project-creation.d.ts +1 -1
  33. package/internal/cli/project-creation.d.ts.map +1 -1
  34. package/internal/cli/project-creation.js +31 -21
  35. package/internal/cli/project-creation.js.map +1 -1
  36. package/internal/cli/vars.js +10 -10
  37. package/internal/cli/vars.js.map +1 -1
  38. package/internal/cli/version-notifier.js +2 -2
  39. package/internal/cli/version-notifier.js.map +1 -1
  40. package/internal/constants.d.ts.map +1 -1
  41. package/internal/constants.js +1 -0
  42. package/internal/constants.js.map +1 -1
  43. package/internal/context.d.ts +1 -2
  44. package/internal/context.d.ts.map +1 -1
  45. package/internal/context.js +0 -3
  46. package/internal/context.js.map +1 -1
  47. package/internal/core/config/config-env.d.ts +1 -2
  48. package/internal/core/config/config-env.d.ts.map +1 -1
  49. package/internal/core/config/config-env.js +1 -8
  50. package/internal/core/config/config-env.js.map +1 -1
  51. package/internal/core/config/config-loading.d.ts +1 -1
  52. package/internal/core/config/config-loading.d.ts.map +1 -1
  53. package/internal/core/config/config-loading.js +14 -8
  54. package/internal/core/config/config-loading.js.map +1 -1
  55. package/internal/core/config/config-validation.js +1 -1
  56. package/internal/core/config/config-validation.js.map +1 -1
  57. package/internal/core/config/default-config.d.ts.map +1 -1
  58. package/internal/core/config/default-config.js +57 -32
  59. package/internal/core/config/default-config.js.map +1 -1
  60. package/internal/core/errors-list.d.ts +21 -0
  61. package/internal/core/errors-list.d.ts.map +1 -1
  62. package/internal/core/errors-list.js +27 -1
  63. package/internal/core/errors-list.js.map +1 -1
  64. package/internal/core/jsonrpc/types/authorization-list.d.ts +21 -0
  65. package/internal/core/jsonrpc/types/authorization-list.d.ts.map +1 -0
  66. package/internal/{hardhat-network/provider/PoolState.js → core/jsonrpc/types/authorization-list.js} +12 -15
  67. package/internal/core/jsonrpc/types/authorization-list.js.map +1 -0
  68. package/internal/core/jsonrpc/types/base-types.d.ts +2 -0
  69. package/internal/core/jsonrpc/types/base-types.d.ts.map +1 -1
  70. package/internal/core/jsonrpc/types/base-types.js +12 -8
  71. package/internal/core/jsonrpc/types/base-types.js.map +1 -1
  72. package/internal/core/jsonrpc/types/input/logAddress.d.ts +1 -0
  73. package/internal/core/jsonrpc/types/input/logAddress.d.ts.map +1 -1
  74. package/internal/core/jsonrpc/types/input/logTopics.d.ts +1 -0
  75. package/internal/core/jsonrpc/types/input/logTopics.d.ts.map +1 -1
  76. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts +23 -0
  77. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts.map +1 -1
  78. package/internal/core/jsonrpc/types/input/transactionRequest.js +2 -0
  79. package/internal/core/jsonrpc/types/input/transactionRequest.js.map +1 -1
  80. package/internal/core/jsonrpc/types/output/block.d.ts +2 -2
  81. package/internal/core/jsonrpc/types/output/block.d.ts.map +1 -1
  82. package/internal/core/jsonrpc/types/output/block.js +2 -1
  83. package/internal/core/jsonrpc/types/output/block.js.map +1 -1
  84. package/internal/core/project-structure.js +8 -8
  85. package/internal/core/project-structure.js.map +1 -1
  86. package/internal/core/providers/accounts.d.ts.map +1 -1
  87. package/internal/core/providers/accounts.js +76 -34
  88. package/internal/core/providers/accounts.js.map +1 -1
  89. package/internal/core/providers/construction.d.ts +2 -2
  90. package/internal/core/providers/construction.d.ts.map +1 -1
  91. package/internal/core/providers/construction.js +2 -2
  92. package/internal/core/providers/construction.js.map +1 -1
  93. package/internal/core/providers/http.d.ts.map +1 -1
  94. package/internal/core/providers/http.js +12 -0
  95. package/internal/core/providers/http.js.map +1 -1
  96. package/internal/core/providers/lazy-initialization.d.ts.map +1 -1
  97. package/internal/core/providers/lazy-initialization.js +10 -10
  98. package/internal/core/providers/lazy-initialization.js.map +1 -1
  99. package/internal/core/providers/util.d.ts +1 -0
  100. package/internal/core/providers/util.d.ts.map +1 -1
  101. package/internal/core/providers/util.js +1 -1
  102. package/internal/core/providers/util.js.map +1 -1
  103. package/internal/core/runtime-environment.d.ts +2 -2
  104. package/internal/core/runtime-environment.d.ts.map +1 -1
  105. package/internal/core/runtime-environment.js +2 -2
  106. package/internal/core/runtime-environment.js.map +1 -1
  107. package/internal/core/typescript-support.d.ts +1 -1
  108. package/internal/core/typescript-support.js +1 -1
  109. package/internal/hardhat-network/jsonrpc/client.d.ts +2 -1
  110. package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
  111. package/internal/hardhat-network/jsonrpc/client.js +10 -10
  112. package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
  113. package/internal/hardhat-network/jsonrpc/handler.d.ts.map +1 -1
  114. package/internal/hardhat-network/jsonrpc/handler.js +2 -1
  115. package/internal/hardhat-network/jsonrpc/handler.js.map +1 -1
  116. package/internal/hardhat-network/provider/node-types.d.ts +0 -52
  117. package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
  118. package/internal/hardhat-network/provider/output.d.ts +12 -1
  119. package/internal/hardhat-network/provider/output.d.ts.map +1 -1
  120. package/internal/hardhat-network/provider/provider.d.ts +5 -20
  121. package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
  122. package/internal/hardhat-network/provider/provider.js +47 -171
  123. package/internal/hardhat-network/provider/provider.js.map +1 -1
  124. package/internal/hardhat-network/provider/return-data.d.ts +2 -15
  125. package/internal/hardhat-network/provider/return-data.d.ts.map +1 -1
  126. package/internal/hardhat-network/provider/return-data.js +2 -50
  127. package/internal/hardhat-network/provider/return-data.js.map +1 -1
  128. package/internal/hardhat-network/provider/utils/convertToEdr.d.ts.map +1 -1
  129. package/internal/hardhat-network/provider/utils/convertToEdr.js +10 -7
  130. package/internal/hardhat-network/provider/utils/convertToEdr.js.map +1 -1
  131. package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js +2 -2
  132. package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js.map +1 -1
  133. package/internal/hardhat-network/provider/utils/makeAccount.d.ts +1 -1
  134. package/internal/hardhat-network/provider/utils/makeAccount.d.ts.map +1 -1
  135. package/internal/hardhat-network/provider/utils/makeAccount.js +4 -4
  136. package/internal/hardhat-network/provider/utils/makeAccount.js.map +1 -1
  137. package/internal/hardhat-network/provider/utils/makeForkClient.js +2 -2
  138. package/internal/hardhat-network/provider/utils/makeForkClient.js.map +1 -1
  139. package/internal/hardhat-network/provider/utils/random.d.ts +4 -3
  140. package/internal/hardhat-network/provider/utils/random.d.ts.map +1 -1
  141. package/internal/hardhat-network/provider/utils/random.js +3 -3
  142. package/internal/hardhat-network/provider/utils/random.js.map +1 -1
  143. package/internal/hardhat-network/provider/vm/exit.d.ts +2 -21
  144. package/internal/hardhat-network/provider/vm/exit.d.ts.map +1 -1
  145. package/internal/hardhat-network/provider/vm/exit.js +3 -93
  146. package/internal/hardhat-network/provider/vm/exit.js.map +1 -1
  147. package/internal/hardhat-network/provider/vm/minimal-vm.d.ts +3 -2
  148. package/internal/hardhat-network/provider/vm/minimal-vm.d.ts.map +1 -1
  149. package/internal/hardhat-network/provider/vm/minimal-vm.js +10 -4
  150. package/internal/hardhat-network/provider/vm/minimal-vm.js.map +1 -1
  151. package/internal/hardhat-network/provider/vm/types.d.ts +2 -1
  152. package/internal/hardhat-network/provider/vm/types.d.ts.map +1 -1
  153. package/internal/hardhat-network/stack-traces/consoleLogger.d.ts +17 -16
  154. package/internal/hardhat-network/stack-traces/consoleLogger.d.ts.map +1 -1
  155. package/internal/hardhat-network/stack-traces/consoleLogger.js +68 -102
  156. package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
  157. package/internal/hardhat-network/stack-traces/constants.d.ts +1 -2
  158. package/internal/hardhat-network/stack-traces/constants.d.ts.map +1 -1
  159. package/internal/hardhat-network/stack-traces/constants.js +2 -3
  160. package/internal/hardhat-network/stack-traces/constants.js.map +1 -1
  161. package/internal/hardhat-network/stack-traces/library-utils.d.ts +2 -11
  162. package/internal/hardhat-network/stack-traces/library-utils.d.ts.map +1 -1
  163. package/internal/hardhat-network/stack-traces/library-utils.js +3 -61
  164. package/internal/hardhat-network/stack-traces/library-utils.js.map +1 -1
  165. package/internal/hardhat-network/stack-traces/logger.d.ts +2 -598
  166. package/internal/hardhat-network/stack-traces/logger.d.ts.map +1 -1
  167. package/internal/hardhat-network/stack-traces/logger.js +379 -601
  168. package/internal/hardhat-network/stack-traces/logger.js.map +1 -1
  169. package/internal/hardhat-network/stack-traces/solidity-errors.d.ts.map +1 -1
  170. package/internal/hardhat-network/stack-traces/solidity-errors.js +61 -56
  171. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  172. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +4 -155
  173. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts.map +1 -1
  174. package/internal/hardhat-network/stack-traces/solidity-stack-trace.js +12 -37
  175. package/internal/hardhat-network/stack-traces/solidity-stack-trace.js.map +1 -1
  176. package/internal/lib/hardhat-lib.d.ts.map +1 -1
  177. package/internal/lib/hardhat-lib.js +1 -1
  178. package/internal/lib/hardhat-lib.js.map +1 -1
  179. package/internal/sentry/anonymizer.d.ts +1 -1
  180. package/internal/sentry/anonymizer.d.ts.map +1 -1
  181. package/internal/sentry/anonymizer.js +1 -1
  182. package/internal/sentry/anonymizer.js.map +1 -1
  183. package/internal/solidity/compiler/downloader.js +1 -1
  184. package/internal/solidity/compiler/downloader.js.map +1 -1
  185. package/internal/solidity/compiler/solc-info.d.ts.map +1 -1
  186. package/internal/solidity/compiler/solc-info.js +4 -0
  187. package/internal/solidity/compiler/solc-info.js.map +1 -1
  188. package/internal/util/caller-package.js +1 -1
  189. package/internal/util/caller-package.js.map +1 -1
  190. package/internal/util/glob.d.ts +1 -1
  191. package/internal/util/glob.d.ts.map +1 -1
  192. package/internal/util/glob.js +2 -7
  193. package/internal/util/glob.js.map +1 -1
  194. package/internal/util/hardforks.d.ts +2 -1
  195. package/internal/util/hardforks.d.ts.map +1 -1
  196. package/internal/util/hardforks.js +2 -0
  197. package/internal/util/hardforks.js.map +1 -1
  198. package/internal/util/hash.d.ts +1 -0
  199. package/internal/util/hash.d.ts.map +1 -1
  200. package/internal/util/keys-derivation.d.ts +1 -0
  201. package/internal/util/keys-derivation.d.ts.map +1 -1
  202. package/internal/util/packageInfo.d.ts +1 -1
  203. package/internal/util/packageInfo.d.ts.map +1 -1
  204. package/internal/util/packageInfo.js +3 -3
  205. package/internal/util/packageInfo.js.map +1 -1
  206. package/internal/util/request.d.ts +2 -0
  207. package/internal/util/request.d.ts.map +1 -0
  208. package/internal/util/request.js +70 -0
  209. package/internal/util/request.js.map +1 -0
  210. package/package.json +10 -20
  211. package/register.js +1 -1
  212. package/register.js.map +1 -1
  213. package/sample-projects/javascript/contracts/Lock.sol +1 -1
  214. package/sample-projects/javascript/hardhat.config.js +1 -1
  215. package/sample-projects/javascript/ignition/modules/Lock.js +3 -0
  216. package/sample-projects/javascript-esm/contracts/Lock.sol +1 -1
  217. package/sample-projects/javascript-esm/hardhat.config.cjs +1 -1
  218. package/sample-projects/javascript-esm/ignition/modules/Lock.js +3 -0
  219. package/sample-projects/typescript/contracts/Lock.sol +1 -1
  220. package/sample-projects/typescript/hardhat.config.ts +1 -1
  221. package/sample-projects/typescript/ignition/modules/Lock.ts +3 -0
  222. package/sample-projects/typescript-viem/contracts/Lock.sol +1 -1
  223. package/sample-projects/typescript-viem/hardhat.config.ts +1 -1
  224. package/sample-projects/typescript-viem/ignition/modules/Lock.ts +3 -0
  225. package/src/builtin-tasks/compile.ts +12 -8
  226. package/src/builtin-tasks/flatten.ts +59 -41
  227. package/src/builtin-tasks/node.ts +8 -8
  228. package/src/builtin-tasks/test.ts +2 -2
  229. package/src/builtin-tasks/utils/watch.ts +2 -2
  230. package/src/common/bigInt.ts +1 -1
  231. package/src/internal/cli/autocomplete.ts +1 -1
  232. package/src/internal/cli/banner-manager.ts +182 -0
  233. package/src/internal/cli/bootstrap.ts +5 -5
  234. package/src/internal/cli/cli.ts +24 -15
  235. package/src/internal/cli/constants.ts +1 -1
  236. package/src/internal/cli/is-node-version-to-warn-on.ts +54 -0
  237. package/src/internal/cli/project-creation.ts +48 -22
  238. package/src/internal/cli/vars.ts +10 -10
  239. package/src/internal/cli/version-notifier.ts +3 -3
  240. package/src/internal/constants.ts +1 -0
  241. package/src/internal/context.ts +0 -5
  242. package/src/internal/core/config/config-env.ts +0 -10
  243. package/src/internal/core/config/config-loading.ts +15 -8
  244. package/src/internal/core/config/config-validation.ts +1 -1
  245. package/src/internal/core/config/default-config.ts +57 -32
  246. package/src/internal/core/errors-list.ts +30 -1
  247. package/src/internal/core/jsonrpc/types/authorization-list.ts +20 -0
  248. package/src/internal/core/jsonrpc/types/base-types.ts +13 -1
  249. package/src/internal/core/jsonrpc/types/input/transactionRequest.ts +10 -0
  250. package/src/internal/core/jsonrpc/types/output/block.ts +2 -1
  251. package/src/internal/core/project-structure.ts +8 -8
  252. package/src/internal/core/providers/accounts.ts +95 -50
  253. package/src/internal/core/providers/construction.ts +1 -3
  254. package/src/internal/core/providers/http.ts +17 -0
  255. package/src/internal/core/providers/lazy-initialization.ts +13 -13
  256. package/src/internal/core/providers/util.ts +1 -1
  257. package/src/internal/core/runtime-environment.ts +0 -8
  258. package/src/internal/core/typescript-support.ts +1 -1
  259. package/src/internal/hardhat-network/jsonrpc/client.ts +1 -4
  260. package/src/internal/hardhat-network/jsonrpc/handler.ts +2 -1
  261. package/src/internal/hardhat-network/provider/node-types.ts +0 -70
  262. package/src/internal/hardhat-network/provider/output.ts +16 -1
  263. package/src/internal/hardhat-network/provider/provider.ts +57 -236
  264. package/src/internal/hardhat-network/provider/return-data.ts +5 -73
  265. package/src/internal/hardhat-network/provider/utils/convertToEdr.ts +6 -3
  266. package/src/internal/hardhat-network/provider/utils/fork-recomendations-banner.ts +2 -2
  267. package/src/internal/hardhat-network/provider/utils/makeAccount.ts +1 -6
  268. package/src/internal/hardhat-network/provider/utils/makeForkClient.ts +2 -2
  269. package/src/internal/hardhat-network/provider/utils/random.ts +4 -5
  270. package/src/internal/hardhat-network/provider/vm/exit.ts +4 -112
  271. package/src/internal/hardhat-network/provider/vm/minimal-vm.ts +8 -3
  272. package/src/internal/hardhat-network/provider/vm/types.ts +1 -1
  273. package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +34 -95
  274. package/src/internal/hardhat-network/stack-traces/constants.ts +1 -2
  275. package/src/internal/hardhat-network/stack-traces/library-utils.ts +5 -90
  276. package/src/internal/hardhat-network/stack-traces/logger.ts +378 -600
  277. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +17 -16
  278. package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +83 -186
  279. package/src/internal/lib/hardhat-lib.ts +0 -1
  280. package/src/internal/sentry/anonymizer.ts +2 -2
  281. package/src/internal/solidity/compiler/downloader.ts +1 -1
  282. package/src/internal/solidity/compiler/solc-info.ts +4 -0
  283. package/src/internal/util/caller-package.ts +2 -2
  284. package/src/internal/util/glob.ts +6 -6
  285. package/src/internal/util/hardforks.ts +2 -0
  286. package/src/internal/util/packageInfo.ts +4 -4
  287. package/src/internal/util/request.ts +51 -0
  288. package/src/register.ts +0 -1
  289. package/src/types/config.ts +2 -0
  290. package/src/types/index.ts +0 -1
  291. package/types/config.d.ts +2 -0
  292. package/types/config.d.ts.map +1 -1
  293. package/types/index.d.ts +0 -1
  294. package/types/index.d.ts.map +1 -1
  295. package/types/index.js +0 -1
  296. package/types/index.js.map +1 -1
  297. package/internal/hardhat-network/provider/BlockchainBase.d.ts +0 -29
  298. package/internal/hardhat-network/provider/BlockchainBase.d.ts.map +0 -1
  299. package/internal/hardhat-network/provider/BlockchainBase.js +0 -144
  300. package/internal/hardhat-network/provider/BlockchainBase.js.map +0 -1
  301. package/internal/hardhat-network/provider/BlockchainData.d.ts +0 -58
  302. package/internal/hardhat-network/provider/BlockchainData.d.ts.map +0 -1
  303. package/internal/hardhat-network/provider/BlockchainData.js +0 -178
  304. package/internal/hardhat-network/provider/BlockchainData.js.map +0 -1
  305. package/internal/hardhat-network/provider/HardhatBlockchain.d.ts +0 -24
  306. package/internal/hardhat-network/provider/HardhatBlockchain.d.ts.map +0 -1
  307. package/internal/hardhat-network/provider/HardhatBlockchain.js +0 -73
  308. package/internal/hardhat-network/provider/HardhatBlockchain.js.map +0 -1
  309. package/internal/hardhat-network/provider/MiningTimer.d.ts +0 -28
  310. package/internal/hardhat-network/provider/MiningTimer.d.ts.map +0 -1
  311. package/internal/hardhat-network/provider/MiningTimer.js +0 -96
  312. package/internal/hardhat-network/provider/MiningTimer.js.map +0 -1
  313. package/internal/hardhat-network/provider/PoolState.d.ts +0 -26
  314. package/internal/hardhat-network/provider/PoolState.d.ts.map +0 -1
  315. package/internal/hardhat-network/provider/PoolState.js.map +0 -1
  316. package/internal/hardhat-network/provider/TransactionQueue.d.ts +0 -32
  317. package/internal/hardhat-network/provider/TransactionQueue.d.ts.map +0 -1
  318. package/internal/hardhat-network/provider/TransactionQueue.js +0 -130
  319. package/internal/hardhat-network/provider/TransactionQueue.js.map +0 -1
  320. package/internal/hardhat-network/provider/TxPool.d.ts +0 -83
  321. package/internal/hardhat-network/provider/TxPool.d.ts.map +0 -1
  322. package/internal/hardhat-network/provider/TxPool.js +0 -470
  323. package/internal/hardhat-network/provider/TxPool.js.map +0 -1
  324. package/internal/hardhat-network/provider/ethereumjs-workarounds.d.ts +0 -2
  325. package/internal/hardhat-network/provider/ethereumjs-workarounds.d.ts.map +0 -1
  326. package/internal/hardhat-network/provider/ethereumjs-workarounds.js +0 -15
  327. package/internal/hardhat-network/provider/ethereumjs-workarounds.js.map +0 -1
  328. package/internal/hardhat-network/provider/filter.d.ts +0 -29
  329. package/internal/hardhat-network/provider/filter.d.ts.map +0 -1
  330. package/internal/hardhat-network/provider/filter.js +0 -97
  331. package/internal/hardhat-network/provider/filter.js.map +0 -1
  332. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts +0 -33
  333. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +0 -1
  334. package/internal/hardhat-network/provider/fork/ForkBlockchain.js +0 -272
  335. package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +0 -1
  336. package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts +0 -51
  337. package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts.map +0 -1
  338. package/internal/hardhat-network/provider/fork/ForkStateManager.js +0 -300
  339. package/internal/hardhat-network/provider/fork/ForkStateManager.js.map +0 -1
  340. package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts +0 -4
  341. package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts.map +0 -1
  342. package/internal/hardhat-network/provider/fork/rpcToBlockData.js +0 -32
  343. package/internal/hardhat-network/provider/fork/rpcToBlockData.js.map +0 -1
  344. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts +0 -10
  345. package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts.map +0 -1
  346. package/internal/hardhat-network/provider/fork/rpcToTxData.js +0 -29
  347. package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +0 -1
  348. package/internal/hardhat-network/provider/modules/base.d.ts +0 -17
  349. package/internal/hardhat-network/provider/modules/base.d.ts.map +0 -1
  350. package/internal/hardhat-network/provider/modules/base.js +0 -127
  351. package/internal/hardhat-network/provider/modules/base.js.map +0 -1
  352. package/internal/hardhat-network/provider/modules/debug.d.ts +0 -12
  353. package/internal/hardhat-network/provider/modules/debug.d.ts.map +0 -1
  354. package/internal/hardhat-network/provider/modules/debug.js +0 -52
  355. package/internal/hardhat-network/provider/modules/debug.js.map +0 -1
  356. package/internal/hardhat-network/provider/modules/eth.d.ts +0 -107
  357. package/internal/hardhat-network/provider/modules/eth.d.ts.map +0 -1
  358. package/internal/hardhat-network/provider/modules/eth.js +0 -1034
  359. package/internal/hardhat-network/provider/modules/eth.js.map +0 -1
  360. package/internal/hardhat-network/provider/modules/evm.d.ts +0 -32
  361. package/internal/hardhat-network/provider/modules/evm.d.ts.map +0 -1
  362. package/internal/hardhat-network/provider/modules/evm.js +0 -180
  363. package/internal/hardhat-network/provider/modules/evm.js.map +0 -1
  364. package/internal/hardhat-network/provider/modules/hardhat.d.ts +0 -54
  365. package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +0 -1
  366. package/internal/hardhat-network/provider/modules/hardhat.js +0 -309
  367. package/internal/hardhat-network/provider/modules/hardhat.js.map +0 -1
  368. package/internal/hardhat-network/provider/modules/net.d.ts +0 -13
  369. package/internal/hardhat-network/provider/modules/net.d.ts.map +0 -1
  370. package/internal/hardhat-network/provider/modules/net.js +0 -47
  371. package/internal/hardhat-network/provider/modules/net.js.map +0 -1
  372. package/internal/hardhat-network/provider/modules/personal.d.ts +0 -9
  373. package/internal/hardhat-network/provider/modules/personal.d.ts.map +0 -1
  374. package/internal/hardhat-network/provider/modules/personal.js +0 -31
  375. package/internal/hardhat-network/provider/modules/personal.js.map +0 -1
  376. package/internal/hardhat-network/provider/modules/web3.d.ts +0 -11
  377. package/internal/hardhat-network/provider/modules/web3.d.ts.map +0 -1
  378. package/internal/hardhat-network/provider/modules/web3.js +0 -38
  379. package/internal/hardhat-network/provider/modules/web3.js.map +0 -1
  380. package/internal/hardhat-network/provider/node.d.ts +0 -197
  381. package/internal/hardhat-network/provider/node.d.ts.map +0 -1
  382. package/internal/hardhat-network/provider/node.js +0 -1866
  383. package/internal/hardhat-network/provider/node.js.map +0 -1
  384. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts +0 -29
  385. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts.map +0 -1
  386. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +0 -137
  387. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +0 -1
  388. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts +0 -27
  389. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts.map +0 -1
  390. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +0 -137
  391. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +0 -1
  392. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts +0 -33
  393. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts.map +0 -1
  394. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +0 -141
  395. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +0 -1
  396. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts +0 -30
  397. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts.map +0 -1
  398. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js +0 -97
  399. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js.map +0 -1
  400. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts +0 -30
  401. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts.map +0 -1
  402. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js +0 -98
  403. package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js.map +0 -1
  404. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts +0 -40
  405. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts.map +0 -1
  406. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js +0 -91
  407. package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js.map +0 -1
  408. package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.d.ts +0 -32
  409. package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.d.ts.map +0 -1
  410. package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js +0 -87
  411. package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js.map +0 -1
  412. package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts +0 -17
  413. package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts.map +0 -1
  414. package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.js +0 -3
  415. package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.js.map +0 -1
  416. package/internal/hardhat-network/provider/utils/makeCommon.d.ts +0 -4
  417. package/internal/hardhat-network/provider/utils/makeCommon.d.ts.map +0 -1
  418. package/internal/hardhat-network/provider/utils/makeCommon.js +0 -17
  419. package/internal/hardhat-network/provider/utils/makeCommon.js.map +0 -1
  420. package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts +0 -7
  421. package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts.map +0 -1
  422. package/internal/hardhat-network/provider/utils/makeFakeSignature.js +0 -31
  423. package/internal/hardhat-network/provider/utils/makeFakeSignature.js.map +0 -1
  424. package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts +0 -4
  425. package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts.map +0 -1
  426. package/internal/hardhat-network/provider/utils/makeStateTrie.js +0 -20
  427. package/internal/hardhat-network/provider/utils/makeStateTrie.js.map +0 -1
  428. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts +0 -8
  429. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts.map +0 -1
  430. package/internal/hardhat-network/provider/utils/putGenesisBlock.js +0 -37
  431. package/internal/hardhat-network/provider/utils/putGenesisBlock.js.map +0 -1
  432. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.d.ts +0 -12
  433. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.d.ts.map +0 -1
  434. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js +0 -62
  435. package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js.map +0 -1
  436. package/internal/hardhat-network/provider/utils/txMapToArray.d.ts +0 -3
  437. package/internal/hardhat-network/provider/utils/txMapToArray.d.ts.map +0 -1
  438. package/internal/hardhat-network/provider/utils/txMapToArray.js +0 -12
  439. package/internal/hardhat-network/provider/utils/txMapToArray.js.map +0 -1
  440. package/internal/hardhat-network/stack-traces/compiler-to-model.d.ts +0 -4
  441. package/internal/hardhat-network/stack-traces/compiler-to-model.d.ts.map +0 -1
  442. package/internal/hardhat-network/stack-traces/compiler-to-model.js +0 -356
  443. package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +0 -1
  444. package/internal/hardhat-network/stack-traces/contracts-identifier.d.ts +0 -15
  445. package/internal/hardhat-network/stack-traces/contracts-identifier.d.ts.map +0 -1
  446. package/internal/hardhat-network/stack-traces/contracts-identifier.js +0 -166
  447. package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +0 -1
  448. package/internal/hardhat-network/stack-traces/debug.d.ts +0 -8
  449. package/internal/hardhat-network/stack-traces/debug.d.ts.map +0 -1
  450. package/internal/hardhat-network/stack-traces/debug.js +0 -148
  451. package/internal/hardhat-network/stack-traces/debug.js.map +0 -1
  452. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts +0 -85
  453. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts.map +0 -1
  454. package/internal/hardhat-network/stack-traces/error-inferrer.js +0 -1168
  455. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +0 -1
  456. package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.d.ts +0 -24
  457. package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.d.ts.map +0 -1
  458. package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.js +0 -116
  459. package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.js.map +0 -1
  460. package/internal/hardhat-network/stack-traces/message-trace.d.ts +0 -55
  461. package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +0 -1
  462. package/internal/hardhat-network/stack-traces/message-trace.js +0 -49
  463. package/internal/hardhat-network/stack-traces/message-trace.js.map +0 -1
  464. package/internal/hardhat-network/stack-traces/model.d.ts +0 -140
  465. package/internal/hardhat-network/stack-traces/model.d.ts.map +0 -1
  466. package/internal/hardhat-network/stack-traces/model.js +0 -328
  467. package/internal/hardhat-network/stack-traces/model.js.map +0 -1
  468. package/internal/hardhat-network/stack-traces/opcodes.d.ts +0 -266
  469. package/internal/hardhat-network/stack-traces/opcodes.d.ts.map +0 -1
  470. package/internal/hardhat-network/stack-traces/opcodes.js +0 -320
  471. package/internal/hardhat-network/stack-traces/opcodes.js.map +0 -1
  472. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts +0 -14
  473. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +0 -1
  474. package/internal/hardhat-network/stack-traces/solidityTracer.js +0 -167
  475. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +0 -1
  476. package/internal/hardhat-network/stack-traces/source-maps.d.ts +0 -13
  477. package/internal/hardhat-network/stack-traces/source-maps.d.ts.map +0 -1
  478. package/internal/hardhat-network/stack-traces/source-maps.js +0 -106
  479. package/internal/hardhat-network/stack-traces/source-maps.js.map +0 -1
  480. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts +0 -46
  481. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts.map +0 -1
  482. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +0 -421
  483. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +0 -1
  484. package/internal/hardhat-network/stack-traces/vm-trace-decoder.d.ts +0 -17
  485. package/internal/hardhat-network/stack-traces/vm-trace-decoder.d.ts.map +0 -1
  486. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js +0 -91
  487. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js.map +0 -1
  488. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +0 -19
  489. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +0 -1
  490. package/internal/hardhat-network/stack-traces/vm-tracer.js +0 -170
  491. package/internal/hardhat-network/stack-traces/vm-tracer.js.map +0 -1
  492. package/src/internal/hardhat-network/provider/MiningTimer.ts +0 -118
  493. package/src/internal/hardhat-network/provider/utils/makeCommon.ts +0 -20
  494. package/src/internal/hardhat-network/stack-traces/compiler-to-model.ts +0 -699
  495. package/src/internal/hardhat-network/stack-traces/contracts-identifier.ts +0 -235
  496. package/src/internal/hardhat-network/stack-traces/debug.ts +0 -220
  497. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +0 -1845
  498. package/src/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.ts +0 -163
  499. package/src/internal/hardhat-network/stack-traces/message-trace.ts +0 -131
  500. package/src/internal/hardhat-network/stack-traces/model.ts +0 -409
  501. package/src/internal/hardhat-network/stack-traces/opcodes.ts +0 -344
  502. package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +0 -255
  503. package/src/internal/hardhat-network/stack-traces/source-maps.ts +0 -167
  504. package/src/internal/hardhat-network/stack-traces/vm-trace-decoder.ts +0 -135
  505. package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +0 -221
  506. package/src/types/experimental.ts +0 -18
  507. package/types/experimental.d.ts +0 -5
  508. package/types/experimental.d.ts.map +0 -1
  509. package/types/experimental.js +0 -3
  510. package/types/experimental.js.map +0 -1
@@ -1,344 +0,0 @@
1
- export enum Opcode {
2
- // Arithmetic operations
3
- STOP = 0x00,
4
- ADD = 0x01,
5
- MUL = 0x02,
6
- SUB = 0x03,
7
- DIV = 0x04,
8
- SDIV = 0x05,
9
- MOD = 0x06,
10
- SMOD = 0x07,
11
- ADDMOD = 0x08,
12
- MULMOD = 0x09,
13
- EXP = 0x0a,
14
- SIGNEXTEND = 0x0b,
15
-
16
- // Unallocated
17
- UNRECOGNIZED_0C = 0x0c,
18
- UNRECOGNIZED_0D = 0x0d,
19
- UNRECOGNIZED_0E = 0x0e,
20
- UNRECOGNIZED_0F = 0x0f,
21
-
22
- // Comparison and bitwise operations
23
- LT = 0x10,
24
- GT = 0x11,
25
- SLT = 0x12,
26
- SGT = 0x13,
27
- EQ = 0x14,
28
- ISZERO = 0x15,
29
- AND = 0x16,
30
- OR = 0x17,
31
- XOR = 0x18,
32
- NOT = 0x19,
33
- BYTE = 0x1a,
34
- SHL = 0x1b,
35
- SHR = 0x1c,
36
- SAR = 0x1d,
37
-
38
- // Unallocated
39
- UNRECOGNIZED_1E = 0x1e,
40
- UNRECOGNIZED_1F = 0x1f,
41
-
42
- // Cryptographic operations
43
- SHA3 = 0x20,
44
-
45
- // Unallocated
46
- UNRECOGNIZED_21 = 0x21,
47
- UNRECOGNIZED_22 = 0x22,
48
- UNRECOGNIZED_23 = 0x23,
49
- UNRECOGNIZED_24 = 0x24,
50
- UNRECOGNIZED_25 = 0x25,
51
- UNRECOGNIZED_26 = 0x26,
52
- UNRECOGNIZED_27 = 0x27,
53
- UNRECOGNIZED_28 = 0x28,
54
- UNRECOGNIZED_29 = 0x29,
55
- UNRECOGNIZED_2A = 0x2a,
56
- UNRECOGNIZED_2B = 0x2b,
57
- UNRECOGNIZED_2C = 0x2c,
58
- UNRECOGNIZED_2D = 0x2d,
59
- UNRECOGNIZED_2E = 0x2e,
60
- UNRECOGNIZED_2F = 0x2f,
61
-
62
- // Message info operations
63
- ADDRESS = 0x30,
64
- BALANCE = 0x31,
65
- ORIGIN = 0x32,
66
- CALLER = 0x33,
67
- CALLVALUE = 0x34,
68
- CALLDATALOAD = 0x35,
69
- CALLDATASIZE = 0x36,
70
- CALLDATACOPY = 0x37,
71
- CODESIZE = 0x38,
72
- CODECOPY = 0x39,
73
- GASPRICE = 0x3a,
74
- EXTCODESIZE = 0x3b,
75
- EXTCODECOPY = 0x3c,
76
- RETURNDATASIZE = 0x3d,
77
- RETURNDATACOPY = 0x3e,
78
- EXTCODEHASH = 0x3f,
79
-
80
- // Block info operations
81
- BLOCKHASH = 0x40,
82
- COINBASE = 0x41,
83
- TIMESTAMP = 0x42,
84
- NUMBER = 0x43,
85
- DIFFICULTY = 0x44,
86
- GASLIMIT = 0x45,
87
-
88
- // Istanbul opcodes
89
- CHAINID = 0x46,
90
- SELFBALANCE = 0x47,
91
-
92
- // London opcodes
93
- BASEFEE = 0x48,
94
-
95
- // Unallocated
96
- UNRECOGNIZED_49 = 0x49,
97
- UNRECOGNIZED_4A = 0x4a,
98
- UNRECOGNIZED_4B = 0x4b,
99
- UNRECOGNIZED_4C = 0x4c,
100
- UNRECOGNIZED_4D = 0x4d,
101
- UNRECOGNIZED_4E = 0x4e,
102
- UNRECOGNIZED_4F = 0x4f,
103
-
104
- // Storage, memory, and other operations
105
- POP = 0x50,
106
- MLOAD = 0x51,
107
- MSTORE = 0x52,
108
- MSTORE8 = 0x53,
109
- SLOAD = 0x54,
110
- SSTORE = 0x55,
111
- JUMP = 0x56,
112
- JUMPI = 0x57,
113
- PC = 0x58,
114
- MSIZE = 0x59,
115
- GAS = 0x5a,
116
- JUMPDEST = 0x5b,
117
-
118
- // Uncallocated
119
- UNRECOGNIZED_5C = 0x5c,
120
- UNRECOGNIZED_5D = 0x5d,
121
- UNRECOGNIZED_5E = 0x5e,
122
- UNRECOGNIZED_5F = 0x5f,
123
-
124
- // Push operations
125
- PUSH1 = 0x60,
126
- PUSH2 = 0x61,
127
- PUSH3 = 0x62,
128
- PUSH4 = 0x63,
129
- PUSH5 = 0x64,
130
- PUSH6 = 0x65,
131
- PUSH7 = 0x66,
132
- PUSH8 = 0x67,
133
- PUSH9 = 0x68,
134
- PUSH10 = 0x69,
135
- PUSH11 = 0x6a,
136
- PUSH12 = 0x6b,
137
- PUSH13 = 0x6c,
138
- PUSH14 = 0x6d,
139
- PUSH15 = 0x6e,
140
- PUSH16 = 0x6f,
141
- PUSH17 = 0x70,
142
- PUSH18 = 0x71,
143
- PUSH19 = 0x72,
144
- PUSH20 = 0x73,
145
- PUSH21 = 0x74,
146
- PUSH22 = 0x75,
147
- PUSH23 = 0x76,
148
- PUSH24 = 0x77,
149
- PUSH25 = 0x78,
150
- PUSH26 = 0x79,
151
- PUSH27 = 0x7a,
152
- PUSH28 = 0x7b,
153
- PUSH29 = 0x7c,
154
- PUSH30 = 0x7d,
155
- PUSH31 = 0x7e,
156
- PUSH32 = 0x7f,
157
-
158
- // Dup operations
159
- DUP1 = 0x80,
160
- DUP2 = 0x81,
161
- DUP3 = 0x82,
162
- DUP4 = 0x83,
163
- DUP5 = 0x84,
164
- DUP6 = 0x85,
165
- DUP7 = 0x86,
166
- DUP8 = 0x87,
167
- DUP9 = 0x88,
168
- DUP10 = 0x89,
169
- DUP11 = 0x8a,
170
- DUP12 = 0x8b,
171
- DUP13 = 0x8c,
172
- DUP14 = 0x8d,
173
- DUP15 = 0x8e,
174
- DUP16 = 0x8f,
175
-
176
- // Swap operations
177
- SWAP1 = 0x90,
178
- SWAP2 = 0x91,
179
- SWAP3 = 0x92,
180
- SWAP4 = 0x93,
181
- SWAP5 = 0x94,
182
- SWAP6 = 0x95,
183
- SWAP7 = 0x96,
184
- SWAP8 = 0x97,
185
- SWAP9 = 0x98,
186
- SWAP10 = 0x99,
187
- SWAP11 = 0x9a,
188
- SWAP12 = 0x9b,
189
- SWAP13 = 0x9c,
190
- SWAP14 = 0x9d,
191
- SWAP15 = 0x9e,
192
- SWAP16 = 0x9f,
193
-
194
- // Log operations
195
- LOG0 = 0xa0,
196
- LOG1 = 0xa1,
197
- LOG2 = 0xa2,
198
- LOG3 = 0xa3,
199
- LOG4 = 0xa4,
200
-
201
- // Unallocated
202
- UNRECOGNIZED_A5 = 0xa5,
203
- UNRECOGNIZED_A6 = 0xa6,
204
- UNRECOGNIZED_A7 = 0xa7,
205
- UNRECOGNIZED_A8 = 0xa8,
206
- UNRECOGNIZED_A9 = 0xa9,
207
- UNRECOGNIZED_AA = 0xaa,
208
- UNRECOGNIZED_AB = 0xab,
209
- UNRECOGNIZED_AC = 0xac,
210
- UNRECOGNIZED_AD = 0xad,
211
- UNRECOGNIZED_AE = 0xae,
212
- UNRECOGNIZED_AF = 0xaf,
213
-
214
- UNRECOGNIZED_B0 = 0xb0,
215
- UNRECOGNIZED_B1 = 0xb1,
216
- UNRECOGNIZED_B2 = 0xb2,
217
- UNRECOGNIZED_B3 = 0xb3,
218
- UNRECOGNIZED_B4 = 0xb4,
219
- UNRECOGNIZED_B5 = 0xb5,
220
- UNRECOGNIZED_B6 = 0xb6,
221
- UNRECOGNIZED_B7 = 0xb7,
222
- UNRECOGNIZED_B8 = 0xb8,
223
- UNRECOGNIZED_B9 = 0xb9,
224
- UNRECOGNIZED_BA = 0xba,
225
- UNRECOGNIZED_BB = 0xbb,
226
- UNRECOGNIZED_BC = 0xbc,
227
- UNRECOGNIZED_BD = 0xbd,
228
- UNRECOGNIZED_BE = 0xbe,
229
- UNRECOGNIZED_BF = 0xbf,
230
-
231
- UNRECOGNIZED_C0 = 0xc0,
232
- UNRECOGNIZED_C1 = 0xc1,
233
- UNRECOGNIZED_C2 = 0xc2,
234
- UNRECOGNIZED_C3 = 0xc3,
235
- UNRECOGNIZED_C4 = 0xc4,
236
- UNRECOGNIZED_C5 = 0xc5,
237
- UNRECOGNIZED_C6 = 0xc6,
238
- UNRECOGNIZED_C7 = 0xc7,
239
- UNRECOGNIZED_C8 = 0xc8,
240
- UNRECOGNIZED_C9 = 0xc9,
241
- UNRECOGNIZED_CA = 0xca,
242
- UNRECOGNIZED_CB = 0xcb,
243
- UNRECOGNIZED_CC = 0xcc,
244
- UNRECOGNIZED_CD = 0xcd,
245
- UNRECOGNIZED_CE = 0xce,
246
- UNRECOGNIZED_CF = 0xcf,
247
-
248
- UNRECOGNIZED_D0 = 0xd0,
249
- UNRECOGNIZED_D1 = 0xd1,
250
- UNRECOGNIZED_D2 = 0xd2,
251
- UNRECOGNIZED_D3 = 0xd3,
252
- UNRECOGNIZED_D4 = 0xd4,
253
- UNRECOGNIZED_D5 = 0xd5,
254
- UNRECOGNIZED_D6 = 0xd6,
255
- UNRECOGNIZED_D7 = 0xd7,
256
- UNRECOGNIZED_D8 = 0xd8,
257
- UNRECOGNIZED_D9 = 0xd9,
258
- UNRECOGNIZED_DA = 0xda,
259
- UNRECOGNIZED_DB = 0xdb,
260
- UNRECOGNIZED_DC = 0xdc,
261
- UNRECOGNIZED_DD = 0xdd,
262
- UNRECOGNIZED_DE = 0xde,
263
- UNRECOGNIZED_DF = 0xdf,
264
-
265
- UNRECOGNIZED_E0 = 0xe0,
266
- UNRECOGNIZED_E1 = 0xe1,
267
- UNRECOGNIZED_E2 = 0xe2,
268
- UNRECOGNIZED_E3 = 0xe3,
269
- UNRECOGNIZED_E4 = 0xe4,
270
- UNRECOGNIZED_E5 = 0xe5,
271
- UNRECOGNIZED_E6 = 0xe6,
272
- UNRECOGNIZED_E7 = 0xe7,
273
- UNRECOGNIZED_E8 = 0xe8,
274
- UNRECOGNIZED_E9 = 0xe9,
275
- UNRECOGNIZED_EA = 0xea,
276
- UNRECOGNIZED_EB = 0xeb,
277
- UNRECOGNIZED_EC = 0xec,
278
- UNRECOGNIZED_ED = 0xed,
279
- UNRECOGNIZED_EE = 0xee,
280
- UNRECOGNIZED_EF = 0xef,
281
-
282
- // Call operations
283
- CREATE = 0xf0,
284
- CALL = 0xf1,
285
- CALLCODE = 0xf2,
286
- RETURN = 0xf3,
287
- DELEGATECALL = 0xf4,
288
- CREATE2 = 0xf5,
289
-
290
- // Unallocated
291
- UNRECOGNIZED_F6 = 0xf6,
292
- UNRECOGNIZED_F7 = 0xf7,
293
- UNRECOGNIZED_F8 = 0xf8,
294
- UNRECOGNIZED_F9 = 0xf9,
295
-
296
- // Other operations
297
- STATICCALL = 0xfa,
298
-
299
- // Unallocated
300
- UNRECOGNIZED_FB = 0xfb,
301
- UNRECOGNIZED_FC = 0xfc,
302
-
303
- // Other operations
304
- REVERT = 0xfd,
305
- INVALID = 0xfe,
306
- SELFDESTRUCT = 0xff,
307
- }
308
-
309
- export function opcodeName(opcode: number): string {
310
- return Opcode[opcode] ?? `<unrecognized opcode ${opcode}>`;
311
- }
312
-
313
- export function isPush(opcode: Opcode) {
314
- return opcode >= Opcode.PUSH1 && opcode <= Opcode.PUSH32;
315
- }
316
-
317
- export function isJump(opcode: Opcode) {
318
- return opcode === Opcode.JUMP || opcode === Opcode.JUMPI;
319
- }
320
-
321
- export function getPushLength(opcode: Opcode) {
322
- return opcode - Opcode.PUSH1 + 1;
323
- }
324
-
325
- export function getOpcodeLength(opcode: Opcode) {
326
- if (!isPush(opcode)) {
327
- return 1;
328
- }
329
-
330
- return 1 + getPushLength(opcode);
331
- }
332
-
333
- export function isCall(opcode: Opcode) {
334
- return (
335
- opcode === Opcode.CALL ||
336
- opcode === Opcode.CALLCODE ||
337
- opcode === Opcode.DELEGATECALL ||
338
- opcode === Opcode.STATICCALL
339
- );
340
- }
341
-
342
- export function isCreate(opcode: Opcode) {
343
- return opcode === Opcode.CREATE || opcode === Opcode.CREATE2;
344
- }
@@ -1,255 +0,0 @@
1
- import { equalsBytes } from "@nomicfoundation/ethereumjs-util";
2
-
3
- import { ReturnData } from "../provider/return-data";
4
- import { ExitCode } from "../provider/vm/exit";
5
-
6
- import {
7
- ErrorInferrer,
8
- instructionToCallstackStackTraceEntry,
9
- SubmessageData,
10
- } from "./error-inferrer";
11
- import {
12
- adjustStackTrace,
13
- stackTraceMayRequireAdjustments,
14
- } from "./mapped-inlined-internal-functions-heuristics";
15
- import {
16
- DecodedCallMessageTrace,
17
- DecodedCreateMessageTrace,
18
- DecodedEvmMessageTrace,
19
- EvmMessageTrace,
20
- EvmStep,
21
- isCreateTrace,
22
- isDecodedCallTrace,
23
- isDecodedCreateTrace,
24
- isEvmStep,
25
- isPrecompileTrace,
26
- MessageTrace,
27
- PrecompileMessageTrace,
28
- } from "./message-trace";
29
- import { Instruction, JumpType } from "./model";
30
- import { Opcode } from "./opcodes";
31
- import {
32
- SolidityStackTrace,
33
- SolidityStackTraceEntry,
34
- StackTraceEntryType,
35
- } from "./solidity-stack-trace";
36
-
37
- export class SolidityTracer {
38
- private _errorInferrer = new ErrorInferrer();
39
-
40
- public getStackTrace(
41
- maybeDecodedMessageTrace: MessageTrace
42
- ): SolidityStackTrace {
43
- if (!maybeDecodedMessageTrace.exit.isError()) {
44
- return [];
45
- }
46
-
47
- if (isPrecompileTrace(maybeDecodedMessageTrace)) {
48
- return this._getPrecompileMessageStackTrace(maybeDecodedMessageTrace);
49
- }
50
-
51
- if (isDecodedCreateTrace(maybeDecodedMessageTrace)) {
52
- return this._getCreateMessageStackTrace(maybeDecodedMessageTrace);
53
- }
54
-
55
- if (isDecodedCallTrace(maybeDecodedMessageTrace)) {
56
- return this._getCallMessageStackTrace(maybeDecodedMessageTrace);
57
- }
58
-
59
- return this._getUnrecognizedMessageStackTrace(maybeDecodedMessageTrace);
60
- }
61
-
62
- private _getCallMessageStackTrace(
63
- trace: DecodedCallMessageTrace
64
- ): SolidityStackTrace {
65
- const inferredError =
66
- this._errorInferrer.inferBeforeTracingCallMessage(trace);
67
-
68
- if (inferredError !== undefined) {
69
- return inferredError;
70
- }
71
-
72
- return this._traceEvmExecution(trace);
73
- }
74
-
75
- private _getUnrecognizedMessageStackTrace(
76
- trace: EvmMessageTrace
77
- ): SolidityStackTrace {
78
- const subtrace = this._getLastSubtrace(trace);
79
-
80
- if (subtrace !== undefined) {
81
- // This is not a very exact heuristic, but most of the time it will be right, as solidity
82
- // reverts if a call fails, and most contracts are in solidity
83
- if (
84
- subtrace.exit.isError() &&
85
- equalsBytes(trace.returnData, subtrace.returnData)
86
- ) {
87
- let unrecognizedEntry: SolidityStackTraceEntry;
88
-
89
- if (isCreateTrace(trace)) {
90
- unrecognizedEntry = {
91
- type: StackTraceEntryType.UNRECOGNIZED_CREATE_CALLSTACK_ENTRY,
92
- };
93
- } else {
94
- unrecognizedEntry = {
95
- type: StackTraceEntryType.UNRECOGNIZED_CONTRACT_CALLSTACK_ENTRY,
96
- address: trace.address,
97
- };
98
- }
99
-
100
- return [unrecognizedEntry, ...this.getStackTrace(subtrace)];
101
- }
102
- }
103
-
104
- if (trace.exit.kind === ExitCode.CODESIZE_EXCEEDS_MAXIMUM) {
105
- return [
106
- {
107
- type: StackTraceEntryType.CONTRACT_TOO_LARGE_ERROR,
108
- },
109
- ];
110
- }
111
-
112
- const isInvalidOpcodeError = trace.exit.kind === ExitCode.INVALID_OPCODE;
113
-
114
- if (isCreateTrace(trace)) {
115
- return [
116
- {
117
- type: StackTraceEntryType.UNRECOGNIZED_CREATE_ERROR,
118
- message: new ReturnData(trace.returnData),
119
- isInvalidOpcodeError,
120
- },
121
- ];
122
- }
123
-
124
- return [
125
- {
126
- type: StackTraceEntryType.UNRECOGNIZED_CONTRACT_ERROR,
127
- address: trace.address,
128
- message: new ReturnData(trace.returnData),
129
- isInvalidOpcodeError,
130
- },
131
- ];
132
- }
133
-
134
- private _getCreateMessageStackTrace(
135
- trace: DecodedCreateMessageTrace
136
- ): SolidityStackTrace {
137
- const inferredError =
138
- this._errorInferrer.inferBeforeTracingCreateMessage(trace);
139
-
140
- if (inferredError !== undefined) {
141
- return inferredError;
142
- }
143
-
144
- return this._traceEvmExecution(trace);
145
- }
146
-
147
- private _getPrecompileMessageStackTrace(
148
- trace: PrecompileMessageTrace
149
- ): SolidityStackTrace {
150
- return [
151
- {
152
- type: StackTraceEntryType.PRECOMPILE_ERROR,
153
- precompile: trace.precompile,
154
- },
155
- ];
156
- }
157
-
158
- private _traceEvmExecution(
159
- trace: DecodedEvmMessageTrace
160
- ): SolidityStackTrace {
161
- const stackTrace = this._rawTraceEvmExecution(trace);
162
-
163
- if (stackTraceMayRequireAdjustments(stackTrace, trace)) {
164
- return adjustStackTrace(stackTrace, trace);
165
- }
166
-
167
- return stackTrace;
168
- }
169
-
170
- private _rawTraceEvmExecution(
171
- trace: DecodedEvmMessageTrace
172
- ): SolidityStackTrace {
173
- const stacktrace: SolidityStackTrace = [];
174
-
175
- let subtracesSeen = 0;
176
-
177
- // There was a jump into a function according to the sourcemaps
178
- let jumpedIntoFunction = false;
179
-
180
- const functionJumpdests: Instruction[] = [];
181
-
182
- let lastSubmessageData: SubmessageData | undefined;
183
-
184
- for (let stepIndex = 0; stepIndex < trace.steps.length; stepIndex++) {
185
- const step = trace.steps[stepIndex];
186
- const nextStep = trace.steps[stepIndex + 1];
187
-
188
- if (isEvmStep(step)) {
189
- const inst = trace.bytecode.getInstruction(step.pc);
190
-
191
- if (
192
- inst.jumpType === JumpType.INTO_FUNCTION &&
193
- nextStep !== undefined
194
- ) {
195
- const nextEvmStep = nextStep as EvmStep; // A jump can't be followed by a subtrace
196
- const nextInst = trace.bytecode.getInstruction(nextEvmStep.pc);
197
-
198
- if (nextInst !== undefined && nextInst.opcode === Opcode.JUMPDEST) {
199
- stacktrace.push(
200
- instructionToCallstackStackTraceEntry(trace.bytecode, inst)
201
- );
202
- if (nextInst.location !== undefined) {
203
- jumpedIntoFunction = true;
204
- }
205
- functionJumpdests.push(nextInst);
206
- }
207
- } else if (inst.jumpType === JumpType.OUTOF_FUNCTION) {
208
- stacktrace.pop();
209
- functionJumpdests.pop();
210
- }
211
- } else {
212
- subtracesSeen += 1;
213
-
214
- // If there are more subtraces, this one didn't terminate the execution
215
- if (subtracesSeen < trace.numberOfSubtraces) {
216
- continue;
217
- }
218
-
219
- const submessageTrace = this.getStackTrace(step);
220
-
221
- lastSubmessageData = {
222
- messageTrace: step,
223
- stepIndex,
224
- stacktrace: submessageTrace,
225
- };
226
- }
227
- }
228
-
229
- const stacktraceWithInferredError = this._errorInferrer.inferAfterTracing(
230
- trace,
231
- stacktrace,
232
- functionJumpdests,
233
- jumpedIntoFunction,
234
- lastSubmessageData
235
- );
236
-
237
- return this._errorInferrer.filterRedundantFrames(
238
- stacktraceWithInferredError
239
- );
240
- }
241
-
242
- private _getLastSubtrace(trace: EvmMessageTrace): MessageTrace | undefined {
243
- if (trace.numberOfSubtraces < 1) {
244
- return undefined;
245
- }
246
-
247
- let i = trace.steps.length - 1;
248
-
249
- while (isEvmStep(trace.steps[i])) {
250
- i -= 1;
251
- }
252
-
253
- return trace.steps[i] as MessageTrace;
254
- }
255
- }