hardhat 2.12.4 → 2.12.6

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 (126) hide show
  1. package/builtin-tasks/compile.js +11 -2
  2. package/builtin-tasks/compile.js.map +1 -1
  3. package/builtin-tasks/flatten.js +10 -4
  4. package/builtin-tasks/flatten.js.map +1 -1
  5. package/builtin-tasks/help.js +2 -4
  6. package/builtin-tasks/help.js.map +1 -1
  7. package/builtin-tasks/task-names.d.ts +1 -0
  8. package/builtin-tasks/task-names.d.ts.map +1 -1
  9. package/builtin-tasks/task-names.js +3 -2
  10. package/builtin-tasks/task-names.js.map +1 -1
  11. package/internal/artifacts.d.ts.map +1 -1
  12. package/internal/artifacts.js +6 -10
  13. package/internal/artifacts.js.map +1 -1
  14. package/internal/cli/cli.js +3 -8
  15. package/internal/cli/cli.js.map +1 -1
  16. package/internal/cli/project-creation.d.ts +0 -1
  17. package/internal/cli/project-creation.d.ts.map +1 -1
  18. package/internal/cli/project-creation.js +20 -16
  19. package/internal/cli/project-creation.js.map +1 -1
  20. package/internal/cli/prompt.d.ts +2 -2
  21. package/internal/cli/prompt.d.ts.map +1 -1
  22. package/internal/cli/prompt.js +1 -2
  23. package/internal/cli/prompt.js.map +1 -1
  24. package/internal/cli/types.d.ts +1 -0
  25. package/internal/cli/types.d.ts.map +1 -1
  26. package/internal/core/config/config-resolution.d.ts.map +1 -1
  27. package/internal/core/config/config-resolution.js +2 -1
  28. package/internal/core/config/config-resolution.js.map +1 -1
  29. package/internal/core/errors-list.d.ts +7 -0
  30. package/internal/core/errors-list.d.ts.map +1 -1
  31. package/internal/core/errors-list.js +84 -75
  32. package/internal/core/errors-list.js.map +1 -1
  33. package/internal/core/flamegraph.js +10 -10
  34. package/internal/core/providers/backwards-compatibility.d.ts.map +1 -1
  35. package/internal/core/providers/backwards-compatibility.js +3 -0
  36. package/internal/core/providers/backwards-compatibility.js.map +1 -1
  37. package/internal/core/providers/gas-providers.d.ts +1 -1
  38. package/internal/core/providers/gas-providers.d.ts.map +1 -1
  39. package/internal/core/providers/gas-providers.js +1 -1
  40. package/internal/core/providers/gas-providers.js.map +1 -1
  41. package/internal/core/providers/http.js +1 -1
  42. package/internal/core/providers/http.js.map +1 -1
  43. package/internal/core/runtime-environment.d.ts +1 -0
  44. package/internal/core/runtime-environment.d.ts.map +1 -1
  45. package/internal/core/runtime-environment.js +2 -0
  46. package/internal/core/runtime-environment.js.map +1 -1
  47. package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
  48. package/internal/hardhat-network/jsonrpc/client.js +5 -3
  49. package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
  50. package/internal/hardhat-network/provider/modules/eth.js +4 -4
  51. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts.map +1 -1
  52. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +4 -2
  53. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
  54. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts.map +1 -1
  55. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +4 -2
  56. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
  57. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts.map +1 -1
  58. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +4 -2
  59. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
  60. package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts +7 -0
  61. package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts.map +1 -0
  62. package/internal/hardhat-network/provider/utils/makeFakeSignature.js +31 -0
  63. package/internal/hardhat-network/provider/utils/makeFakeSignature.js.map +1 -0
  64. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts.map +1 -1
  65. package/internal/hardhat-network/stack-traces/error-inferrer.js +2 -5
  66. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
  67. package/internal/hardhat-network/stack-traces/solidity-errors.d.ts.map +1 -1
  68. package/internal/hardhat-network/stack-traces/solidity-errors.js +2 -1
  69. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  70. package/internal/solidity/dependencyGraph.d.ts.map +1 -1
  71. package/internal/solidity/dependencyGraph.js +2 -0
  72. package/internal/solidity/dependencyGraph.js.map +1 -1
  73. package/internal/solidity/resolver.d.ts +4 -3
  74. package/internal/solidity/resolver.d.ts.map +1 -1
  75. package/internal/solidity/resolver.js +18 -7
  76. package/internal/solidity/resolver.js.map +1 -1
  77. package/internal/util/console.d.ts.map +1 -1
  78. package/internal/util/console.js +1 -1
  79. package/internal/util/console.js.map +1 -1
  80. package/internal/util/download.d.ts +3 -1
  81. package/internal/util/download.d.ts.map +1 -1
  82. package/internal/util/download.js +3 -2
  83. package/internal/util/download.js.map +1 -1
  84. package/internal/util/packageInfo.d.ts +1 -1
  85. package/internal/util/packageInfo.d.ts.map +1 -1
  86. package/internal/util/packageInfo.js +4 -10
  87. package/internal/util/packageInfo.js.map +1 -1
  88. package/package.json +3 -3
  89. package/src/builtin-tasks/compile.ts +18 -5
  90. package/src/builtin-tasks/flatten.ts +18 -4
  91. package/src/builtin-tasks/help.ts +15 -16
  92. package/src/builtin-tasks/task-names.ts +2 -0
  93. package/src/internal/artifacts.ts +6 -15
  94. package/src/internal/cli/cli.ts +6 -12
  95. package/src/internal/cli/project-creation.ts +21 -21
  96. package/src/internal/cli/prompt.ts +2 -4
  97. package/src/internal/cli/types.ts +2 -0
  98. package/src/internal/core/config/config-resolution.ts +4 -3
  99. package/src/internal/core/errors-list.ts +85 -75
  100. package/src/internal/core/flamegraph.ts +10 -10
  101. package/src/internal/core/jsonrpc/types/output/metadata.ts +3 -3
  102. package/src/internal/core/providers/backwards-compatibility.ts +3 -0
  103. package/src/internal/core/providers/gas-providers.ts +1 -1
  104. package/src/internal/core/providers/http.ts +1 -1
  105. package/src/internal/core/runtime-environment.ts +3 -0
  106. package/src/internal/hardhat-network/jsonrpc/client.ts +7 -4
  107. package/src/internal/hardhat-network/provider/modules/eth.ts +4 -4
  108. package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +5 -2
  109. package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +5 -2
  110. package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +5 -2
  111. package/src/internal/hardhat-network/provider/utils/makeFakeSignature.ts +46 -0
  112. package/src/internal/hardhat-network/stack-traces/compiler-to-model.ts +2 -2
  113. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +2 -6
  114. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +3 -1
  115. package/src/internal/solidity/compiler/downloader.ts +1 -1
  116. package/src/internal/solidity/dependencyGraph.ts +2 -0
  117. package/src/internal/solidity/resolver.ts +28 -11
  118. package/src/internal/util/console.ts +4 -2
  119. package/src/internal/util/download.ts +4 -2
  120. package/src/internal/util/packageInfo.ts +9 -10
  121. package/src/types/artifacts.ts +1 -0
  122. package/src/types/runtime.ts +1 -0
  123. package/types/artifacts.d.ts +1 -0
  124. package/types/artifacts.d.ts.map +1 -1
  125. package/types/runtime.d.ts +1 -0
  126. package/types/runtime.d.ts.map +1 -1
@@ -6,10 +6,10 @@ export interface HardhatMetadata {
6
6
  // The chain's id. Used to sign transactions.
7
7
  chainId: number;
8
8
 
9
- // A 0x-prefixed hex-encoded 32 bytes id which uniquiely identifies an instance/run
9
+ // A 0x-prefixed hex-encoded 32 bytes id which uniquely identifies an instance/run
10
10
  // of Hardhat Network. Running Hardhat Network more than once (even with the same version
11
- // and parameters) would always result in different `instanceId`s.
12
- // Running `hardhat_reset` would change the `instanceId` of an existing Hardhat Network.
11
+ // and parameters) will always result in different `instanceId`s.
12
+ // Running `hardhat_reset` will change the `instanceId` of an existing Hardhat Network.
13
13
  instanceId: string;
14
14
 
15
15
  // The latest block's number in Hardhat Network
@@ -63,6 +63,9 @@ export class BackwardsCompatibilityProviderAdapter
63
63
  }
64
64
 
65
65
  response.error = {
66
+ // This might be a mistake, but I'm leaving it as is just in case,
67
+ // because it's not obvious what we should do here.
68
+ // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
66
69
  code: error.code ? +error.code : -1,
67
70
  message: error.message,
68
71
  data: {
@@ -143,7 +143,7 @@ export class AutomaticGasPriceProvider extends ProviderWrapper {
143
143
  3n;
144
144
 
145
145
  // See eth_feeHistory for an explanation of what this means
146
- public static readonly EIP1559_REWARD_PERCENTILE: bigint = 50n;
146
+ public static readonly EIP1559_REWARD_PERCENTILE = 50;
147
147
 
148
148
  private _nodeHasFeeHistory?: boolean;
149
149
  private _nodeSupportsEIP1559?: boolean;
@@ -175,7 +175,7 @@ export class HttpProvider extends EventEmitter implements EIP1193Provider {
175
175
  : this._timeout,
176
176
  headers: {
177
177
  "Content-Type": "application/json",
178
- "User-Agent": `hardhat ${hardhatVersion ?? "(unknown version)"}`,
178
+ "User-Agent": `hardhat ${hardhatVersion}`,
179
179
  Authorization: this._authHeader,
180
180
  ...this._extraHeaders,
181
181
  },
@@ -20,6 +20,7 @@ import { Artifacts } from "../artifacts";
20
20
  import { MessageTrace } from "../hardhat-network/stack-traces/message-trace";
21
21
  import { lazyObject } from "../util/lazy";
22
22
 
23
+ import { getHardhatVersion } from "../util/packageInfo";
23
24
  import { analyzeModuleNotFoundError } from "./config/config-loading";
24
25
  import { HardhatError } from "./errors";
25
26
  import { ERRORS } from "./errors-list";
@@ -50,6 +51,8 @@ export class Environment implements HardhatRuntimeEnvironment {
50
51
 
51
52
  public entryTaskProfile?: TaskProfile;
52
53
 
54
+ public version: string = getHardhatVersion();
55
+
53
56
  /**
54
57
  * Initializes the Hardhat Runtime Environment and the given
55
58
  * extender functions.
@@ -359,7 +359,8 @@ export class JsonRpcClient {
359
359
  }
360
360
 
361
361
  // This is a workaround for this TurboGeth bug: https://github.com/ledgerwatch/turbo-geth/issues/1645
362
- if (err.code === -32000 && err.message.includes("not found")) {
362
+ const errMessage: string = err.message;
363
+ if (err.code === -32000 && errMessage.includes("not found")) {
363
364
  return null;
364
365
  }
365
366
 
@@ -383,10 +384,12 @@ export class JsonRpcClient {
383
384
  }
384
385
  }
385
386
 
386
- private _shouldRetry(isRetryCall: boolean, err: any) {
387
+ private _shouldRetry(isRetryCall: boolean, err: any): boolean {
388
+ const errMessage: string = err.message;
389
+
387
390
  const isRetriableError =
388
- err.message.includes("header not found") ||
389
- err.message.includes("connect ETIMEDOUT");
391
+ errMessage.includes("header not found") ||
392
+ errMessage.includes("connect ETIMEDOUT");
390
393
 
391
394
  const isServiceUrl =
392
395
  this._httpProvider.url.includes("infura") ||
@@ -1683,7 +1683,7 @@ export class EthModule {
1683
1683
  rpcRequest.maxPriorityFeePerGas !== undefined) &&
1684
1684
  !this._common.gteHardfork(EIP1559_MIN_HARDFORK)
1685
1685
  ) {
1686
- throw new InvalidArgumentsError(`EIP-1559 style fee params (maxFeePerGas or maxPriorityFeePerGas) received but they are not supported by the current hardfork.
1686
+ throw new InvalidArgumentsError(`EIP-1559 style fee params (maxFeePerGas or maxPriorityFeePerGas) received but they are not supported by the current hardfork.
1687
1687
 
1688
1688
  You can use them by running Hardhat Network with 'hardfork' ${EIP1559_MIN_HARDFORK} or later.`);
1689
1689
  }
@@ -1694,8 +1694,8 @@ You can use them by running Hardhat Network with 'hardfork' ${EIP1559_MIN_HARDFO
1694
1694
  rpcRequest.accessList !== undefined &&
1695
1695
  !this._common.gteHardfork(ACCESS_LIST_MIN_HARDFORK)
1696
1696
  ) {
1697
- throw new InvalidArgumentsError(`Access list received but is not supported by the current hardfork.
1698
-
1697
+ throw new InvalidArgumentsError(`Access list received but is not supported by the current hardfork.
1698
+
1699
1699
  You can use them by running Hardhat Network with 'hardfork' ${ACCESS_LIST_MIN_HARDFORK} or later.`);
1700
1700
  }
1701
1701
 
@@ -1736,7 +1736,7 @@ You can use them by running Hardhat Network with 'hardfork' ${ACCESS_LIST_MIN_HA
1736
1736
  }
1737
1737
 
1738
1738
  if (!this._common.gteHardfork(EIP155_MIN_HARDFORK)) {
1739
- throw new InvalidArgumentsError(`Trying to send an EIP-155 transaction, but they are not supported by the current hardfork.
1739
+ throw new InvalidArgumentsError(`Trying to send an EIP-155 transaction, but they are not supported by the current hardfork.
1740
1740
 
1741
1741
  You can use them by running Hardhat Network with 'hardfork' ${EIP155_MIN_HARDFORK} or later.`);
1742
1742
  }
@@ -16,6 +16,7 @@ import {
16
16
  InternalError,
17
17
  InvalidArgumentsError,
18
18
  } from "../../../core/providers/errors";
19
+ import { makeFakeSignature } from "../utils/makeFakeSignature";
19
20
 
20
21
  /* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
21
22
 
@@ -124,12 +125,14 @@ export class FakeSenderAccessListEIP2930Transaction extends AccessListEIP2930Tra
124
125
  data: AccessListEIP2930TxData = {},
125
126
  opts?: TxOptions
126
127
  ) {
128
+ const fakeSignature = makeFakeSignature(data, sender);
129
+
127
130
  super(
128
131
  {
129
132
  ...data,
130
133
  v: data.v ?? 1,
131
- r: data.r ?? 1,
132
- s: data.s ?? 2,
134
+ r: data.r ?? fakeSignature.r,
135
+ s: data.s ?? fakeSignature.s,
133
136
  },
134
137
  { ...opts, freeze: false }
135
138
  );
@@ -15,6 +15,7 @@ import {
15
15
  InternalError,
16
16
  InvalidArgumentsError,
17
17
  } from "../../../core/providers/errors";
18
+ import { makeFakeSignature } from "../utils/makeFakeSignature";
18
19
 
19
20
  /* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
20
21
 
@@ -123,12 +124,14 @@ export class FakeSenderEIP1559Transaction extends FeeMarketEIP1559Transaction {
123
124
  data: FeeMarketEIP1559TxData = {},
124
125
  opts?: TxOptions
125
126
  ) {
127
+ const fakeSignature = makeFakeSignature(data, sender);
128
+
126
129
  super(
127
130
  {
128
131
  ...data,
129
132
  v: data.v ?? 1,
130
- r: data.r ?? 1,
131
- s: data.s ?? 2,
133
+ r: data.r ?? fakeSignature.r,
134
+ s: data.s ?? fakeSignature.s,
132
135
  },
133
136
  { ...opts, freeze: false }
134
137
  );
@@ -7,6 +7,7 @@ import {
7
7
  InternalError,
8
8
  InvalidArgumentsError,
9
9
  } from "../../../core/providers/errors";
10
+ import { makeFakeSignature } from "../utils/makeFakeSignature";
10
11
 
11
12
  /* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
12
13
 
@@ -97,12 +98,14 @@ export class FakeSenderTransaction extends Transaction {
97
98
  private readonly _sender: Address;
98
99
 
99
100
  constructor(sender: Address, data: TxData = {}, opts?: TxOptions) {
101
+ const fakeSignature = makeFakeSignature(data, sender);
102
+
100
103
  super(
101
104
  {
102
105
  ...data,
103
106
  v: data.v ?? 27,
104
- r: data.r ?? 1,
105
- s: data.s ?? 2,
107
+ r: data.r ?? fakeSignature.r,
108
+ s: data.s ?? fakeSignature.s,
106
109
  },
107
110
  { ...opts, freeze: false }
108
111
  );
@@ -0,0 +1,46 @@
1
+ import {
2
+ AccessListEIP2930Transaction,
3
+ FeeMarketEIP1559Transaction,
4
+ TxData,
5
+ } from "@nomicfoundation/ethereumjs-tx";
6
+ import { Address } from "@nomicfoundation/ethereumjs-util";
7
+
8
+ import { createNonCryptographicHashBasedIdentifier } from "../../../util/hash";
9
+
10
+ // Produces a signature with r and s values taken from a hash of the inputs.
11
+ export function makeFakeSignature(
12
+ tx: TxData | AccessListEIP2930Transaction | FeeMarketEIP1559Transaction,
13
+ sender: Address
14
+ ): {
15
+ r: number;
16
+ s: number;
17
+ } {
18
+ const hashInputString = [
19
+ sender,
20
+ tx.nonce,
21
+ tx.gasLimit,
22
+ tx.value,
23
+ tx.to,
24
+ tx.data,
25
+ "gasPrice" in tx ? tx.gasPrice : "",
26
+ "chainId" in tx ? tx.chainId : "",
27
+ "maxPriorityFeePerGas" in tx ? tx.maxPriorityFeePerGas : "",
28
+ "maxFeePerGas" in tx ? tx.maxFeePerGas : "",
29
+ "accessList" in tx
30
+ ? tx.accessList?.map(([buf, bufs]) =>
31
+ [buf, ...bufs].map((b) => b.toString("hex")).join(";")
32
+ )
33
+ : "",
34
+ ]
35
+ .map((a) => a?.toString() ?? "")
36
+ .join(",");
37
+
38
+ const hashDigest = createNonCryptographicHashBasedIdentifier(
39
+ Buffer.from(hashInputString)
40
+ );
41
+
42
+ return {
43
+ r: hashDigest.readUInt32LE(),
44
+ s: hashDigest.readUInt32LE(4),
45
+ };
46
+ }
@@ -539,7 +539,7 @@ function astFunctionDefinitionToSelector(functionDefinition: any): Buffer {
539
539
  return abi.methodID(functionDefinition.name, paramTypes);
540
540
  }
541
541
 
542
- function isContractType(param: any) {
542
+ function isContractType(param: any): boolean {
543
543
  return (
544
544
  (param.typeName?.nodeType === "UserDefinedTypeName" ||
545
545
  param?.nodeType === "UserDefinedTypeName") &&
@@ -548,7 +548,7 @@ function isContractType(param: any) {
548
548
  );
549
549
  }
550
550
 
551
- function isEnumType(param: any) {
551
+ function isEnumType(param: any): boolean {
552
552
  return (
553
553
  (param.typeName?.nodeType === "UserDefinedTypeName" ||
554
554
  param?.nodeType === "UserDefinedTypeName") &&
@@ -519,12 +519,8 @@ export class ErrorInferrer {
519
519
  return;
520
520
  }
521
521
 
522
- let errorMessage = "reverted with an unrecognized custom error";
523
-
524
- const selector = returnData.getSelector();
525
- if (selector !== undefined) {
526
- errorMessage += ` with selector ${selector}`;
527
- }
522
+ const rawReturnData = returnData.value.toString("hex");
523
+ let errorMessage = `reverted with an unrecognized custom error (return data: 0x${rawReturnData})`;
528
524
 
529
525
  for (const customError of trace.bytecode.contract.customErrors) {
530
526
  if (returnData.matchesSelector(customError.selector)) {
@@ -271,7 +271,9 @@ function getMessageFromLastStackTraceEntry(
271
271
  }
272
272
 
273
273
  if (!stackTraceEntry.message.isEmpty()) {
274
- return `VM Exception while processing transaction: reverted with an unrecognized custom error`;
274
+ const returnData = stackTraceEntry.message.value.toString("hex");
275
+
276
+ return `VM Exception while processing transaction: reverted with an unrecognized custom error (return data: 0x${returnData})`;
275
277
  }
276
278
 
277
279
  if (stackTraceEntry.isInvalidOpcodeError) {
@@ -347,7 +347,7 @@ export class CompilerDownloader implements ICompilerDownloader {
347
347
  await fsExtra.createFile(this._getCompilerDoesntWorkFile(build));
348
348
  }
349
349
 
350
- private async _checkNativeSolc(build: CompilerBuild) {
350
+ private async _checkNativeSolc(build: CompilerBuild): Promise<boolean> {
351
351
  const solcPath = this._getCompilerBinaryPathFromBuild(build);
352
352
  const execFileP = promisify(execFile);
353
353
 
@@ -9,6 +9,7 @@ export class DependencyGraph implements taskTypes.DependencyGraph {
9
9
  ): Promise<DependencyGraph> {
10
10
  const graph = new DependencyGraph();
11
11
 
12
+ // TODO refactor this to make the results deterministic
12
13
  await Promise.all(
13
14
  resolvedFiles.map((resolvedFile) =>
14
15
  graph._addDependenciesFrom(resolver, resolvedFile)
@@ -169,6 +170,7 @@ export class DependencyGraph implements taskTypes.DependencyGraph {
169
170
  this._resolvedFiles.set(file.sourceName, file);
170
171
  this._dependenciesPerFile.set(file.sourceName, dependencies);
171
172
 
173
+ // TODO refactor this to make the results deterministic
172
174
  await Promise.all(
173
175
  file.content.imports.map(async (imp) => {
174
176
  const dependency = await resolver.resolveImport(file, imp);
@@ -69,7 +69,10 @@ export class Resolver {
69
69
  constructor(
70
70
  private readonly _projectRoot: string,
71
71
  private readonly _parser: Parser,
72
- private readonly _readFile: (absolutePath: string) => Promise<string>
72
+ private readonly _readFile: (absolutePath: string) => Promise<string>,
73
+ private readonly _transformImportName: (
74
+ importName: string
75
+ ) => Promise<string>
73
76
  ) {}
74
77
 
75
78
  /**
@@ -100,12 +103,14 @@ export class Resolver {
100
103
  /**
101
104
  * Resolves an import from an already resolved file.
102
105
  * @param from The file were the import statement is present.
103
- * @param imported The path in the import statement.
106
+ * @param importName The path in the import statement.
104
107
  */
105
108
  public async resolveImport(
106
109
  from: ResolvedFile,
107
- imported: string
110
+ importName: string
108
111
  ): Promise<ResolvedFile> {
112
+ const imported = await this._transformImportName(importName);
113
+
109
114
  const scheme = this._getUriScheme(imported);
110
115
  if (scheme !== undefined) {
111
116
  throw new HardhatError(ERRORS.RESOLVER.INVALID_IMPORT_PROTOCOL, {
@@ -182,14 +187,26 @@ export class Resolver {
182
187
  ERRORS.RESOLVER.LIBRARY_FILE_NOT_FOUND
183
188
  )
184
189
  ) {
185
- throw new HardhatError(
186
- ERRORS.RESOLVER.IMPORTED_FILE_NOT_FOUND,
187
- {
188
- imported,
189
- from: from.sourceName,
190
- },
191
- error
192
- );
190
+ if (imported !== importName) {
191
+ throw new HardhatError(
192
+ ERRORS.RESOLVER.IMPORTED_MAPPED_FILE_NOT_FOUND,
193
+ {
194
+ imported,
195
+ importName,
196
+ from: from.sourceName,
197
+ },
198
+ error
199
+ );
200
+ } else {
201
+ throw new HardhatError(
202
+ ERRORS.RESOLVER.IMPORTED_FILE_NOT_FOUND,
203
+ {
204
+ imported,
205
+ from: from.sourceName,
206
+ },
207
+ error
208
+ );
209
+ }
193
210
  }
194
211
 
195
212
  if (
@@ -1,3 +1,5 @@
1
+ import type ReplT from "repl";
2
+
1
3
  export function isNodeCalledWithoutAScript() {
2
4
  const script = process.argv[1];
3
5
  return script === undefined || script.trim() === "";
@@ -9,9 +11,9 @@ export function isNodeCalledWithoutAScript() {
9
11
  * so we disable it in hardhat/register.
10
12
  */
11
13
  export function disableReplWriterShowProxy() {
12
- const repl = require("repl");
14
+ const repl = require("repl") as typeof ReplT;
13
15
 
14
- if (repl.writer.options) {
16
+ if (repl.writer.options !== undefined) {
15
17
  Object.defineProperty(repl.writer.options, "showProxy", {
16
18
  value: false,
17
19
  writable: false,
@@ -20,7 +20,8 @@ function resolveTempFileName(filePath: string): string {
20
20
  export async function download(
21
21
  url: string,
22
22
  filePath: string,
23
- timeoutMillis = 10000
23
+ timeoutMillis = 10000,
24
+ extraHeaders: { [name: string]: string } = {}
24
25
  ) {
25
26
  const { pipeline } = await import("stream");
26
27
  const { getGlobalDispatcher, ProxyAgent, request } = await import("undici");
@@ -47,7 +48,8 @@ export async function download(
47
48
  maxRedirections: 10,
48
49
  method: "GET",
49
50
  headers: {
50
- "User-Agent": `hardhat ${hardhatVersion ?? "(unknown version)"}`,
51
+ ...extraHeaders,
52
+ "User-Agent": `hardhat ${hardhatVersion}`,
51
53
  },
52
54
  });
53
55
 
@@ -2,6 +2,8 @@ import findup from "find-up";
2
2
  import fsExtra from "fs-extra";
3
3
  import path from "path";
4
4
 
5
+ import { assertHardhatInvariant } from "../core/errors";
6
+
5
7
  export function getPackageJsonPath(): string {
6
8
  return findClosestPackageJson(__filename)!;
7
9
  }
@@ -38,17 +40,14 @@ export async function getPackageJson(): Promise<PackageJson> {
38
40
  return fsExtra.readJSON(path.join(root, "package.json"));
39
41
  }
40
42
 
41
- export function getHardhatVersion(): string | null {
43
+ export function getHardhatVersion(): string {
42
44
  const packageJsonPath = findClosestPackageJson(__filename);
43
45
 
44
- if (packageJsonPath === null) {
45
- return null;
46
- }
46
+ assertHardhatInvariant(
47
+ packageJsonPath !== null,
48
+ "There should be a package.json in hardhat-core's root directory"
49
+ );
47
50
 
48
- try {
49
- const packageJson = fsExtra.readJsonSync(packageJsonPath);
50
- return packageJson.version;
51
- } catch {
52
- return null;
53
- }
51
+ const packageJson = fsExtra.readJsonSync(packageJsonPath);
52
+ return packageJson.version;
54
53
  }
@@ -195,6 +195,7 @@ export interface CompilerInput {
195
195
  [libraryName: string]: string;
196
196
  };
197
197
  };
198
+ remappings?: string[];
198
199
  };
199
200
  }
200
201
 
@@ -194,6 +194,7 @@ export interface HardhatRuntimeEnvironment {
194
194
  readonly run: RunTaskFunction;
195
195
  readonly network: Network;
196
196
  readonly artifacts: Artifacts;
197
+ readonly version: string;
197
198
  }
198
199
 
199
200
  export interface Network {
@@ -181,6 +181,7 @@ export interface CompilerInput {
181
181
  [libraryName: string]: string;
182
182
  };
183
183
  };
184
+ remappings?: string[];
184
185
  };
185
186
  }
186
187
  export interface CompilerOutputContract {
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/types/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../src/types/artifacts.ts"],"names":[],"mappings":"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"}
@@ -121,6 +121,7 @@ export interface HardhatRuntimeEnvironment {
121
121
  readonly run: RunTaskFunction;
122
122
  readonly network: Network;
123
123
  readonly artifacts: Artifacts;
124
+ readonly version: string;
124
125
  }
125
126
  export interface Network {
126
127
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/types/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/types/runtime.ts"],"names":[],"mappings":"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"}