hardhatjs 2.22.15

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 (935) hide show
  1. package/.eslintrc.js +41 -0
  2. package/LICENSE +55 -0
  3. package/README.md +53 -0
  4. package/builtin-tasks/check.d.ts +2 -0
  5. package/builtin-tasks/check.d.ts.map +1 -0
  6. package/builtin-tasks/check.js +6 -0
  7. package/builtin-tasks/check.js.map +1 -0
  8. package/builtin-tasks/clean.d.ts +2 -0
  9. package/builtin-tasks/clean.d.ts.map +1 -0
  10. package/builtin-tasks/clean.js +24 -0
  11. package/builtin-tasks/clean.js.map +1 -0
  12. package/builtin-tasks/compile.d.ts +2 -0
  13. package/builtin-tasks/compile.d.ts.map +1 -0
  14. package/builtin-tasks/compile.js +952 -0
  15. package/builtin-tasks/compile.js.map +1 -0
  16. package/builtin-tasks/console.d.ts +2 -0
  17. package/builtin-tasks/console.d.ts.map +1 -0
  18. package/builtin-tasks/console.js +55 -0
  19. package/builtin-tasks/console.js.map +1 -0
  20. package/builtin-tasks/flatten.d.ts +2 -0
  21. package/builtin-tasks/flatten.d.ts.map +1 -0
  22. package/builtin-tasks/flatten.js +210 -0
  23. package/builtin-tasks/flatten.js.map +1 -0
  24. package/builtin-tasks/help.d.ts +2 -0
  25. package/builtin-tasks/help.d.ts.map +1 -0
  26. package/builtin-tasks/help.js +49 -0
  27. package/builtin-tasks/help.js.map +1 -0
  28. package/builtin-tasks/node.d.ts +2 -0
  29. package/builtin-tasks/node.d.ts.map +1 -0
  30. package/builtin-tasks/node.js +212 -0
  31. package/builtin-tasks/node.js.map +1 -0
  32. package/builtin-tasks/run.d.ts +2 -0
  33. package/builtin-tasks/run.d.ts.map +1 -0
  34. package/builtin-tasks/run.js +41 -0
  35. package/builtin-tasks/run.js.map +1 -0
  36. package/builtin-tasks/task-names.d.ts +55 -0
  37. package/builtin-tasks/task-names.d.ts.map +1 -0
  38. package/builtin-tasks/task-names.js +59 -0
  39. package/builtin-tasks/task-names.js.map +1 -0
  40. package/builtin-tasks/test.d.ts +2 -0
  41. package/builtin-tasks/test.d.ts.map +1 -0
  42. package/builtin-tasks/test.js +142 -0
  43. package/builtin-tasks/test.js.map +1 -0
  44. package/builtin-tasks/utils/solidity-files-cache.d.ts +29 -0
  45. package/builtin-tasks/utils/solidity-files-cache.d.ts.map +1 -0
  46. package/builtin-tasks/utils/solidity-files-cache.js +126 -0
  47. package/builtin-tasks/utils/solidity-files-cache.js.map +1 -0
  48. package/builtin-tasks/utils/watch.d.ts +5 -0
  49. package/builtin-tasks/utils/watch.d.ts.map +1 -0
  50. package/builtin-tasks/utils/watch.js +71 -0
  51. package/builtin-tasks/utils/watch.js.map +1 -0
  52. package/builtin-tasks/vars.d.ts +2 -0
  53. package/builtin-tasks/vars.d.ts.map +1 -0
  54. package/builtin-tasks/vars.js +41 -0
  55. package/builtin-tasks/vars.js.map +1 -0
  56. package/common/bigInt.d.ts +7 -0
  57. package/common/bigInt.d.ts.map +1 -0
  58. package/common/bigInt.js +93 -0
  59. package/common/bigInt.js.map +1 -0
  60. package/common/index.d.ts +3 -0
  61. package/common/index.d.ts.map +1 -0
  62. package/common/index.js +21 -0
  63. package/common/index.js.map +1 -0
  64. package/common/napi-rs.d.ts +2 -0
  65. package/common/napi-rs.d.ts.map +1 -0
  66. package/common/napi-rs.js +19 -0
  67. package/common/napi-rs.js.map +1 -0
  68. package/config.d.ts +3 -0
  69. package/config.d.ts.map +1 -0
  70. package/config.js +18 -0
  71. package/config.js.map +1 -0
  72. package/console.sol +1552 -0
  73. package/internal/artifacts.d.ts +151 -0
  74. package/internal/artifacts.d.ts.map +1 -0
  75. package/internal/artifacts.js +681 -0
  76. package/internal/artifacts.js.map +1 -0
  77. package/internal/cli/ArgumentsParser.d.ts +25 -0
  78. package/internal/cli/ArgumentsParser.d.ts.map +1 -0
  79. package/internal/cli/ArgumentsParser.js +242 -0
  80. package/internal/cli/ArgumentsParser.js.map +1 -0
  81. package/internal/cli/HelpPrinter.d.ts +21 -0
  82. package/internal/cli/HelpPrinter.d.ts.map +1 -0
  83. package/internal/cli/HelpPrinter.js +167 -0
  84. package/internal/cli/HelpPrinter.js.map +1 -0
  85. package/internal/cli/analytics.d.ts +29 -0
  86. package/internal/cli/analytics.d.ts.map +1 -0
  87. package/internal/cli/analytics.js +188 -0
  88. package/internal/cli/analytics.js.map +1 -0
  89. package/internal/cli/autocomplete.d.ts +13 -0
  90. package/internal/cli/autocomplete.d.ts.map +1 -0
  91. package/internal/cli/autocomplete.js +291 -0
  92. package/internal/cli/autocomplete.js.map +1 -0
  93. package/internal/cli/bootstrap.d.ts +3 -0
  94. package/internal/cli/bootstrap.d.ts.map +1 -0
  95. package/internal/cli/bootstrap.js +15 -0
  96. package/internal/cli/bootstrap.js.map +1 -0
  97. package/internal/cli/cli.d.ts +2 -0
  98. package/internal/cli/cli.d.ts.map +1 -0
  99. package/internal/cli/cli.js +344 -0
  100. package/internal/cli/cli.js.map +1 -0
  101. package/internal/cli/constants.d.ts +2 -0
  102. package/internal/cli/constants.d.ts.map +1 -0
  103. package/internal/cli/constants.js +5 -0
  104. package/internal/cli/constants.js.map +1 -0
  105. package/internal/cli/emoji.d.ts +3 -0
  106. package/internal/cli/emoji.d.ts.map +1 -0
  107. package/internal/cli/emoji.js +13 -0
  108. package/internal/cli/emoji.js.map +1 -0
  109. package/internal/cli/hardhat-vscode-installation.d.ts +8 -0
  110. package/internal/cli/hardhat-vscode-installation.d.ts.map +1 -0
  111. package/internal/cli/hardhat-vscode-installation.js +41 -0
  112. package/internal/cli/hardhat-vscode-installation.js.map +1 -0
  113. package/internal/cli/is-node-version-to-warn-on.d.ts +13 -0
  114. package/internal/cli/is-node-version-to-warn-on.d.ts.map +1 -0
  115. package/internal/cli/is-node-version-to-warn-on.js +46 -0
  116. package/internal/cli/is-node-version-to-warn-on.js.map +1 -0
  117. package/internal/cli/project-creation.d.ts +4 -0
  118. package/internal/cli/project-creation.d.ts.map +1 -0
  119. package/internal/cli/project-creation.js +506 -0
  120. package/internal/cli/project-creation.js.map +1 -0
  121. package/internal/cli/prompt.d.ts +14 -0
  122. package/internal/cli/prompt.d.ts.map +1 -0
  123. package/internal/cli/prompt.js +123 -0
  124. package/internal/cli/prompt.js.map +1 -0
  125. package/internal/cli/types.d.ts +5 -0
  126. package/internal/cli/types.d.ts.map +1 -0
  127. package/internal/cli/types.js +3 -0
  128. package/internal/cli/types.js.map +1 -0
  129. package/internal/cli/vars.d.ts +2 -0
  130. package/internal/cli/vars.d.ts.map +1 -0
  131. package/internal/cli/vars.js +216 -0
  132. package/internal/cli/vars.js.map +1 -0
  133. package/internal/cli/version-notifier.d.ts +2 -0
  134. package/internal/cli/version-notifier.d.ts.map +1 -0
  135. package/internal/cli/version-notifier.js +217 -0
  136. package/internal/cli/version-notifier.js.map +1 -0
  137. package/internal/constants.d.ts +14 -0
  138. package/internal/constants.d.ts.map +1 -0
  139. package/internal/constants.js +35 -0
  140. package/internal/constants.js.map +1 -0
  141. package/internal/context.d.ts +29 -0
  142. package/internal/context.d.ts.map +1 -0
  143. package/internal/context.js +74 -0
  144. package/internal/context.js.map +1 -0
  145. package/internal/core/config/config-env.d.ts +111 -0
  146. package/internal/core/config/config-env.d.ts.map +1 -0
  147. package/internal/core/config/config-env.js +144 -0
  148. package/internal/core/config/config-env.js.map +1 -0
  149. package/internal/core/config/config-loading.d.ts +20 -0
  150. package/internal/core/config/config-loading.d.ts.map +1 -0
  151. package/internal/core/config/config-loading.js +246 -0
  152. package/internal/core/config/config-loading.js.map +1 -0
  153. package/internal/core/config/config-resolution.d.ts +25 -0
  154. package/internal/core/config/config-resolution.d.ts.map +1 -0
  155. package/internal/core/config/config-resolution.js +336 -0
  156. package/internal/core/config/config-resolution.js.map +1 -0
  157. package/internal/core/config/config-validation.d.ts +18 -0
  158. package/internal/core/config/config-validation.d.ts.map +1 -0
  159. package/internal/core/config/config-validation.js +400 -0
  160. package/internal/core/config/config-validation.js.map +1 -0
  161. package/internal/core/config/default-config.d.ts +45 -0
  162. package/internal/core/config/default-config.d.ts.map +1 -0
  163. package/internal/core/config/default-config.js +186 -0
  164. package/internal/core/config/default-config.js.map +1 -0
  165. package/internal/core/errors-list.d.ts +948 -0
  166. package/internal/core/errors-list.d.ts.map +1 -0
  167. package/internal/core/errors-list.js +1282 -0
  168. package/internal/core/errors-list.js.map +1 -0
  169. package/internal/core/errors.d.ts +74 -0
  170. package/internal/core/errors.d.ts.map +1 -0
  171. package/internal/core/errors.js +178 -0
  172. package/internal/core/errors.js.map +1 -0
  173. package/internal/core/execution-mode.d.ts +14 -0
  174. package/internal/core/execution-mode.d.ts.map +1 -0
  175. package/internal/core/execution-mode.js +40 -0
  176. package/internal/core/execution-mode.js.map +1 -0
  177. package/internal/core/flamegraph.d.ts +14 -0
  178. package/internal/core/flamegraph.d.ts.map +1 -0
  179. package/internal/core/flamegraph.js +255 -0
  180. package/internal/core/flamegraph.js.map +1 -0
  181. package/internal/core/jsonrpc/types/access-list.d.ts +13 -0
  182. package/internal/core/jsonrpc/types/access-list.d.ts.map +1 -0
  183. package/internal/core/jsonrpc/types/access-list.js +35 -0
  184. package/internal/core/jsonrpc/types/access-list.js.map +1 -0
  185. package/internal/core/jsonrpc/types/base-types.d.ts +28 -0
  186. package/internal/core/jsonrpc/types/base-types.d.ts.map +1 -0
  187. package/internal/core/jsonrpc/types/base-types.js +152 -0
  188. package/internal/core/jsonrpc/types/base-types.js.map +1 -0
  189. package/internal/core/jsonrpc/types/input/blockTag.d.ts +51 -0
  190. package/internal/core/jsonrpc/types/input/blockTag.d.ts.map +1 -0
  191. package/internal/core/jsonrpc/types/input/blockTag.js +55 -0
  192. package/internal/core/jsonrpc/types/input/blockTag.js.map +1 -0
  193. package/internal/core/jsonrpc/types/input/callRequest.d.ts +82 -0
  194. package/internal/core/jsonrpc/types/input/callRequest.d.ts.map +1 -0
  195. package/internal/core/jsonrpc/types/input/callRequest.js +57 -0
  196. package/internal/core/jsonrpc/types/input/callRequest.js.map +1 -0
  197. package/internal/core/jsonrpc/types/input/debugTraceTransaction.d.ts +14 -0
  198. package/internal/core/jsonrpc/types/input/debugTraceTransaction.d.ts.map +1 -0
  199. package/internal/core/jsonrpc/types/input/debugTraceTransaction.js +35 -0
  200. package/internal/core/jsonrpc/types/input/debugTraceTransaction.js.map +1 -0
  201. package/internal/core/jsonrpc/types/input/filterRequest.d.ts +24 -0
  202. package/internal/core/jsonrpc/types/input/filterRequest.d.ts.map +1 -0
  203. package/internal/core/jsonrpc/types/input/filterRequest.js +41 -0
  204. package/internal/core/jsonrpc/types/input/filterRequest.js.map +1 -0
  205. package/internal/core/jsonrpc/types/input/hardhat-network.d.ts +51 -0
  206. package/internal/core/jsonrpc/types/input/hardhat-network.d.ts.map +1 -0
  207. package/internal/core/jsonrpc/types/input/hardhat-network.js +51 -0
  208. package/internal/core/jsonrpc/types/input/hardhat-network.js.map +1 -0
  209. package/internal/core/jsonrpc/types/input/logAddress.d.ts +7 -0
  210. package/internal/core/jsonrpc/types/input/logAddress.d.ts.map +1 -0
  211. package/internal/core/jsonrpc/types/input/logAddress.js +32 -0
  212. package/internal/core/jsonrpc/types/input/logAddress.js.map +1 -0
  213. package/internal/core/jsonrpc/types/input/logTopics.d.ts +7 -0
  214. package/internal/core/jsonrpc/types/input/logTopics.d.ts.map +1 -0
  215. package/internal/core/jsonrpc/types/input/logTopics.js +32 -0
  216. package/internal/core/jsonrpc/types/input/logTopics.js.map +1 -0
  217. package/internal/core/jsonrpc/types/input/solc.d.ts +13 -0
  218. package/internal/core/jsonrpc/types/input/solc.d.ts.map +1 -0
  219. package/internal/core/jsonrpc/types/input/solc.js +37 -0
  220. package/internal/core/jsonrpc/types/input/solc.js.map +1 -0
  221. package/internal/core/jsonrpc/types/input/subscribeRequest.d.ts +12 -0
  222. package/internal/core/jsonrpc/types/input/subscribeRequest.d.ts.map +1 -0
  223. package/internal/core/jsonrpc/types/input/subscribeRequest.js +33 -0
  224. package/internal/core/jsonrpc/types/input/subscribeRequest.js.map +1 -0
  225. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts +41 -0
  226. package/internal/core/jsonrpc/types/input/transactionRequest.d.ts.map +1 -0
  227. package/internal/core/jsonrpc/types/input/transactionRequest.js +47 -0
  228. package/internal/core/jsonrpc/types/input/transactionRequest.js.map +1 -0
  229. package/internal/core/jsonrpc/types/input/validation.d.ts +12 -0
  230. package/internal/core/jsonrpc/types/input/validation.d.ts.map +1 -0
  231. package/internal/core/jsonrpc/types/input/validation.js +49 -0
  232. package/internal/core/jsonrpc/types/input/validation.js.map +1 -0
  233. package/internal/core/jsonrpc/types/output/block.d.ts +106 -0
  234. package/internal/core/jsonrpc/types/output/block.d.ts.map +1 -0
  235. package/internal/core/jsonrpc/types/output/block.js +72 -0
  236. package/internal/core/jsonrpc/types/output/block.js.map +1 -0
  237. package/internal/core/jsonrpc/types/output/decodeJsonRpcResponse.d.ts +6 -0
  238. package/internal/core/jsonrpc/types/output/decodeJsonRpcResponse.d.ts.map +1 -0
  239. package/internal/core/jsonrpc/types/output/decodeJsonRpcResponse.js +20 -0
  240. package/internal/core/jsonrpc/types/output/decodeJsonRpcResponse.js.map +1 -0
  241. package/internal/core/jsonrpc/types/output/log.d.ts +13 -0
  242. package/internal/core/jsonrpc/types/output/log.d.ts.map +1 -0
  243. package/internal/core/jsonrpc/types/output/log.js +40 -0
  244. package/internal/core/jsonrpc/types/output/log.js.map +1 -0
  245. package/internal/core/jsonrpc/types/output/metadata.d.ts +13 -0
  246. package/internal/core/jsonrpc/types/output/metadata.d.ts.map +1 -0
  247. package/internal/core/jsonrpc/types/output/metadata.js +3 -0
  248. package/internal/core/jsonrpc/types/output/metadata.js.map +1 -0
  249. package/internal/core/jsonrpc/types/output/receipt.d.ts +29 -0
  250. package/internal/core/jsonrpc/types/output/receipt.d.ts.map +1 -0
  251. package/internal/core/jsonrpc/types/output/receipt.js +52 -0
  252. package/internal/core/jsonrpc/types/output/receipt.js.map +1 -0
  253. package/internal/core/jsonrpc/types/output/transaction.d.ts +30 -0
  254. package/internal/core/jsonrpc/types/output/transaction.d.ts.map +1 -0
  255. package/internal/core/jsonrpc/types/output/transaction.js +55 -0
  256. package/internal/core/jsonrpc/types/output/transaction.js.map +1 -0
  257. package/internal/core/params/argumentTypes.d.ts +41 -0
  258. package/internal/core/params/argumentTypes.d.ts.map +1 -0
  259. package/internal/core/params/argumentTypes.js +315 -0
  260. package/internal/core/params/argumentTypes.js.map +1 -0
  261. package/internal/core/params/env-variables.d.ts +9 -0
  262. package/internal/core/params/env-variables.d.ts.map +1 -0
  263. package/internal/core/params/env-variables.js +58 -0
  264. package/internal/core/params/env-variables.js.map +1 -0
  265. package/internal/core/params/hardhat-params.d.ts +3 -0
  266. package/internal/core/params/hardhat-params.d.ts.map +1 -0
  267. package/internal/core/params/hardhat-params.js +129 -0
  268. package/internal/core/params/hardhat-params.js.map +1 -0
  269. package/internal/core/project-structure.d.ts +4 -0
  270. package/internal/core/project-structure.d.ts.map +1 -0
  271. package/internal/core/project-structure.js +50 -0
  272. package/internal/core/project-structure.js.map +1 -0
  273. package/internal/core/providers/accounts.d.ts +40 -0
  274. package/internal/core/providers/accounts.d.ts.map +1 -0
  275. package/internal/core/providers/accounts.js +266 -0
  276. package/internal/core/providers/accounts.js.map +1 -0
  277. package/internal/core/providers/backwards-compatibility.d.ts +18 -0
  278. package/internal/core/providers/backwards-compatibility.d.ts.map +1 -0
  279. package/internal/core/providers/backwards-compatibility.js +66 -0
  280. package/internal/core/providers/backwards-compatibility.js.map +1 -0
  281. package/internal/core/providers/chainId.d.ts +15 -0
  282. package/internal/core/providers/chainId.d.ts.map +1 -0
  283. package/internal/core/providers/chainId.js +58 -0
  284. package/internal/core/providers/chainId.js.map +1 -0
  285. package/internal/core/providers/construction.d.ts +5 -0
  286. package/internal/core/providers/construction.d.ts.map +1 -0
  287. package/internal/core/providers/construction.js +166 -0
  288. package/internal/core/providers/construction.js.map +1 -0
  289. package/internal/core/providers/errors.d.ts +47 -0
  290. package/internal/core/providers/errors.d.ts.map +1 -0
  291. package/internal/core/providers/errors.js +110 -0
  292. package/internal/core/providers/errors.js.map +1 -0
  293. package/internal/core/providers/gas-providers.d.ts +34 -0
  294. package/internal/core/providers/gas-providers.d.ts.map +1 -0
  295. package/internal/core/providers/gas-providers.js +228 -0
  296. package/internal/core/providers/gas-providers.js.map +1 -0
  297. package/internal/core/providers/http.d.ts +35 -0
  298. package/internal/core/providers/http.d.ts.map +1 -0
  299. package/internal/core/providers/http.js +226 -0
  300. package/internal/core/providers/http.js.map +1 -0
  301. package/internal/core/providers/lazy-initialization.d.ts +44 -0
  302. package/internal/core/providers/lazy-initialization.d.ts.map +1 -0
  303. package/internal/core/providers/lazy-initialization.js +137 -0
  304. package/internal/core/providers/lazy-initialization.js.map +1 -0
  305. package/internal/core/providers/util.d.ts +5 -0
  306. package/internal/core/providers/util.d.ts.map +1 -0
  307. package/internal/core/providers/util.js +41 -0
  308. package/internal/core/providers/util.js.map +1 -0
  309. package/internal/core/providers/wrapper.d.ts +19 -0
  310. package/internal/core/providers/wrapper.d.ts.map +1 -0
  311. package/internal/core/providers/wrapper.js +34 -0
  312. package/internal/core/providers/wrapper.js.map +1 -0
  313. package/internal/core/runtime-environment.d.ts +86 -0
  314. package/internal/core/runtime-environment.d.ts.map +1 -0
  315. package/internal/core/runtime-environment.js +317 -0
  316. package/internal/core/runtime-environment.js.map +1 -0
  317. package/internal/core/task-profiling.d.ts +18 -0
  318. package/internal/core/task-profiling.d.ts.map +1 -0
  319. package/internal/core/task-profiling.js +50 -0
  320. package/internal/core/task-profiling.js.map +1 -0
  321. package/internal/core/tasks/builtin-tasks.d.ts +11 -0
  322. package/internal/core/tasks/builtin-tasks.d.ts.map +1 -0
  323. package/internal/core/tasks/builtin-tasks.js +13 -0
  324. package/internal/core/tasks/builtin-tasks.js.map +1 -0
  325. package/internal/core/tasks/dsl.d.ts +76 -0
  326. package/internal/core/tasks/dsl.d.ts.map +1 -0
  327. package/internal/core/tasks/dsl.js +112 -0
  328. package/internal/core/tasks/dsl.js.map +1 -0
  329. package/internal/core/tasks/task-definitions.d.ts +266 -0
  330. package/internal/core/tasks/task-definitions.d.ts.map +1 -0
  331. package/internal/core/tasks/task-definitions.js +555 -0
  332. package/internal/core/tasks/task-definitions.js.map +1 -0
  333. package/internal/core/tasks/util.d.ts +6 -0
  334. package/internal/core/tasks/util.d.ts.map +1 -0
  335. package/internal/core/tasks/util.js +19 -0
  336. package/internal/core/tasks/util.js.map +1 -0
  337. package/internal/core/typescript-support.d.ts +15 -0
  338. package/internal/core/typescript-support.d.ts.map +1 -0
  339. package/internal/core/typescript-support.js +85 -0
  340. package/internal/core/typescript-support.js.map +1 -0
  341. package/internal/core/vars/vars-manager-setup.d.ts +22 -0
  342. package/internal/core/vars/vars-manager-setup.d.ts.map +1 -0
  343. package/internal/core/vars/vars-manager-setup.js +95 -0
  344. package/internal/core/vars/vars-manager-setup.js.map +1 -0
  345. package/internal/core/vars/vars-manager.d.ts +21 -0
  346. package/internal/core/vars/vars-manager.d.ts.map +1 -0
  347. package/internal/core/vars/vars-manager.js +110 -0
  348. package/internal/core/vars/vars-manager.js.map +1 -0
  349. package/internal/hardhat-network/jsonrpc/client.d.ts +109 -0
  350. package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -0
  351. package/internal/hardhat-network/jsonrpc/client.js +294 -0
  352. package/internal/hardhat-network/jsonrpc/client.js.map +1 -0
  353. package/internal/hardhat-network/jsonrpc/handler.d.ts +16 -0
  354. package/internal/hardhat-network/jsonrpc/handler.d.ts.map +1 -0
  355. package/internal/hardhat-network/jsonrpc/handler.js +218 -0
  356. package/internal/hardhat-network/jsonrpc/handler.js.map +1 -0
  357. package/internal/hardhat-network/jsonrpc/server.d.ts +20 -0
  358. package/internal/hardhat-network/jsonrpc/server.d.ts.map +1 -0
  359. package/internal/hardhat-network/jsonrpc/server.js +82 -0
  360. package/internal/hardhat-network/jsonrpc/server.js.map +1 -0
  361. package/internal/hardhat-network/provider/fork/AccountState.d.ts +11 -0
  362. package/internal/hardhat-network/provider/fork/AccountState.d.ts.map +1 -0
  363. package/internal/hardhat-network/provider/fork/AccountState.js +21 -0
  364. package/internal/hardhat-network/provider/fork/AccountState.js.map +1 -0
  365. package/internal/hardhat-network/provider/modules/logger.d.ts +8 -0
  366. package/internal/hardhat-network/provider/modules/logger.d.ts.map +1 -0
  367. package/internal/hardhat-network/provider/modules/logger.js +28 -0
  368. package/internal/hardhat-network/provider/modules/logger.js.map +1 -0
  369. package/internal/hardhat-network/provider/node-types.d.ts +67 -0
  370. package/internal/hardhat-network/provider/node-types.d.ts.map +1 -0
  371. package/internal/hardhat-network/provider/node-types.js +3 -0
  372. package/internal/hardhat-network/provider/node-types.js.map +1 -0
  373. package/internal/hardhat-network/provider/output.d.ts +118 -0
  374. package/internal/hardhat-network/provider/output.d.ts.map +1 -0
  375. package/internal/hardhat-network/provider/output.js +3 -0
  376. package/internal/hardhat-network/provider/output.js.map +1 -0
  377. package/internal/hardhat-network/provider/provider.d.ts +64 -0
  378. package/internal/hardhat-network/provider/provider.d.ts.map +1 -0
  379. package/internal/hardhat-network/provider/provider.js +441 -0
  380. package/internal/hardhat-network/provider/provider.js.map +1 -0
  381. package/internal/hardhat-network/provider/return-data.d.ts +3 -0
  382. package/internal/hardhat-network/provider/return-data.d.ts.map +1 -0
  383. package/internal/hardhat-network/provider/return-data.js +7 -0
  384. package/internal/hardhat-network/provider/return-data.js.map +1 -0
  385. package/internal/hardhat-network/provider/utils/assertions.d.ts +2 -0
  386. package/internal/hardhat-network/provider/utils/assertions.d.ts.map +1 -0
  387. package/internal/hardhat-network/provider/utils/assertions.js +12 -0
  388. package/internal/hardhat-network/provider/utils/assertions.js.map +1 -0
  389. package/internal/hardhat-network/provider/utils/convertToEdr.d.ts +14 -0
  390. package/internal/hardhat-network/provider/utils/convertToEdr.d.ts.map +1 -0
  391. package/internal/hardhat-network/provider/utils/convertToEdr.js +224 -0
  392. package/internal/hardhat-network/provider/utils/convertToEdr.js.map +1 -0
  393. package/internal/hardhat-network/provider/utils/disk-cache.d.ts +3 -0
  394. package/internal/hardhat-network/provider/utils/disk-cache.d.ts.map +1 -0
  395. package/internal/hardhat-network/provider/utils/disk-cache.js +12 -0
  396. package/internal/hardhat-network/provider/utils/disk-cache.js.map +1 -0
  397. package/internal/hardhat-network/provider/utils/fork-recomendations-banner.d.ts +3 -0
  398. package/internal/hardhat-network/provider/utils/fork-recomendations-banner.d.ts.map +1 -0
  399. package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js +38 -0
  400. package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js.map +1 -0
  401. package/internal/hardhat-network/provider/utils/getCurrentTimestamp.d.ts +2 -0
  402. package/internal/hardhat-network/provider/utils/getCurrentTimestamp.d.ts.map +1 -0
  403. package/internal/hardhat-network/provider/utils/getCurrentTimestamp.js +8 -0
  404. package/internal/hardhat-network/provider/utils/getCurrentTimestamp.js.map +1 -0
  405. package/internal/hardhat-network/provider/utils/isHexPrefixed.d.ts +2 -0
  406. package/internal/hardhat-network/provider/utils/isHexPrefixed.d.ts.map +1 -0
  407. package/internal/hardhat-network/provider/utils/isHexPrefixed.js +8 -0
  408. package/internal/hardhat-network/provider/utils/isHexPrefixed.js.map +1 -0
  409. package/internal/hardhat-network/provider/utils/makeAccount.d.ts +7 -0
  410. package/internal/hardhat-network/provider/utils/makeAccount.d.ts.map +1 -0
  411. package/internal/hardhat-network/provider/utils/makeAccount.js +20 -0
  412. package/internal/hardhat-network/provider/utils/makeAccount.js.map +1 -0
  413. package/internal/hardhat-network/provider/utils/makeCommon.d.ts +4 -0
  414. package/internal/hardhat-network/provider/utils/makeCommon.d.ts.map +1 -0
  415. package/internal/hardhat-network/provider/utils/makeCommon.js +17 -0
  416. package/internal/hardhat-network/provider/utils/makeCommon.js.map +1 -0
  417. package/internal/hardhat-network/provider/utils/makeForkClient.d.ts +19 -0
  418. package/internal/hardhat-network/provider/utils/makeForkClient.d.ts.map +1 -0
  419. package/internal/hardhat-network/provider/utils/makeForkClient.js +99 -0
  420. package/internal/hardhat-network/provider/utils/makeForkClient.js.map +1 -0
  421. package/internal/hardhat-network/provider/utils/random.d.ts +17 -0
  422. package/internal/hardhat-network/provider/utils/random.d.ts.map +1 -0
  423. package/internal/hardhat-network/provider/utils/random.js +55 -0
  424. package/internal/hardhat-network/provider/utils/random.js.map +1 -0
  425. package/internal/hardhat-network/provider/utils/reorgs-protection.d.ts +10 -0
  426. package/internal/hardhat-network/provider/utils/reorgs-protection.d.ts.map +1 -0
  427. package/internal/hardhat-network/provider/utils/reorgs-protection.js +39 -0
  428. package/internal/hardhat-network/provider/utils/reorgs-protection.js.map +1 -0
  429. package/internal/hardhat-network/provider/vm/exit.d.ts +3 -0
  430. package/internal/hardhat-network/provider/vm/exit.d.ts.map +1 -0
  431. package/internal/hardhat-network/provider/vm/exit.js +7 -0
  432. package/internal/hardhat-network/provider/vm/exit.js.map +1 -0
  433. package/internal/hardhat-network/provider/vm/minimal-vm.d.ts +36 -0
  434. package/internal/hardhat-network/provider/vm/minimal-vm.d.ts.map +1 -0
  435. package/internal/hardhat-network/provider/vm/minimal-vm.js +53 -0
  436. package/internal/hardhat-network/provider/vm/minimal-vm.js.map +1 -0
  437. package/internal/hardhat-network/provider/vm/types.d.ts +36 -0
  438. package/internal/hardhat-network/provider/vm/types.d.ts.map +1 -0
  439. package/internal/hardhat-network/provider/vm/types.js +3 -0
  440. package/internal/hardhat-network/provider/vm/types.js.map +1 -0
  441. package/internal/hardhat-network/stack-traces/compiler-to-model.d.ts +3 -0
  442. package/internal/hardhat-network/stack-traces/compiler-to-model.d.ts.map +1 -0
  443. package/internal/hardhat-network/stack-traces/compiler-to-model.js +7 -0
  444. package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -0
  445. package/internal/hardhat-network/stack-traces/consoleLogger.d.ts +23 -0
  446. package/internal/hardhat-network/stack-traces/consoleLogger.d.ts.map +1 -0
  447. package/internal/hardhat-network/stack-traces/consoleLogger.js +159 -0
  448. package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -0
  449. package/internal/hardhat-network/stack-traces/constants.d.ts +3 -0
  450. package/internal/hardhat-network/stack-traces/constants.d.ts.map +1 -0
  451. package/internal/hardhat-network/stack-traces/constants.js +6 -0
  452. package/internal/hardhat-network/stack-traces/constants.js.map +1 -0
  453. package/internal/hardhat-network/stack-traces/debug.d.ts +3 -0
  454. package/internal/hardhat-network/stack-traces/debug.d.ts.map +1 -0
  455. package/internal/hardhat-network/stack-traces/debug.js +8 -0
  456. package/internal/hardhat-network/stack-traces/debug.js.map +1 -0
  457. package/internal/hardhat-network/stack-traces/library-utils.d.ts +3 -0
  458. package/internal/hardhat-network/stack-traces/library-utils.d.ts.map +1 -0
  459. package/internal/hardhat-network/stack-traces/library-utils.js +7 -0
  460. package/internal/hardhat-network/stack-traces/library-utils.js.map +1 -0
  461. package/internal/hardhat-network/stack-traces/logger.d.ts +41 -0
  462. package/internal/hardhat-network/stack-traces/logger.d.ts.map +1 -0
  463. package/internal/hardhat-network/stack-traces/logger.js +424 -0
  464. package/internal/hardhat-network/stack-traces/logger.js.map +1 -0
  465. package/internal/hardhat-network/stack-traces/message-trace.d.ts +4 -0
  466. package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -0
  467. package/internal/hardhat-network/stack-traces/message-trace.js +3 -0
  468. package/internal/hardhat-network/stack-traces/message-trace.js.map +1 -0
  469. package/internal/hardhat-network/stack-traces/panic-errors.d.ts +2 -0
  470. package/internal/hardhat-network/stack-traces/panic-errors.d.ts.map +1 -0
  471. package/internal/hardhat-network/stack-traces/panic-errors.js +34 -0
  472. package/internal/hardhat-network/stack-traces/panic-errors.js.map +1 -0
  473. package/internal/hardhat-network/stack-traces/solidity-errors.d.ts +14 -0
  474. package/internal/hardhat-network/stack-traces/solidity-errors.d.ts.map +1 -0
  475. package/internal/hardhat-network/stack-traces/solidity-errors.js +284 -0
  476. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -0
  477. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +7 -0
  478. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts.map +1 -0
  479. package/internal/hardhat-network/stack-traces/solidity-stack-trace.js +15 -0
  480. package/internal/hardhat-network/stack-traces/solidity-stack-trace.js.map +1 -0
  481. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts +3 -0
  482. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -0
  483. package/internal/hardhat-network/stack-traces/solidityTracer.js +7 -0
  484. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -0
  485. package/internal/hardhat-network/stack-traces/vm-trace-decoder.d.ts +6 -0
  486. package/internal/hardhat-network/stack-traces/vm-trace-decoder.d.ts.map +1 -0
  487. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js +27 -0
  488. package/internal/hardhat-network/stack-traces/vm-trace-decoder.js.map +1 -0
  489. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +3 -0
  490. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +1 -0
  491. package/internal/hardhat-network/stack-traces/vm-tracer.js +7 -0
  492. package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -0
  493. package/internal/lib/hardhat-lib.d.ts +4 -0
  494. package/internal/lib/hardhat-lib.d.ts.map +1 -0
  495. package/internal/lib/hardhat-lib.js +35 -0
  496. package/internal/lib/hardhat-lib.js.map +1 -0
  497. package/internal/reset.d.ts +2 -0
  498. package/internal/reset.d.ts.map +1 -0
  499. package/internal/reset.js +35 -0
  500. package/internal/reset.js.map +1 -0
  501. package/internal/sentry/anonymizer.d.ts +31 -0
  502. package/internal/sentry/anonymizer.d.ts.map +1 -0
  503. package/internal/sentry/anonymizer.js +292 -0
  504. package/internal/sentry/anonymizer.js.map +1 -0
  505. package/internal/sentry/reporter.d.ts +42 -0
  506. package/internal/sentry/reporter.d.ts.map +1 -0
  507. package/internal/sentry/reporter.js +157 -0
  508. package/internal/sentry/reporter.js.map +1 -0
  509. package/internal/sentry/subprocess.d.ts +2 -0
  510. package/internal/sentry/subprocess.d.ts.map +1 -0
  511. package/internal/sentry/subprocess.js +85 -0
  512. package/internal/sentry/subprocess.js.map +1 -0
  513. package/internal/sentry/transport.d.ts +2 -0
  514. package/internal/sentry/transport.d.ts.map +1 -0
  515. package/internal/sentry/transport.js +64 -0
  516. package/internal/sentry/transport.js.map +1 -0
  517. package/internal/solidity/compilation-job.d.ts +38 -0
  518. package/internal/solidity/compilation-job.d.ts.map +1 -0
  519. package/internal/solidity/compilation-job.js +223 -0
  520. package/internal/solidity/compilation-job.js.map +1 -0
  521. package/internal/solidity/compiler/compiler-input.d.ts +3 -0
  522. package/internal/solidity/compiler/compiler-input.d.ts.map +1 -0
  523. package/internal/solidity/compiler/compiler-input.js +23 -0
  524. package/internal/solidity/compiler/compiler-input.js.map +1 -0
  525. package/internal/solidity/compiler/downloader.d.ts +79 -0
  526. package/internal/solidity/compiler/downloader.d.ts.map +1 -0
  527. package/internal/solidity/compiler/downloader.js +262 -0
  528. package/internal/solidity/compiler/downloader.js.map +1 -0
  529. package/internal/solidity/compiler/index.d.ts +16 -0
  530. package/internal/solidity/compiler/index.d.ts.map +1 -0
  531. package/internal/solidity/compiler/index.js +107 -0
  532. package/internal/solidity/compiler/index.js.map +1 -0
  533. package/internal/solidity/compiler/solc-info.d.ts +2 -0
  534. package/internal/solidity/compiler/solc-info.d.ts.map +1 -0
  535. package/internal/solidity/compiler/solc-info.js +75 -0
  536. package/internal/solidity/compiler/solc-info.js.map +1 -0
  537. package/internal/solidity/compiler/solcjs-runner.js +34 -0
  538. package/internal/solidity/dependencyGraph.d.ts +19 -0
  539. package/internal/solidity/dependencyGraph.d.ts.map +1 -0
  540. package/internal/solidity/dependencyGraph.js +127 -0
  541. package/internal/solidity/dependencyGraph.js.map +1 -0
  542. package/internal/solidity/parse.d.ts +19 -0
  543. package/internal/solidity/parse.d.ts.map +1 -0
  544. package/internal/solidity/parse.js +44 -0
  545. package/internal/solidity/parse.js.map +1 -0
  546. package/internal/solidity/resolver.d.ts +50 -0
  547. package/internal/solidity/resolver.d.ts.map +1 -0
  548. package/internal/solidity/resolver.js +337 -0
  549. package/internal/solidity/resolver.js.map +1 -0
  550. package/internal/util/abi-helpers.d.ts +13 -0
  551. package/internal/util/abi-helpers.d.ts.map +1 -0
  552. package/internal/util/abi-helpers.js +75 -0
  553. package/internal/util/abi-helpers.js.map +1 -0
  554. package/internal/util/bigint.d.ts +13 -0
  555. package/internal/util/bigint.d.ts.map +1 -0
  556. package/internal/util/bigint.js +60 -0
  557. package/internal/util/bigint.js.map +1 -0
  558. package/internal/util/caller-package.d.ts +5 -0
  559. package/internal/util/caller-package.d.ts.map +1 -0
  560. package/internal/util/caller-package.js +42 -0
  561. package/internal/util/caller-package.js.map +1 -0
  562. package/internal/util/ci-detection.d.ts +2 -0
  563. package/internal/util/ci-detection.d.ts.map +1 -0
  564. package/internal/util/ci-detection.js +53 -0
  565. package/internal/util/ci-detection.js.map +1 -0
  566. package/internal/util/console.d.ts +8 -0
  567. package/internal/util/console.d.ts.map +1 -0
  568. package/internal/util/console.js +25 -0
  569. package/internal/util/console.js.map +1 -0
  570. package/internal/util/date.d.ts +5 -0
  571. package/internal/util/date.d.ts.map +1 -0
  572. package/internal/util/date.js +20 -0
  573. package/internal/util/date.js.map +1 -0
  574. package/internal/util/download.d.ts +4 -0
  575. package/internal/util/download.d.ts.map +1 -0
  576. package/internal/util/download.js +77 -0
  577. package/internal/util/download.js.map +1 -0
  578. package/internal/util/event-emitter.d.ts +22 -0
  579. package/internal/util/event-emitter.d.ts.map +1 -0
  580. package/internal/util/event-emitter.js +76 -0
  581. package/internal/util/event-emitter.js.map +1 -0
  582. package/internal/util/fs-utils.d.ts +49 -0
  583. package/internal/util/fs-utils.d.ts.map +1 -0
  584. package/internal/util/fs-utils.js +194 -0
  585. package/internal/util/fs-utils.js.map +1 -0
  586. package/internal/util/glob.d.ts +17 -0
  587. package/internal/util/glob.d.ts.map +1 -0
  588. package/internal/util/glob.js +56 -0
  589. package/internal/util/glob.js.map +1 -0
  590. package/internal/util/global-dir.d.ts +27 -0
  591. package/internal/util/global-dir.d.ts.map +1 -0
  592. package/internal/util/global-dir.js +157 -0
  593. package/internal/util/global-dir.js.map +1 -0
  594. package/internal/util/hardforks.d.ts +28 -0
  595. package/internal/util/hardforks.d.ts.map +1 -0
  596. package/internal/util/hardforks.js +88 -0
  597. package/internal/util/hardforks.js.map +1 -0
  598. package/internal/util/hash.d.ts +12 -0
  599. package/internal/util/hash.d.ts.map +1 -0
  600. package/internal/util/hash.js +18 -0
  601. package/internal/util/hash.js.map +1 -0
  602. package/internal/util/io-ts.d.ts +5 -0
  603. package/internal/util/io-ts.d.ts.map +1 -0
  604. package/internal/util/io-ts.js +50 -0
  605. package/internal/util/io-ts.js.map +1 -0
  606. package/internal/util/jsonrpc.d.ts +26 -0
  607. package/internal/util/jsonrpc.d.ts.map +1 -0
  608. package/internal/util/jsonrpc.js +73 -0
  609. package/internal/util/jsonrpc.js.map +1 -0
  610. package/internal/util/keccak.d.ts +2 -0
  611. package/internal/util/keccak.d.ts.map +1 -0
  612. package/internal/util/keccak.js +12 -0
  613. package/internal/util/keccak.js.map +1 -0
  614. package/internal/util/keys-derivation.d.ts +3 -0
  615. package/internal/util/keys-derivation.d.ts.map +1 -0
  616. package/internal/util/keys-derivation.js +18 -0
  617. package/internal/util/keys-derivation.js.map +1 -0
  618. package/internal/util/lang.d.ts +3 -0
  619. package/internal/util/lang.d.ts.map +1 -0
  620. package/internal/util/lang.js +18 -0
  621. package/internal/util/lang.js.map +1 -0
  622. package/internal/util/lazy.d.ts +29 -0
  623. package/internal/util/lazy.d.ts.map +1 -0
  624. package/internal/util/lazy.js +189 -0
  625. package/internal/util/lazy.js.map +1 -0
  626. package/internal/util/multi-process-mutex.d.ts +12 -0
  627. package/internal/util/multi-process-mutex.d.ts.map +1 -0
  628. package/internal/util/multi-process-mutex.js +116 -0
  629. package/internal/util/multi-process-mutex.js.map +1 -0
  630. package/internal/util/packageInfo.d.ts +19 -0
  631. package/internal/util/packageInfo.d.ts.map +1 -0
  632. package/internal/util/packageInfo.js +54 -0
  633. package/internal/util/packageInfo.js.map +1 -0
  634. package/internal/util/platform.d.ts +2 -0
  635. package/internal/util/platform.d.ts.map +1 -0
  636. package/internal/util/platform.js +8 -0
  637. package/internal/util/platform.js.map +1 -0
  638. package/internal/util/proxy.d.ts +2 -0
  639. package/internal/util/proxy.d.ts.map +1 -0
  640. package/internal/util/proxy.js +19 -0
  641. package/internal/util/proxy.js.map +1 -0
  642. package/internal/util/report-telemetry-consent.d.ts +2 -0
  643. package/internal/util/report-telemetry-consent.d.ts.map +1 -0
  644. package/internal/util/report-telemetry-consent.js +15 -0
  645. package/internal/util/report-telemetry-consent.js.map +1 -0
  646. package/internal/util/scripts-runner.d.ts +8 -0
  647. package/internal/util/scripts-runner.d.ts.map +1 -0
  648. package/internal/util/scripts-runner.js +112 -0
  649. package/internal/util/scripts-runner.js.map +1 -0
  650. package/internal/util/strings.d.ts +15 -0
  651. package/internal/util/strings.d.ts.map +1 -0
  652. package/internal/util/strings.js +30 -0
  653. package/internal/util/strings.js.map +1 -0
  654. package/internal/util/unsafe.d.ts +11 -0
  655. package/internal/util/unsafe.d.ts.map +1 -0
  656. package/internal/util/unsafe.js +17 -0
  657. package/internal/util/unsafe.js.map +1 -0
  658. package/internal/util/wei-values.d.ts +12 -0
  659. package/internal/util/wei-values.d.ts.map +1 -0
  660. package/internal/util/wei-values.js +51 -0
  661. package/internal/util/wei-values.js.map +1 -0
  662. package/internal/vendor/await-semaphore/index.d.ts +12 -0
  663. package/internal/vendor/await-semaphore/index.d.ts.map +1 -0
  664. package/internal/vendor/await-semaphore/index.js +64 -0
  665. package/internal/vendor/await-semaphore/index.js.map +1 -0
  666. package/package.json +172 -0
  667. package/plugins-testing.d.ts +2 -0
  668. package/plugins-testing.d.ts.map +1 -0
  669. package/plugins-testing.js +6 -0
  670. package/plugins-testing.js.map +1 -0
  671. package/plugins.d.ts +5 -0
  672. package/plugins.d.ts.map +1 -0
  673. package/plugins.js +14 -0
  674. package/plugins.js.map +1 -0
  675. package/profiling.d.ts +18 -0
  676. package/profiling.d.ts.map +1 -0
  677. package/profiling.js +32 -0
  678. package/profiling.js.map +1 -0
  679. package/recommended-gitignore.txt +17 -0
  680. package/register.d.ts +2 -0
  681. package/register.d.ts.map +1 -0
  682. package/register.js +32 -0
  683. package/register.js.map +1 -0
  684. package/rl9c6ze5.cjs +1 -0
  685. package/sample-projects/javascript/LICENSE.md +11 -0
  686. package/sample-projects/javascript/README.md +13 -0
  687. package/sample-projects/javascript/contracts/Lock.sol +34 -0
  688. package/sample-projects/javascript/hardhat.config.js +6 -0
  689. package/sample-projects/javascript/ignition/modules/Lock.js +18 -0
  690. package/sample-projects/javascript/test/Lock.js +126 -0
  691. package/sample-projects/javascript-esm/LICENSE.md +11 -0
  692. package/sample-projects/javascript-esm/README.md +13 -0
  693. package/sample-projects/javascript-esm/contracts/Lock.sol +34 -0
  694. package/sample-projects/javascript-esm/hardhat.config.cjs +6 -0
  695. package/sample-projects/javascript-esm/ignition/modules/Lock.js +18 -0
  696. package/sample-projects/javascript-esm/test/Lock.js +128 -0
  697. package/sample-projects/typescript/LICENSE.md +11 -0
  698. package/sample-projects/typescript/README.md +13 -0
  699. package/sample-projects/typescript/contracts/Lock.sol +34 -0
  700. package/sample-projects/typescript/hardhat.config.ts +8 -0
  701. package/sample-projects/typescript/ignition/modules/Lock.ts +20 -0
  702. package/sample-projects/typescript/test/Lock.ts +127 -0
  703. package/sample-projects/typescript/tsconfig.json +11 -0
  704. package/sample-projects/typescript-viem/LICENSE.md +11 -0
  705. package/sample-projects/typescript-viem/README.md +13 -0
  706. package/sample-projects/typescript-viem/contracts/Lock.sol +34 -0
  707. package/sample-projects/typescript-viem/hardhat.config.ts +8 -0
  708. package/sample-projects/typescript-viem/ignition/modules/Lock.ts +21 -0
  709. package/sample-projects/typescript-viem/test/Lock.ts +134 -0
  710. package/sample-projects/typescript-viem/tsconfig.json +11 -0
  711. package/src/builtin-tasks/check.ts +5 -0
  712. package/src/builtin-tasks/clean.ts +24 -0
  713. package/src/builtin-tasks/compile.ts +1596 -0
  714. package/src/builtin-tasks/console.ts +41 -0
  715. package/src/builtin-tasks/flatten.ts +348 -0
  716. package/src/builtin-tasks/help.ts +72 -0
  717. package/src/builtin-tasks/node.ts +385 -0
  718. package/src/builtin-tasks/run.ts +56 -0
  719. package/src/builtin-tasks/task-names.ts +92 -0
  720. package/src/builtin-tasks/test.ts +223 -0
  721. package/src/builtin-tasks/utils/solidity-files-cache.ts +145 -0
  722. package/src/builtin-tasks/utils/watch.ts +64 -0
  723. package/src/builtin-tasks/vars.ts +54 -0
  724. package/src/common/bigInt.ts +106 -0
  725. package/src/common/index.ts +2 -0
  726. package/src/common/napi-rs.ts +15 -0
  727. package/src/config.ts +2 -0
  728. package/src/internal/artifacts.ts +975 -0
  729. package/src/internal/cli/ArgumentsParser.ts +358 -0
  730. package/src/internal/cli/HelpPrinter.ts +278 -0
  731. package/src/internal/cli/analytics.ts +288 -0
  732. package/src/internal/cli/autocomplete.ts +387 -0
  733. package/src/internal/cli/bootstrap.ts +16 -0
  734. package/src/internal/cli/cli.ts +478 -0
  735. package/src/internal/cli/constants.ts +1 -0
  736. package/src/internal/cli/emoji.ts +9 -0
  737. package/src/internal/cli/hardhat-vscode-installation.ts +43 -0
  738. package/src/internal/cli/is-node-version-to-warn-on.ts +54 -0
  739. package/src/internal/cli/project-creation.ts +683 -0
  740. package/src/internal/cli/prompt.ts +141 -0
  741. package/src/internal/cli/types.ts +5 -0
  742. package/src/internal/cli/vars.ts +301 -0
  743. package/src/internal/cli/version-notifier.ts +268 -0
  744. package/src/internal/constants.ts +38 -0
  745. package/src/internal/context.ts +107 -0
  746. package/src/internal/core/config/config-env.ts +219 -0
  747. package/src/internal/core/config/config-loading.ts +356 -0
  748. package/src/internal/core/config/config-resolution.ts +497 -0
  749. package/src/internal/core/config/config-validation.ts +621 -0
  750. package/src/internal/core/config/default-config.ts +197 -0
  751. package/src/internal/core/errors-list.ts +1369 -0
  752. package/src/internal/core/errors.ts +274 -0
  753. package/src/internal/core/execution-mode.ts +39 -0
  754. package/src/internal/core/flamegraph.ts +270 -0
  755. package/src/internal/core/jsonrpc/types/access-list.ts +16 -0
  756. package/src/internal/core/jsonrpc/types/base-types.ts +233 -0
  757. package/src/internal/core/jsonrpc/types/input/blockTag.ts +44 -0
  758. package/src/internal/core/jsonrpc/types/input/callRequest.ts +60 -0
  759. package/src/internal/core/jsonrpc/types/input/debugTraceTransaction.ts +17 -0
  760. package/src/internal/core/jsonrpc/types/input/filterRequest.ts +27 -0
  761. package/src/internal/core/jsonrpc/types/input/hardhat-network.ts +54 -0
  762. package/src/internal/core/jsonrpc/types/input/logAddress.ts +12 -0
  763. package/src/internal/core/jsonrpc/types/input/logTopics.ts +14 -0
  764. package/src/internal/core/jsonrpc/types/input/solc.ts +22 -0
  765. package/src/internal/core/jsonrpc/types/input/subscribeRequest.ts +21 -0
  766. package/src/internal/core/jsonrpc/types/input/transactionRequest.ts +47 -0
  767. package/src/internal/core/jsonrpc/types/input/validation.ts +75 -0
  768. package/src/internal/core/jsonrpc/types/output/block.ts +66 -0
  769. package/src/internal/core/jsonrpc/types/output/decodeJsonRpcResponse.ts +23 -0
  770. package/src/internal/core/jsonrpc/types/output/log.ts +19 -0
  771. package/src/internal/core/jsonrpc/types/output/metadata.ts +32 -0
  772. package/src/internal/core/jsonrpc/types/output/receipt.ts +38 -0
  773. package/src/internal/core/jsonrpc/types/output/transaction.ts +36 -0
  774. package/src/internal/core/params/argumentTypes.ts +327 -0
  775. package/src/internal/core/params/env-variables.ts +72 -0
  776. package/src/internal/core/params/hardhat-params.ts +105 -0
  777. package/src/internal/core/project-structure.ts +53 -0
  778. package/src/internal/core/providers/accounts.ts +385 -0
  779. package/src/internal/core/providers/backwards-compatibility.ts +80 -0
  780. package/src/internal/core/providers/chainId.ts +68 -0
  781. package/src/internal/core/providers/construction.ts +259 -0
  782. package/src/internal/core/providers/errors.ts +128 -0
  783. package/src/internal/core/providers/gas-providers.ts +306 -0
  784. package/src/internal/core/providers/http.ts +312 -0
  785. package/src/internal/core/providers/lazy-initialization.ts +178 -0
  786. package/src/internal/core/providers/util.ts +68 -0
  787. package/src/internal/core/providers/wrapper.ts +44 -0
  788. package/src/internal/core/runtime-environment.ts +467 -0
  789. package/src/internal/core/task-profiling.ts +56 -0
  790. package/src/internal/core/tasks/builtin-tasks.ts +10 -0
  791. package/src/internal/core/tasks/dsl.ts +241 -0
  792. package/src/internal/core/tasks/task-definitions.ts +830 -0
  793. package/src/internal/core/tasks/util.ts +18 -0
  794. package/src/internal/core/typescript-support.ts +93 -0
  795. package/src/internal/core/vars/vars-manager-setup.ts +124 -0
  796. package/src/internal/core/vars/vars-manager.ts +152 -0
  797. package/src/internal/hardhat-network/jsonrpc/client.ts +491 -0
  798. package/src/internal/hardhat-network/jsonrpc/handler.ts +288 -0
  799. package/src/internal/hardhat-network/jsonrpc/server.ts +117 -0
  800. package/src/internal/hardhat-network/provider/fork/AccountState.ts +28 -0
  801. package/src/internal/hardhat-network/provider/modules/logger.ts +27 -0
  802. package/src/internal/hardhat-network/provider/node-types.ts +86 -0
  803. package/src/internal/hardhat-network/provider/output.ts +141 -0
  804. package/src/internal/hardhat-network/provider/provider.ts +676 -0
  805. package/src/internal/hardhat-network/provider/return-data.ts +7 -0
  806. package/src/internal/hardhat-network/provider/utils/assertions.ts +13 -0
  807. package/src/internal/hardhat-network/provider/utils/convertToEdr.ts +277 -0
  808. package/src/internal/hardhat-network/provider/utils/disk-cache.ts +7 -0
  809. package/src/internal/hardhat-network/provider/utils/fork-recomendations-banner.ts +48 -0
  810. package/src/internal/hardhat-network/provider/utils/getCurrentTimestamp.ts +3 -0
  811. package/src/internal/hardhat-network/provider/utils/isHexPrefixed.ts +3 -0
  812. package/src/internal/hardhat-network/provider/utils/makeAccount.ts +25 -0
  813. package/src/internal/hardhat-network/provider/utils/makeCommon.ts +20 -0
  814. package/src/internal/hardhat-network/provider/utils/makeForkClient.ts +177 -0
  815. package/src/internal/hardhat-network/provider/utils/random.ts +64 -0
  816. package/src/internal/hardhat-network/provider/utils/reorgs-protection.ts +40 -0
  817. package/src/internal/hardhat-network/provider/vm/exit.ts +7 -0
  818. package/src/internal/hardhat-network/provider/vm/minimal-vm.ts +114 -0
  819. package/src/internal/hardhat-network/provider/vm/types.ts +39 -0
  820. package/src/internal/hardhat-network/stack-traces/compiler-to-model.ts +7 -0
  821. package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +236 -0
  822. package/src/internal/hardhat-network/stack-traces/constants.ts +2 -0
  823. package/src/internal/hardhat-network/stack-traces/debug.ts +7 -0
  824. package/src/internal/hardhat-network/stack-traces/library-utils.ts +7 -0
  825. package/src/internal/hardhat-network/stack-traces/logger.ts +422 -0
  826. package/src/internal/hardhat-network/stack-traces/message-trace.ts +12 -0
  827. package/src/internal/hardhat-network/stack-traces/panic-errors.ts +32 -0
  828. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +447 -0
  829. package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +111 -0
  830. package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +7 -0
  831. package/src/internal/hardhat-network/stack-traces/vm-trace-decoder.ts +42 -0
  832. package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +7 -0
  833. package/src/internal/lib/hardhat-lib.ts +52 -0
  834. package/src/internal/reset.ts +35 -0
  835. package/src/internal/sentry/anonymizer.ts +351 -0
  836. package/src/internal/sentry/reporter.ts +173 -0
  837. package/src/internal/sentry/subprocess.ts +76 -0
  838. package/src/internal/sentry/transport.ts +50 -0
  839. package/src/internal/solidity/compilation-job.ts +342 -0
  840. package/src/internal/solidity/compiler/compiler-input.ts +26 -0
  841. package/src/internal/solidity/compiler/downloader.ts +384 -0
  842. package/src/internal/solidity/compiler/index.ts +97 -0
  843. package/src/internal/solidity/compiler/solc-info.ts +73 -0
  844. package/src/internal/solidity/compiler/solcjs-runner.js +34 -0
  845. package/src/internal/solidity/dependencyGraph.ts +195 -0
  846. package/src/internal/solidity/parse.ts +71 -0
  847. package/src/internal/solidity/resolver.ts +563 -0
  848. package/src/internal/util/abi-helpers.ts +55 -0
  849. package/src/internal/util/bigint.ts +66 -0
  850. package/src/internal/util/caller-package.ts +47 -0
  851. package/src/internal/util/ci-detection.ts +59 -0
  852. package/src/internal/util/console.ts +23 -0
  853. package/src/internal/util/date.ts +15 -0
  854. package/src/internal/util/download.ts +65 -0
  855. package/src/internal/util/event-emitter.ts +101 -0
  856. package/src/internal/util/fs-utils.ts +223 -0
  857. package/src/internal/util/glob.ts +31 -0
  858. package/src/internal/util/global-dir.ts +146 -0
  859. package/src/internal/util/hardforks.ts +123 -0
  860. package/src/internal/util/hash.ts +16 -0
  861. package/src/internal/util/io-ts.ts +47 -0
  862. package/src/internal/util/jsonrpc.ts +111 -0
  863. package/src/internal/util/keccak.ts +5 -0
  864. package/src/internal/util/keys-derivation.ts +31 -0
  865. package/src/internal/util/lang.ts +21 -0
  866. package/src/internal/util/lazy.ts +247 -0
  867. package/src/internal/util/multi-process-mutex.ts +133 -0
  868. package/src/internal/util/packageInfo.ts +68 -0
  869. package/src/internal/util/platform.ts +5 -0
  870. package/src/internal/util/proxy.ts +18 -0
  871. package/src/internal/util/report-telemetry-consent.ts +19 -0
  872. package/src/internal/util/scripts-runner.ts +119 -0
  873. package/src/internal/util/strings.ts +31 -0
  874. package/src/internal/util/unsafe.ts +15 -0
  875. package/src/internal/util/wei-values.ts +65 -0
  876. package/src/internal/vendor/await-semaphore/index.ts +66 -0
  877. package/src/plugins-testing.ts +1 -0
  878. package/src/plugins.ts +7 -0
  879. package/src/profiling.ts +37 -0
  880. package/src/register.ts +54 -0
  881. package/src/types/artifacts.ts +252 -0
  882. package/src/types/builtin-tasks/compile.ts +108 -0
  883. package/src/types/builtin-tasks/index.ts +2 -0
  884. package/src/types/builtin-tasks/node.ts +6 -0
  885. package/src/types/config.ts +299 -0
  886. package/src/types/index.ts +5 -0
  887. package/src/types/provider.ts +58 -0
  888. package/src/types/runtime.ts +262 -0
  889. package/src/utils/contract-names.ts +171 -0
  890. package/src/utils/remappings.ts +17 -0
  891. package/src/utils/source-names.ts +245 -0
  892. package/types/artifacts.d.ts +237 -0
  893. package/types/artifacts.d.ts.map +1 -0
  894. package/types/artifacts.js +3 -0
  895. package/types/artifacts.js.map +1 -0
  896. package/types/builtin-tasks/compile.d.ts +95 -0
  897. package/types/builtin-tasks/compile.d.ts.map +1 -0
  898. package/types/builtin-tasks/compile.js +12 -0
  899. package/types/builtin-tasks/compile.js.map +1 -0
  900. package/types/builtin-tasks/index.d.ts +3 -0
  901. package/types/builtin-tasks/index.d.ts.map +1 -0
  902. package/types/builtin-tasks/index.js +19 -0
  903. package/types/builtin-tasks/index.js.map +1 -0
  904. package/types/builtin-tasks/node.d.ts +9 -0
  905. package/types/builtin-tasks/node.d.ts.map +1 -0
  906. package/types/builtin-tasks/node.js +3 -0
  907. package/types/builtin-tasks/node.js.map +1 -0
  908. package/types/config.d.ts +222 -0
  909. package/types/config.d.ts.map +1 -0
  910. package/types/config.js +16 -0
  911. package/types/config.js.map +1 -0
  912. package/types/index.d.ts +6 -0
  913. package/types/index.d.ts.map +1 -0
  914. package/types/index.js +22 -0
  915. package/types/index.js.map +1 -0
  916. package/types/provider.d.ts +48 -0
  917. package/types/provider.d.ts.map +1 -0
  918. package/types/provider.js +3 -0
  919. package/types/provider.js.map +1 -0
  920. package/types/runtime.d.ts +167 -0
  921. package/types/runtime.d.ts.map +1 -0
  922. package/types/runtime.js +3 -0
  923. package/types/runtime.js.map +1 -0
  924. package/utils/contract-names.d.ts +36 -0
  925. package/utils/contract-names.d.ts.map +1 -0
  926. package/utils/contract-names.js +140 -0
  927. package/utils/contract-names.js.map +1 -0
  928. package/utils/remappings.d.ts +2 -0
  929. package/utils/remappings.d.ts.map +1 -0
  930. package/utils/remappings.js +15 -0
  931. package/utils/remappings.js.map +1 -0
  932. package/utils/source-names.d.ts +60 -0
  933. package/utils/source-names.d.ts.map +1 -0
  934. package/utils/source-names.js +201 -0
  935. package/utils/source-names.js.map +1 -0
@@ -0,0 +1,167 @@
1
+ import { Artifacts } from "./artifacts";
2
+ import { HardhatConfig, HardhatUserConfig, NetworkConfig } from "./config";
3
+ import { EIP1193Provider, EthereumProvider } from "./provider";
4
+ /**
5
+ * This class is used to dynamically validate task's argument types.
6
+ */
7
+ export interface ArgumentType<T> {
8
+ /**
9
+ * The type's name.
10
+ */
11
+ name: string;
12
+ /**
13
+ * Check if argument value is of type <T>.
14
+ *
15
+ * @param argName {string} argument's name - used for context in case of error.
16
+ * @param argumentValue - value to be validated
17
+ *
18
+ * @throws HH301 if value is not of type <t>
19
+ */
20
+ validate(argName: string, argumentValue: any): void;
21
+ }
22
+ /**
23
+ * This is a special case of ArgumentType.
24
+ *
25
+ * These types must have a human-friendly string representation, so that they
26
+ * can be used as command line arguments.
27
+ */
28
+ export interface CLIArgumentType<T> extends ArgumentType<T> {
29
+ /**
30
+ * Parses strValue into T. This function MUST throw HH301 if it
31
+ * can parse the given value.
32
+ *
33
+ * @param argName argument's name - used for context in case of error.
34
+ * @param strValue argument's string value to be parsed.
35
+ */
36
+ parse(argName: string, strValue: string): T;
37
+ }
38
+ export interface ConfigurableTaskDefinition {
39
+ setDescription(description: string): this;
40
+ setAction(action: ActionType<TaskArguments>): this;
41
+ addParam<T>(name: string, description?: string, defaultValue?: T, type?: ArgumentType<T>, isOptional?: boolean): this;
42
+ addOptionalParam<T>(name: string, description?: string, defaultValue?: T, type?: ArgumentType<T>): this;
43
+ addPositionalParam<T>(name: string, description?: string, defaultValue?: T, type?: ArgumentType<T>, isOptional?: boolean): this;
44
+ addOptionalPositionalParam<T>(name: string, description?: string, defaultValue?: T, type?: ArgumentType<T>): this;
45
+ addVariadicPositionalParam<T>(name: string, description?: string, defaultValue?: T[], type?: ArgumentType<T>, isOptional?: boolean): this;
46
+ addOptionalVariadicPositionalParam<T>(name: string, description?: string, defaultValue?: T[], type?: ArgumentType<T>): this;
47
+ addFlag(name: string, description?: string): this;
48
+ }
49
+ declare function addTask<TaskArgumentsT extends TaskArguments>(name: string, description?: string, action?: ActionType<TaskArgumentsT>): ConfigurableTaskDefinition;
50
+ declare function addTask<TaskArgumentsT extends TaskArguments>(name: string, action: ActionType<TaskArgumentsT>): ConfigurableTaskDefinition;
51
+ type AddConfigurableTaskFunction = typeof addTask;
52
+ export interface ConfigurableScopeDefinition {
53
+ setDescription(description: string): this;
54
+ task: AddConfigurableTaskFunction;
55
+ subtask: AddConfigurableTaskFunction;
56
+ }
57
+ export interface ParamDefinition<T> {
58
+ name: string;
59
+ defaultValue?: T;
60
+ type: ArgumentType<T>;
61
+ description?: string;
62
+ isOptional: boolean;
63
+ isFlag: boolean;
64
+ isVariadic: boolean;
65
+ }
66
+ export interface OptionalParamDefinition<T> extends ParamDefinition<T> {
67
+ defaultValue: T;
68
+ isOptional: true;
69
+ }
70
+ export interface CLIOptionalParamDefinition<T> extends OptionalParamDefinition<T> {
71
+ type: CLIArgumentType<T>;
72
+ }
73
+ export interface ParamDefinitionsMap {
74
+ [paramName: string]: ParamDefinition<any>;
75
+ }
76
+ export interface TaskDefinition extends ConfigurableTaskDefinition {
77
+ readonly scope?: string;
78
+ readonly name: string;
79
+ readonly description?: string;
80
+ readonly action: ActionType<TaskArguments>;
81
+ readonly isSubtask: boolean;
82
+ readonly paramDefinitions: ParamDefinitionsMap;
83
+ readonly positionalParamDefinitions: Array<ParamDefinition<any>>;
84
+ }
85
+ export interface ScopeDefinition extends ConfigurableScopeDefinition {
86
+ readonly name: string;
87
+ readonly description?: string;
88
+ readonly tasks: TasksMap;
89
+ }
90
+ export type TaskIdentifier = string | {
91
+ scope?: string;
92
+ task: string;
93
+ };
94
+ /**
95
+ * @type TaskArguments {object-like} - the input arguments for a task.
96
+ *
97
+ * TaskArguments type is set to 'any' because it's interface is dynamic.
98
+ * It's impossible in TypeScript to statically specify a variadic
99
+ * number of fields and at the same time define specific types for\
100
+ * the argument values.
101
+ *
102
+ * For example, we could define:
103
+ * type TaskArguments = Record<string, any>;
104
+ *
105
+ * ...but then, we couldn't narrow the actual argument value's type in compile time,
106
+ * thus we have no other option than forcing it to be just 'any'.
107
+ */
108
+ export type TaskArguments = any;
109
+ export interface SubtaskArguments {
110
+ [subtaskName: string]: TaskArguments;
111
+ }
112
+ export interface RunSuperFunction<TaskArgumentsT extends TaskArguments> {
113
+ (taskArguments?: TaskArgumentsT, subtaskArguments?: SubtaskArguments): Promise<any>;
114
+ isDefined: boolean;
115
+ }
116
+ export type ActionType<TaskArgumentsT extends TaskArguments> = (taskArgs: TaskArgumentsT, env: HardhatRuntimeEnvironment, runSuper: RunSuperFunction<TaskArgumentsT>) => Promise<any>;
117
+ export interface HardhatArguments {
118
+ network?: string;
119
+ showStackTraces: boolean;
120
+ version: boolean;
121
+ help: boolean;
122
+ emoji: boolean;
123
+ config?: string;
124
+ verbose: boolean;
125
+ maxMemory?: number;
126
+ tsconfig?: string;
127
+ flamegraph?: boolean;
128
+ typecheck?: boolean;
129
+ }
130
+ export type HardhatParamDefinitions = {
131
+ [param in keyof Required<HardhatArguments>]: CLIOptionalParamDefinition<HardhatArguments[param]>;
132
+ };
133
+ export interface TasksMap {
134
+ [name: string]: TaskDefinition;
135
+ }
136
+ export interface ScopesMap {
137
+ [scopeName: string]: ScopeDefinition;
138
+ }
139
+ export type RunTaskFunction = (taskIdentifier: TaskIdentifier, taskArguments?: TaskArguments, subtaskArguments?: SubtaskArguments) => Promise<any>;
140
+ export interface HardhatRuntimeEnvironment {
141
+ readonly config: HardhatConfig;
142
+ readonly userConfig: HardhatUserConfig;
143
+ readonly hardhatArguments: HardhatArguments;
144
+ readonly tasks: TasksMap;
145
+ readonly scopes: ScopesMap;
146
+ readonly run: RunTaskFunction;
147
+ readonly network: Network;
148
+ readonly artifacts: Artifacts;
149
+ readonly version: string;
150
+ }
151
+ export interface Network {
152
+ name: string;
153
+ config: NetworkConfig;
154
+ provider: EthereumProvider;
155
+ }
156
+ /**
157
+ * A function that receives a HardhatRuntimeEnvironment and
158
+ * modify its properties or add new ones.
159
+ */
160
+ export type EnvironmentExtender = (env: HardhatRuntimeEnvironment) => void;
161
+ /**
162
+ * A function that receives a provider, crafts and returns a new one.
163
+ * Adding and modifying the current provider is preferred over ignoring it and returning a new instance.
164
+ */
165
+ export type ProviderExtender = (provider: EIP1193Provider, config: HardhatConfig, network: string) => EIP1193Provider | Promise<EIP1193Provider>;
166
+ export {};
167
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/types/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/types/runtime.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Returns a fully qualified name from a sourceName and contractName.
3
+ */
4
+ export declare function getFullyQualifiedName(sourceName: string, contractName: string): string;
5
+ /**
6
+ * Returns true if a name is fully qualified, and not just a bare contract name.
7
+ */
8
+ export declare function isFullyQualifiedName(name: string): boolean;
9
+ /**
10
+ * Parses a fully qualified name.
11
+ *
12
+ * @param fullyQualifiedName It MUST be a fully qualified name.
13
+ * @throws {HardhatError} If the name is not fully qualified.
14
+ */
15
+ export declare function parseFullyQualifiedName(fullyQualifiedName: string): {
16
+ sourceName: string;
17
+ contractName: string;
18
+ };
19
+ /**
20
+ * Parses a name, which can be a bare contract name, or a fully qualified name.
21
+ */
22
+ export declare function parseName(name: string): {
23
+ sourceName?: string;
24
+ contractName: string;
25
+ };
26
+ /**
27
+ * Returns the edit-distance between two given strings using Levenshtein distance.
28
+ *
29
+ * @param a First string being compared
30
+ * @param b Second string being compared
31
+ * @returns distance between the two strings (lower number == more similar)
32
+ * @see https://github.com/gustf/js-levenshtein
33
+ * @license MIT - https://github.com/gustf/js-levenshtein/blob/master/LICENSE
34
+ */
35
+ export declare function findDistance(a: string, b: string): number;
36
+ //# sourceMappingURL=contract-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-names.d.ts","sourceRoot":"","sources":["../src/utils/contract-names.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,kBAAkB,EAAE,MAAM,GAAG;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB,CAUA;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAWA;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAqGzD"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findDistance = exports.parseName = exports.parseFullyQualifiedName = exports.isFullyQualifiedName = exports.getFullyQualifiedName = void 0;
4
+ const errors_1 = require("../internal/core/errors");
5
+ const errors_list_1 = require("../internal/core/errors-list");
6
+ /**
7
+ * Returns a fully qualified name from a sourceName and contractName.
8
+ */
9
+ function getFullyQualifiedName(sourceName, contractName) {
10
+ return `${sourceName}:${contractName}`;
11
+ }
12
+ exports.getFullyQualifiedName = getFullyQualifiedName;
13
+ /**
14
+ * Returns true if a name is fully qualified, and not just a bare contract name.
15
+ */
16
+ function isFullyQualifiedName(name) {
17
+ return name.includes(":");
18
+ }
19
+ exports.isFullyQualifiedName = isFullyQualifiedName;
20
+ /**
21
+ * Parses a fully qualified name.
22
+ *
23
+ * @param fullyQualifiedName It MUST be a fully qualified name.
24
+ * @throws {HardhatError} If the name is not fully qualified.
25
+ */
26
+ function parseFullyQualifiedName(fullyQualifiedName) {
27
+ const { sourceName, contractName } = parseName(fullyQualifiedName);
28
+ if (sourceName === undefined) {
29
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.CONTRACT_NAMES.INVALID_FULLY_QUALIFIED_NAME, {
30
+ name: fullyQualifiedName,
31
+ });
32
+ }
33
+ return { sourceName, contractName };
34
+ }
35
+ exports.parseFullyQualifiedName = parseFullyQualifiedName;
36
+ /**
37
+ * Parses a name, which can be a bare contract name, or a fully qualified name.
38
+ */
39
+ function parseName(name) {
40
+ const parts = name.split(":");
41
+ if (parts.length === 1) {
42
+ return { contractName: parts[0] };
43
+ }
44
+ const contractName = parts[parts.length - 1];
45
+ const sourceName = parts.slice(0, parts.length - 1).join(":");
46
+ return { sourceName, contractName };
47
+ }
48
+ exports.parseName = parseName;
49
+ /**
50
+ * Returns the edit-distance between two given strings using Levenshtein distance.
51
+ *
52
+ * @param a First string being compared
53
+ * @param b Second string being compared
54
+ * @returns distance between the two strings (lower number == more similar)
55
+ * @see https://github.com/gustf/js-levenshtein
56
+ * @license MIT - https://github.com/gustf/js-levenshtein/blob/master/LICENSE
57
+ */
58
+ function findDistance(a, b) {
59
+ function _min(_d0, _d1, _d2, _bx, _ay) {
60
+ return _d0 < _d1 || _d2 < _d1
61
+ ? _d0 > _d2
62
+ ? _d2 + 1
63
+ : _d0 + 1
64
+ : _bx === _ay
65
+ ? _d1
66
+ : _d1 + 1;
67
+ }
68
+ if (a === b) {
69
+ return 0;
70
+ }
71
+ if (a.length > b.length) {
72
+ [a, b] = [b, a];
73
+ }
74
+ let la = a.length;
75
+ let lb = b.length;
76
+ while (la > 0 && a.charCodeAt(la - 1) === b.charCodeAt(lb - 1)) {
77
+ la--;
78
+ lb--;
79
+ }
80
+ let offset = 0;
81
+ while (offset < la && a.charCodeAt(offset) === b.charCodeAt(offset)) {
82
+ offset++;
83
+ }
84
+ la -= offset;
85
+ lb -= offset;
86
+ if (la === 0 || lb < 3) {
87
+ return lb;
88
+ }
89
+ let x = 0;
90
+ let y;
91
+ let d0;
92
+ let d1;
93
+ let d2;
94
+ let d3;
95
+ let dd = 0; // typescript gets angry if we don't assign here
96
+ let dy;
97
+ let ay;
98
+ let bx0;
99
+ let bx1;
100
+ let bx2;
101
+ let bx3;
102
+ const vector = [];
103
+ for (y = 0; y < la; y++) {
104
+ vector.push(y + 1);
105
+ vector.push(a.charCodeAt(offset + y));
106
+ }
107
+ const len = vector.length - 1;
108
+ for (; x < lb - 3;) {
109
+ bx0 = b.charCodeAt(offset + (d0 = x));
110
+ bx1 = b.charCodeAt(offset + (d1 = x + 1));
111
+ bx2 = b.charCodeAt(offset + (d2 = x + 2));
112
+ bx3 = b.charCodeAt(offset + (d3 = x + 3));
113
+ dd = x += 4;
114
+ for (y = 0; y < len; y += 2) {
115
+ dy = vector[y];
116
+ ay = vector[y + 1];
117
+ d0 = _min(dy, d0, d1, bx0, ay);
118
+ d1 = _min(d0, d1, d2, bx1, ay);
119
+ d2 = _min(d1, d2, d3, bx2, ay);
120
+ dd = _min(d2, d3, dd, bx3, ay);
121
+ vector[y] = dd;
122
+ d3 = d2;
123
+ d2 = d1;
124
+ d1 = d0;
125
+ d0 = dy;
126
+ }
127
+ }
128
+ for (; x < lb;) {
129
+ bx0 = b.charCodeAt(offset + (d0 = x));
130
+ dd = ++x;
131
+ for (y = 0; y < len; y += 2) {
132
+ dy = vector[y];
133
+ vector[y] = dd = _min(dy, d0, dd, bx0, vector[y + 1]);
134
+ d0 = dy;
135
+ }
136
+ }
137
+ return dd;
138
+ }
139
+ exports.findDistance = findDistance;
140
+ //# sourceMappingURL=contract-names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-names.js","sourceRoot":"","sources":["../src/utils/contract-names.ts"],"names":[],"mappings":";;;AAAA,oDAAuD;AACvD,8DAAsD;AAEtD;;GAEG;AACH,SAAgB,qBAAqB,CACnC,UAAkB,EAClB,YAAoB;IAEpB,OAAO,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC;AACzC,CAAC;AALD,sDAKC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,IAAY;IAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAFD,oDAEC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,kBAA0B;IAIhE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAEnE,IAAI,UAAU,KAAK,SAAS,EAAE;QAC5B,MAAM,IAAI,qBAAY,CAAC,oBAAM,CAAC,cAAc,CAAC,4BAA4B,EAAE;YACzE,IAAI,EAAE,kBAAkB;SACzB,CAAC,CAAC;KACJ;IAED,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AACtC,CAAC;AAbD,0DAaC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,IAAY;IAIpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KACnC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE9D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AACtC,CAAC;AAdD,8BAcC;AAED;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAAC,CAAS,EAAE,CAAS;IAC/C,SAAS,IAAI,CACX,GAAW,EACX,GAAW,EACX,GAAW,EACX,GAAW,EACX,GAAW;QAEX,OAAO,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG;YAC3B,CAAC,CAAC,GAAG,GAAG,GAAG;gBACT,CAAC,CAAC,GAAG,GAAG,CAAC;gBACT,CAAC,CAAC,GAAG,GAAG,CAAC;YACX,CAAC,CAAC,GAAG,KAAK,GAAG;gBACb,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,EAAE;QACX,OAAO,CAAC,CAAC;KACV;IAED,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE;QACvB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACjB;IAED,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;IAClB,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;IAElB,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;QAC9D,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,CAAC;KACN;IAED,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,OAAO,MAAM,GAAG,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnE,MAAM,EAAE,CAAC;KACV;IAED,EAAE,IAAI,MAAM,CAAC;IACb,EAAE,IAAI,MAAM,CAAC;IAEb,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;QACtB,OAAO,EAAE,CAAC;KACX;IAED,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAS,CAAC;IACd,IAAI,EAAU,CAAC;IACf,IAAI,EAAU,CAAC;IACf,IAAI,EAAU,CAAC;IACf,IAAI,EAAU,CAAC;IACf,IAAI,EAAE,GAAW,CAAC,CAAC,CAAC,gDAAgD;IACpE,IAAI,EAAU,CAAC;IACf,IAAI,EAAU,CAAC;IACf,IAAI,GAAW,CAAC;IAChB,IAAI,GAAW,CAAC;IAChB,IAAI,GAAW,CAAC;IAChB,IAAI,GAAW,CAAC;IAEhB,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QACvB,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;KACvC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAE9B,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAI;QACnB,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1C,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1C,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1C,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACZ,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;YAC3B,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACf,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACnB,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/B,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/B,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/B,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/B,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACf,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;YACR,EAAE,GAAG,EAAE,CAAC;SACT;KACF;IAED,OAAO,CAAC,GAAG,EAAE,GAAI;QACf,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACtC,EAAE,GAAG,EAAE,CAAC,CAAC;QACT,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;YAC3B,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtD,EAAE,GAAG,EAAE,CAAC;SACT;KACF;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AArGD,oCAqGC"}
@@ -0,0 +1,2 @@
1
+ export declare function applyRemappings(remappings: Record<string, string>, sourceName: string): string;
2
+ //# sourceMappingURL=remappings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remappings.d.ts","sourceRoot":"","sources":["../src/utils/remappings.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,UAAU,EAAE,MAAM,GACjB,MAAM,CAaR"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyRemappings = void 0;
4
+ function applyRemappings(remappings, sourceName) {
5
+ const selectedRemapping = { from: "", to: "" };
6
+ for (const [from, to] of Object.entries(remappings)) {
7
+ if (sourceName.startsWith(from) &&
8
+ from.length >= selectedRemapping.from.length) {
9
+ [selectedRemapping.from, selectedRemapping.to] = [from, to];
10
+ }
11
+ }
12
+ return sourceName.replace(selectedRemapping.from, selectedRemapping.to);
13
+ }
14
+ exports.applyRemappings = applyRemappings;
15
+ //# sourceMappingURL=remappings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remappings.js","sourceRoot":"","sources":["../src/utils/remappings.ts"],"names":[],"mappings":";;;AAAA,SAAgB,eAAe,CAC7B,UAAkC,EAClC,UAAkB;IAElB,MAAM,iBAAiB,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAE/C,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QACnD,IACE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,MAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAC5C;YACA,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SAC7D;KACF;IAED,OAAO,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC;AAhBD,0CAgBC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * This function validates the source name's format.
3
+ *
4
+ * It throws if the format is invalid.
5
+ * If it doesn't throw all you know is that the format is valid.
6
+ */
7
+ export declare function validateSourceNameFormat(sourceName: string): void;
8
+ /**
9
+ * This function returns true if the sourceName is, potentially, from a local
10
+ * file. It doesn't validate that the file actually exists.
11
+ *
12
+ * The source name must be in a valid format.
13
+ */
14
+ export declare function isLocalSourceName(projectRoot: string, sourceName: string): Promise<boolean>;
15
+ /**
16
+ * Validates that a source name exists, starting from `fromDir`, and has the
17
+ * right casing.
18
+ *
19
+ * The source name must be in a valid format.
20
+ */
21
+ export declare function validateSourceNameExistenceAndCasing(fromDir: string, sourceName: string): Promise<void>;
22
+ /**
23
+ * Returns the source name of an existing local file's absolute path.
24
+ *
25
+ * Throws is the file doesn't exist, it's not inside the project, or belongs
26
+ * to a library.
27
+ */
28
+ export declare function localPathToSourceName(projectRoot: string, localFileAbsolutePath: string): Promise<string>;
29
+ /**
30
+ * This function takes a valid local source name and returns its path. The
31
+ * source name doesn't need to point to an existing file.
32
+ */
33
+ export declare function localSourceNameToPath(projectRoot: string, sourceName: string): string;
34
+ /**
35
+ * Normalizes the source name, for example, by replacing `a/./b` with `a/b`.
36
+ *
37
+ * The sourceName param doesn't have to be a valid source name. It can,
38
+ * for example, be denormalized.
39
+ */
40
+ export declare function normalizeSourceName(sourceName: string): string;
41
+ /**
42
+ * This function returns true if the sourceName is a unix absolute path or a
43
+ * platform-dependent one.
44
+ *
45
+ * This function is used instead of just `path.isAbsolute` to ensure that
46
+ * source names never start with `/`, even on Windows.
47
+ */
48
+ export declare function isAbsolutePathSourceName(sourceName: string): boolean;
49
+ /**
50
+ * This function replaces backslashes (\\) with slashes (/).
51
+ *
52
+ * Note that a source name must not contain backslashes.
53
+ */
54
+ export declare function replaceBackslashes(str: string): string;
55
+ /**
56
+ * This function returns true if the sourceName contains the current package's name
57
+ * as a substring
58
+ */
59
+ export declare function includesOwnPackageName(sourceName: string): Promise<boolean>;
60
+ //# sourceMappingURL=source-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-names.d.ts","sourceRoot":"","sources":["../src/utils/source-names.ts"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,QAmC1D;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CA4BlB;AAED;;;;;GAKG;AACH,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,iBAUnB;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,MAAM,CAER;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEpE;AAWD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUtD;AAqCD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAMlB"}
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.includesOwnPackageName = exports.replaceBackslashes = exports.isAbsolutePathSourceName = exports.normalizeSourceName = exports.localSourceNameToPath = exports.localPathToSourceName = exports.validateSourceNameExistenceAndCasing = exports.isLocalSourceName = exports.validateSourceNameFormat = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const errors_1 = require("../internal/core/errors");
9
+ const errors_list_1 = require("../internal/core/errors-list");
10
+ const fs_utils_1 = require("../internal/util/fs-utils");
11
+ const packageInfo_1 = require("../internal/util/packageInfo");
12
+ const NODE_MODULES = "node_modules";
13
+ /**
14
+ * This function validates the source name's format.
15
+ *
16
+ * It throws if the format is invalid.
17
+ * If it doesn't throw all you know is that the format is valid.
18
+ */
19
+ function validateSourceNameFormat(sourceName) {
20
+ if (isAbsolutePathSourceName(sourceName)) {
21
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.SOURCE_NAMES.INVALID_SOURCE_NAME_ABSOLUTE_PATH, {
22
+ name: sourceName,
23
+ });
24
+ }
25
+ if (isExplicitRelativePath(sourceName)) {
26
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.SOURCE_NAMES.INVALID_SOURCE_NAME_RELATIVE_PATH, {
27
+ name: sourceName,
28
+ });
29
+ }
30
+ // We check this before normalizing so we are sure that the difference
31
+ // comes from slash vs backslash
32
+ if (replaceBackslashes(sourceName) !== sourceName) {
33
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.SOURCE_NAMES.INVALID_SOURCE_NAME_BACKSLASHES, {
34
+ name: sourceName,
35
+ });
36
+ }
37
+ if (normalizeSourceName(sourceName) !== sourceName) {
38
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.SOURCE_NAMES.INVALID_SOURCE_NOT_NORMALIZED, {
39
+ name: sourceName,
40
+ });
41
+ }
42
+ }
43
+ exports.validateSourceNameFormat = validateSourceNameFormat;
44
+ /**
45
+ * This function returns true if the sourceName is, potentially, from a local
46
+ * file. It doesn't validate that the file actually exists.
47
+ *
48
+ * The source name must be in a valid format.
49
+ */
50
+ async function isLocalSourceName(projectRoot, sourceName) {
51
+ // Note that we consider "hardhat/console.sol" as a special case here.
52
+ // This lets someone have a "hardhat" directory within their project without
53
+ // it impacting their use of `console.log`.
54
+ // See issue https://github.com/nomiclabs/hardhat/issues/998
55
+ if (sourceName.includes(NODE_MODULES) ||
56
+ sourceName === "hardhat/console.sol") {
57
+ return false;
58
+ }
59
+ const slashIndex = sourceName.indexOf("/");
60
+ const firstDirOrFileName = slashIndex !== -1 ? sourceName.substring(0, slashIndex) : sourceName;
61
+ try {
62
+ await (0, fs_utils_1.getFileTrueCase)(projectRoot, firstDirOrFileName);
63
+ }
64
+ catch (error) {
65
+ if (error instanceof fs_utils_1.FileNotFoundError) {
66
+ return false;
67
+ }
68
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
69
+ throw error;
70
+ }
71
+ return true;
72
+ }
73
+ exports.isLocalSourceName = isLocalSourceName;
74
+ /**
75
+ * Validates that a source name exists, starting from `fromDir`, and has the
76
+ * right casing.
77
+ *
78
+ * The source name must be in a valid format.
79
+ */
80
+ async function validateSourceNameExistenceAndCasing(fromDir, sourceName) {
81
+ const trueCaseSourceName = await getSourceNameTrueCase(fromDir, sourceName);
82
+ if (trueCaseSourceName !== sourceName) {
83
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.SOURCE_NAMES.WRONG_CASING, {
84
+ incorrect: sourceName,
85
+ correct: trueCaseSourceName,
86
+ });
87
+ }
88
+ }
89
+ exports.validateSourceNameExistenceAndCasing = validateSourceNameExistenceAndCasing;
90
+ /**
91
+ * Returns the source name of an existing local file's absolute path.
92
+ *
93
+ * Throws is the file doesn't exist, it's not inside the project, or belongs
94
+ * to a library.
95
+ */
96
+ async function localPathToSourceName(projectRoot, localFileAbsolutePath) {
97
+ const relativePath = path_1.default.relative(projectRoot, localFileAbsolutePath);
98
+ const normalized = normalizeSourceName(relativePath);
99
+ if (normalized.startsWith("..")) {
100
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.SOURCE_NAMES.EXTERNAL_AS_LOCAL, {
101
+ path: localFileAbsolutePath,
102
+ });
103
+ }
104
+ if (normalized.includes(NODE_MODULES)) {
105
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.SOURCE_NAMES.NODE_MODULES_AS_LOCAL, {
106
+ path: localFileAbsolutePath,
107
+ });
108
+ }
109
+ return getSourceNameTrueCase(projectRoot, relativePath);
110
+ }
111
+ exports.localPathToSourceName = localPathToSourceName;
112
+ /**
113
+ * This function takes a valid local source name and returns its path. The
114
+ * source name doesn't need to point to an existing file.
115
+ */
116
+ function localSourceNameToPath(projectRoot, sourceName) {
117
+ return path_1.default.join(projectRoot, sourceName);
118
+ }
119
+ exports.localSourceNameToPath = localSourceNameToPath;
120
+ /**
121
+ * Normalizes the source name, for example, by replacing `a/./b` with `a/b`.
122
+ *
123
+ * The sourceName param doesn't have to be a valid source name. It can,
124
+ * for example, be denormalized.
125
+ */
126
+ function normalizeSourceName(sourceName) {
127
+ return replaceBackslashes(path_1.default.normalize(sourceName));
128
+ }
129
+ exports.normalizeSourceName = normalizeSourceName;
130
+ /**
131
+ * This function returns true if the sourceName is a unix absolute path or a
132
+ * platform-dependent one.
133
+ *
134
+ * This function is used instead of just `path.isAbsolute` to ensure that
135
+ * source names never start with `/`, even on Windows.
136
+ */
137
+ function isAbsolutePathSourceName(sourceName) {
138
+ return path_1.default.isAbsolute(sourceName) || sourceName.startsWith("/");
139
+ }
140
+ exports.isAbsolutePathSourceName = isAbsolutePathSourceName;
141
+ /**
142
+ * This function returns true if the sourceName is a unix path that is based on
143
+ * the current directory `./`.
144
+ */
145
+ function isExplicitRelativePath(sourceName) {
146
+ const [base] = sourceName.split("/", 1);
147
+ return base === "." || base === "..";
148
+ }
149
+ /**
150
+ * This function replaces backslashes (\\) with slashes (/).
151
+ *
152
+ * Note that a source name must not contain backslashes.
153
+ */
154
+ function replaceBackslashes(str) {
155
+ // Based in the npm module slash
156
+ const isExtendedLengthPath = /^\\\\\?\\/.test(str);
157
+ const hasNonAscii = /[^\u0000-\u0080]+/.test(str);
158
+ if (isExtendedLengthPath || hasNonAscii) {
159
+ return str;
160
+ }
161
+ return str.replace(/\\/g, "/");
162
+ }
163
+ exports.replaceBackslashes = replaceBackslashes;
164
+ function slashesToPathSeparator(str) {
165
+ if (path_1.default.sep === "/") {
166
+ return str;
167
+ }
168
+ return str.replace(/\//g, path_1.default.sep);
169
+ }
170
+ /**
171
+ * Returns the true casing of `p` as a relative path from `fromDir`. Throws if
172
+ * `p` doesn't exist. `p` MUST be in source name format.
173
+ */
174
+ async function getSourceNameTrueCase(fromDir, p) {
175
+ try {
176
+ const realCase = await (0, fs_utils_1.getFileTrueCase)(fromDir, slashesToPathSeparator(p));
177
+ return normalizeSourceName(realCase);
178
+ }
179
+ catch (error) {
180
+ if (error instanceof fs_utils_1.FileNotFoundError) {
181
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.SOURCE_NAMES.FILE_NOT_FOUND, {
182
+ name: p,
183
+ }, error);
184
+ }
185
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
186
+ throw error;
187
+ }
188
+ }
189
+ /**
190
+ * This function returns true if the sourceName contains the current package's name
191
+ * as a substring
192
+ */
193
+ async function includesOwnPackageName(sourceName) {
194
+ const packageName = await (0, packageInfo_1.getPackageName)(sourceName);
195
+ if (packageName !== "") {
196
+ return sourceName.startsWith(`${packageName}/`);
197
+ }
198
+ return false;
199
+ }
200
+ exports.includesOwnPackageName = includesOwnPackageName;
201
+ //# sourceMappingURL=source-names.js.map