hardhat 2.17.1 → 2.17.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 (87) hide show
  1. package/builtin-tasks/compile.js +28 -4
  2. package/builtin-tasks/compile.js.map +1 -1
  3. package/builtin-tasks/task-names.d.ts +1 -0
  4. package/builtin-tasks/task-names.d.ts.map +1 -1
  5. package/builtin-tasks/task-names.js +3 -2
  6. package/builtin-tasks/task-names.js.map +1 -1
  7. package/internal/artifacts.d.ts +28 -0
  8. package/internal/artifacts.d.ts.map +1 -1
  9. package/internal/artifacts.js +39 -1
  10. package/internal/artifacts.js.map +1 -1
  11. package/internal/cli/project-creation.js +1 -1
  12. package/internal/core/errors-list.d.ts +28 -0
  13. package/internal/core/errors-list.d.ts.map +1 -1
  14. package/internal/core/errors-list.js +34 -0
  15. package/internal/core/errors-list.js.map +1 -1
  16. package/internal/core/jsonrpc/types/base-types.d.ts +1 -0
  17. package/internal/core/jsonrpc/types/base-types.d.ts.map +1 -1
  18. package/internal/core/jsonrpc/types/base-types.js +8 -1
  19. package/internal/core/jsonrpc/types/base-types.js.map +1 -1
  20. package/internal/core/jsonrpc/types/input/callRequest.d.ts +60 -0
  21. package/internal/core/jsonrpc/types/input/callRequest.d.ts.map +1 -1
  22. package/internal/core/jsonrpc/types/input/callRequest.js +13 -1
  23. package/internal/core/jsonrpc/types/input/callRequest.js.map +1 -1
  24. package/internal/core/providers/construction.d.ts.map +1 -1
  25. package/internal/core/providers/construction.js +1 -0
  26. package/internal/core/providers/construction.js.map +1 -1
  27. package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
  28. package/internal/hardhat-network/provider/fork/ForkBlockchain.js +13 -1
  29. package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
  30. package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -1
  31. package/internal/hardhat-network/provider/modules/eth.js +3 -3
  32. package/internal/hardhat-network/provider/modules/eth.js.map +1 -1
  33. package/internal/hardhat-network/provider/node-types.d.ts +1 -0
  34. package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
  35. package/internal/hardhat-network/provider/node.d.ts +8 -1
  36. package/internal/hardhat-network/provider/node.d.ts.map +1 -1
  37. package/internal/hardhat-network/provider/node.js +65 -6
  38. package/internal/hardhat-network/provider/node.js.map +1 -1
  39. package/internal/hardhat-network/provider/provider.d.ts +1 -0
  40. package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
  41. package/internal/hardhat-network/provider/provider.js +1 -0
  42. package/internal/hardhat-network/provider/provider.js.map +1 -1
  43. package/internal/hardhat-network/provider/utils/makeCommon.d.ts +1 -1
  44. package/internal/hardhat-network/provider/utils/makeCommon.d.ts.map +1 -1
  45. package/internal/hardhat-network/provider/utils/makeCommon.js +3 -1
  46. package/internal/hardhat-network/provider/utils/makeCommon.js.map +1 -1
  47. package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts.map +1 -1
  48. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +8 -8
  49. package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
  50. package/internal/solidity/dependencyGraph.d.ts.map +1 -1
  51. package/internal/solidity/dependencyGraph.js +13 -3
  52. package/internal/solidity/dependencyGraph.js.map +1 -1
  53. package/internal/solidity/resolver.d.ts +2 -1
  54. package/internal/solidity/resolver.d.ts.map +1 -1
  55. package/internal/solidity/resolver.js +31 -17
  56. package/internal/solidity/resolver.js.map +1 -1
  57. package/package.json +12 -11
  58. package/src/builtin-tasks/compile.ts +33 -4
  59. package/src/builtin-tasks/task-names.ts +1 -0
  60. package/src/internal/artifacts.ts +40 -1
  61. package/src/internal/cli/project-creation.ts +1 -1
  62. package/src/internal/core/errors-list.ts +38 -0
  63. package/src/internal/core/jsonrpc/types/base-types.ts +15 -0
  64. package/src/internal/core/jsonrpc/types/input/callRequest.ts +35 -1
  65. package/src/internal/core/providers/construction.ts +2 -0
  66. package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +24 -4
  67. package/src/internal/hardhat-network/provider/modules/eth.ts +18 -4
  68. package/src/internal/hardhat-network/provider/node-types.ts +1 -0
  69. package/src/internal/hardhat-network/provider/node.ts +110 -6
  70. package/src/internal/hardhat-network/provider/provider.ts +2 -0
  71. package/src/internal/hardhat-network/provider/utils/makeCommon.ts +9 -1
  72. package/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts +12 -10
  73. package/src/internal/solidity/dependencyGraph.ts +15 -3
  74. package/src/internal/solidity/resolver.ts +58 -16
  75. package/src/types/config.ts +2 -0
  76. package/src/utils/contract-names.ts +1 -0
  77. package/src/utils/remappings.ts +17 -0
  78. package/types/config.d.ts +2 -0
  79. package/types/config.d.ts.map +1 -1
  80. package/utils/contract-names.d.ts +1 -0
  81. package/utils/contract-names.d.ts.map +1 -1
  82. package/utils/contract-names.js +1 -0
  83. package/utils/contract-names.js.map +1 -1
  84. package/utils/remappings.d.ts +2 -0
  85. package/utils/remappings.d.ts.map +1 -0
  86. package/utils/remappings.js +15 -0
  87. package/utils/remappings.js.map +1 -0
@@ -2,12 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeCommon = void 0;
4
4
  const ethereumjs_common_1 = require("@nomicfoundation/ethereumjs-common");
5
- function makeCommon({ chainId, networkId, hardfork }) {
5
+ function makeCommon({ chainId, networkId, hardfork, enableTransientStorage, }) {
6
+ const otherSettings = enableTransientStorage ? { eips: [1153] } : {};
6
7
  const common = ethereumjs_common_1.Common.custom({
7
8
  chainId,
8
9
  networkId,
9
10
  }, {
10
11
  hardfork,
12
+ ...otherSettings,
11
13
  });
12
14
  return common;
13
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"makeCommon.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeCommon.ts"],"names":[],"mappings":";;;AAAA,0EAA4D;AAI5D,SAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAmB;IAC1E,MAAM,MAAM,GAAG,0BAAM,CAAC,MAAM,CAC1B;QACE,OAAO;QACP,SAAS;KACV,EACD;QACE,QAAQ;KACT,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,gCAYC"}
1
+ {"version":3,"file":"makeCommon.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeCommon.ts"],"names":[],"mappings":";;;AAAA,0EAA4D;AAI5D,SAAgB,UAAU,CAAC,EACzB,OAAO,EACP,SAAS,EACT,QAAQ,EACR,sBAAsB,GACN;IAChB,MAAM,aAAa,GAAG,sBAAsB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAErE,MAAM,MAAM,GAAG,0BAAM,CAAC,MAAM,CAC1B;QACE,OAAO;QACP,SAAS;KACV,EACD;QACE,QAAQ;QACR,GAAG,aAAa;KACjB,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AApBD,gCAoBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"vm-debug-tracer.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAYlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,OAAO,EAAE,mBAAmB,EAAgB,MAAM,oBAAoB,CAAC;AAoCvE,qBAAa,aAAa;IASZ,OAAO,CAAC,QAAQ,CAAC,GAAG;IARhC,OAAO,CAAC,UAAU,CAAC,CAAsB;IACzC,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,iBAAiB,CAA+B;IAExD,OAAO,CAAC,MAAM,CAAM;gBAES,GAAG,EAAE,EAAE;IAQpC;;OAEG;IACU,KAAK,CAChB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC3B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IAiB/B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,cAAc;YASR,gBAAgB;YAOhB,qBAAqB;YAiBrB,YAAY;YAmBZ,oBAAoB;YAYpB,eAAe;YAgDf,0BAA0B;IA2ExC,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,SAAS;YAOH,gBAAgB;IA2I9B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,gBAAgB;YAIV,eAAe;IA2C7B,OAAO,CAAC,QAAQ;IAgBhB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,UAAU;CAQnB"}
1
+ {"version":3,"file":"vm-debug-tracer.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAYlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,OAAO,EAAE,mBAAmB,EAAgB,MAAM,oBAAoB,CAAC;AAoCvE,qBAAa,aAAa;IASZ,OAAO,CAAC,QAAQ,CAAC,GAAG;IARhC,OAAO,CAAC,UAAU,CAAC,CAAsB;IACzC,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,iBAAiB,CAA+B;IAExD,OAAO,CAAC,MAAM,CAAM;gBAES,GAAG,EAAE,EAAE;IAQpC;;OAEG;IACU,KAAK,CAChB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC3B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IAiB/B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,cAAc;YASR,gBAAgB;YAOhB,qBAAqB;YAiBrB,YAAY;YAmBZ,oBAAoB;YAYpB,eAAe;YAgDf,0BAA0B;IA6ExC,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,SAAS;YAOH,gBAAgB;IA2I9B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,gBAAgB;YAIV,eAAe;IA2C7B,OAAO,CAAC,QAAQ;IAgBhB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,UAAU;CAQnB"}
@@ -184,10 +184,10 @@ class VMDebugTracer {
184
184
  previousStructLog.gasCost = previousStructLog.gas - structLog.gas;
185
185
  }
186
186
  (0, errors_1.assertHardhatInvariant)(!Array.isArray(previousStructLog), "There shouldn't be two messages one after another");
187
- // the increase in memory size of a revert is immediately
188
- // reflected, so we don't treat it as a memory expansion
189
- // of the previous step
190
- if (structLog.op !== "REVERT") {
187
+ // memory opcodes reflect the expanded memory in that step,
188
+ // so we correct them
189
+ if (previousStructLog.op === "MSTORE" ||
190
+ previousStructLog.op === "MLOAD") {
191
191
  const memoryLengthDifference = structLog.memory.length - previousStructLog.memory.length;
192
192
  for (let k = 0; k < memoryLengthDifference; k++) {
193
193
  previousStructLog.memory.push(EMPTY_MEMORY_WORD);
@@ -206,11 +206,11 @@ class VMDebugTracer {
206
206
  return nestedStructLogs;
207
207
  }
208
208
  _getMemory(step) {
209
- const memory = Buffer.from(step.memory)
209
+ const rawMemory = Buffer.from(step.memory)
210
210
  .toString("hex")
211
- .match(/.{1,64}/g);
212
- const result = memory === null ? [] : [...memory];
213
- return result;
211
+ .match(/.{1,64}/g) ?? [];
212
+ // Remove the additional non allocated memory
213
+ return rawMemory.slice(0, Number(step.memoryWordCount));
214
214
  }
215
215
  _getStack(step) {
216
216
  const stack = step.stack
@@ -1 +1 @@
1
- {"version":3,"file":"vm-debug-tracer.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vm-debug-tracer.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dependencyGraph.d.ts","sourceRoot":"","sources":["../../src/internal/solidity/dependencyGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEpD,qBAAa,eAAgB,YAAW,SAAS,CAAC,eAAe;WAC3C,uBAAuB,CACzC,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,YAAY,EAAE,GAC5B,OAAO,CAAC,eAAe,CAAC;IAa3B,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,oBAAoB,CAAwC;IAEpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAEnD,OAAO;IAEA,gBAAgB,IAAI,YAAY,EAAE;IAIlC,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAIhC,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,KAAK,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAMnD,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE;IAOnD,yBAAyB,CAC9B,IAAI,EAAE,YAAY,GACjB,SAAS,CAAC,oBAAoB,EAAE;IAY5B,sBAAsB,IAAI,eAAe,EAAE;IA4DlD,OAAO,CAAC,0BAA0B;YA+BpB,oBAAoB;CAwBnC"}
1
+ {"version":3,"file":"dependencyGraph.d.ts","sourceRoot":"","sources":["../../src/internal/solidity/dependencyGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAC;AAIvD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEpD,qBAAa,eAAgB,YAAW,SAAS,CAAC,eAAe;WAC3C,uBAAuB,CACzC,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,YAAY,EAAE,GAC5B,OAAO,CAAC,eAAe,CAAC;IAa3B,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,oBAAoB,CAAwC;IAGpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAE3D,OAAO;IAEA,gBAAgB,IAAI,YAAY,EAAE;IAIlC,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO;IAIhC,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,KAAK,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAMnD,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE;IAOnD,yBAAyB,CAC9B,IAAI,EAAE,YAAY,GACjB,SAAS,CAAC,oBAAoB,EAAE;IAY5B,sBAAsB,IAAI,eAAe,EAAE;IA4DlD,OAAO,CAAC,0BAA0B;YA+BpB,oBAAoB;CAiCnC"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DependencyGraph = void 0;
4
+ const errors_1 = require("../core/errors");
5
+ const errors_list_1 = require("../core/errors-list");
4
6
  class DependencyGraph {
5
7
  static async createFromResolvedFiles(resolver, resolvedFiles) {
6
8
  const graph = new DependencyGraph();
@@ -11,7 +13,8 @@ class DependencyGraph {
11
13
  constructor() {
12
14
  this._resolvedFiles = new Map();
13
15
  this._dependenciesPerFile = new Map();
14
- this._visitedFiles = new Set();
16
+ // map absolute paths to source names
17
+ this._visitedFiles = new Map();
15
18
  }
16
19
  getResolvedFiles() {
17
20
  return Array.from(this._resolvedFiles.values());
@@ -98,10 +101,17 @@ class DependencyGraph {
98
101
  return transitiveDependencies;
99
102
  }
100
103
  async _addDependenciesFrom(resolver, file) {
101
- if (this._visitedFiles.has(file.absolutePath)) {
104
+ const sourceName = this._visitedFiles.get(file.absolutePath);
105
+ if (sourceName !== undefined) {
106
+ if (sourceName !== file.sourceName) {
107
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.RESOLVER.AMBIGUOUS_SOURCE_NAMES, {
108
+ sourcenames: `'${sourceName}' and '${file.sourceName}'`,
109
+ file: file.absolutePath,
110
+ });
111
+ }
102
112
  return;
103
113
  }
104
- this._visitedFiles.add(file.absolutePath);
114
+ this._visitedFiles.set(file.absolutePath, file.sourceName);
105
115
  const dependencies = new Set();
106
116
  this._resolvedFiles.set(file.sourceName, file);
107
117
  this._dependenciesPerFile.set(file.sourceName, dependencies);
@@ -1 +1 @@
1
- {"version":3,"file":"dependencyGraph.js","sourceRoot":"","sources":["../../src/internal/solidity/dependencyGraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependencyGraph.js","sourceRoot":"","sources":["../../src/internal/solidity/dependencyGraph.ts"],"names":[],"mappings":"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"}
@@ -16,10 +16,11 @@ export declare class ResolvedFile implements IResolvedFile {
16
16
  export declare class Resolver {
17
17
  private readonly _projectRoot;
18
18
  private readonly _parser;
19
+ private readonly _remappings;
19
20
  private readonly _readFile;
20
21
  private readonly _transformImportName;
21
22
  private readonly _cache;
22
- constructor(_projectRoot: string, _parser: Parser, _readFile: (absolutePath: string) => Promise<string>, _transformImportName: (importName: string) => Promise<string>);
23
+ constructor(_projectRoot: string, _parser: Parser, _remappings: Record<string, string>, _readFile: (absolutePath: string) => Promise<string>, _transformImportName: (importName: string) => Promise<string>);
23
24
  /**
24
25
  * Resolves a source name into a ResolvedFile.
25
26
  *
@@ -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;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;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;YA0IV,uBAAuB;YAavB,yBAAyB;YAyEzB,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;AAgBnC,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,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAPvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAG5C,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,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;IA4BzE;;;;OAIG;IACU,aAAa,CACxB,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC;YAoKV,uBAAuB;YAcvB,yBAAyB;YA8EzB,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"}
@@ -12,6 +12,7 @@ const errors_1 = require("../core/errors");
12
12
  const errors_list_1 = require("../core/errors-list");
13
13
  const hash_1 = require("../util/hash");
14
14
  const fs_utils_1 = require("../util/fs-utils");
15
+ const remappings_1 = require("../../utils/remappings");
15
16
  const NODE_MODULES = "node_modules";
16
17
  class ResolvedFile {
17
18
  constructor(sourceName, absolutePath, content, contentHash, lastModificationDate, libraryName, libraryVersion) {
@@ -36,9 +37,10 @@ class ResolvedFile {
36
37
  }
37
38
  exports.ResolvedFile = ResolvedFile;
38
39
  class Resolver {
39
- constructor(_projectRoot, _parser, _readFile, _transformImportName) {
40
+ constructor(_projectRoot, _parser, _remappings, _readFile, _transformImportName) {
40
41
  this._projectRoot = _projectRoot;
41
42
  this._parser = _parser;
43
+ this._remappings = _remappings;
42
44
  this._readFile = _readFile;
43
45
  this._transformImportName = _transformImportName;
44
46
  this._cache = new Map();
@@ -53,13 +55,14 @@ class Resolver {
53
55
  if (cached !== undefined) {
54
56
  return cached;
55
57
  }
56
- (0, source_names_1.validateSourceNameFormat)(sourceName);
58
+ const remappedSourceName = (0, remappings_1.applyRemappings)(this._remappings, sourceName);
59
+ (0, source_names_1.validateSourceNameFormat)(remappedSourceName);
57
60
  let resolvedFile;
58
- if (await (0, source_names_1.isLocalSourceName)(this._projectRoot, sourceName)) {
59
- resolvedFile = await this._resolveLocalSourceName(sourceName);
61
+ if (await (0, source_names_1.isLocalSourceName)(this._projectRoot, remappedSourceName)) {
62
+ resolvedFile = await this._resolveLocalSourceName(sourceName, remappedSourceName);
60
63
  }
61
64
  else {
62
- resolvedFile = await this._resolveLibrarySourceName(sourceName);
65
+ resolvedFile = await this._resolveLibrarySourceName(sourceName, remappedSourceName);
63
66
  }
64
67
  this._cache.set(sourceName, resolvedFile);
65
68
  return resolvedFile;
@@ -70,7 +73,11 @@ class Resolver {
70
73
  * @param importName The path in the import statement.
71
74
  */
72
75
  async resolveImport(from, importName) {
73
- const imported = await this._transformImportName(importName);
76
+ // sanity check for deprecated task
77
+ if (importName !== (await this._transformImportName(importName))) {
78
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.TASK_DEFINITIONS.DEPRECATED_TRANSFORM_IMPORT_TASK);
79
+ }
80
+ const imported = (0, remappings_1.applyRemappings)(this._remappings, importName);
74
81
  const scheme = this._getUriScheme(imported);
75
82
  if (scheme !== undefined) {
76
83
  throw new errors_1.HardhatError(errors_list_1.ERRORS.RESOLVER.INVALID_IMPORT_PROTOCOL, {
@@ -106,7 +113,7 @@ class Resolver {
106
113
  sourceName = await this._relativeImportToSourceName(from, imported);
107
114
  }
108
115
  else {
109
- sourceName = (0, source_names_1.normalizeSourceName)(imported);
116
+ sourceName = (0, source_names_1.normalizeSourceName)(importName); // The sourceName of the imported file is not transformed
110
117
  }
111
118
  const cached = this._cache.get(sourceName);
112
119
  if (cached !== undefined) {
@@ -119,7 +126,7 @@ class Resolver {
119
126
  if (from.library === undefined &&
120
127
  isRelativeImport &&
121
128
  !this._isRelativeImportToLibrary(from, imported)) {
122
- resolvedFile = await this._resolveLocalSourceName(sourceName);
129
+ resolvedFile = await this._resolveLocalSourceName(sourceName, (0, remappings_1.applyRemappings)(this._remappings, sourceName));
123
130
  }
124
131
  else {
125
132
  resolvedFile = await this.resolveSourceName(sourceName);
@@ -156,17 +163,24 @@ class Resolver {
156
163
  from: from.sourceName,
157
164
  }, error);
158
165
  }
166
+ if (errors_1.HardhatError.isHardhatErrorType(error, errors_list_1.ERRORS.GENERAL.INVALID_READ_OF_DIRECTORY)) {
167
+ throw new errors_1.HardhatError(errors_list_1.ERRORS.RESOLVER.INVALID_IMPORT_OF_DIRECTORY, {
168
+ imported,
169
+ from: from.sourceName,
170
+ }, error);
171
+ }
159
172
  // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
160
173
  throw error;
161
174
  }
162
175
  }
163
- async _resolveLocalSourceName(sourceName) {
164
- await this._validateSourceNameExistenceAndCasing(this._projectRoot, sourceName, false);
165
- const absolutePath = path_1.default.join(this._projectRoot, sourceName);
176
+ async _resolveLocalSourceName(sourceName, remappedSourceName) {
177
+ await this._validateSourceNameExistenceAndCasing(this._projectRoot, remappedSourceName, false);
178
+ const absolutePath = path_1.default.join(this._projectRoot, remappedSourceName);
166
179
  return this._resolveFile(sourceName, absolutePath);
167
180
  }
168
- async _resolveLibrarySourceName(sourceName) {
169
- const libraryName = this._getLibraryName(sourceName);
181
+ async _resolveLibrarySourceName(sourceName, remappedSourceName) {
182
+ const normalizedSourceName = remappedSourceName.replace(/^node_modules\//, "");
183
+ const libraryName = this._getLibraryName(normalizedSourceName);
170
184
  let packageJsonPath;
171
185
  try {
172
186
  packageJsonPath = this._resolveNodeModulesFileFromProjectRoot(path_1.default.join(libraryName, "package.json"));
@@ -186,7 +200,7 @@ class Resolver {
186
200
  }
187
201
  }
188
202
  let nodeModulesPath = path_1.default.dirname(path_1.default.dirname(packageJsonPath));
189
- if (this._isScopedPackage(sourceName)) {
203
+ if (this._isScopedPackage(normalizedSourceName)) {
190
204
  nodeModulesPath = path_1.default.dirname(nodeModulesPath);
191
205
  }
192
206
  let absolutePath;
@@ -195,7 +209,7 @@ class Resolver {
195
209
  // cases we handle resolution differently
196
210
  const packageRoot = path_1.default.dirname(packageJsonPath);
197
211
  const pattern = new RegExp(`^${libraryName}/?`);
198
- const fileName = sourceName.replace(pattern, "");
212
+ const fileName = normalizedSourceName.replace(pattern, "");
199
213
  await this._validateSourceNameExistenceAndCasing(packageRoot,
200
214
  // TODO: this is _not_ a source name; we should handle this scenario in
201
215
  // a better way
@@ -203,8 +217,8 @@ class Resolver {
203
217
  absolutePath = path_1.default.join(packageRoot, fileName);
204
218
  }
205
219
  else {
206
- await this._validateSourceNameExistenceAndCasing(nodeModulesPath, sourceName, true);
207
- absolutePath = path_1.default.join(nodeModulesPath, sourceName);
220
+ await this._validateSourceNameExistenceAndCasing(nodeModulesPath, normalizedSourceName, true);
221
+ absolutePath = path_1.default.join(nodeModulesPath, normalizedSourceName);
208
222
  }
209
223
  const packageInfo = await fs_extra_1.default.readJson(packageJsonPath);
210
224
  const libraryVersion = packageInfo.version;
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat",
3
- "version": "2.17.1",
3
+ "version": "2.17.2",
4
4
  "author": "Nomic Labs LLC",
5
5
  "license": "MIT",
6
6
  "homepage": "https://hardhat.org",
@@ -27,6 +27,7 @@
27
27
  "lint:fix": "yarn prettier --write && yarn eslint --fix",
28
28
  "eslint": "eslint 'src/**/*.ts' 'test/**/*.ts'",
29
29
  "prettier": "prettier \"**/*.{js,md,json}\"",
30
+ "pretest": "cd ../.. && yarn build",
30
31
  "test": "mocha --recursive \"test/**/*.ts\"",
31
32
  "test:except-tracing": "mocha --recursive \"test/**/*.ts\" --invert --grep \"Stack traces\"",
32
33
  "test:tracing": "mocha --recursive \"test/internal/hardhat-network/{helpers,stack-traces}/**/*.ts\"",
@@ -97,16 +98,16 @@
97
98
  "dependencies": {
98
99
  "@ethersproject/abi": "^5.1.2",
99
100
  "@metamask/eth-sig-util": "^4.0.0",
100
- "@nomicfoundation/ethereumjs-block": "5.0.1",
101
- "@nomicfoundation/ethereumjs-blockchain": "7.0.1",
102
- "@nomicfoundation/ethereumjs-common": "4.0.1",
103
- "@nomicfoundation/ethereumjs-evm": "2.0.1",
104
- "@nomicfoundation/ethereumjs-rlp": "5.0.1",
105
- "@nomicfoundation/ethereumjs-statemanager": "2.0.1",
106
- "@nomicfoundation/ethereumjs-trie": "6.0.1",
107
- "@nomicfoundation/ethereumjs-tx": "5.0.1",
108
- "@nomicfoundation/ethereumjs-util": "9.0.1",
109
- "@nomicfoundation/ethereumjs-vm": "7.0.1",
101
+ "@nomicfoundation/ethereumjs-block": "5.0.2",
102
+ "@nomicfoundation/ethereumjs-blockchain": "7.0.2",
103
+ "@nomicfoundation/ethereumjs-common": "4.0.2",
104
+ "@nomicfoundation/ethereumjs-evm": "2.0.2",
105
+ "@nomicfoundation/ethereumjs-rlp": "5.0.2",
106
+ "@nomicfoundation/ethereumjs-statemanager": "2.0.2",
107
+ "@nomicfoundation/ethereumjs-trie": "6.0.2",
108
+ "@nomicfoundation/ethereumjs-tx": "5.0.2",
109
+ "@nomicfoundation/ethereumjs-util": "9.0.2",
110
+ "@nomicfoundation/ethereumjs-vm": "7.0.2",
110
111
  "@nomicfoundation/solidity-analyzer": "^0.1.0",
111
112
  "@sentry/node": "^5.18.1",
112
113
  "@types/bn.js": "^5.1.0",
@@ -74,6 +74,7 @@ import {
74
74
  TASK_COMPILE_SOLIDITY_RUN_SOLC,
75
75
  TASK_COMPILE_SOLIDITY_RUN_SOLCJS,
76
76
  TASK_COMPILE_TRANSFORM_IMPORT_NAME,
77
+ TASK_COMPILE_GET_REMAPPINGS,
77
78
  } from "./task-names";
78
79
  import {
79
80
  getSolidityFilesCachePath,
@@ -161,13 +162,26 @@ subtask(TASK_COMPILE_SOLIDITY_READ_FILE)
161
162
  .addParam("absolutePath", undefined, undefined, types.string)
162
163
  .setAction(
163
164
  async ({ absolutePath }: { absolutePath: string }): Promise<string> => {
164
- return fsExtra.readFile(absolutePath, {
165
- encoding: "utf8",
166
- });
165
+ try {
166
+ return await fsExtra.readFile(absolutePath, {
167
+ encoding: "utf8",
168
+ });
169
+ } catch (e) {
170
+ if (fsExtra.lstatSync(absolutePath).isDirectory()) {
171
+ throw new HardhatError(ERRORS.GENERAL.INVALID_READ_OF_DIRECTORY, {
172
+ absolutePath,
173
+ });
174
+ }
175
+
176
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
177
+ throw e;
178
+ }
167
179
  }
168
180
  );
169
181
 
170
182
  /**
183
+ * DEPRECATED: This subtask is deprecated and will be removed in the future.
184
+ *
171
185
  * This task transform the string literal in an import directive.
172
186
  * By default it does nothing, but it can be overriden by plugins.
173
187
  */
@@ -179,6 +193,16 @@ subtask(TASK_COMPILE_TRANSFORM_IMPORT_NAME)
179
193
  }
180
194
  );
181
195
 
196
+ /**
197
+ * This task returns a Record<string, string> representing remappings to be used
198
+ * by the resolver.
199
+ */
200
+ subtask(TASK_COMPILE_GET_REMAPPINGS).setAction(
201
+ async (): Promise<Record<string, string>> => {
202
+ return {};
203
+ }
204
+ );
205
+
182
206
  /**
183
207
  * Receives a list of source names and returns a dependency graph. This task
184
208
  * is responsible for both resolving dependencies (like getting files from
@@ -202,13 +226,18 @@ subtask(TASK_COMPILE_SOLIDITY_GET_DEPENDENCY_GRAPH)
202
226
  { config, run }
203
227
  ): Promise<taskTypes.DependencyGraph> => {
204
228
  const parser = new Parser(solidityFilesCache);
229
+ const remappings = await run(TASK_COMPILE_GET_REMAPPINGS);
205
230
  const resolver = new Resolver(
206
231
  rootPath ?? config.paths.root,
207
232
  parser,
233
+ remappings,
208
234
  (absolutePath: string) =>
209
235
  run(TASK_COMPILE_SOLIDITY_READ_FILE, { absolutePath }),
210
236
  (importName: string) =>
211
- run(TASK_COMPILE_TRANSFORM_IMPORT_NAME, { importName })
237
+ run(TASK_COMPILE_TRANSFORM_IMPORT_NAME, {
238
+ importName,
239
+ deprecationCheck: true,
240
+ })
212
241
  );
213
242
 
214
243
  const resolvedFiles = await Promise.all(
@@ -14,6 +14,7 @@ export const TASK_COMPILE_SOLIDITY_GET_SOURCE_NAMES =
14
14
  export const TASK_COMPILE_SOLIDITY_READ_FILE = "compile:solidity:read-file";
15
15
  export const TASK_COMPILE_TRANSFORM_IMPORT_NAME =
16
16
  "compile:solidity:transform-import-name";
17
+ export const TASK_COMPILE_GET_REMAPPINGS = "compile:solidity:get-remappings";
17
18
  export const TASK_COMPILE_SOLIDITY_GET_DEPENDENCY_GRAPH =
18
19
  "compile:solidity:get-dependency-graph";
19
20
  export const TASK_COMPILE_SOLIDITY_GET_COMPILATION_JOBS =
@@ -78,7 +78,18 @@ export class Artifacts implements IArtifacts {
78
78
  }
79
79
 
80
80
  public async artifactExists(name: string): Promise<boolean> {
81
- const artifactPath = await this._getArtifactPath(name);
81
+ let artifactPath;
82
+ try {
83
+ artifactPath = await this._getArtifactPath(name);
84
+ } catch (e) {
85
+ if (HardhatError.isHardhatError(e)) {
86
+ return false;
87
+ }
88
+
89
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
90
+ throw e;
91
+ }
92
+
82
93
  return fsExtra.pathExists(artifactPath);
83
94
  }
84
95
 
@@ -407,6 +418,7 @@ export class Artifacts implements IArtifacts {
407
418
 
408
419
  /**
409
420
  * Returns the absolute path to the given artifact
421
+ * @throws {HardhatError} If the name is not fully qualified.
410
422
  */
411
423
  public formArtifactPathFromFullyQualifiedName(
412
424
  fullyQualifiedName: string
@@ -490,6 +502,11 @@ export class Artifacts implements IArtifacts {
490
502
  * If the name is fully qualified, the path is computed from it. If not, an
491
503
  * artifact that matches the given name is searched in the existing artifacts.
492
504
  * If there is an ambiguity, an error is thrown.
505
+ *
506
+ * @throws {HardhatError} with descriptor:
507
+ * - {@link ERRORS.ARTIFACTS.WRONG_CASING} if the path case doesn't match the one in the filesystem.
508
+ * - {@link ERRORS.ARTIFACTS.MULTIPLE_FOUND} if there are multiple artifacts matching the given contract name.
509
+ * - {@link ERRORS.ARTIFACTS.NOT_FOUND} if the artifact is not found.
493
510
  */
494
511
  private async _getArtifactPath(name: string): Promise<string> {
495
512
  const cached = this._cache?.artifactNameToArtifactPathCache.get(name);
@@ -603,6 +620,16 @@ export class Artifacts implements IArtifacts {
603
620
  return path.join(this._artifactsPath, sourceName, `${contractName}.json`);
604
621
  }
605
622
 
623
+ /**
624
+ * Returns the absolute path to the artifact that corresponds to the given
625
+ * fully qualified name.
626
+ * @param fullyQualifiedName The fully qualified name of the contract.
627
+ * @returns The absolute path to the artifact.
628
+ * @throws {HardhatError} with descriptor:
629
+ * - {@link ERRORS.CONTRACT_NAMES.INVALID_FULLY_QUALIFIED_NAME} If the name is not fully qualified.
630
+ * - {@link ERRORS.ARTIFACTS.WRONG_CASING} If the path case doesn't match the one in the filesystem.
631
+ * - {@link ERRORS.ARTIFACTS.NOT_FOUND} If the artifact is not found.
632
+ */
606
633
  private async _getValidArtifactPathFromFullyQualifiedName(
607
634
  fullyQualifiedName: string
608
635
  ): Promise<string> {
@@ -666,6 +693,9 @@ Please replace "${contractName}" for the correct contract name wherever you are
666
693
  }
667
694
  }
668
695
 
696
+ /**
697
+ * @throws {HardhatError} with a list of similar contract names.
698
+ */
669
699
  private _handleWrongArtifactForFullyQualifiedName(
670
700
  fullyQualifiedName: string
671
701
  ): never {
@@ -682,6 +712,9 @@ Please replace "${contractName}" for the correct contract name wherever you are
682
712
  });
683
713
  }
684
714
 
715
+ /**
716
+ * @throws {HardhatError} with a list of similar contract names.
717
+ */
685
718
  private _handleWrongArtifactForContractName(
686
719
  contractName: string,
687
720
  files: string[]
@@ -813,6 +846,12 @@ Please replace "${contractName}" for the correct contract name wherever you are
813
846
  return artifactPath.replace(/\.json$/, ".dbg.json");
814
847
  }
815
848
 
849
+ /**
850
+ * Gets the path to the artifact file for the given contract name.
851
+ * @throws {HardhatError} with descriptor:
852
+ * - {@link ERRORS.ARTIFACTS.NOT_FOUND} if there are no artifacts matching the given contract name.
853
+ * - {@link ERRORS.ARTIFACTS.MULTIPLE_FOUND} if there are multiple artifacts matching the given contract name.
854
+ */
816
855
  private _getArtifactPathFromFiles(
817
856
  contractName: string,
818
857
  files: string[]