hardhat 2.12.0 → 2.12.1-ir.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/internal/core/config/config-loading.js +16 -6
  2. package/internal/core/config/config-loading.js.map +1 -1
  3. package/internal/hardhat-network/stack-traces/debug.d.ts.map +1 -1
  4. package/internal/hardhat-network/stack-traces/debug.js +6 -2
  5. package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
  6. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts.map +1 -1
  7. package/internal/hardhat-network/stack-traces/error-inferrer.js +70 -33
  8. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
  9. package/internal/hardhat-network/stack-traces/solidity-errors.js +1 -1
  10. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  11. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +1 -1
  12. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts.map +1 -1
  13. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
  14. package/internal/hardhat-network/stack-traces/solidityTracer.js +13 -0
  15. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
  16. package/package.json +1 -1
  17. package/src/internal/core/config/config-loading.ts +25 -10
  18. package/src/internal/hardhat-network/stack-traces/debug.ts +9 -2
  19. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +146 -58
  20. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +1 -1
  21. package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +1 -1
  22. package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +13 -0
  23. package/src/types/artifacts.ts +1 -0
  24. package/types/artifacts.d.ts +1 -0
  25. package/types/artifacts.d.ts.map +1 -1
@@ -192,19 +192,29 @@ Learn more about compiler configuration at https://hardhat.org/config
192
192
  }
193
193
  }
194
194
  function checkUnsupportedSolidityConfig(resolvedConfig) {
195
- const compilerVersions = resolvedConfig.solidity.compilers.map((x) => x.version);
196
- const overrideVersions = Object.values(resolvedConfig.solidity.overrides).map((x) => x.version);
197
- const solcVersions = [...compilerVersions, ...overrideVersions];
195
+ const compilerConfigs = resolvedConfig.solidity.compilers;
196
+ const overrideConfigs = Object.values(resolvedConfig.solidity.overrides);
197
+ const solcConfigs = [...compilerConfigs, ...overrideConfigs];
198
198
  const unsupportedVersions = [];
199
- for (const solcVersion of solcVersions) {
200
- if (!semver_1.default.satisfies(solcVersion, constants_1.SUPPORTED_SOLIDITY_VERSION_RANGE)) {
201
- unsupportedVersions.push(solcVersion);
199
+ let viaIREnabled = false;
200
+ for (const solcConfig of solcConfigs) {
201
+ if (!semver_1.default.satisfies(solcConfig.version, constants_1.SUPPORTED_SOLIDITY_VERSION_RANGE)) {
202
+ unsupportedVersions.push(solcConfig.version);
203
+ }
204
+ if (solcConfig.settings.viaIR === true) {
205
+ viaIREnabled = true;
202
206
  }
203
207
  }
204
208
  if (unsupportedVersions.length > 0) {
205
209
  console.warn(chalk_1.default.yellow(`Solidity ${unsupportedVersions.join(", ")} ${unsupportedVersions.length === 1 ? "is" : "are"} not fully supported yet. You can still use Hardhat, but some features, like stack traces, might not work correctly.
206
210
 
207
211
  Learn more at https://hardhat.org/hardhat-runner/docs/reference/solidity-support
212
+ `));
213
+ }
214
+ if (viaIREnabled) {
215
+ console.warn(chalk_1.default.yellow(`Your solidity settings have viaIR enabled, which is not fully supported yet. You can still use Hardhat, but some features, like stack traces, might not work correctly.
216
+
217
+ Learn more at https://hardhat.org/solc-viair
208
218
  `));
209
219
  }
210
220
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-loading.js","sourceRoot":"","sources":["../../../src/internal/core/config/config-loading.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loading.js","sourceRoot":"","sources":["../../../src/internal/core/config/config-loading.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/debug.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAIlB,YAAY,EACZ,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,kBAAkB,EAGnB,MAAM,wBAAwB,CAAC;AAIhC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,SAAI,QAY/D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,QAgCxE;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,MAAM,QAcd;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,QAyBpE;AA4ED,wBAAgB,eAAe,CAAC,KAAK,EAAE,kBAAkB,QAwBxD"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/debug.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAIlB,YAAY,EACZ,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,kBAAkB,EAGnB,MAAM,wBAAwB,CAAC;AAIhC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,SAAI,QAY/D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,QAgCxE;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,MAAM,QAcd;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,QAyBpE;AA4ED,wBAAgB,eAAe,CAAC,KAAK,EAAE,kBAAkB,QA8BxD"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.printStackTrace = exports.printCallTrace = exports.printPrecompileTrace = exports.printCreateTrace = exports.printMessageTrace = void 0;
4
7
  const ethereumjs_util_1 = require("@nomicfoundation/ethereumjs-util");
8
+ const chalk_1 = __importDefault(require("chalk"));
5
9
  const message_trace_1 = require("./message-trace");
6
10
  const model_1 = require("./model");
7
11
  const opcodes_1 = require("./opcodes");
@@ -94,7 +98,7 @@ function traceSteps(trace, depth) {
94
98
  }
95
99
  if ((0, opcodes_1.isJump)(inst.opcode)) {
96
100
  const jump = inst.jumpType !== model_1.JumpType.NOT_JUMP
97
- ? `\x1b[1m(${model_1.JumpType[inst.jumpType]})\x1b[0m`
101
+ ? chalk_1.default.bold(`(${model_1.JumpType[inst.jumpType]})`)
98
102
  : "";
99
103
  console.log(`${margin} ${pc} ${opcodes_1.Opcode[inst.opcode]} ${jump}`.padEnd(50), location);
100
104
  }
@@ -138,7 +142,7 @@ function printStackTrace(trace) {
138
142
  ...entry,
139
143
  sourceReference: flattenSourceReference(entry.sourceReference),
140
144
  }));
141
- console.log(JSON.stringify(withFlattenedSourceReferences, undefined, 2));
145
+ console.log(JSON.stringify(withFlattenedSourceReferences, (key, value) => (typeof value === "bigint" ? value.toString() : value), 2));
142
146
  }
143
147
  exports.printStackTrace = printStackTrace;
144
148
  //# sourceMappingURL=debug.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/debug.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-inferrer.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/error-inferrer.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EAOtB,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EAIR,WAAW,EAGZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAEL,6BAA6B,EAI7B,8BAA8B,EAK9B,kBAAkB,EAKnB,MAAM,wBAAwB,CAAC;AAMhC,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,qBAAa,aAAa;IACjB,6BAA6B,CAClC,KAAK,EAAE,uBAAuB,GAC7B,kBAAkB,GAAG,SAAS;IA+D1B,+BAA+B,CACpC,KAAK,EAAE,yBAAyB,GAC/B,kBAAkB,GAAG,SAAS;IAqB1B,iBAAiB,CACtB,KAAK,EAAE,sBAAsB,EAC7B,UAAU,EAAE,kBAAkB,EAC9B,iBAAiB,EAAE,WAAW,EAAE,EAChC,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,cAAc,GAAG,SAAS,GAC7C,kBAAkB;IAiBd,qBAAqB,CAC1B,UAAU,EAAE,kBAAkB,GAC7B,kBAAkB;IAoErB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqE5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgC5B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAiHnC;;OAEG;IACH,OAAO,CAAC,WAAW;IAyCnB,OAAO,CAAC,kBAAkB;IA+C1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyF7B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,+BAA+B;IAcvC,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,8BAA8B;IActC,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,oCAAoC;IAyB5C,OAAO,CAAC,0BAA0B;IAyBlC,OAAO,CAAC,gCAAgC;IAiBxC,OAAO,CAAC,kCAAkC;IAyB1C,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,+CAA+C;IAavD,OAAO,CAAC,0BAA0B;IA0BlC,OAAO,CAAC,gCAAgC;IAwBxC,OAAO,CAAC,6BAA6B;IAsBrC;;;OAGG;IACH,OAAO,CAAC,mCAAmC;IAwB3C,OAAO,CAAC,mCAAmC;IA+D3C,OAAO,CAAC,4CAA4C;IAmCpD,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,mCAAmC;IAY3C,OAAO,CAAC,kCAAkC;IAY1C,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,iDAAiD;IAezD,OAAO,CAAC,gDAAgD;IAcxD,OAAO,CAAC,sDAAsD;IAc9D,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,mDAAmD;IAoD3D,OAAO,CAAC,iDAAiD;IAUzD,OAAO,CAAC,gCAAgC;IAsBxC,OAAO,CAAC,mDAAmD;IA2H3D,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,6BAA6B;IAyBrC,OAAO,CAAC,6CAA6C;IAoBrD,OAAO,CAAC,oCAAoC;IAqB5C,OAAO,CAAC,oDAAoD;IAc5D,OAAO,CAAC,gCAAgC;IA4BxC,OAAO,CAAC,oBAAoB;IAwB5B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,0BAA0B;IA0BlC,OAAO,CAAC,uBAAuB;IAmE/B,OAAO,CAAC,+BAA+B;IAoBvC,OAAO,CAAC,kBAAkB;CAG3B;AAED,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW,GAChB,6BAA6B,GAAG,8BAA8B,CAgDhE"}
1
+ {"version":3,"file":"error-inferrer.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/error-inferrer.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EAOtB,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EAIR,WAAW,EAGZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAEL,6BAA6B,EAI7B,8BAA8B,EAK9B,kBAAkB,EAKnB,MAAM,wBAAwB,CAAC;AAQhC,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,qBAAa,aAAa;IACjB,6BAA6B,CAClC,KAAK,EAAE,uBAAuB,GAC7B,kBAAkB,GAAG,SAAS;IAkE1B,+BAA+B,CACpC,KAAK,EAAE,yBAAyB,GAC/B,kBAAkB,GAAG,SAAS;IAqB1B,iBAAiB,CACtB,KAAK,EAAE,sBAAsB,EAC7B,UAAU,EAAE,kBAAkB,EAC9B,iBAAiB,EAAE,WAAW,EAAE,EAChC,kBAAkB,EAAE,OAAO,EAC3B,kBAAkB,EAAE,cAAc,GAAG,SAAS,GAC7C,kBAAkB;IAiBd,qBAAqB,CAC1B,UAAU,EAAE,kBAAkB,GAC7B,kBAAkB;IAqErB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA2E5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiC5B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA4HnC;;OAEG;IACH,OAAO,CAAC,WAAW;IAyCnB,OAAO,CAAC,kBAAkB;IA+C1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA0F7B,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,+BAA+B;IAevC,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,8BAA8B;IAetC,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,oCAAoC;IAyB5C,OAAO,CAAC,0BAA0B;IAqBlC,OAAO,CAAC,gCAAgC;IAiBxC,OAAO,CAAC,kCAAkC;IAyB1C,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,+CAA+C;IAavD,OAAO,CAAC,0BAA0B;IA0BlC,OAAO,CAAC,gCAAgC;IAwBxC,OAAO,CAAC,6BAA6B;IAsBrC;;;OAGG;IACH,OAAO,CAAC,mCAAmC;IAwB3C,OAAO,CAAC,mCAAmC;IA+D3C,OAAO,CAAC,4CAA4C;IAmCpD,OAAO,CAAC,uBAAuB;IA4B/B,OAAO,CAAC,mCAAmC;IAY3C,OAAO,CAAC,kCAAkC;IAY1C,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,iDAAiD;IAqBzD,OAAO,CAAC,gDAAgD;IAexD,OAAO,CAAC,sDAAsD;IAqB9D,OAAO,CAAC,+BAA+B;IAkBvC,OAAO,CAAC,mDAAmD;IAoD3D,OAAO,CAAC,iDAAiD;IAUzD,OAAO,CAAC,gCAAgC;IAsBxC,OAAO,CAAC,mDAAmD;IA6H3D,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,6BAA6B;IAyBrC,OAAO,CAAC,6CAA6C;IAoBrD,OAAO,CAAC,oCAAoC;IAqB5C,OAAO,CAAC,oDAAoD;IAoB5D,OAAO,CAAC,gCAAgC;IA4BxC,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,0BAA0B;IA0BlC,OAAO,CAAC,uBAAuB;IAmE/B,OAAO,CAAC,+BAA+B;IAoBvC,OAAO,CAAC,kBAAkB;CAG3B;AAED,wBAAgB,qCAAqC,CACnD,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW,GAChB,6BAA6B,GAAG,8BAA8B,CA2DhE"}
@@ -4,15 +4,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.instructionToCallstackStackTraceEntry = exports.ErrorInferrer = void 0;
7
+ /* eslint "@typescript-eslint/no-non-null-assertion": "error" */
7
8
  const exceptions_1 = require("@nomicfoundation/ethereumjs-evm/dist/exceptions");
8
9
  const abi_1 = require("@ethersproject/abi");
10
+ const debug_1 = __importDefault(require("debug"));
9
11
  const semver_1 = __importDefault(require("semver"));
12
+ const errors_1 = require("../../core/errors");
10
13
  const abi_helpers_1 = require("../../util/abi-helpers");
11
14
  const return_data_1 = require("../provider/return-data");
12
15
  const message_trace_1 = require("./message-trace");
13
16
  const model_1 = require("./model");
14
17
  const opcodes_1 = require("./opcodes");
15
18
  const solidity_stack_trace_1 = require("./solidity-stack-trace");
19
+ const log = (0, debug_1.default)("hardhat:core:hardhat-network:errors:error-inferrer");
16
20
  const FIRST_SOLC_VERSION_CREATE_PARAMS_VALIDATION = "0.5.9";
17
21
  const FIRST_SOLC_VERSION_RECEIVE_FUNCTION = "0.6.0";
18
22
  const FIRST_SOLC_VERSION_WITH_UNMAPPED_REVERTS = "0.6.3";
@@ -23,7 +27,8 @@ class ErrorInferrer {
23
27
  return this._getDirectLibraryCallErrorStackTrace(trace);
24
28
  }
25
29
  const calledFunction = trace.bytecode.contract.getFunctionFromSelector(trace.calldata.slice(0, 4));
26
- if (this._isFunctionNotPayableError(trace, calledFunction)) {
30
+ if (calledFunction !== undefined &&
31
+ this._isFunctionNotPayableError(trace, calledFunction)) {
27
32
  return [
28
33
  {
29
34
  type: solidity_stack_trace_1.StackTraceEntryType.FUNCTION_NOT_PAYABLE_ERROR,
@@ -115,7 +120,8 @@ class ErrorInferrer {
115
120
  stacktrace[i + 2].type === solidity_stack_trace_1.StackTraceEntryType.RETURNDATA_SIZE_ERROR) {
116
121
  // ! below for tsc. we confirmed existence in the enclosing conditional.
117
122
  const thatSrcRef = stacktrace[i + 2].sourceReference;
118
- if (frame.sourceReference.range[0] === thatSrcRef.range[0] &&
123
+ if (thatSrcRef !== undefined &&
124
+ frame.sourceReference.range[0] === thatSrcRef.range[0] &&
119
125
  frame.sourceReference.range[1] === thatSrcRef.range[1] &&
120
126
  frame.sourceReference.line === thatSrcRef.line) {
121
127
  return false;
@@ -146,7 +152,9 @@ class ErrorInferrer {
146
152
  * Check if the last submessage can be used to generate the stack trace.
147
153
  */
148
154
  _checkLastSubmessage(trace, stacktrace, lastSubmessageData) {
155
+ log("Start last submessage heuristic");
149
156
  if (lastSubmessageData === undefined) {
157
+ log("Last submessage is undefined");
150
158
  return undefined;
151
159
  }
152
160
  const inferredStacktrace = [...stacktrace];
@@ -166,6 +174,7 @@ class ErrorInferrer {
166
174
  inferredStacktrace.push(...lastSubmessageData.stacktrace);
167
175
  if (this._isContractCallRunOutOfGasError(trace, lastSubmessageData.stepIndex)) {
168
176
  const lastFrame = inferredStacktrace.pop();
177
+ (0, errors_1.assertHardhatInvariant)(lastFrame !== undefined, "Expected inferred stack trace to have at least one frame");
169
178
  inferredStacktrace.push({
170
179
  type: solidity_stack_trace_1.StackTraceEntryType.CONTRACT_CALL_RUN_OUT_OF_GAS_ERROR,
171
180
  sourceReference: lastFrame.sourceReference,
@@ -189,6 +198,7 @@ class ErrorInferrer {
189
198
  * Check if the last call/create that was done failed.
190
199
  */
191
200
  _checkFailedLastCall(trace, stacktrace) {
201
+ log("Start last call/create failed heuristic");
192
202
  for (let stepIndex = trace.steps.length - 2; stepIndex >= 0; stepIndex--) {
193
203
  const step = trace.steps[stepIndex];
194
204
  const nextStep = trace.steps[stepIndex + 1];
@@ -216,6 +226,7 @@ class ErrorInferrer {
216
226
  lastInstruction.opcode !== opcodes_1.Opcode.INVALID) {
217
227
  return;
218
228
  }
229
+ log("Last instruction is a revert or an invalid opcode");
219
230
  const inferredStacktrace = [...stacktrace];
220
231
  if (lastInstruction.location !== undefined &&
221
232
  (!(0, message_trace_1.isDecodedCallTrace)(trace) || jumpedIntoFunction)) {
@@ -248,9 +259,11 @@ class ErrorInferrer {
248
259
  }
249
260
  else if ((0, message_trace_1.isDecodedCallTrace)(trace)) {
250
261
  // This is here because of the optimizations
262
+ const functionSelector = trace.bytecode.contract.getFunctionFromSelector(trace.calldata.slice(0, 4));
263
+ (0, errors_1.assertHardhatInvariant)(functionSelector !== undefined, "Expected function selector to be defined");
251
264
  inferredStacktrace.push({
252
265
  type: solidity_stack_trace_1.StackTraceEntryType.REVERT_ERROR,
253
- sourceReference: this._getFunctionStartSourceReference(trace, trace.bytecode.contract.getFunctionFromSelector(trace.calldata.slice(0, 4))),
266
+ sourceReference: this._getFunctionStartSourceReference(trace, functionSelector),
254
267
  message: new return_data_1.ReturnData(trace.returnData),
255
268
  isInvalidOpcodeError: lastInstruction.opcode === opcodes_1.Opcode.INVALID,
256
269
  });
@@ -279,6 +292,7 @@ class ErrorInferrer {
279
292
  inferredStacktrace.push(revertFrame);
280
293
  return this._fixInitialModifier(trace, inferredStacktrace);
281
294
  }
295
+ log("Last instruction is a revert or an invalid opcode, but nothing could be inferred");
282
296
  }
283
297
  /**
284
298
  * Check if the trace reverted with a panic error.
@@ -336,6 +350,7 @@ class ErrorInferrer {
336
350
  * Check last instruction to try to infer the error.
337
351
  */
338
352
  _checkLastInstruction(trace, stacktrace, functionJumpdests, jumpedIntoFunction) {
353
+ log("Start last executed instruction heuristic");
339
354
  const lastStep = trace.steps[trace.steps.length - 1];
340
355
  if (!(0, message_trace_1.isEvmStep)(lastStep)) {
341
356
  throw new Error("This should not happen: MessageTrace ends with a subtrace");
@@ -385,16 +400,20 @@ class ErrorInferrer {
385
400
  }
386
401
  }
387
402
  _checkNonContractCalled(trace, stacktrace) {
403
+ log("Start non-contract address called heuristic");
388
404
  if (this._isCalledNonContractAccountError(trace)) {
405
+ const sourceReference = this._getLastSourceReference(trace);
406
+ // We are sure this is not undefined because there was at least a call instruction
407
+ (0, errors_1.assertHardhatInvariant)(sourceReference !== undefined, "Expected source reference to be defined");
389
408
  const nonContractCalledFrame = {
390
409
  type: solidity_stack_trace_1.StackTraceEntryType.NONCONTRACT_ACCOUNT_CALLED_ERROR,
391
- // We are sure this is not undefined because there was at least a call instruction
392
- sourceReference: this._getLastSourceReference(trace),
410
+ sourceReference,
393
411
  };
394
412
  return [...stacktrace, nonContractCalledFrame];
395
413
  }
396
414
  }
397
415
  _checkSolidity063UnmappedRevert(trace, stacktrace) {
416
+ log("Start solidity 0.6.3 unmapped revert heuristic");
398
417
  if (this._solidity063MaybeUnmappedRevert(trace)) {
399
418
  const revertFrame = this._solidity063GetFrameForUnmappedRevertWithinFunction(trace);
400
419
  if (revertFrame !== undefined) {
@@ -403,6 +422,7 @@ class ErrorInferrer {
403
422
  }
404
423
  }
405
424
  _checkContractTooLarge(trace) {
425
+ log("Start contract is too large heuristic");
406
426
  if ((0, message_trace_1.isCreateTrace)(trace) && this._isContractTooLargeError(trace)) {
407
427
  return [
408
428
  {
@@ -413,6 +433,7 @@ class ErrorInferrer {
413
433
  }
414
434
  }
415
435
  _otherExecutionErrorStacktrace(trace, stacktrace) {
436
+ log("No heuristic matched, return other execution error entry");
416
437
  const otherExecutionErrorFrame = {
417
438
  type: solidity_stack_trace_1.StackTraceEntryType.OTHER_EXECUTION_ERROR,
418
439
  sourceReference: this._getLastSourceReference(trace),
@@ -453,9 +474,6 @@ class ErrorInferrer {
453
474
  ];
454
475
  }
455
476
  _isFunctionNotPayableError(trace, calledFunction) {
456
- if (calledFunction === undefined) {
457
- return false;
458
- }
459
477
  // This error doesn't return data
460
478
  if (trace.returnData.length > 0) {
461
479
  return false;
@@ -662,7 +680,10 @@ class ErrorInferrer {
662
680
  if (inst.location === undefined) {
663
681
  continue;
664
682
  }
665
- return sourceLocationToSourceReference(trace.bytecode, inst.location);
683
+ const sourceReference = sourceLocationToSourceReference(trace.bytecode, inst.location);
684
+ if (sourceReference !== undefined) {
685
+ return sourceReference;
686
+ }
666
687
  }
667
688
  return undefined;
668
689
  }
@@ -688,26 +709,31 @@ class ErrorInferrer {
688
709
  func.location.contains(lastInstruction.location));
689
710
  }
690
711
  _instructionWithinFunctionToRevertStackTraceEntry(trace, inst) {
712
+ const sourceReference = sourceLocationToSourceReference(trace.bytecode, inst.location);
713
+ (0, errors_1.assertHardhatInvariant)(sourceReference !== undefined, "Expected source reference to be defined");
691
714
  return {
692
715
  type: solidity_stack_trace_1.StackTraceEntryType.REVERT_ERROR,
693
- sourceReference: sourceLocationToSourceReference(trace.bytecode, inst.location),
716
+ sourceReference,
694
717
  message: new return_data_1.ReturnData(trace.returnData),
695
718
  isInvalidOpcodeError: inst.opcode === opcodes_1.Opcode.INVALID,
696
719
  };
697
720
  }
698
721
  _instructionWithinFunctionToPanicStackTraceEntry(trace, inst, errorCode) {
722
+ const lastSourceReference = this._getLastSourceReference(trace);
699
723
  return {
700
724
  type: solidity_stack_trace_1.StackTraceEntryType.PANIC_ERROR,
701
725
  sourceReference: sourceLocationToSourceReference(trace.bytecode, inst.location) ??
702
- this._getLastSourceReference(trace),
726
+ lastSourceReference,
703
727
  errorCode,
704
728
  };
705
729
  }
706
730
  _instructionWithinFunctionToCustomErrorStackTraceEntry(trace, inst, message) {
731
+ const lastSourceReference = this._getLastSourceReference(trace);
732
+ (0, errors_1.assertHardhatInvariant)(lastSourceReference !== undefined, "Expected last source reference to be defined");
707
733
  return {
708
734
  type: solidity_stack_trace_1.StackTraceEntryType.CUSTOM_ERROR,
709
735
  sourceReference: sourceLocationToSourceReference(trace.bytecode, inst.location) ??
710
- this._getLastSourceReference(trace),
736
+ lastSourceReference,
711
737
  message,
712
738
  };
713
739
  }
@@ -794,9 +820,9 @@ class ErrorInferrer {
794
820
  const hasNextInst = trace.bytecode.hasInstruction(nextInstPc);
795
821
  if (hasNextInst) {
796
822
  const nextInst = trace.bytecode.getInstruction(nextInstPc);
797
- const prevLoc = prevInst.location;
823
+ const prevLoc = prevInst?.location;
798
824
  const nextLoc = nextInst.location;
799
- const prevFunc = prevLoc.getContainingFunction();
825
+ const prevFunc = prevLoc?.getContainingFunction();
800
826
  const nextFunc = nextLoc?.getContainingFunction();
801
827
  // This is probably a require. This means that we have the exact
802
828
  // line, but the stack trace may be degraded (e.g. missing our
@@ -804,6 +830,7 @@ class ErrorInferrer {
804
830
  // add this frame as UNMAPPED_SOLC_0_6_3_REVERT_ERROR
805
831
  if (prevFunc !== undefined &&
806
832
  nextLoc !== undefined &&
833
+ prevLoc !== undefined &&
807
834
  prevLoc.equals(nextLoc)) {
808
835
  return {
809
836
  ...this._instructionWithinFunctionToRevertStackTraceEntry(trace, nextInst),
@@ -813,7 +840,7 @@ class ErrorInferrer {
813
840
  let revertFrame;
814
841
  // If the previous and next location don't match, we try to use the
815
842
  // previous one if it's inside a function, otherwise we use the next one
816
- if (prevFunc !== undefined) {
843
+ if (prevFunc !== undefined && prevInst !== undefined) {
817
844
  revertFrame = {
818
845
  ...this._instructionWithinFunctionToRevertStackTraceEntry(trace, prevInst),
819
846
  type: solidity_stack_trace_1.StackTraceEntryType.UNMAPPED_SOLC_0_6_3_REVERT_ERROR,
@@ -830,7 +857,7 @@ class ErrorInferrer {
830
857
  }
831
858
  return revertFrame;
832
859
  }
833
- if ((0, message_trace_1.isCreateTrace)(trace)) {
860
+ if ((0, message_trace_1.isCreateTrace)(trace) && prevInst !== undefined) {
834
861
  // Solidity is smart enough to stop emitting extra instructions after
835
862
  // an unconditional revert happens in a constructor. If this is the case
836
863
  // we just return a special error.
@@ -861,18 +888,20 @@ class ErrorInferrer {
861
888
  }
862
889
  return constructorRevertFrame;
863
890
  }
864
- // We may as well just be in a function or modifier and just happen
865
- // to be at the last instruction of the runtime bytecode.
866
- // In this case we just return whatever the last mapped intruction
867
- // points to.
868
- const latestInstructionRevertFrame = {
869
- ...this._instructionWithinFunctionToRevertStackTraceEntry(trace, prevInst),
870
- type: solidity_stack_trace_1.StackTraceEntryType.UNMAPPED_SOLC_0_6_3_REVERT_ERROR,
871
- };
872
- if (latestInstructionRevertFrame.sourceReference !== undefined) {
873
- this._solidity063CorrectLineNumber(latestInstructionRevertFrame);
891
+ if (prevInst !== undefined) {
892
+ // We may as well just be in a function or modifier and just happen
893
+ // to be at the last instruction of the runtime bytecode.
894
+ // In this case we just return whatever the last mapped intruction
895
+ // points to.
896
+ const latestInstructionRevertFrame = {
897
+ ...this._instructionWithinFunctionToRevertStackTraceEntry(trace, prevInst),
898
+ type: solidity_stack_trace_1.StackTraceEntryType.UNMAPPED_SOLC_0_6_3_REVERT_ERROR,
899
+ };
900
+ if (latestInstructionRevertFrame.sourceReference !== undefined) {
901
+ this._solidity063CorrectLineNumber(latestInstructionRevertFrame);
902
+ }
903
+ return latestInstructionRevertFrame;
874
904
  }
875
- return latestInstructionRevertFrame;
876
905
  }
877
906
  _isContractTooLargeError(trace) {
878
907
  return trace.error?.error === exceptions_1.ERROR.CODESIZE_EXCEEDS_MAXIMUM;
@@ -919,10 +948,12 @@ class ErrorInferrer {
919
948
  return undefined;
920
949
  }
921
950
  _callInstructionToCallFailedToExecuteStackTraceEntry(bytecode, callInst) {
951
+ const sourceReference = sourceLocationToSourceReference(bytecode, callInst.location);
952
+ (0, errors_1.assertHardhatInvariant)(sourceReference !== undefined, "Expected source reference to be defined");
922
953
  // Calls only happen within functions
923
954
  return {
924
955
  type: solidity_stack_trace_1.StackTraceEntryType.CALL_FAILED_ERROR,
925
- sourceReference: sourceLocationToSourceReference(bytecode, callInst.location),
956
+ sourceReference,
926
957
  };
927
958
  }
928
959
  _getEntryBeforeFailureInModifier(trace, functionJumpdests) {
@@ -953,11 +984,14 @@ class ErrorInferrer {
953
984
  }
954
985
  const callOpcodeStep = trace.steps[callSubtraceStepIndex - 1];
955
986
  const callInst = trace.bytecode.getInstruction(callOpcodeStep.pc);
956
- return this._isLastLocation(trace, callSubtraceStepIndex + 1, callInst.location // Calls are always made from within functions
957
- );
987
+ // Calls are always made from within functions
988
+ (0, errors_1.assertHardhatInvariant)(callInst.location !== undefined, "Expected call instruction location to be defined");
989
+ return this._isLastLocation(trace, callSubtraceStepIndex + 1, callInst.location);
958
990
  }
959
991
  _isCallFailedError(trace, instIndex, callInstruction) {
960
- const callLocation = callInstruction.location; // Calls are always made from within functions
992
+ const callLocation = callInstruction.location;
993
+ // Calls are always made from within functions
994
+ (0, errors_1.assertHardhatInvariant)(callLocation !== undefined, "Expected call location to be defined");
961
995
  return this._isLastLocation(trace, instIndex, callLocation);
962
996
  }
963
997
  _isLastLocation(trace, fromStep, location) {
@@ -1077,14 +1111,17 @@ function instructionToCallstackStackTraceEntry(bytecode, inst) {
1077
1111
  },
1078
1112
  };
1079
1113
  }
1080
- const func = inst.location.getContainingFunction();
1114
+ const func = inst.location?.getContainingFunction();
1081
1115
  if (func !== undefined) {
1116
+ const sourceReference = sourceLocationToSourceReference(bytecode, inst.location);
1117
+ (0, errors_1.assertHardhatInvariant)(sourceReference !== undefined, "Expected source reference to be defined");
1082
1118
  return {
1083
1119
  type: solidity_stack_trace_1.StackTraceEntryType.CALLSTACK_ENTRY,
1084
- sourceReference: sourceLocationToSourceReference(bytecode, inst.location),
1120
+ sourceReference,
1085
1121
  functionType: func.type,
1086
1122
  };
1087
1123
  }
1124
+ (0, errors_1.assertHardhatInvariant)(inst.location !== undefined, "Expected instruction location to be defined");
1088
1125
  return {
1089
1126
  type: solidity_stack_trace_1.StackTraceEntryType.CALLSTACK_ENTRY,
1090
1127
  sourceReference: {