hardhat 2.13.0-dev.0 → 2.13.0-dev.2

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 (209) hide show
  1. package/builtin-tasks/compile.js +2 -11
  2. package/builtin-tasks/compile.js.map +1 -1
  3. package/builtin-tasks/flatten.js +9 -3
  4. package/builtin-tasks/flatten.js.map +1 -1
  5. package/builtin-tasks/task-names.d.ts +0 -1
  6. package/builtin-tasks/task-names.d.ts.map +1 -1
  7. package/builtin-tasks/task-names.js +2 -3
  8. package/builtin-tasks/task-names.js.map +1 -1
  9. package/internal/artifacts/caching.d.ts +28 -0
  10. package/internal/artifacts/caching.d.ts.map +1 -0
  11. package/internal/artifacts/caching.js +178 -0
  12. package/internal/artifacts/caching.js.map +1 -0
  13. package/internal/artifacts/index.d.ts +45 -0
  14. package/internal/artifacts/index.d.ts.map +1 -0
  15. package/internal/artifacts/index.js +191 -0
  16. package/internal/artifacts/index.js.map +1 -0
  17. package/internal/artifacts/mutable.d.ts +29 -0
  18. package/internal/artifacts/mutable.d.ts.map +1 -0
  19. package/internal/artifacts/mutable.js +226 -0
  20. package/internal/artifacts/mutable.js.map +1 -0
  21. package/internal/artifacts/readonly.d.ts +94 -0
  22. package/internal/artifacts/readonly.d.ts.map +1 -0
  23. package/internal/artifacts/readonly.js +343 -0
  24. package/internal/artifacts/readonly.js.map +1 -0
  25. package/internal/artifacts.d.ts +5 -0
  26. package/internal/artifacts.d.ts.map +1 -1
  27. package/internal/artifacts.js +29 -10
  28. package/internal/artifacts.js.map +1 -1
  29. package/internal/cli/cli.js +15 -3
  30. package/internal/cli/cli.js.map +1 -1
  31. package/internal/cli/project-creation.d.ts +1 -0
  32. package/internal/cli/project-creation.d.ts.map +1 -1
  33. package/internal/cli/project-creation.js +13 -2
  34. package/internal/cli/project-creation.js.map +1 -1
  35. package/internal/core/config/config-env.d.ts +7 -1
  36. package/internal/core/config/config-env.d.ts.map +1 -1
  37. package/internal/core/config/config-env.js +13 -2
  38. package/internal/core/config/config-env.js.map +1 -1
  39. package/internal/core/config/config-resolution.d.ts.map +1 -1
  40. package/internal/core/config/config-resolution.js +2 -1
  41. package/internal/core/config/config-resolution.js.map +1 -1
  42. package/internal/core/config/extenders.d.ts +7 -4
  43. package/internal/core/config/extenders.d.ts.map +1 -1
  44. package/internal/core/config/extenders.js +12 -5
  45. package/internal/core/config/extenders.js.map +1 -1
  46. package/internal/core/errors-list.d.ts +14 -0
  47. package/internal/core/errors-list.d.ts.map +1 -1
  48. package/internal/core/errors-list.js +93 -75
  49. package/internal/core/errors-list.js.map +1 -1
  50. package/internal/core/flamegraph.js +10 -10
  51. package/internal/core/jsonrpc/types/input/blockTag.d.ts +3 -3
  52. package/internal/core/jsonrpc/types/input/blockTag.d.ts.map +1 -1
  53. package/internal/core/jsonrpc/types/output/metadata.d.ts +13 -0
  54. package/internal/core/jsonrpc/types/output/metadata.d.ts.map +1 -0
  55. package/internal/core/jsonrpc/types/output/metadata.js +3 -0
  56. package/internal/core/jsonrpc/types/output/metadata.js.map +1 -0
  57. package/internal/core/providers/accounts.d.ts.map +1 -1
  58. package/internal/core/providers/accounts.js +4 -1
  59. package/internal/core/providers/accounts.js.map +1 -1
  60. package/internal/core/providers/backwards-compatibility.d.ts.map +1 -1
  61. package/internal/core/providers/backwards-compatibility.js +3 -0
  62. package/internal/core/providers/backwards-compatibility.js.map +1 -1
  63. package/internal/core/providers/gas-providers.d.ts +1 -1
  64. package/internal/core/providers/gas-providers.d.ts.map +1 -1
  65. package/internal/core/providers/gas-providers.js +1 -1
  66. package/internal/core/providers/gas-providers.js.map +1 -1
  67. package/internal/core/runtime-environment.d.ts +2 -2
  68. package/internal/core/runtime-environment.d.ts.map +1 -1
  69. package/internal/core/runtime-environment.js +2 -2
  70. package/internal/core/runtime-environment.js.map +1 -1
  71. package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
  72. package/internal/hardhat-network/jsonrpc/client.js +5 -3
  73. package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
  74. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
  75. package/internal/hardhat-network/provider/fork/ForkBlockchain.js +9 -1
  76. package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
  77. package/internal/hardhat-network/provider/modules/eth.js +4 -4
  78. package/internal/hardhat-network/provider/modules/hardhat.d.ts +2 -0
  79. package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +1 -1
  80. package/internal/hardhat-network/provider/modules/hardhat.js +9 -0
  81. package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
  82. package/internal/hardhat-network/provider/modules/web3.d.ts +3 -0
  83. package/internal/hardhat-network/provider/modules/web3.d.ts.map +1 -1
  84. package/internal/hardhat-network/provider/modules/web3.js +4 -4
  85. package/internal/hardhat-network/provider/modules/web3.js.map +1 -1
  86. package/internal/hardhat-network/provider/node.d.ts +5 -0
  87. package/internal/hardhat-network/provider/node.d.ts.map +1 -1
  88. package/internal/hardhat-network/provider/node.js +40 -3
  89. package/internal/hardhat-network/provider/node.js.map +1 -1
  90. package/internal/hardhat-network/provider/output.d.ts +1 -1
  91. package/internal/hardhat-network/provider/output.d.ts.map +1 -1
  92. package/internal/hardhat-network/provider/output.js +1 -1
  93. package/internal/hardhat-network/provider/output.js.map +1 -1
  94. package/internal/hardhat-network/provider/provider.js +1 -1
  95. package/internal/hardhat-network/provider/provider.js.map +1 -1
  96. package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.d.ts +32 -0
  97. package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.d.ts.map +1 -0
  98. package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js +87 -0
  99. package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js.map +1 -0
  100. package/internal/hardhat-network/provider/utils/makeForkClient.d.ts +1 -0
  101. package/internal/hardhat-network/provider/utils/makeForkClient.d.ts.map +1 -1
  102. package/internal/hardhat-network/provider/utils/makeForkClient.js +4 -1
  103. package/internal/hardhat-network/provider/utils/makeForkClient.js.map +1 -1
  104. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts.map +1 -1
  105. package/internal/hardhat-network/stack-traces/error-inferrer.js +2 -5
  106. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
  107. package/internal/hardhat-network/stack-traces/solidity-errors.d.ts.map +1 -1
  108. package/internal/hardhat-network/stack-traces/solidity-errors.js +2 -1
  109. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  110. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts.map +1 -1
  111. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +2 -1
  112. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
  113. package/internal/lib/hardhat-lib.d.ts.map +1 -1
  114. package/internal/lib/hardhat-lib.js +4 -1
  115. package/internal/lib/hardhat-lib.js.map +1 -1
  116. package/internal/solidity/compiler/compiler-input.d.ts.map +1 -1
  117. package/internal/solidity/compiler/compiler-input.js +5 -1
  118. package/internal/solidity/compiler/compiler-input.js.map +1 -1
  119. package/internal/solidity/compiler/downloader.d.ts.map +1 -1
  120. package/internal/solidity/compiler/downloader.js +10 -12
  121. package/internal/solidity/compiler/downloader.js.map +1 -1
  122. package/internal/solidity/compiler/index.d.ts.map +1 -1
  123. package/internal/solidity/compiler/index.js +6 -0
  124. package/internal/solidity/compiler/index.js.map +1 -1
  125. package/internal/solidity/dependencyGraph.d.ts.map +1 -1
  126. package/internal/solidity/dependencyGraph.js +2 -0
  127. package/internal/solidity/dependencyGraph.js.map +1 -1
  128. package/internal/solidity/resolver.d.ts +3 -4
  129. package/internal/solidity/resolver.d.ts.map +1 -1
  130. package/internal/solidity/resolver.js +11 -5
  131. package/internal/solidity/resolver.js.map +1 -1
  132. package/internal/util/console.d.ts.map +1 -1
  133. package/internal/util/console.js +1 -1
  134. package/internal/util/console.js.map +1 -1
  135. package/internal/util/download.d.ts +3 -1
  136. package/internal/util/download.d.ts.map +1 -1
  137. package/internal/util/download.js +2 -1
  138. package/internal/util/download.js.map +1 -1
  139. package/internal/util/keys-derivation.d.ts.map +1 -1
  140. package/internal/util/keys-derivation.js +4 -1
  141. package/internal/util/keys-derivation.js.map +1 -1
  142. package/internal/util/packageInfo.d.ts +1 -0
  143. package/internal/util/packageInfo.d.ts.map +1 -1
  144. package/internal/util/packageInfo.js +10 -1
  145. package/internal/util/packageInfo.js.map +1 -1
  146. package/package.json +1 -1
  147. package/recommended-gitignore.txt +1 -1
  148. package/register.js +4 -1
  149. package/register.js.map +1 -1
  150. package/src/builtin-tasks/compile.ts +3 -20
  151. package/src/builtin-tasks/flatten.ts +14 -3
  152. package/src/builtin-tasks/task-names.ts +0 -2
  153. package/src/internal/artifacts/caching.ts +259 -0
  154. package/src/internal/artifacts/index.ts +302 -0
  155. package/src/internal/artifacts/mutable.ts +330 -0
  156. package/src/internal/artifacts/readonly.ts +470 -0
  157. package/src/internal/cli/cli.ts +22 -3
  158. package/src/internal/cli/project-creation.ts +17 -1
  159. package/src/internal/core/config/config-env.ts +13 -1
  160. package/src/internal/core/config/config-resolution.ts +4 -3
  161. package/src/internal/core/config/extenders.ts +15 -6
  162. package/src/internal/core/errors-list.ts +94 -75
  163. package/src/internal/core/flamegraph.ts +10 -10
  164. package/src/internal/core/jsonrpc/types/output/metadata.ts +32 -0
  165. package/src/internal/core/providers/accounts.ts +5 -2
  166. package/src/internal/core/providers/backwards-compatibility.ts +3 -0
  167. package/src/internal/core/providers/gas-providers.ts +1 -1
  168. package/src/internal/core/runtime-environment.ts +3 -1
  169. package/src/internal/hardhat-network/jsonrpc/client.ts +7 -4
  170. package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +15 -3
  171. package/src/internal/hardhat-network/provider/modules/eth.ts +4 -4
  172. package/src/internal/hardhat-network/provider/modules/hardhat.ts +14 -0
  173. package/src/internal/hardhat-network/provider/modules/web3.ts +4 -4
  174. package/src/internal/hardhat-network/provider/node.ts +58 -0
  175. package/src/internal/hardhat-network/provider/output.ts +2 -2
  176. package/src/internal/hardhat-network/provider/provider.ts +1 -1
  177. package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.ts +162 -0
  178. package/src/internal/hardhat-network/provider/utils/makeForkClient.ts +10 -1
  179. package/src/internal/hardhat-network/stack-traces/compiler-to-model.ts +2 -2
  180. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +2 -6
  181. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +3 -1
  182. package/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts +4 -1
  183. package/src/internal/lib/hardhat-lib.ts +6 -1
  184. package/src/internal/solidity/compiler/compiler-input.ts +7 -1
  185. package/src/internal/solidity/compiler/downloader.ts +11 -11
  186. package/src/internal/solidity/compiler/index.ts +8 -0
  187. package/src/internal/solidity/dependencyGraph.ts +2 -0
  188. package/src/internal/solidity/resolver.ts +13 -8
  189. package/src/internal/util/console.ts +4 -2
  190. package/src/internal/util/download.ts +3 -1
  191. package/src/internal/util/keys-derivation.ts +4 -1
  192. package/src/internal/util/packageInfo.ts +9 -0
  193. package/src/register.ts +6 -1
  194. package/src/types/artifacts.ts +116 -4
  195. package/src/types/runtime.ts +7 -1
  196. package/src/utils/source-names.ts +15 -0
  197. package/types/artifacts.d.ts +100 -4
  198. package/types/artifacts.d.ts.map +1 -1
  199. package/types/runtime.d.ts +6 -1
  200. package/types/runtime.d.ts.map +1 -1
  201. package/utils/source-names.d.ts +5 -0
  202. package/utils/source-names.d.ts.map +1 -1
  203. package/utils/source-names.js +14 -1
  204. package/utils/source-names.js.map +1 -1
  205. package/internal/hardhat-network/provider/utils/convertToRethnet.d.ts +0 -4
  206. package/internal/hardhat-network/provider/utils/convertToRethnet.d.ts.map +0 -1
  207. package/internal/hardhat-network/provider/utils/convertToRethnet.js +0 -31
  208. package/internal/hardhat-network/provider/utils/convertToRethnet.js.map +0 -1
  209. package/src/internal/artifacts.ts +0 -918
@@ -17,9 +17,8 @@ export declare class Resolver {
17
17
  private readonly _projectRoot;
18
18
  private readonly _parser;
19
19
  private readonly _readFile;
20
- private readonly _translateImportName;
21
20
  private readonly _cache;
22
- constructor(_projectRoot: string, _parser: Parser, _readFile: (absolutePath: string) => Promise<string>, _translateImportName: (importName: string) => Promise<string>);
21
+ constructor(_projectRoot: string, _parser: Parser, _readFile: (absolutePath: string) => Promise<string>);
23
22
  /**
24
23
  * Resolves a source name into a ResolvedFile.
25
24
  *
@@ -29,9 +28,9 @@ export declare class Resolver {
29
28
  /**
30
29
  * Resolves an import from an already resolved file.
31
30
  * @param from The file were the import statement is present.
32
- * @param importName The path in the import statement.
31
+ * @param imported The path in the import statement.
33
32
  */
34
- resolveImport(from: ResolvedFile, importName: string): Promise<ResolvedFile>;
33
+ resolveImport(from: ResolvedFile, imported: string): Promise<ResolvedFile>;
35
34
  private _resolveLocalSourceName;
36
35
  private _resolveLibrarySourceName;
37
36
  private _relativeImportToSourceName;
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/internal/solidity/resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,IAAI,aAAa,EAC9B,MAAM,2BAA2B,CAAC;AAcnC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,WAAW,gBAAgB;IAC/B,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAC;CACpC;AAID,qBAAa,YAAa,YAAW,aAAa;aAI9B,UAAU,EAAE,MAAM;aAClB,YAAY,EAAE,MAAM;aACpB,OAAO,EAAE,WAAW;aACpB,WAAW,EAAE,MAAM;aACnB,oBAAoB,EAAE,IAAI;IAP5C,SAAgB,OAAO,CAAC,EAAE,WAAW,CAAC;gBAGpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,MAAM,EACnB,oBAAoB,EAAE,IAAI,EAC1C,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM;IAgBlB,gBAAgB;CAMxB;AAED,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IANvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAG5C,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACpD,oBAAoB,EAAE,CACrC,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,MAAM,CAAC;IAGtB;;;;OAIG;IACU,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoBzE;;;;OAIG;IACU,aAAa,CACxB,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC;YAqHV,uBAAuB;YAavB,yBAAyB;YAsDzB,2BAA2B;YAuC3B,YAAY;IAoC1B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,sCAAsC;IAO9C,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,oCAAoC;YAY9B,qCAAqC;CAwCpD"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/internal/solidity/resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EACX,WAAW,EACX,YAAY,IAAI,aAAa,EAC9B,MAAM,2BAA2B,CAAC;AAenC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,WAAW,gBAAgB;IAC/B,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAAC;CACpC;AAID,qBAAa,YAAa,YAAW,aAAa;aAI9B,UAAU,EAAE,MAAM;aAClB,YAAY,EAAE,MAAM;aACpB,OAAO,EAAE,WAAW;aACpB,WAAW,EAAE,MAAM;aACnB,oBAAoB,EAAE,IAAI;IAP5C,SAAgB,OAAO,CAAC,EAAE,WAAW,CAAC;gBAGpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,MAAM,EACnB,oBAAoB,EAAE,IAAI,EAC1C,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM;IAgBlB,gBAAgB;CAMxB;AAED,qBAAa,QAAQ;IAIjB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAG5C,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;IAGvE;;;;OAIG;IACU,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoBzE;;;;OAIG;IACU,aAAa,CACxB,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,CAAC;YA4HV,uBAAuB;YAavB,yBAAyB;YAsDzB,2BAA2B;YAuC3B,YAAY;IAoC1B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,sCAAsC;IAO9C,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,0BAA0B;IAWlC,OAAO,CAAC,oCAAoC;YAY9B,qCAAqC;CAwCpD"}
@@ -36,11 +36,10 @@ class ResolvedFile {
36
36
  }
37
37
  exports.ResolvedFile = ResolvedFile;
38
38
  class Resolver {
39
- constructor(_projectRoot, _parser, _readFile, _translateImportName) {
39
+ constructor(_projectRoot, _parser, _readFile) {
40
40
  this._projectRoot = _projectRoot;
41
41
  this._parser = _parser;
42
42
  this._readFile = _readFile;
43
- this._translateImportName = _translateImportName;
44
43
  this._cache = new Map();
45
44
  }
46
45
  /**
@@ -67,10 +66,9 @@ class Resolver {
67
66
  /**
68
67
  * Resolves an import from an already resolved file.
69
68
  * @param from The file were the import statement is present.
70
- * @param importName The path in the import statement.
69
+ * @param imported The path in the import statement.
71
70
  */
72
- async resolveImport(from, importName) {
73
- const imported = await this._translateImportName(importName);
71
+ async resolveImport(from, imported) {
74
72
  const scheme = this._getUriScheme(imported);
75
73
  if (scheme !== undefined) {
76
74
  throw new errors_1.HardhatError(errors_list_1.ERRORS.RESOLVER.INVALID_IMPORT_PROTOCOL, {
@@ -91,6 +89,14 @@ class Resolver {
91
89
  imported,
92
90
  });
93
91
  }
92
+ // Edge-case where an import can contain the current package's name in monorepos.
93
+ // The path can be resolved because there's a symlink in the node modules.
94
+ if (await (0, source_names_1.includesOwnPackageName)(imported)) {
95
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.RESOLVER.INCLUDES_OWN_PACKAGE_NAME, {
96
+ from: from.sourceName,
97
+ imported,
98
+ });
99
+ }
94
100
  try {
95
101
  let sourceName;
96
102
  const isRelativeImport = this._isRelativeImport(imported);
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/internal/solidity/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/internal/solidity/resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/internal/util/console.ts"],"names":[],"mappings":"AAAA,wBAAgB,0BAA0B,YAGzC;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,SAUzC"}
1
+ {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../src/internal/util/console.ts"],"names":[],"mappings":"AAEA,wBAAgB,0BAA0B,YAGzC;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,SAUzC"}
@@ -13,7 +13,7 @@ exports.isNodeCalledWithoutAScript = isNodeCalledWithoutAScript;
13
13
  */
14
14
  function disableReplWriterShowProxy() {
15
15
  const repl = require("repl");
16
- if (repl.writer.options) {
16
+ if (repl.writer.options !== undefined) {
17
17
  Object.defineProperty(repl.writer.options, "showProxy", {
18
18
  value: false,
19
19
  writable: false,
@@ -1 +1 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/internal/util/console.ts"],"names":[],"mappings":";;;AAAA,SAAgB,0BAA0B;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AACtD,CAAC;AAHD,gEAGC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;QACvB,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE;YACtD,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;KACJ;AACH,CAAC;AAVD,gEAUC"}
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../src/internal/util/console.ts"],"names":[],"mappings":";;;AAEA,SAAgB,0BAA0B;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AACtD,CAAC;AAHD,gEAGC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B;IACxC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAiB,CAAC;IAE7C,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;QACrC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE;YACtD,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;KACJ;AACH,CAAC;AAVD,gEAUC"}
@@ -1,2 +1,4 @@
1
- export declare function download(url: string, filePath: string, timeoutMillis?: number): Promise<void>;
1
+ export declare function download(url: string, filePath: string, timeoutMillis?: number, extraHeaders?: {
2
+ [name: string]: string;
3
+ }): Promise<void>;
2
4
  //# sourceMappingURL=download.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/internal/util/download.ts"],"names":[],"mappings":"AAmBA,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,aAAa,SAAQ,iBA6CtB"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/internal/util/download.ts"],"names":[],"mappings":"AAmBA,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,aAAa,SAAQ,EACrB,YAAY,GAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,iBA8C9C"}
@@ -37,7 +37,7 @@ function resolveTempFileName(filePath) {
37
37
  name: `${TEMP_FILE_PREFIX}${name}`,
38
38
  });
39
39
  }
40
- async function download(url, filePath, timeoutMillis = 10000) {
40
+ async function download(url, filePath, timeoutMillis = 10000, extraHeaders = {}) {
41
41
  const { pipeline } = await Promise.resolve().then(() => __importStar(require("stream")));
42
42
  const { getGlobalDispatcher, ProxyAgent, request } = await Promise.resolve().then(() => __importStar(require("undici")));
43
43
  const streamPipeline = util_1.default.promisify(pipeline);
@@ -58,6 +58,7 @@ async function download(url, filePath, timeoutMillis = 10000) {
58
58
  maxRedirections: 10,
59
59
  method: "GET",
60
60
  headers: {
61
+ ...extraHeaders,
61
62
  "User-Agent": `hardhat ${hardhatVersion ?? "(unknown version)"}`,
62
63
  },
63
64
  });
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/internal/util/download.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,wDAA+B;AAC/B,gDAAwB;AACxB,gDAAwB;AAExB,+CAAkD;AAElD,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEhD,OAAO,cAAI,CAAC,MAAM,CAAC;QACjB,GAAG;QACH,GAAG;QACH,IAAI,EAAE,GAAG,gBAAgB,GAAG,IAAI,EAAE;KACnC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,QAAQ,CAC5B,GAAW,EACX,QAAgB,EAChB,aAAa,GAAG,KAAK;IAErB,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,QAAQ,GAAC,CAAC;IAC5C,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,wDAAa,QAAQ,GAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,cAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEhD,SAAS,gBAAgB;QACvB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE;YACzC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SAChD;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE;YACxC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC/C;QAED,OAAO,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,+BAAiB,GAAE,CAAC;IAE3C,gBAAgB;IAChB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;QAClC,UAAU,EAAE,gBAAgB,EAAE;QAC9B,cAAc,EAAE,aAAa;QAC7B,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,YAAY,EAAE,WAAW,cAAc,IAAI,mBAAmB,EAAE;SACjE;KACF,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;QAC5D,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,kBAAO,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEhD,MAAM,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QACvE,OAAO,kBAAO,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACjE;IAED,gFAAgF;IAChF,MAAM,IAAI,KAAK,CACb,sBAAsB,GAAG,MACvB,QAAQ,CAAC,UACX,cAAc,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAC3C,CAAC;AACJ,CAAC;AAhDD,4BAgDC"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/internal/util/download.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,wDAA+B;AAC/B,gDAAwB;AACxB,gDAAwB;AAExB,+CAAkD;AAElD,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEhD,OAAO,cAAI,CAAC,MAAM,CAAC;QACjB,GAAG;QACH,GAAG;QACH,IAAI,EAAE,GAAG,gBAAgB,GAAG,IAAI,EAAE;KACnC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,QAAQ,CAC5B,GAAW,EACX,QAAgB,EAChB,aAAa,GAAG,KAAK,EACrB,eAA2C,EAAE;IAE7C,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,QAAQ,GAAC,CAAC;IAC5C,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,wDAAa,QAAQ,GAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,cAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEhD,SAAS,gBAAgB;QACvB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE;YACzC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SAChD;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE;YACxC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;SAC/C;QAED,OAAO,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,+BAAiB,GAAE,CAAC;IAE3C,gBAAgB;IAChB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;QAClC,UAAU,EAAE,gBAAgB,EAAE;QAC9B,cAAc,EAAE,aAAa;QAC7B,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,GAAG,YAAY;YACf,YAAY,EAAE,WAAW,cAAc,IAAI,mBAAmB,EAAE;SACjE;KACF,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE;QAC5D,MAAM,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,kBAAO,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEhD,MAAM,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;QACvE,OAAO,kBAAO,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACjE;IAED,gFAAgF;IAChF,MAAM,IAAI,KAAK,CACb,sBAAsB,GAAG,MACvB,QAAQ,CAAC,UACX,cAAc,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAC3C,CAAC;AACJ,CAAC;AAlDD,4BAkDC"}
@@ -1 +1 @@
1
- {"version":3,"file":"keys-derivation.d.ts","sourceRoot":"","sources":["../../src/internal/util/keys-derivation.ts"],"names":[],"mappings":";AAGA,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAoBpB"}
1
+ {"version":3,"file":"keys-derivation.d.ts","sourceRoot":"","sources":["../../src/internal/util/keys-derivation.ts"],"names":[],"mappings":";AAGA,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAuBpB"}
@@ -3,7 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deriveKeyFromMnemonicAndPath = void 0;
4
4
  function deriveKeyFromMnemonicAndPath(mnemonic, hdPath, passphrase) {
5
5
  const { mnemonicToSeedSync, } = require("ethereum-cryptography/bip39");
6
- const seed = mnemonicToSeedSync(mnemonic, passphrase);
6
+ // NOTE: If mnemonic has space or newline at the beginning or end, it will be trimmed.
7
+ // This is because mnemonic containing them may generate different private keys.
8
+ const trimmedMnemonic = mnemonic.trim();
9
+ const seed = mnemonicToSeedSync(trimmedMnemonic, passphrase);
7
10
  const { HDKey, } = require("ethereum-cryptography/hdkey");
8
11
  const masterKey = HDKey.fromMasterSeed(seed);
9
12
  const derived = masterKey.derive(hdPath);
@@ -1 +1 @@
1
- {"version":3,"file":"keys-derivation.js","sourceRoot":"","sources":["../../src/internal/util/keys-derivation.ts"],"names":[],"mappings":";;;AAGA,SAAgB,4BAA4B,CAC1C,QAAgB,EAChB,MAAc,EACd,UAAkB;IAElB,MAAM,EACJ,kBAAkB,GACnB,GAEG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEtD,MAAM,EACJ,KAAK,GACN,GAEG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzC,OAAO,OAAO,CAAC,UAAU,KAAK,IAAI;QAChC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAxBD,oEAwBC"}
1
+ {"version":3,"file":"keys-derivation.js","sourceRoot":"","sources":["../../src/internal/util/keys-derivation.ts"],"names":[],"mappings":";;;AAGA,SAAgB,4BAA4B,CAC1C,QAAgB,EAChB,MAAc,EACd,UAAkB;IAElB,MAAM,EACJ,kBAAkB,GACnB,GAEG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3C,sFAAsF;IACtF,gFAAgF;IAChF,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,kBAAkB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAE7D,MAAM,EACJ,KAAK,GACN,GAEG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAE3C,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzC,OAAO,OAAO,CAAC,UAAU,KAAK,IAAI;QAChC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AA3BD,oEA2BC"}
@@ -8,6 +8,7 @@ export interface PackageJson {
8
8
  };
9
9
  }
10
10
  export declare function findClosestPackageJson(file: string): string | null;
11
+ export declare function getPackageName(file: string): Promise<string>;
11
12
  export declare function getPackageJson(): Promise<PackageJson>;
12
13
  export declare function getHardhatVersion(): string | null;
13
14
  //# sourceMappingURL=packageInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageInfo.d.ts","sourceRoot":"","sources":["../../src/internal/util/packageInfo.ts"],"names":[],"mappings":"AAIA,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,cAAc,IAAI,MAAM,CAIvC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAElE;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAG3D;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAajD"}
1
+ {"version":3,"file":"packageInfo.d.ts","sourceRoot":"","sources":["../../src/internal/util/packageInfo.ts"],"names":[],"mappings":"AAIA,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,cAAc,IAAI,MAAM,CAIvC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAElE;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOlE;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAG3D;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAajD"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getHardhatVersion = exports.getPackageJson = exports.findClosestPackageJson = exports.getPackageRoot = exports.getPackageJsonPath = void 0;
6
+ exports.getHardhatVersion = exports.getPackageJson = exports.getPackageName = exports.findClosestPackageJson = exports.getPackageRoot = exports.getPackageJsonPath = void 0;
7
7
  const find_up_1 = __importDefault(require("find-up"));
8
8
  const fs_extra_1 = __importDefault(require("fs-extra"));
9
9
  const path_1 = __importDefault(require("path"));
@@ -20,6 +20,15 @@ function findClosestPackageJson(file) {
20
20
  return find_up_1.default.sync("package.json", { cwd: path_1.default.dirname(file) });
21
21
  }
22
22
  exports.findClosestPackageJson = findClosestPackageJson;
23
+ async function getPackageName(file) {
24
+ const packageJsonPath = findClosestPackageJson(file);
25
+ if (packageJsonPath !== null && packageJsonPath !== "") {
26
+ const packageJson = await fs_extra_1.default.readJSON(packageJsonPath);
27
+ return packageJson.name;
28
+ }
29
+ return "";
30
+ }
31
+ exports.getPackageName = getPackageName;
23
32
  async function getPackageJson() {
24
33
  const root = getPackageRoot();
25
34
  return fs_extra_1.default.readJSON(path_1.default.join(root, "package.json"));
@@ -1 +1 @@
1
- {"version":3,"file":"packageInfo.js","sourceRoot":"","sources":["../../src/internal/util/packageInfo.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA6B;AAC7B,wDAA+B;AAC/B,gDAAwB;AAExB,SAAgB,kBAAkB;IAChC,OAAO,sBAAsB,CAAC,UAAU,CAAE,CAAC;AAC7C,CAAC;AAFD,gDAEC;AAED,SAAgB,cAAc;IAC5B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAE7C,OAAO,cAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAJD,wCAIC;AAUD,SAAgB,sBAAsB,CAAC,IAAY;IACjD,OAAO,iBAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAFD,wDAEC;AAEM,KAAK,UAAU,cAAc;IAClC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,OAAO,kBAAO,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;AAC3D,CAAC;AAHD,wCAGC;AAED,SAAgB,iBAAiB;IAC/B,MAAM,eAAe,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAE3D,IAAI,eAAe,KAAK,IAAI,EAAE;QAC5B,OAAO,IAAI,CAAC;KACb;IAED,IAAI;QACF,MAAM,WAAW,GAAG,kBAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAC1D,OAAO,WAAW,CAAC,OAAO,CAAC;KAC5B;IAAC,MAAM;QACN,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAbD,8CAaC"}
1
+ {"version":3,"file":"packageInfo.js","sourceRoot":"","sources":["../../src/internal/util/packageInfo.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA6B;AAC7B,wDAA+B;AAC/B,gDAAwB;AAExB,SAAgB,kBAAkB;IAChC,OAAO,sBAAsB,CAAC,UAAU,CAAE,CAAC;AAC7C,CAAC;AAFD,gDAEC;AAED,SAAgB,cAAc;IAC5B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAE7C,OAAO,cAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAJD,wCAIC;AAUD,SAAgB,sBAAsB,CAAC,IAAY;IACjD,OAAO,iBAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAFD,wDAEC;AAEM,KAAK,UAAU,cAAc,CAAC,IAAY;IAC/C,MAAM,eAAe,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,EAAE,EAAE;QACtD,MAAM,WAAW,GAAgB,MAAM,kBAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACzE,OAAO,WAAW,CAAC,IAAI,CAAC;KACzB;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAPD,wCAOC;AAEM,KAAK,UAAU,cAAc;IAClC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,OAAO,kBAAO,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;AAC3D,CAAC;AAHD,wCAGC;AAED,SAAgB,iBAAiB;IAC/B,MAAM,eAAe,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAE3D,IAAI,eAAe,KAAK,IAAI,EAAE;QAC5B,OAAO,IAAI,CAAC;KACb;IAED,IAAI;QACF,MAAM,WAAW,GAAG,kBAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAC1D,OAAO,WAAW,CAAC,OAAO,CAAC;KAC5B;IAAC,MAAM;QACN,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAbD,8CAaC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat",
3
- "version": "2.13.0-dev.0",
3
+ "version": "2.13.0-dev.2",
4
4
  "author": "Nomic Labs LLC",
5
5
  "license": "MIT",
6
6
  "homepage": "https://hardhat.org",
@@ -5,7 +5,7 @@ coverage.json
5
5
  typechain
6
6
  typechain-types
7
7
 
8
- #Hardhat files
8
+ # Hardhat files
9
9
  cache
10
10
  artifacts
11
11
 
package/register.js CHANGED
@@ -25,7 +25,10 @@ if (!context_1.HardhatContext.isCreated()) {
25
25
  (0, typescript_support_1.loadTsNode)(hardhatArguments.tsconfig, hardhatArguments.typecheck);
26
26
  }
27
27
  const { resolvedConfig, userConfig } = (0, config_loading_1.loadConfigAndTasks)(hardhatArguments);
28
- const env = new runtime_environment_1.Environment(resolvedConfig, hardhatArguments, ctx.tasksDSL.getTaskDefinitions(), ctx.extendersManager.getExtenders(), ctx.experimentalHardhatNetworkMessageTraceHooks, userConfig);
28
+ const artifactsExtensions = ctx.extendersManager
29
+ .getArtifactsExtenders()
30
+ .map((artifactsExtender) => artifactsExtender(resolvedConfig));
31
+ const env = new runtime_environment_1.Environment(resolvedConfig, hardhatArguments, ctx.tasksDSL.getTaskDefinitions(), ctx.extendersManager.getEnvironmentExtenders(), artifactsExtensions, ctx.experimentalHardhatNetworkMessageTraceHooks, userConfig);
29
32
  ctx.setHardhatRuntimeEnvironment(env);
30
33
  env.injectToGlobal();
31
34
  }
package/register.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["src/register.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,gDAAoD;AACpD,0EAA2E;AAC3E,wEAA8E;AAC9E,0EAAkF;AAClF,6EAAkE;AAClE,2EAG4C;AAC5C,qDAGiC;AAEjC,IAAI,CAAC,wBAAc,CAAC,SAAS,EAAE,EAAE;IAC/B,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAEvC,MAAM,GAAG,GAAG,wBAAc,CAAC,oBAAoB,EAAE,CAAC;IAElD,IAAI,IAAA,oCAA0B,GAAE,EAAE;QAChC,IAAA,oCAA0B,GAAE,CAAC;KAC9B;IAED,MAAM,gBAAgB,GAAG,IAAA,sCAAsB,EAC7C,0CAAyB,EACzB,OAAO,CAAC,GAAG,CACZ,CAAC;IAEF,IAAI,gBAAgB,CAAC,OAAO,EAAE;QAC5B,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KAC1B;IAED,IAAI,IAAA,0CAAqB,EAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAClD,IAAA,+BAAU,EAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;KACnE;IAED,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,IAAA,mCAAkB,EAAC,gBAAgB,CAAC,CAAC;IAE5E,MAAM,GAAG,GAAG,IAAI,iCAAW,CACzB,cAAc,EACd,gBAAgB,EAChB,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EACjC,GAAG,CAAC,gBAAgB,CAAC,YAAY,EAAE,EACnC,GAAG,CAAC,2CAA2C,EAC/C,UAAU,CACX,CAAC;IAEF,GAAG,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAEtC,GAAG,CAAC,cAAc,EAAE,CAAC;CACtB"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["src/register.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,gDAAoD;AACpD,0EAA2E;AAC3E,wEAA8E;AAC9E,0EAAkF;AAClF,6EAAkE;AAClE,2EAG4C;AAC5C,qDAGiC;AAEjC,IAAI,CAAC,wBAAc,CAAC,SAAS,EAAE,EAAE;IAC/B,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAEvC,MAAM,GAAG,GAAG,wBAAc,CAAC,oBAAoB,EAAE,CAAC;IAElD,IAAI,IAAA,oCAA0B,GAAE,EAAE;QAChC,IAAA,oCAA0B,GAAE,CAAC;KAC9B;IAED,MAAM,gBAAgB,GAAG,IAAA,sCAAsB,EAC7C,0CAAyB,EACzB,OAAO,CAAC,GAAG,CACZ,CAAC;IAEF,IAAI,gBAAgB,CAAC,OAAO,EAAE;QAC5B,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KAC1B;IAED,IAAI,IAAA,0CAAqB,EAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAClD,IAAA,+BAAU,EAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;KACnE;IAED,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,IAAA,mCAAkB,EAAC,gBAAgB,CAAC,CAAC;IAE5E,MAAM,mBAAmB,GAAG,GAAG,CAAC,gBAAgB;SAC7C,qBAAqB,EAAE;SACvB,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAG,IAAI,iCAAW,CACzB,cAAc,EACd,gBAAgB,EAChB,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EACjC,GAAG,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,EAC9C,mBAAmB,EACnB,GAAG,CAAC,2CAA2C,EAC/C,UAAU,CACX,CAAC;IAEF,GAAG,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAEtC,GAAG,CAAC,cAAc,EAAE,CAAC;CACtB"}
@@ -73,7 +73,6 @@ import {
73
73
  TASK_COMPILE_SOLIDITY_RUN_SOLC,
74
74
  TASK_COMPILE_SOLIDITY_RUN_SOLCJS,
75
75
  TASK_COMPILE_REMOVE_OBSOLETE_ARTIFACTS,
76
- TASK_COMPILE_TRANSLATE_IMPORT_NAME,
77
76
  } from "./task-names";
78
77
  import {
79
78
  getSolidityFilesCachePath,
@@ -158,18 +157,6 @@ subtask(TASK_COMPILE_SOLIDITY_READ_FILE)
158
157
  }
159
158
  );
160
159
 
161
- /**
162
- * This task is meant to be overriden by potential plugins
163
- * It allows to translate a given import name into a source name
164
- */
165
- subtask(TASK_COMPILE_TRANSLATE_IMPORT_NAME)
166
- .addParam("importName", undefined, undefined, types.string)
167
- .setAction(
168
- async ({ importName }: { importName: string }): Promise<string> => {
169
- return importName;
170
- }
171
- );
172
-
173
160
  /**
174
161
  * Receives a list of source names and returns a dependency graph. This task
175
162
  * is responsible for both resolving dependencies (like getting files from
@@ -191,9 +178,7 @@ subtask(TASK_COMPILE_SOLIDITY_GET_DEPENDENCY_GRAPH)
191
178
  config.paths.root,
192
179
  parser,
193
180
  (absolutePath: string) =>
194
- run(TASK_COMPILE_SOLIDITY_READ_FILE, { absolutePath }),
195
- (importName: string) =>
196
- run(TASK_COMPILE_TRANSLATE_IMPORT_NAME, { importName })
181
+ run(TASK_COMPILE_SOLIDITY_READ_FILE, { absolutePath })
197
182
  );
198
183
 
199
184
  const resolvedFiles = await Promise.all(
@@ -763,7 +748,7 @@ subtask(TASK_COMPILE_SOLIDITY_LOG_COMPILATION_ERRORS)
763
748
  }
764
749
  }
765
750
 
766
- const hasConsoleErrors = output.errors.some(isConsoleLogError);
751
+ const hasConsoleErrors: boolean = output.errors.some(isConsoleLogError);
767
752
  if (hasConsoleErrors) {
768
753
  console.error(
769
754
  chalk.red(
@@ -1493,9 +1478,7 @@ function needsCompilation(
1493
1478
  }
1494
1479
 
1495
1480
  function hasCompilationErrors(output: any): boolean {
1496
- return (
1497
- output.errors && output.errors.some((x: any) => x.severity === "error")
1498
- );
1481
+ return output.errors?.some((x: any) => x.severity === "error");
1499
1482
  }
1500
1483
 
1501
1484
  /**
@@ -19,12 +19,23 @@ function getSortedFiles(dependenciesGraph: DependencyGraph) {
19
19
  const tsort = require("tsort");
20
20
  const graph = tsort();
21
21
 
22
+ // sort the graph entries to make the results deterministic
23
+ const dependencies = dependenciesGraph
24
+ .entries()
25
+ .sort(([a], [b]) => a.sourceName.localeCompare(b.sourceName));
26
+
22
27
  const filesMap: ResolvedFilesMap = {};
23
- const resolvedFiles = dependenciesGraph.getResolvedFiles();
28
+ const resolvedFiles = dependencies.map(([file, _deps]) => file);
29
+
24
30
  resolvedFiles.forEach((f) => (filesMap[f.sourceName] = f));
25
31
 
26
- for (const [from, deps] of dependenciesGraph.entries()) {
27
- for (const to of deps) {
32
+ for (const [from, deps] of dependencies) {
33
+ // sort the dependencies to make the results deterministic
34
+ const sortedDeps = [...deps].sort((a, b) =>
35
+ a.sourceName.localeCompare(b.sourceName)
36
+ );
37
+
38
+ for (const to of sortedDeps) {
28
39
  graph.add(to.sourceName, from.sourceName);
29
40
  }
30
41
  }
@@ -12,8 +12,6 @@ export const TASK_COMPILE_SOLIDITY_GET_SOURCE_PATHS =
12
12
  export const TASK_COMPILE_SOLIDITY_GET_SOURCE_NAMES =
13
13
  "compile:solidity:get-source-names";
14
14
  export const TASK_COMPILE_SOLIDITY_READ_FILE = "compile:solidity:read-file";
15
- export const TASK_COMPILE_TRANSLATE_IMPORT_NAME =
16
- "compile:solidity:translate-import-name";
17
15
  export const TASK_COMPILE_SOLIDITY_GET_DEPENDENCY_GRAPH =
18
16
  "compile:solidity:get-dependency-graph";
19
17
  export const TASK_COMPILE_SOLIDITY_GET_COMPILATION_JOBS =
@@ -0,0 +1,259 @@
1
+ import {
2
+ Artifact,
3
+ ArtifactsSource,
4
+ BuildInfo,
5
+ CompilerInput,
6
+ CompilerOutput,
7
+ } from "../../types";
8
+
9
+ import { MutableSource } from "./mutable";
10
+
11
+ interface Cache {
12
+ artifactPaths?: string[];
13
+ debugFilePaths?: string[];
14
+ buildInfoPaths?: string[];
15
+ artifactNameToArtifactPathCache: Map<string, string>;
16
+ artifactFQNToBuildInfoPathCache: Map<string, string>;
17
+ artifactNameToArtifact: Map<string, Artifact>;
18
+ }
19
+
20
+ export class CachingSource extends MutableSource implements ArtifactsSource {
21
+ // Undefined means that the cache is disabled.
22
+ private _cache?: Cache = {
23
+ artifactNameToArtifactPathCache: new Map(),
24
+ artifactFQNToBuildInfoPathCache: new Map(),
25
+ artifactNameToArtifact: new Map(),
26
+ };
27
+
28
+ constructor(artifactsPath: string) {
29
+ super(artifactsPath);
30
+ }
31
+
32
+ public async readArtifact(name: string): Promise<Artifact | undefined> {
33
+ const cached = this._cache?.artifactNameToArtifact.get(name);
34
+ if (cached !== undefined) {
35
+ return cached;
36
+ }
37
+
38
+ const artifact = await super.readArtifact(name);
39
+ if (artifact === undefined) {
40
+ return undefined;
41
+ }
42
+
43
+ this._cache?.artifactNameToArtifact.set(name, artifact);
44
+
45
+ return artifact;
46
+ }
47
+
48
+ public readArtifactSync(name: string): Artifact | undefined {
49
+ const cached = this._cache?.artifactNameToArtifact.get(name);
50
+ if (cached !== undefined) {
51
+ return cached;
52
+ }
53
+
54
+ const artifact = super.readArtifactSync(name);
55
+ if (artifact === undefined) {
56
+ return undefined;
57
+ }
58
+
59
+ this._cache?.artifactNameToArtifact.set(name, artifact);
60
+
61
+ return artifact;
62
+ }
63
+
64
+ public async getBuildInfo(
65
+ fullyQualifiedName: string
66
+ ): Promise<BuildInfo | undefined> {
67
+ let buildInfoPath =
68
+ this._cache?.artifactFQNToBuildInfoPathCache.get(fullyQualifiedName);
69
+
70
+ if (buildInfoPath === undefined) {
71
+ buildInfoPath = await super._getBuildInfoPath(fullyQualifiedName);
72
+
73
+ if (buildInfoPath === undefined) {
74
+ return undefined;
75
+ }
76
+
77
+ this._cache?.artifactFQNToBuildInfoPathCache.set(
78
+ fullyQualifiedName,
79
+ buildInfoPath
80
+ );
81
+ }
82
+
83
+ return super._getBuildInfoByPath(buildInfoPath);
84
+ }
85
+
86
+ public getBuildInfoSync(fullyQualifiedName: string): BuildInfo | undefined {
87
+ let buildInfoPath =
88
+ this._cache?.artifactFQNToBuildInfoPathCache.get(fullyQualifiedName);
89
+
90
+ if (buildInfoPath === undefined) {
91
+ buildInfoPath = super._getBuildInfoPathSync(fullyQualifiedName);
92
+
93
+ if (buildInfoPath === undefined) {
94
+ return undefined;
95
+ }
96
+
97
+ this._cache?.artifactFQNToBuildInfoPathCache.set(
98
+ fullyQualifiedName,
99
+ buildInfoPath
100
+ );
101
+ }
102
+
103
+ return super._getBuildInfoByPathSync(buildInfoPath);
104
+ }
105
+
106
+ public async getArtifactPaths(): Promise<string[]> {
107
+ const cached = this._cache?.artifactPaths;
108
+ if (cached !== undefined) {
109
+ return cached;
110
+ }
111
+
112
+ const artifactPaths = await super.getArtifactPaths();
113
+
114
+ if (this._cache !== undefined) {
115
+ this._cache.artifactPaths = artifactPaths;
116
+ }
117
+
118
+ return artifactPaths;
119
+ }
120
+
121
+ public async getBuildInfoPaths(): Promise<string[]> {
122
+ const cached = this._cache?.buildInfoPaths;
123
+ if (cached !== undefined) {
124
+ return cached;
125
+ }
126
+
127
+ const buildInfoPaths = await super.getBuildInfoPaths();
128
+
129
+ if (this._cache !== undefined) {
130
+ this._cache.buildInfoPaths = buildInfoPaths;
131
+ }
132
+
133
+ return buildInfoPaths;
134
+ }
135
+
136
+ public async getDebugFilePaths(): Promise<string[]> {
137
+ const cached = this._cache?.debugFilePaths;
138
+ if (cached !== undefined) {
139
+ return cached;
140
+ }
141
+
142
+ const debugFilePaths = await super.getDebugFilePaths();
143
+
144
+ if (this._cache !== undefined) {
145
+ this._cache.debugFilePaths = debugFilePaths;
146
+ }
147
+
148
+ return debugFilePaths;
149
+ }
150
+
151
+ public async saveArtifactAndDebugFile(
152
+ artifact: Artifact,
153
+ pathToBuildInfo?: string
154
+ ) {
155
+ try {
156
+ await super.saveArtifactAndDebugFile(artifact, pathToBuildInfo);
157
+ } finally {
158
+ this.clearCache();
159
+ }
160
+ }
161
+
162
+ public async saveBuildInfo(
163
+ solcVersion: string,
164
+ solcLongVersion: string,
165
+ input: CompilerInput,
166
+ output: CompilerOutput
167
+ ): Promise<string> {
168
+ try {
169
+ return await super.saveBuildInfo(
170
+ solcVersion,
171
+ solcLongVersion,
172
+ input,
173
+ output
174
+ );
175
+ } finally {
176
+ this.clearCache();
177
+ }
178
+ }
179
+
180
+ /**
181
+ * Remove all artifacts that don't correspond to the current solidity files
182
+ */
183
+ public async removeObsoleteArtifacts() {
184
+ // We clear the cache here, as we want to be sure this runs correctly
185
+ this.clearCache();
186
+
187
+ try {
188
+ await super.removeObsoleteArtifacts();
189
+ } finally {
190
+ // We clear the cache here, as this may have non-existent paths now
191
+ this.clearCache();
192
+ }
193
+ }
194
+
195
+ public clearCache() {
196
+ // Avoid accidentally re-enabling the cache
197
+ if (this._cache === undefined) {
198
+ return;
199
+ }
200
+
201
+ this._cache = {
202
+ artifactFQNToBuildInfoPathCache: new Map(),
203
+ artifactNameToArtifactPathCache: new Map(),
204
+ artifactNameToArtifact: new Map(),
205
+ };
206
+ }
207
+
208
+ public disableCache() {
209
+ this._cache = undefined;
210
+ }
211
+
212
+ protected async _getArtifactPath(name: string): Promise<string | undefined> {
213
+ const cached = this._cache?.artifactNameToArtifactPathCache.get(name);
214
+ if (cached !== undefined) {
215
+ return cached;
216
+ }
217
+
218
+ const result = await super._getArtifactPath(name);
219
+ if (result === undefined) {
220
+ return undefined;
221
+ }
222
+
223
+ this._cache?.artifactNameToArtifactPathCache.set(name, result);
224
+ return result;
225
+ }
226
+
227
+ protected _getArtifactPathsSync(): string[] {
228
+ const cached = this._cache?.artifactPaths;
229
+ if (cached !== undefined) {
230
+ return cached;
231
+ }
232
+
233
+ const result = super._getArtifactPathsSync();
234
+
235
+ if (this._cache !== undefined) {
236
+ this._cache.artifactPaths = result;
237
+ }
238
+
239
+ return result;
240
+ }
241
+
242
+ /**
243
+ * Synchronous version of _getArtifactPath
244
+ */
245
+ protected _getArtifactPathSync(name: string): string | undefined {
246
+ const cached = this._cache?.artifactNameToArtifactPathCache.get(name);
247
+ if (cached !== undefined) {
248
+ return cached;
249
+ }
250
+
251
+ const result = super._getArtifactPathSync(name);
252
+ if (result === undefined) {
253
+ return undefined;
254
+ }
255
+
256
+ this._cache?.artifactNameToArtifactPathCache.set(name, result);
257
+ return result;
258
+ }
259
+ }