hardhat 2.22.5 → 2.22.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 (36) hide show
  1. package/internal/cli/bootstrap.js +2 -3
  2. package/internal/cli/bootstrap.js.map +1 -1
  3. package/internal/cli/constants.d.ts.map +1 -1
  4. package/internal/cli/constants.js +1 -1
  5. package/internal/cli/constants.js.map +1 -1
  6. package/internal/cli/is-node-version-to-warn-on.d.ts +13 -0
  7. package/internal/cli/is-node-version-to-warn-on.d.ts.map +1 -0
  8. package/internal/cli/is-node-version-to-warn-on.js +46 -0
  9. package/internal/cli/is-node-version-to-warn-on.js.map +1 -0
  10. package/internal/core/config/default-config.d.ts.map +1 -1
  11. package/internal/core/config/default-config.js +26 -0
  12. package/internal/core/config/default-config.js.map +1 -1
  13. package/internal/hardhat-network/provider/provider.d.ts +11 -8
  14. package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
  15. package/internal/hardhat-network/provider/provider.js +20 -21
  16. package/internal/hardhat-network/provider/provider.js.map +1 -1
  17. package/internal/hardhat-network/provider/vm/exit.d.ts +0 -1
  18. package/internal/hardhat-network/provider/vm/exit.d.ts.map +1 -1
  19. package/internal/hardhat-network/provider/vm/exit.js +0 -16
  20. package/internal/hardhat-network/provider/vm/exit.js.map +1 -1
  21. package/internal/hardhat-network/stack-traces/message-trace.d.ts +0 -2
  22. package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -1
  23. package/internal/hardhat-network/stack-traces/message-trace.js.map +1 -1
  24. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +8 -7
  25. package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +1 -1
  26. package/internal/hardhat-network/stack-traces/vm-tracer.js +13 -29
  27. package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
  28. package/package.json +3 -3
  29. package/src/internal/cli/bootstrap.ts +3 -3
  30. package/src/internal/cli/constants.ts +1 -1
  31. package/src/internal/cli/is-node-version-to-warn-on.ts +54 -0
  32. package/src/internal/core/config/default-config.ts +26 -0
  33. package/src/internal/hardhat-network/provider/provider.ts +23 -31
  34. package/src/internal/hardhat-network/provider/vm/exit.ts +0 -21
  35. package/src/internal/hardhat-network/stack-traces/message-trace.ts +0 -2
  36. package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +13 -26
@@ -4,10 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- const semver_1 = __importDefault(require("semver"));
8
7
  const chalk_1 = __importDefault(require("chalk"));
9
- const constants_1 = require("./constants");
10
- if (!semver_1.default.satisfies(process.version, constants_1.SUPPORTED_NODE_VERSIONS.join(" || "))) {
8
+ const is_node_version_to_warn_on_1 = require("./is-node-version-to-warn-on");
9
+ if ((0, is_node_version_to_warn_on_1.isNodeVersionToWarnOn)(process.version)) {
11
10
  console.warn(chalk_1.default.yellow.bold(`WARNING:`), `You are currently using Node.js ${process.version}, which is not supported by Hardhat. This can lead to unexpected behavior. See https://hardhat.org/nodejs-versions`);
12
11
  console.log();
13
12
  console.log();
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/internal/cli/bootstrap.ts"],"names":[],"mappings":";;;;;;AACA,oDAA4B;AAC5B,kDAA0B;AAE1B,2CAAsD;AAEtD,IAAI,CAAC,gBAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,mCAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;IAC5E,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAC7B,mCAAmC,OAAO,CAAC,OAAO,oHAAoH,CACvK,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,EAAE,CAAC;CACf;AAED,OAAO,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/internal/cli/bootstrap.ts"],"names":[],"mappings":";;;;;;AAEA,kDAA0B;AAE1B,6EAAqE;AAErE,IAAI,IAAA,kDAAqB,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE;IAC1C,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAC7B,mCAAmC,OAAO,CAAC,OAAO,oHAAoH,CACvK,CAAC;IACF,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,EAAE,CAAC;CACf;AAED,OAAO,CAAC,OAAO,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/internal/cli/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,UAAyB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/internal/cli/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,UAAoC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SUPPORTED_NODE_VERSIONS = void 0;
4
- exports.SUPPORTED_NODE_VERSIONS = ["^18.0.0", "^20.0.0"];
4
+ exports.SUPPORTED_NODE_VERSIONS = ["^18.0.0", "^20.0.0", "^22.0.0"];
5
5
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/internal/cli/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/internal/cli/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Determine if the node version should trigger an unsupported
3
+ * warning.
4
+ *
5
+ * The current rule is that a unsupported warning will be shown if
6
+ *
7
+ * 1. An odd numbered version of Node.js is used - as this will never go to LTS
8
+ * 2. The version is less than the minimum supported version
9
+ *
10
+ * We intentionally do not warn on newer **even** versions of Node.js.
11
+ */
12
+ export declare function isNodeVersionToWarnOn(nodeVersion: string): boolean;
13
+ //# sourceMappingURL=is-node-version-to-warn-on.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-node-version-to-warn-on.d.ts","sourceRoot":"","sources":["../../src/internal/cli/is-node-version-to-warn-on.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAmBlE"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.isNodeVersionToWarnOn = void 0;
7
+ const semver_1 = __importDefault(require("semver"));
8
+ const errors_1 = require("../core/errors");
9
+ const constants_1 = require("./constants");
10
+ /**
11
+ * Determine if the node version should trigger an unsupported
12
+ * warning.
13
+ *
14
+ * The current rule is that a unsupported warning will be shown if
15
+ *
16
+ * 1. An odd numbered version of Node.js is used - as this will never go to LTS
17
+ * 2. The version is less than the minimum supported version
18
+ *
19
+ * We intentionally do not warn on newer **even** versions of Node.js.
20
+ */
21
+ function isNodeVersionToWarnOn(nodeVersion) {
22
+ const supportedVersions = constants_1.SUPPORTED_NODE_VERSIONS.join(" || ");
23
+ // If the version is supported, no need to warn and short circuit
24
+ if (semver_1.default.satisfies(nodeVersion, supportedVersions)) {
25
+ return false;
26
+ }
27
+ if (_onOddNumberedVersion(nodeVersion)) {
28
+ return true;
29
+ }
30
+ if (_lessThanMinimumSupportedVersion(nodeVersion, supportedVersions)) {
31
+ return true;
32
+ }
33
+ // A newer version of Node.js that will go to LTS
34
+ // we have opted not to warn.
35
+ return false;
36
+ }
37
+ exports.isNodeVersionToWarnOn = isNodeVersionToWarnOn;
38
+ function _onOddNumberedVersion(nodeVersion) {
39
+ return semver_1.default.major(nodeVersion) % 2 === 1;
40
+ }
41
+ function _lessThanMinimumSupportedVersion(nodeVersion, supportedVersions) {
42
+ const minSupportedVersion = semver_1.default.minVersion(supportedVersions);
43
+ (0, errors_1.assertHardhatInvariant)(minSupportedVersion !== null, "Unexpectedly failed to parse the minimum supported version of Node.js");
44
+ return semver_1.default.lt(nodeVersion, minSupportedVersion);
45
+ }
46
+ //# sourceMappingURL=is-node-version-to-warn-on.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-node-version-to-warn-on.js","sourceRoot":"","sources":["../../src/internal/cli/is-node-version-to-warn-on.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,2CAAwD;AACxD,2CAAsD;AAEtD;;;;;;;;;;GAUG;AACH,SAAgB,qBAAqB,CAAC,WAAmB;IACvD,MAAM,iBAAiB,GAAG,mCAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE/D,iEAAiE;IACjE,IAAI,gBAAM,CAAC,SAAS,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE;QACpD,OAAO,KAAK,CAAC;KACd;IAED,IAAI,qBAAqB,CAAC,WAAW,CAAC,EAAE;QACtC,OAAO,IAAI,CAAC;KACb;IAED,IAAI,gCAAgC,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAE;QACpE,OAAO,IAAI,CAAC;KACb;IAED,iDAAiD;IACjD,6BAA6B;IAC7B,OAAO,KAAK,CAAC;AACf,CAAC;AAnBD,sDAmBC;AAED,SAAS,qBAAqB,CAAC,WAAmB;IAChD,OAAO,gBAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,gCAAgC,CACvC,WAAmB,EACnB,iBAAyB;IAEzB,MAAM,mBAAmB,GAAG,gBAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAEjE,IAAA,+BAAsB,EACpB,mBAAmB,KAAK,IAAI,EAC5B,uEAAuE,CACxE,CAAC;IAEF,OAAO,gBAAM,CAAC,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;AACrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"default-config.d.ts","sourceRoot":"","sources":["../../../src/internal/core/config/default-config.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAItD,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAC5C,eAAO,MAAM,iCAAiC,SAAS,CAAC;AACxD,eAAO,MAAM,gDAAgD,aAAM,CAAC;AACpE,eAAO,MAAM,gDAAgD,aAAM,CAAC;AACpE,eAAO,MAAM,wBAAwB,gEAC0B,CAAC;AAChE,eAAO,MAAM,+BAA+B,4BAA4B,CAAC;AAEzE,eAAO,MAAM,qBAAqB,YAAuB,CAAC;AAE1D,eAAO,MAAM,6BAA6B;;;CAGzC,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;CAKzC,CAAC;AAEF,eAAO,MAAM,2CAA2C;;;;;;;CAIvD,CAAC;AAEF,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,eAAO,MAAM,2BAA2B,EAAE,IAAI,CAC5C,oBAAoB,EACpB,KAAK,GAAG,aAAa,CA4GtB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;CAOpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,YAEvC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;CAWtC,CAAC"}
1
+ {"version":3,"file":"default-config.d.ts","sourceRoot":"","sources":["../../../src/internal/core/config/default-config.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAItD,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAC5C,eAAO,MAAM,iCAAiC,SAAS,CAAC;AACxD,eAAO,MAAM,gDAAgD,aAAM,CAAC;AACpE,eAAO,MAAM,gDAAgD,aAAM,CAAC;AACpE,eAAO,MAAM,wBAAwB,gEAC0B,CAAC;AAChE,eAAO,MAAM,+BAA+B,4BAA4B,CAAC;AAEzE,eAAO,MAAM,qBAAqB,YAAuB,CAAC;AAE1D,eAAO,MAAM,6BAA6B;;;CAGzC,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;CAKzC,CAAC;AAEF,eAAO,MAAM,2CAA2C;;;;;;;CAIvD,CAAC;AAEF,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,eAAO,MAAM,2BAA2B,EAAE,IAAI,CAC5C,oBAAoB,EACpB,KAAK,GAAG,aAAa,CAsItB,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;CAOpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,YAEvC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;CAWtC,CAAC"}
@@ -132,6 +132,32 @@ exports.defaultHardhatNetworkParams = {
132
132
  ]),
133
133
  },
134
134
  ],
135
+ // TODO: the rest of this config is a temporary workaround,
136
+ // see https://github.com/NomicFoundation/edr/issues/522
137
+ [
138
+ 10,
139
+ {
140
+ hardforkHistory: new Map([[hardforks_1.HardforkName.SHANGHAI, 0]]),
141
+ },
142
+ ],
143
+ [
144
+ 11155420,
145
+ {
146
+ hardforkHistory: new Map([[hardforks_1.HardforkName.SHANGHAI, 0]]),
147
+ },
148
+ ],
149
+ [
150
+ 42161,
151
+ {
152
+ hardforkHistory: new Map([[hardforks_1.HardforkName.SHANGHAI, 0]]),
153
+ },
154
+ ],
155
+ [
156
+ 421614,
157
+ {
158
+ hardforkHistory: new Map([[hardforks_1.HardforkName.SHANGHAI, 0]]),
159
+ },
160
+ ],
135
161
  ]),
136
162
  };
137
163
  exports.defaultHttpNetworkParams = {
@@ -1 +1 @@
1
- {"version":3,"file":"default-config.js","sourceRoot":"","sources":["../../../src/internal/core/config/default-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-config.js","sourceRoot":"","sources":["../../../src/internal/core/config/default-config.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  import type { Artifacts, BoundExperimentalHardhatNetworkMessageTraceHook, EIP1193Provider, HardhatNetworkChainsConfig, RequestArguments } from "../../../types";
3
- import type { EdrContext, ExecutionResult, TracingMessage, TracingStep } from "@nomicfoundation/edr";
3
+ import type { EdrContext } from "@nomicfoundation/edr";
4
4
  import { EventEmitter } from "events";
5
+ import { VMTracer } from "../stack-traces/vm-tracer";
5
6
  import { ForkConfig, GenesisAccount, IntervalMiningConfig, MempoolOrder, NodeConfig, TracingConfig } from "./node-types";
6
7
  import { LoggerConfig } from "./modules/logger";
7
8
  export declare const DEFAULT_COINBASE = "0xc014ba5ec014ba5ec014ba5ec014ba5ec014ba5e";
@@ -30,23 +31,25 @@ interface HardhatNetworkProviderConfig {
30
31
  enableTransientStorage: boolean;
31
32
  }
32
33
  export declare function getNodeConfig(config: HardhatNetworkProviderConfig, tracingConfig?: TracingConfig): NodeConfig;
33
- export interface RawTraceCallbacks {
34
- onStep?: (messageTrace: TracingStep) => Promise<void>;
35
- onBeforeMessage?: (messageTrace: TracingMessage) => Promise<void>;
36
- onAfterMessage?: (messageTrace: ExecutionResult) => Promise<void>;
37
- }
38
34
  export declare class EdrProviderWrapper extends EventEmitter implements EIP1193Provider {
39
35
  private readonly _provider;
40
36
  private readonly _node;
41
37
  private readonly _eventAdapter;
42
38
  private readonly _vmTraceDecoder;
43
- private readonly _rawTraceCallbacks;
44
39
  private readonly _common;
45
40
  private _failedStackTraces;
46
41
  private _callOverrideCallback?;
42
+ /** Used for internal stack trace tests. */
43
+ private _vmTracer?;
47
44
  private constructor();
48
- static create(config: HardhatNetworkProviderConfig, loggerConfig: LoggerConfig, rawTraceCallbacks: RawTraceCallbacks, tracingConfig?: TracingConfig): Promise<EdrProviderWrapper>;
45
+ static create(config: HardhatNetworkProviderConfig, loggerConfig: LoggerConfig, tracingConfig?: TracingConfig): Promise<EdrProviderWrapper>;
49
46
  request(args: RequestArguments): Promise<unknown>;
47
+ /**
48
+ * Sets a `VMTracer` that observes EVM throughout requests.
49
+ *
50
+ * Used for internal stack traces integration tests.
51
+ */
52
+ setVmTracer(vmTracer?: VMTracer): void;
50
53
  private _setCallOverrideCallback;
51
54
  private _setVerboseTracing;
52
55
  private _ethEventListener;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/provider.ts"],"names":[],"mappings":"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"}
@@ -95,7 +95,7 @@ class EdrProviderEventAdapter extends events_1.EventEmitter {
95
95
  class EdrProviderWrapper extends events_1.EventEmitter {
96
96
  constructor(_provider,
97
97
  // we add this for backwards-compatibility with plugins like solidity-coverage
98
- _node, _eventAdapter, _vmTraceDecoder, _rawTraceCallbacks,
98
+ _node, _eventAdapter, _vmTraceDecoder,
99
99
  // The common configuration for EthereumJS VM is not used by EDR, but tests expect it as part of the provider.
100
100
  _common, tracingConfig) {
101
101
  super();
@@ -103,14 +103,13 @@ class EdrProviderWrapper extends events_1.EventEmitter {
103
103
  this._node = _node;
104
104
  this._eventAdapter = _eventAdapter;
105
105
  this._vmTraceDecoder = _vmTraceDecoder;
106
- this._rawTraceCallbacks = _rawTraceCallbacks;
107
106
  this._common = _common;
108
107
  this._failedStackTraces = 0;
109
108
  if (tracingConfig !== undefined) {
110
109
  (0, vm_trace_decoder_1.initializeVmTraceDecoder)(this._vmTraceDecoder, tracingConfig);
111
110
  }
112
111
  }
113
- static async create(config, loggerConfig, rawTraceCallbacks, tracingConfig) {
112
+ static async create(config, loggerConfig, tracingConfig) {
114
113
  const { Provider } = (0, napi_rs_1.requireNapiRsModule)("@nomicfoundation/edr");
115
114
  const coinbase = config.coinbase ?? exports.DEFAULT_COINBASE;
116
115
  let fork;
@@ -198,7 +197,7 @@ class EdrProviderWrapper extends events_1.EventEmitter {
198
197
  _vm: (0, minimal_vm_1.getMinimalEthereumJsVm)(provider),
199
198
  };
200
199
  const common = (0, makeCommon_1.makeCommon)(getNodeConfig(config));
201
- const wrapper = new EdrProviderWrapper(provider, minimalEthereumJsNode, eventAdapter, vmTraceDecoder, rawTraceCallbacks, common, tracingConfig);
200
+ const wrapper = new EdrProviderWrapper(provider, minimalEthereumJsNode, eventAdapter, vmTraceDecoder, common, tracingConfig);
202
201
  // Pass through all events from the provider
203
202
  eventAdapter.addListener("ethEvent", wrapper._ethEventListener.bind(wrapper));
204
203
  return wrapper;
@@ -222,9 +221,7 @@ class EdrProviderWrapper extends events_1.EventEmitter {
222
221
  const response = JSON.parse(responseObject.json);
223
222
  const needsTraces = this._node._vm.evm.events.eventNames().length > 0 ||
224
223
  this._node._vm.events.eventNames().length > 0 ||
225
- this._rawTraceCallbacks.onStep !== undefined ||
226
- this._rawTraceCallbacks.onAfterMessage !== undefined ||
227
- this._rawTraceCallbacks.onBeforeMessage !== undefined;
224
+ this._vmTracer !== undefined;
228
225
  if (needsTraces) {
229
226
  const rawTraces = responseObject.traces;
230
227
  for (const rawTrace of rawTraces) {
@@ -239,27 +236,21 @@ class EdrProviderWrapper extends events_1.EventEmitter {
239
236
  if (this._node._vm.evm.events.listenerCount("step") > 0) {
240
237
  this._node._vm.evm.events.emit("step", (0, convertToEdr_1.edrTracingStepToMinimalInterpreterStep)(traceItem));
241
238
  }
242
- if (this._rawTraceCallbacks.onStep !== undefined) {
243
- await this._rawTraceCallbacks.onStep(traceItem);
244
- }
239
+ this._vmTracer?.addStep(traceItem);
245
240
  }
246
241
  // afterMessage event
247
242
  else if ("executionResult" in traceItem) {
248
243
  if (this._node._vm.evm.events.listenerCount("afterMessage") > 0) {
249
244
  this._node._vm.evm.events.emit("afterMessage", (0, convertToEdr_1.edrTracingMessageResultToMinimalEVMResult)(traceItem));
250
245
  }
251
- if (this._rawTraceCallbacks.onAfterMessage !== undefined) {
252
- await this._rawTraceCallbacks.onAfterMessage(traceItem.executionResult);
253
- }
246
+ this._vmTracer?.addAfterMessage(traceItem.executionResult);
254
247
  }
255
248
  // beforeMessage event
256
249
  else {
257
250
  if (this._node._vm.evm.events.listenerCount("beforeMessage") > 0) {
258
251
  this._node._vm.evm.events.emit("beforeMessage", (0, convertToEdr_1.edrTracingMessageToMinimalMessage)(traceItem));
259
252
  }
260
- if (this._rawTraceCallbacks.onBeforeMessage !== undefined) {
261
- await this._rawTraceCallbacks.onBeforeMessage(traceItem);
262
- }
253
+ this._vmTracer?.addBeforeMessage(traceItem);
263
254
  }
264
255
  }
265
256
  // afterTx event
@@ -313,6 +304,14 @@ class EdrProviderWrapper extends events_1.EventEmitter {
313
304
  return response.result;
314
305
  }
315
306
  }
307
+ /**
308
+ * Sets a `VMTracer` that observes EVM throughout requests.
309
+ *
310
+ * Used for internal stack traces integration tests.
311
+ */
312
+ setVmTracer(vmTracer) {
313
+ this._vmTracer = vmTracer;
314
+ }
316
315
  // temporarily added to make smock work with HH+EDR
317
316
  _setCallOverrideCallback(callback) {
318
317
  this._callOverrideCallback = callback;
@@ -372,17 +371,17 @@ class EdrProviderWrapper extends events_1.EventEmitter {
372
371
  return this._failedStackTraces;
373
372
  }
374
373
  async _rawTraceToSolidityStackTrace(rawTrace) {
375
- const vmTracer = new vm_tracer_1.VMTracer(false);
374
+ const vmTracer = new vm_tracer_1.VMTracer();
376
375
  const trace = rawTrace.trace();
377
376
  for (const traceItem of trace) {
378
377
  if ("pc" in traceItem) {
379
- await vmTracer.addStep(traceItem);
378
+ vmTracer.addStep(traceItem);
380
379
  }
381
380
  else if ("executionResult" in traceItem) {
382
- await vmTracer.addAfterMessage(traceItem.executionResult);
381
+ vmTracer.addAfterMessage(traceItem.executionResult);
383
382
  }
384
383
  else {
385
- await vmTracer.addBeforeMessage(traceItem);
384
+ vmTracer.addBeforeMessage(traceItem);
386
385
  }
387
386
  }
388
387
  let vmTrace = vmTracer.getLastTopLevelMessageTrace();
@@ -410,7 +409,7 @@ async function clientVersion(edrClientVersion) {
410
409
  return `HardhatNetwork/${hardhatPackage.version}/@nomicfoundation/edr/${edrVersion}`;
411
410
  }
412
411
  async function createHardhatNetworkProvider(hardhatNetworkProviderConfig, loggerConfig, artifacts) {
413
- return EdrProviderWrapper.create(hardhatNetworkProviderConfig, loggerConfig, {}, await makeTracingConfig(artifacts));
412
+ return EdrProviderWrapper.create(hardhatNetworkProviderConfig, loggerConfig, await makeTracingConfig(artifacts));
414
413
  }
415
414
  exports.createHardhatNetworkProvider = createHardhatNetworkProvider;
416
415
  async function makeTracingConfig(artifacts) {
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,kDAA0B;AAC1B,kDAA0B;AAC1B,mCAAsC;AACtC,wDAA+B;AAC/B,yCAA2B;AAC3B,oDAA4B;AAE5B,qDAA8D;AAC9D,+CAGyB;AACzB,8DAG6C;AAC7C,0EAA2E;AAC3E,wDAIqC;AACrC,oDAA4D;AAC5D,oDAAuD;AACvD,yEAAmF;AACnF,iEAA8D;AAC9D,+EAA2E;AAC3E,uEAG0C;AAC1C,yDAAyE;AACzE,qEAA2E;AAE3E,mEAAgE;AAChE,yDAAqD;AAErD,wDAAwD;AASxD,uDAQ8B;AAC9B,mDAAgD;AAChD,6CAA4E;AAC5E,gDAA8E;AAE9E,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,uCAAuC,CAAC,CAAC;AAE3D,+EAA+E;AAElE,QAAA,gBAAgB,GAAG,4CAA4C,CAAC;AAC7E,IAAI,iBAAyC,CAAC;AAE9C,0CAA0C;AAC1C,SAAgB,mBAAmB;IACjC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,6BAAmB,EACxC,sBAAsB,CACkB,CAAC;IAE3C,IAAI,iBAAiB,KAAK,SAAS,EAAE;QACnC,+BAA+B;QAC/B,iBAAiB,GAAG,IAAI,UAAU,EAAE,CAAC;KACtC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAXD,kDAWC;AA2BD,SAAgB,aAAa,CAC3B,MAAoC,EACpC,aAA6B;IAE7B,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;QAC7D,aAAa;QACb,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,aAAa,EACX,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QACpE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,wBAAgB;QAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,4BAA4B,EAAE,MAAM,CAAC,4BAA4B;QACjE,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;KACtD,CAAC;AACJ,CAAC;AAzBD,sCAyBC;AAED,MAAM,uBAAwB,SAAQ,qBAAY;CAAG;AASrD,MAAa,kBACX,SAAQ,qBAAY;IAWpB,YACmB,SAAuB;IACxC,8EAA8E;IAC7D,KAEhB,EACgB,aAAsC,EACtC,eAA+B;IAChD,8GAA8G;IAC7F,OAAe,EAChC,aAA6B;QAE7B,KAAK,EAAE,CAAC;QAXS,cAAS,GAAT,SAAS,CAAc;QAEvB,UAAK,GAAL,KAAK,CAErB;QACgB,kBAAa,GAAb,aAAa,CAAyB;QACtC,oBAAe,GAAf,eAAe,CAAgB;QAE/B,YAAO,GAAP,OAAO,CAAQ;QAjB1B,uBAAkB,GAAG,CAAC,CAAC;QAsB7B,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,IAAA,2CAAwB,EAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;SAC/D;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,MAAoC,EACpC,YAA0B,EAC1B,aAA6B;QAE7B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,6BAAmB,EACtC,sBAAsB,CACkB,CAAC;QAE3C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,wBAAgB,CAAC;QAErD,IAAI,IAAI,CAAC;QACT,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE;YACnC,IAAI,GAAG;gBACL,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;gBACxC,WAAW,EACT,MAAM,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS;oBACzC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;oBACvC,CAAC,CAAC,SAAS;aAChB,CAAC;SACH;QAED,MAAM,WAAW,GACf,MAAM,CAAC,WAAW,KAAK,SAAS;YAC9B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACzD,CAAC,CAAC,SAAS,CAAC;QAEhB,4EAA4E;QAC5E,0DAA0D;QAC1D,MAAM,YAAY,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAEnD,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,IAAI,kBAAS,CAAC;QAC1D,MAAM,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,IAAI,wBAAe,CAAC;QAE5E,MAAM,mBAAmB,GAAG,IAAI,0CAAmB,EAAE,CAAC;QACtD,MAAM,cAAc,GAAG,IAAI,iCAAc,CAAC,mBAAmB,CAAC,CAAC;QAE/D,MAAM,YAAY,GAAG,IAAA,2BAAe,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEtD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,UAAU,CACxC,mBAAmB,EAAE,EACrB;YACE,4BAA4B,EAC1B,MAAM,CAAC,4BAA4B,IAAI,KAAK;YAC9C,0BAA0B,EAAE,MAAM,CAAC,0BAA0B;YAC7D,iBAAiB,EAAE,MAAM,CAAC,mBAAmB;YAC7C,wBAAwB,EAAE,MAAM,CAAC,0BAA0B;YAC3D,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;YAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YAC/B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,EAAE;gBAC9D,OAAO;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;oBACxB,SAAS,EAAE,KAAK,CAAC,IAAI,CACnB,cAAc,CAAC,eAAe,EAC9B,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE;wBAC1B,OAAO;4BACL,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;4BAChC,MAAM,EAAE,IAAA,6CAA8B,EACpC,IAAA,2BAAe,EAAC,QAAQ,CAAC,CAC1B;yBACF,CAAC;oBACJ,CAAC,CACF;iBACF,CAAC;YACJ,CAAC,CAAC;YACF,QAAQ,EAAE,MAAM,CAAC,aAAa;YAC9B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YAC/C,IAAI;YACJ,QAAQ,EAAE,IAAA,6CAA8B,EAAC,YAAY,CAAC;YACtD,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACtD,OAAO;oBACL,SAAS,EAAE,OAAO,CAAC,UAAU;oBAC7B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;iBACjC,CAAC;YACJ,CAAC,CAAC;YACF,WAAW;YACX,oBAAoB,EAClB,MAAM,CAAC,oBAAoB,KAAK,SAAS;gBACvC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAqB,CAAC;gBACtC,CAAC,CAAC,SAAS;YACf,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE;gBACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,IAAA,kDAAmC,EAAC,MAAM,CAAC,cAAc,CAAC;gBACpE,OAAO,EAAE;oBACP,KAAK,EAAE,IAAA,sDAAuC,EAAC,MAAM,CAAC,YAAY,CAAC;iBACpE;aACF;YACD,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;SACpC,EACD;YACE,MAAM,EAAE,YAAY,CAAC,OAAO;YAC5B,8BAA8B,EAAE,CAAC,MAAgB,EAAE,EAAE;gBACnD,MAAM,aAAa,GAAG,IAAI,6BAAa,EAAE,CAAC;gBAC1C,OAAO,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;YACD,kCAAkC,EAAE,CAClC,IAAY,EACZ,QAAiB,EACjB,EAAE;gBACF,OAAO,cAAc,CAAC,kCAAkC,CACtD,IAAI,EACJ,QAAQ,CACT,CAAC;YACJ,CAAC;YACD,iBAAiB,EAAE,CAAC,OAAe,EAAE,OAAgB,EAAE,EAAE;gBACvD,IAAI,OAAO,EAAE;oBACX,iBAAiB,CAAC,OAAO,CAAC,CAAC;iBAC5B;qBAAM;oBACL,WAAW,CAAC,OAAO,CAAC,CAAC;iBACtB;YACH,CAAC;SACF,EACD,CAAC,KAAwB,EAAE,EAAE;YAC3B,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC,CACF,CAAC;QAEF,MAAM,qBAAqB,GAAG;YAC5B,GAAG,EAAE,IAAA,mCAAsB,EAAC,QAAQ,CAAC;SACtC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,uBAAU,EAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,kBAAkB,CACpC,QAAQ,EACR,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,MAAM,EACN,aAAa,CACd,CAAC;QAEF,4CAA4C;QAC5C,YAAY,CAAC,WAAW,CACtB,UAAU,EACV,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CACxC,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAAsB;QACzC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC5D,MAAM,IAAI,0BAAiB,CACzB,mEAAmE,CACpE,CAAC;SACH;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAEjC,IAAI,IAAI,CAAC,MAAM,KAAK,8BAA8B,EAAE;YAClD,OAAO,IAAI,CAAC,2BAA2B,CACrC,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAC5C,CAAC;SACH;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,oCAAoC,EAAE;YAC/D,OAAO,IAAI,CAAC,iCAAiC,CAC3C,GAAG,IAAI,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAClD,CAAC;SACH;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,cAAc,GAAa,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CACjE,eAAe,CAChB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEjD,MAAM,WAAW,GACf,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC;YAC7C,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;QAE/B,IAAI,WAAW,EAAE;YACf,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC;YACxC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;gBAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAE/B,iBAAiB;gBACjB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;oBACvD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;iBACxC;gBAED,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;oBAC7B,aAAa;oBACb,IAAI,IAAI,IAAI,SAAS,EAAE;wBACrB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;4BACvD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAC5B,MAAM,EACN,IAAA,qDAAsC,EAAC,SAAS,CAAC,CAClD,CAAC;yBACH;wBAED,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;qBACpC;oBACD,qBAAqB;yBAChB,IAAI,iBAAiB,IAAI,SAAS,EAAE;wBACvC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;4BAC/D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAC5B,cAAc,EACd,IAAA,wDAAyC,EAAC,SAAS,CAAC,CACrD,CAAC;yBACH;wBAED,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;qBAC5D;oBACD,sBAAsB;yBACjB;wBACH,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;4BAChE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAC5B,eAAe,EACf,IAAA,gDAAiC,EAAC,SAAS,CAAC,CAC7C,CAAC;yBACH;wBAED,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;qBAC7C;iBACF;gBAED,gBAAgB;gBAChB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;oBACtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBACvC;aACF;SACF;QAED,IAAI,IAAA,sBAAe,EAAC,QAAQ,CAAC,EAAE;YAC7B,IAAI,KAAK,CAAC;YAEV,MAAM,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC;YACnD,IAAI,UAA0C,CAAC;YAC/C,IAAI,aAAa,KAAK,IAAI,EAAE;gBAC1B,UAAU,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;aACtE;YAED,IAAI,UAAU,KAAK,SAAS,EAAE;gBAC5B,KAAK,GAAG,IAAA,0CAAwB,EAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACrE,yDAAyD;gBACxD,KAAa,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC;gBAC5D,KAAa,CAAC,eAAe;oBAC5B,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,IAAI,SAAS,CAAC;aACrD;iBAAM;gBACL,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,8BAAqB,CAAC,IAAI,EAAE;oBACtD,KAAK,GAAG,IAAI,8BAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;iBAC3D;qBAAM;oBACL,KAAK,GAAG,IAAI,sBAAa,CACvB,QAAQ,CAAC,KAAK,CAAC,OAAO,EACtB,QAAQ,CAAC,KAAK,CAAC,IAAI,CACpB,CAAC;iBACH;gBACD,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;aAClC;YAED,sFAAsF;YACtF,MAAM,KAAK,CAAC;SACb;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,uCAA2B,CAAC,CAAC;SACxC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE;YACvC,IAAI,CAAC,IAAI,CAAC,iDAAqC,CAAC,CAAC;SAClD;QAED,4EAA4E;QAC5E,8DAA8D;QAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,oBAAoB,EAAE;YACxC,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACvC;aAAM,IACL,IAAI,CAAC,MAAM,KAAK,wBAAwB;YACxC,IAAI,CAAC,MAAM,KAAK,iBAAiB,EACjC;YACA,OAAO,IAAA,wCAAyB,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACnD;aAAM;YACL,OAAO,QAAQ,CAAC,MAAM,CAAC;SACxB;IACH,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,QAAmB;QACpC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,mDAAmD;IAC3C,wBAAwB,CAAC,QAA8B;QAC7D,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC;QAEtC,IAAI,CAAC,SAAS,CAAC,uBAAuB,CACpC,KAAK,EAAE,OAAe,EAAE,IAAY,EAAE,EAAE;YACtC,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,OAAgB;QACzC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAEO,iBAAiB,CAAC,KAAwB;QAChD,MAAM,YAAY,GAAG,KAAK,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,IAAI,CAAC,4BAA4B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,6BAA6B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SAC1D;IACH,CAAC;IAEO,4BAA4B,CAAC,YAAoB,EAAE,MAAW;QACpE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,YAAY;YACZ,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAEO,6BAA6B,CAAC,YAAoB,EAAE,MAAe;QACzE,MAAM,OAAO,GAAoB;YAC/B,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE;gBACJ,YAAY;gBACZ,MAAM;aACP;SACF,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAEO,2BAA2B,CACjC,MAAa;QAEb,OAAO,IAAA,2BAAc,EACnB,MAAM,EACN,CAAC,CAAC,MAAM,EACR,uBAAgB,EAChB,wBAAiB,CAClB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,WAAmB,EACnB,aAA4B,EAC5B,cAA8B;QAE9B,IAAI,SAAS,CAAC;QACd,IAAI;YACF,SAAS,GAAG,IAAA,kDAA8B,EACxC,WAAW,EACX,aAAa,EACb,cAAc,CACf,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,MAAM,CACV,oGAAoG,CACrG,CACF,CAAC;YAEF,GAAG,CACD,4FAA4F,EAC5F,KAAK,CACN,CAAC;YAEF,OAAO,KAAK,CAAC;SACd;QAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,iCAAiC,CAAC,MAAa;QACrD,OAAO,IAAA,2BAAc,EAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAEO,iCAAiC;QACvC,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACzC,QAAkB;QAElB,MAAM,QAAQ,GAAG,IAAI,oBAAQ,EAAE,CAAC;QAEhC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC/B,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;YAC7B,IAAI,IAAI,IAAI,SAAS,EAAE;gBACrB,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aAC7B;iBAAM,IAAI,iBAAiB,IAAI,SAAS,EAAE;gBACzC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;aACrD;iBAAM;gBACL,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;aACtC;SACF;QAED,IAAI,OAAO,GAAG,QAAQ,CAAC,2BAA2B,EAAE,CAAC;QACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE9C,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;SACjE;QAED,IAAI;YACF,IAAI,OAAO,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE;gBACxD,MAAM,aAAa,CAAC;aACrB;YAED,MAAM,cAAc,GAAG,IAAI,+BAAc,EAAE,CAAC;YAC5C,OAAO,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SAC9C;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAC7B,GAAG,CACD,kFAAkF,EAClF,GAAG,CACJ,CAAC;SACH;IACH,CAAC;CACF;AArcD,gDAqcC;AAED,KAAK,UAAU,aAAa,CAAC,gBAAwB;IACnD,MAAM,cAAc,GAAG,MAAM,IAAA,4BAAc,GAAE,CAAC;IAC9C,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,kBAAkB,cAAc,CAAC,OAAO,yBAAyB,UAAU,EAAE,CAAC;AACvF,CAAC;AAEM,KAAK,UAAU,4BAA4B,CAChD,4BAA0D,EAC1D,YAA0B,EAC1B,SAAqB;IAErB,OAAO,kBAAkB,CAAC,MAAM,CAC9B,4BAA4B,EAC5B,YAAY,EACZ,MAAM,iBAAiB,CAAC,SAAS,CAAC,CACnC,CAAC;AACJ,CAAC;AAVD,oEAUC;AAED,KAAK,UAAU,iBAAiB,CAC9B,SAAgC;IAEhC,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAE3D,IAAI;YACF,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;gBAC1C,MAAM,SAAS,GAAG,MAAM,kBAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACxD,IAAI,gBAAM,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,wCAA4B,CAAC,EAAE;oBACnE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAC5B;aACF;YAED,OAAO;gBACL,UAAU;aACX,CAAC;SACH;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,MAAM,CACV,yFAAyF,CAC1F,CACF,CAAC;YAEF,GAAG,CACD,gIAAgI,EAChI,KAAK,CACN,CAAC;SACH;KACF;AACH,CAAC"}
@@ -17,6 +17,5 @@ export declare class Exit {
17
17
  constructor(kind: ExitCode);
18
18
  isError(): boolean;
19
19
  getReason(): string;
20
- getEdrExceptionalHalt(): ExceptionalHalt;
21
20
  }
22
21
  //# sourceMappingURL=exit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exit.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/vm/exit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI3E,oBAAY,QAAQ;IAClB,OAAO,IAAA;IACP,MAAM,IAAA;IACN,UAAU,IAAA;IACV,cAAc,IAAA;IACd,cAAc,IAAA;IACd,eAAe,IAAA;IACf,wBAAwB,IAAA;IACxB,gBAAgB,IAAA;IAChB,mBAAmB,IAAA;CACpB;AAED,qBAAa,IAAI;IA+CI,IAAI,EAAE,QAAQ;WA9CnB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;WAejD,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;gBA+B9C,IAAI,EAAE,QAAQ;IAE1B,OAAO,IAAI,OAAO;IAIlB,SAAS,IAAI,MAAM;IAyBnB,qBAAqB,IAAI,eAAe;CAoBhD"}
1
+ {"version":3,"file":"exit.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/vm/exit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI3E,oBAAY,QAAQ;IAClB,OAAO,IAAA;IACP,MAAM,IAAA;IACN,UAAU,IAAA;IACV,cAAc,IAAA;IACd,cAAc,IAAA;IACd,eAAe,IAAA;IACf,wBAAwB,IAAA;IACxB,gBAAgB,IAAA;IAChB,mBAAmB,IAAA;CACpB;AAED,qBAAa,IAAI;IA+CI,IAAI,EAAE,QAAQ;WA9CnB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;WAejD,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;gBA+B9C,IAAI,EAAE,QAAQ;IAE1B,OAAO,IAAI,OAAO;IAIlB,SAAS,IAAI,MAAM;CAwB3B"}
@@ -76,22 +76,6 @@ class Exit {
76
76
  }
77
77
  const _exhaustiveCheck = this.kind;
78
78
  }
79
- getEdrExceptionalHalt() {
80
- const { ExceptionalHalt } = (0, napi_rs_1.requireNapiRsModule)("@nomicfoundation/edr");
81
- switch (this.kind) {
82
- case ExitCode.OUT_OF_GAS:
83
- return 0 /* ExceptionalHalt.OutOfGas */;
84
- case ExitCode.INVALID_OPCODE:
85
- return 1 /* ExceptionalHalt.OpcodeNotFound */;
86
- case ExitCode.CODESIZE_EXCEEDS_MAXIMUM:
87
- return 11 /* ExceptionalHalt.CreateContractSizeLimit */;
88
- case ExitCode.CREATE_COLLISION:
89
- return 8 /* ExceptionalHalt.CreateCollision */;
90
- default:
91
- // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
92
- throw new Error(`Unmatched exit code: ${this.kind}`);
93
- }
94
- }
95
79
  }
96
80
  exports.Exit = Exit;
97
81
  //# sourceMappingURL=exit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exit.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/vm/exit.ts"],"names":[],"mappings":";;;AAEA,wDAAiE;AAEjE,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB,6CAAO,CAAA;IACP,2CAAM,CAAA;IACN,mDAAU,CAAA;IACV,2DAAc,CAAA;IACd,2DAAc,CAAA;IACd,6DAAe,CAAA;IACf,+EAAwB,CAAA;IACxB,+DAAgB,CAAA;IAChB,qEAAmB,CAAA;AACrB,CAAC,EAVW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAUnB;AAED,MAAa,IAAI;IACR,MAAM,CAAC,oBAAoB,CAAC,MAAqB;QACtD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,6BAAmB,EAC3C,sBAAsB,CACkB,CAAC;QAE3C,QAAQ,MAAM,EAAE;YACd,gCAAwB;YACxB,kCAA0B;YAC1B;gBACE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACrC;QAED,MAAM,gBAAgB,GAAU,MAAM,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAAC,IAAqB;QACxD,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,6BAAmB,EAC7C,sBAAsB,CACkB,CAAC;QAE3C,QAAQ,IAAI,EAAE;YACZ;gBACE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAEvC,4CAAoC;YACpC,6CAAqC;YACrC,8DAA8D;YAC9D;gBACE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAE3C;gBACE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAE5C;gBACE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAE7C;gBACE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;YAErD,OAAO,CAAC,CAAC;gBACP,sFAAsF;gBACtF,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;IAED,YAAmB,IAAc;QAAd,SAAI,GAAJ,IAAI,CAAU;IAAG,CAAC;IAE9B,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAC;IACxC,CAAC;IAEM,SAAS;QACd,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,QAAQ,CAAC,OAAO;gBACnB,OAAO,SAAS,CAAC;YACnB,KAAK,QAAQ,CAAC,MAAM;gBAClB,OAAO,UAAU,CAAC;YACpB,KAAK,QAAQ,CAAC,UAAU;gBACtB,OAAO,YAAY,CAAC;YACtB,KAAK,QAAQ,CAAC,cAAc;gBAC1B,OAAO,gBAAgB,CAAC;YAC1B,KAAK,QAAQ,CAAC,cAAc;gBAC1B,OAAO,gBAAgB,CAAC;YAC1B,KAAK,QAAQ,CAAC,eAAe;gBAC3B,OAAO,iBAAiB,CAAC;YAC3B,KAAK,QAAQ,CAAC,wBAAwB;gBACpC,OAAO,0BAA0B,CAAC;YACpC,KAAK,QAAQ,CAAC,gBAAgB;gBAC5B,OAAO,kBAAkB,CAAC;YAC5B,KAAK,QAAQ,CAAC,mBAAmB;gBAC/B,OAAO,qBAAqB,CAAC;SAChC;QAED,MAAM,gBAAgB,GAAU,IAAI,CAAC,IAAI,CAAC;IAC5C,CAAC;IAEM,qBAAqB;QAC1B,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,6BAAmB,EAC7C,sBAAsB,CACkB,CAAC;QAE3C,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,QAAQ,CAAC,UAAU;gBACtB,wCAAgC;YAClC,KAAK,QAAQ,CAAC,cAAc;gBAC1B,8CAAsC;YACxC,KAAK,QAAQ,CAAC,wBAAwB;gBACpC,wDAA+C;YACjD,KAAK,QAAQ,CAAC,gBAAgB;gBAC5B,+CAAuC;YAEzC;gBACE,sFAAsF;gBACtF,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SACxD;IACH,CAAC;CACF;AAlGD,oBAkGC"}
1
+ {"version":3,"file":"exit.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/vm/exit.ts"],"names":[],"mappings":";;;AAEA,wDAAiE;AAEjE,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB,6CAAO,CAAA;IACP,2CAAM,CAAA;IACN,mDAAU,CAAA;IACV,2DAAc,CAAA;IACd,2DAAc,CAAA;IACd,6DAAe,CAAA;IACf,+EAAwB,CAAA;IACxB,+DAAgB,CAAA;IAChB,qEAAmB,CAAA;AACrB,CAAC,EAVW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAUnB;AAED,MAAa,IAAI;IACR,MAAM,CAAC,oBAAoB,CAAC,MAAqB;QACtD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAA,6BAAmB,EAC3C,sBAAsB,CACkB,CAAC;QAE3C,QAAQ,MAAM,EAAE;YACd,gCAAwB;YACxB,kCAA0B;YAC1B;gBACE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SACrC;QAED,MAAM,gBAAgB,GAAU,MAAM,CAAC;IACzC,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAAC,IAAqB;QACxD,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,6BAAmB,EAC7C,sBAAsB,CACkB,CAAC;QAE3C,QAAQ,IAAI,EAAE;YACZ;gBACE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAEvC,4CAAoC;YACpC,6CAAqC;YACrC,8DAA8D;YAC9D;gBACE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAE3C;gBACE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAE5C;gBACE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAE7C;gBACE,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;YAErD,OAAO,CAAC,CAAC;gBACP,sFAAsF;gBACtF,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;IAED,YAAmB,IAAc;QAAd,SAAI,GAAJ,IAAI,CAAU;IAAG,CAAC;IAE9B,OAAO;QACZ,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAC;IACxC,CAAC;IAEM,SAAS;QACd,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,QAAQ,CAAC,OAAO;gBACnB,OAAO,SAAS,CAAC;YACnB,KAAK,QAAQ,CAAC,MAAM;gBAClB,OAAO,UAAU,CAAC;YACpB,KAAK,QAAQ,CAAC,UAAU;gBACtB,OAAO,YAAY,CAAC;YACtB,KAAK,QAAQ,CAAC,cAAc;gBAC1B,OAAO,gBAAgB,CAAC;YAC1B,KAAK,QAAQ,CAAC,cAAc;gBAC1B,OAAO,gBAAgB,CAAC;YAC1B,KAAK,QAAQ,CAAC,eAAe;gBAC3B,OAAO,iBAAiB,CAAC;YAC3B,KAAK,QAAQ,CAAC,wBAAwB;gBACpC,OAAO,0BAA0B,CAAC;YACpC,KAAK,QAAQ,CAAC,gBAAgB;gBAC5B,OAAO,kBAAkB,CAAC;YAC5B,KAAK,QAAQ,CAAC,mBAAmB;gBAC/B,OAAO,qBAAqB,CAAC;SAChC;QAED,MAAM,gBAAgB,GAAU,IAAI,CAAC,IAAI,CAAC;IAC5C,CAAC;CACF;AA7ED,oBA6EC"}
@@ -17,8 +17,6 @@ export interface PrecompileMessageTrace extends BaseMessageTrace {
17
17
  }
18
18
  export interface BaseEvmMessageTrace extends BaseMessageTrace {
19
19
  code: Uint8Array;
20
- value: bigint;
21
- returnData: Uint8Array;
22
20
  steps: MessageTraceStep[];
23
21
  bytecode?: Bytecode;
24
22
  numberOfSubtraces: number;
@@ -1 +1 @@
1
- {"version":3,"file":"message-trace.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/message-trace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-trace.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/message-trace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,aAAa,EACd,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,YAAY,GACpB,kBAAkB,GAClB,gBAAgB,GAChB,sBAAsB,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEpE,MAAM,MAAM,sBAAsB,GAC9B,yBAAyB,GACzB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAGpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,gBAAgB,EAAE,UAAU,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,UAAU,CAAC;IACpB,WAAW,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACnE,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,GAClB,KAAK,IAAI,sBAAsB,CAEjC;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,YAAY,GAClB,KAAK,IAAI,kBAAkB,CAE7B;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,YAAY,GAClB,KAAK,IAAI,yBAAyB,CAEpC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,IAAI,gBAAgB,CAE1E;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,YAAY,GAClB,KAAK,IAAI,uBAAuB,CAElC;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,IAAI,OAAO,CAEjE;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,OAAO,CAAC;AAEtD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,UAAU,GAAG,YAAY,GAChC,MAAM,IAAI,UAAU,CAEtB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,GAAG,YAAY,GAChC,MAAM,IAAI,YAAY,CAExB;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,GAAG,YAAY,GAAG,UAAU,GAChD,MAAM,IAAI,aAAa,CAGzB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,GAAG,YAAY,GAAG,UAAU,GAChD,MAAM,IAAI,YAAY,CAExB;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,GAAG,YAAY,GAAG,UAAU,GAChD,MAAM,IAAI,UAAU,CAEtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-trace.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/message-trace.ts"],"names":[],"mappings":";;;AA+DA,SAAgB,iBAAiB,CAC/B,KAAmB;IAEnB,OAAO,YAAY,IAAI,KAAK,CAAC;AAC/B,CAAC;AAJD,8CAIC;AAED,SAAgB,aAAa,CAC3B,KAAmB;IAEnB,OAAO,MAAM,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAJD,sCAIC;AAED,SAAgB,oBAAoB,CAClC,KAAmB;IAEnB,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC9D,CAAC;AAJD,oDAIC;AAED,SAAgB,WAAW,CAAC,KAAmB;IAC7C,OAAO,MAAM,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,CAAC;AAChD,CAAC;AAFD,kCAEC;AAED,SAAgB,kBAAkB,CAChC,KAAmB;IAEnB,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC5D,CAAC;AAJD,gDAIC;AAED,SAAgB,SAAS,CAAC,IAAsB;IAC9C,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC;AAC/C,CAAC;AAFD,8BAEC;AAQD,SAAgB,YAAY,CAC1B,MAAiC;IAEjC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAJD,oCAIC;AAED,SAAgB,cAAc,CAC5B,MAAiC;IAEjC,OAAO,SAAS,IAAI,MAAM,CAAC;AAC7B,CAAC;AAJD,wCAIC;AAED,SAAgB,eAAe,CAC7B,MAAiD;IAEjD,0CAA0C;IAC1C,OAAO,aAAa,IAAI,MAAM,CAAC;AACjC,CAAC;AALD,0CAKC;AAED,SAAgB,cAAc,CAC5B,MAAiD;IAEjD,OAAO,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;AAC/B,CAAC;AAJD,wCAIC;AAED,SAAgB,YAAY,CAC1B,MAAiD;IAEjD,OAAO,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;AAC/B,CAAC;AAJD,oCAIC"}
1
+ {"version":3,"file":"message-trace.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/message-trace.ts"],"names":[],"mappings":";;;AA6DA,SAAgB,iBAAiB,CAC/B,KAAmB;IAEnB,OAAO,YAAY,IAAI,KAAK,CAAC;AAC/B,CAAC;AAJD,8CAIC;AAED,SAAgB,aAAa,CAC3B,KAAmB;IAEnB,OAAO,MAAM,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAJD,sCAIC;AAED,SAAgB,oBAAoB,CAClC,KAAmB;IAEnB,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC9D,CAAC;AAJD,oDAIC;AAED,SAAgB,WAAW,CAAC,KAAmB;IAC7C,OAAO,MAAM,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,CAAC;AAChD,CAAC;AAFD,kCAEC;AAED,SAAgB,kBAAkB,CAChC,KAAmB;IAEnB,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;AAC5D,CAAC;AAJD,gDAIC;AAED,SAAgB,SAAS,CAAC,IAAsB;IAC9C,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC;AAC/C,CAAC;AAFD,8BAEC;AAQD,SAAgB,YAAY,CAC1B,MAAiC;IAEjC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAJD,oCAIC;AAED,SAAgB,cAAc,CAC5B,MAAiC;IAEjC,OAAO,SAAS,IAAI,MAAM,CAAC;AAC7B,CAAC;AAJD,wCAIC;AAED,SAAgB,eAAe,CAC7B,MAAiD;IAEjD,0CAA0C;IAC1C,OAAO,aAAa,IAAI,MAAM,CAAC;AACjC,CAAC;AALD,0CAKC;AAED,SAAgB,cAAc,CAC5B,MAAiD;IAEjD,OAAO,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;AAC/B,CAAC;AAJD,wCAIC;AAED,SAAgB,YAAY,CAC1B,MAAiD;IAEjD,OAAO,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;AAC/B,CAAC;AAJD,oCAIC"}
@@ -1,19 +1,20 @@
1
1
  import type { ExecutionResult, TracingMessage, TracingStep } from "@nomicfoundation/edr";
2
- import { Exit } from "../provider/vm/exit";
3
2
  import { MessageTrace } from "./message-trace";
3
+ /**
4
+ * Consumes the incoming VM trace events, until an error occurs, to keep track
5
+ * of the last top level message trace/error.
6
+ */
4
7
  export declare class VMTracer {
5
- private readonly _throwErrors;
6
8
  tracingSteps: TracingStep[];
7
9
  private _messageTraces;
8
10
  private _lastError;
9
11
  private _maxPrecompileNumber;
10
- constructor(_throwErrors?: boolean);
12
+ constructor();
11
13
  getLastTopLevelMessageTrace(): MessageTrace | undefined;
12
14
  getLastError(): Error | undefined;
13
- clearLastError(): void;
14
15
  private _shouldKeepTracing;
15
- addBeforeMessage(message: TracingMessage): Promise<void>;
16
- addStep(step: TracingStep): Promise<void>;
17
- addAfterMessage(result: ExecutionResult, haltOverride?: Exit): Promise<void>;
16
+ addBeforeMessage(message: TracingMessage): void;
17
+ addStep(step: TracingStep): void;
18
+ addAfterMessage(result: ExecutionResult): void;
18
19
  }
19
20
  //# sourceMappingURL=vm-tracer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vm-tracer.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-tracer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,IAAI,EAAY,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAOL,YAAY,EAEb,MAAM,iBAAiB,CAAC;AAOzB,qBAAa,QAAQ;IAOP,OAAO,CAAC,QAAQ,CAAC,YAAY;IANlC,YAAY,EAAE,WAAW,EAAE,CAAM;IAExC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,oBAAoB,CAAC;gBAEA,YAAY,UAAO;IAKzC,2BAA2B,IAAI,YAAY,GAAG,SAAS;IAIvD,YAAY,IAAI,KAAK,GAAG,SAAS;IAIjC,cAAc;IAIrB,OAAO,CAAC,kBAAkB;IAIb,gBAAgB,CAAC,OAAO,EAAE,cAAc;IAiGxC,OAAO,CAAC,IAAI,EAAE,WAAW;IA0BzB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,EAAE,IAAI;CAyC1E"}
1
+ {"version":3,"file":"vm-tracer.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-tracer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAOL,YAAY,EAEb,MAAM,iBAAiB,CAAC;AAOzB;;;GAGG;AACH,qBAAa,QAAQ;IACZ,YAAY,EAAE,WAAW,EAAE,CAAM;IAExC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,oBAAoB,CAAC;;IAOtB,2BAA2B,IAAI,YAAY,GAAG,SAAS;IAIvD,YAAY,IAAI,KAAK,GAAG,SAAS;IAIxC,OAAO,CAAC,kBAAkB;IAInB,gBAAgB,CAAC,OAAO,EAAE,cAAc;IA6FxC,OAAO,CAAC,IAAI,EAAE,WAAW;IAsBzB,eAAe,CAAC,MAAM,EAAE,eAAe;CAoC/C"}
@@ -8,9 +8,12 @@ const message_trace_1 = require("./message-trace");
8
8
  /* eslint-disable @nomicfoundation/hardhat-internal-rules/only-hardhat-error */
9
9
  const DUMMY_RETURN_DATA = Buffer.from([]);
10
10
  const DUMMY_GAS_USED = 0n;
11
+ /**
12
+ * Consumes the incoming VM trace events, until an error occurs, to keep track
13
+ * of the last top level message trace/error.
14
+ */
11
15
  class VMTracer {
12
- constructor(_throwErrors = true) {
13
- this._throwErrors = _throwErrors;
16
+ constructor() {
14
17
  this.tracingSteps = [];
15
18
  this._messageTraces = [];
16
19
  // TODO: temporarily hardcoded to remove the need of using ethereumjs' common and evm here
@@ -22,13 +25,10 @@ class VMTracer {
22
25
  getLastError() {
23
26
  return this._lastError;
24
27
  }
25
- clearLastError() {
26
- this._lastError = undefined;
27
- }
28
28
  _shouldKeepTracing() {
29
- return this._throwErrors || this._lastError === undefined;
29
+ return this._lastError === undefined;
30
30
  }
31
- async addBeforeMessage(message) {
31
+ addBeforeMessage(message) {
32
32
  if (!this._shouldKeepTracing()) {
33
33
  return;
34
34
  }
@@ -99,15 +99,10 @@ class VMTracer {
99
99
  this._messageTraces.push(trace);
100
100
  }
101
101
  catch (error) {
102
- if (this._throwErrors) {
103
- throw error;
104
- }
105
- else {
106
- this._lastError = error;
107
- }
102
+ this._lastError = error;
108
103
  }
109
104
  }
110
- async addStep(step) {
105
+ addStep(step) {
111
106
  if (!this._shouldKeepTracing()) {
112
107
  return;
113
108
  }
@@ -120,15 +115,10 @@ class VMTracer {
120
115
  trace.steps.push({ pc: Number(step.pc) });
121
116
  }
122
117
  catch (error) {
123
- if (this._throwErrors) {
124
- throw error;
125
- }
126
- else {
127
- this._lastError = error;
128
- }
118
+ this._lastError = error;
129
119
  }
130
120
  }
131
- async addAfterMessage(result, haltOverride) {
121
+ addAfterMessage(result) {
132
122
  if (!this._shouldKeepTracing()) {
133
123
  return;
134
124
  }
@@ -144,8 +134,7 @@ class VMTracer {
144
134
  }
145
135
  }
146
136
  else if ((0, message_trace_1.isHaltResult)(executionResult)) {
147
- trace.exit =
148
- haltOverride ?? exit_1.Exit.fromEdrExceptionalHalt(executionResult.reason);
137
+ trace.exit = exit_1.Exit.fromEdrExceptionalHalt(executionResult.reason);
149
138
  trace.returnData = Buffer.from([]);
150
139
  }
151
140
  else {
@@ -157,12 +146,7 @@ class VMTracer {
157
146
  }
158
147
  }
159
148
  catch (error) {
160
- if (this._throwErrors) {
161
- throw error;
162
- }
163
- else {
164
- this._lastError = error;
165
- }
149
+ this._lastError = error;
166
150
  }
167
151
  }
168
152
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vm-tracer.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-tracer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vm-tracer.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-tracer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat",
3
- "version": "2.22.5",
3
+ "version": "2.22.6",
4
4
  "author": "Nomic Labs LLC",
5
5
  "license": "MIT",
6
6
  "homepage": "https://hardhat.org",
@@ -85,7 +85,7 @@
85
85
  "dependencies": {
86
86
  "@ethersproject/abi": "^5.1.2",
87
87
  "@metamask/eth-sig-util": "^4.0.0",
88
- "@nomicfoundation/edr": "^0.4.0",
88
+ "@nomicfoundation/edr": "^0.4.1",
89
89
  "@nomicfoundation/ethereumjs-common": "4.0.4",
90
90
  "@nomicfoundation/ethereumjs-tx": "5.0.4",
91
91
  "@nomicfoundation/ethereumjs-util": "9.0.4",
@@ -119,7 +119,7 @@
119
119
  "raw-body": "^2.4.1",
120
120
  "resolve": "1.17.0",
121
121
  "semver": "^6.3.0",
122
- "solc": "0.7.3",
122
+ "solc": "0.8.26",
123
123
  "source-map-support": "^0.5.13",
124
124
  "stacktrace-parser": "^0.1.10",
125
125
  "tsort": "0.0.1",
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import semver from "semver";
2
+
3
3
  import chalk from "chalk";
4
4
 
5
- import { SUPPORTED_NODE_VERSIONS } from "./constants";
5
+ import { isNodeVersionToWarnOn } from "./is-node-version-to-warn-on";
6
6
 
7
- if (!semver.satisfies(process.version, SUPPORTED_NODE_VERSIONS.join(" || "))) {
7
+ if (isNodeVersionToWarnOn(process.version)) {
8
8
  console.warn(
9
9
  chalk.yellow.bold(`WARNING:`),
10
10
  `You are currently using Node.js ${process.version}, which is not supported by Hardhat. This can lead to unexpected behavior. See https://hardhat.org/nodejs-versions`
@@ -1 +1 @@
1
- export const SUPPORTED_NODE_VERSIONS = ["^18.0.0", "^20.0.0"];
1
+ export const SUPPORTED_NODE_VERSIONS = ["^18.0.0", "^20.0.0", "^22.0.0"];
@@ -0,0 +1,54 @@
1
+ import semver from "semver";
2
+
3
+ import { assertHardhatInvariant } from "../core/errors";
4
+ import { SUPPORTED_NODE_VERSIONS } from "./constants";
5
+
6
+ /**
7
+ * Determine if the node version should trigger an unsupported
8
+ * warning.
9
+ *
10
+ * The current rule is that a unsupported warning will be shown if
11
+ *
12
+ * 1. An odd numbered version of Node.js is used - as this will never go to LTS
13
+ * 2. The version is less than the minimum supported version
14
+ *
15
+ * We intentionally do not warn on newer **even** versions of Node.js.
16
+ */
17
+ export function isNodeVersionToWarnOn(nodeVersion: string): boolean {
18
+ const supportedVersions = SUPPORTED_NODE_VERSIONS.join(" || ");
19
+
20
+ // If the version is supported, no need to warn and short circuit
21
+ if (semver.satisfies(nodeVersion, supportedVersions)) {
22
+ return false;
23
+ }
24
+
25
+ if (_onOddNumberedVersion(nodeVersion)) {
26
+ return true;
27
+ }
28
+
29
+ if (_lessThanMinimumSupportedVersion(nodeVersion, supportedVersions)) {
30
+ return true;
31
+ }
32
+
33
+ // A newer version of Node.js that will go to LTS
34
+ // we have opted not to warn.
35
+ return false;
36
+ }
37
+
38
+ function _onOddNumberedVersion(nodeVersion: string) {
39
+ return semver.major(nodeVersion) % 2 === 1;
40
+ }
41
+
42
+ function _lessThanMinimumSupportedVersion(
43
+ nodeVersion: string,
44
+ supportedVersions: string
45
+ ) {
46
+ const minSupportedVersion = semver.minVersion(supportedVersions);
47
+
48
+ assertHardhatInvariant(
49
+ minSupportedVersion !== null,
50
+ "Unexpectedly failed to parse the minimum supported version of Node.js"
51
+ );
52
+
53
+ return semver.lt(nodeVersion, minSupportedVersion);
54
+ }
@@ -141,6 +141,32 @@ export const defaultHardhatNetworkParams: Omit<
141
141
  ]),
142
142
  },
143
143
  ],
144
+ // TODO: the rest of this config is a temporary workaround,
145
+ // see https://github.com/NomicFoundation/edr/issues/522
146
+ [
147
+ 10, // optimism mainnet
148
+ {
149
+ hardforkHistory: new Map([[HardforkName.SHANGHAI, 0]]),
150
+ },
151
+ ],
152
+ [
153
+ 11155420, // optimism sepolia
154
+ {
155
+ hardforkHistory: new Map([[HardforkName.SHANGHAI, 0]]),
156
+ },
157
+ ],
158
+ [
159
+ 42161, // arbitrum one
160
+ {
161
+ hardforkHistory: new Map([[HardforkName.SHANGHAI, 0]]),
162
+ },
163
+ ],
164
+ [
165
+ 421614, // arbitrum sepolia
166
+ {
167
+ hardforkHistory: new Map([[HardforkName.SHANGHAI, 0]]),
168
+ },
169
+ ],
144
170
  ]),
145
171
  };
146
172
 
@@ -12,12 +12,9 @@ import type {
12
12
  import type {
13
13
  EdrContext,
14
14
  Provider as EdrProviderT,
15
- ExecutionResult,
16
15
  RawTrace,
17
16
  Response,
18
17
  SubscriptionEvent,
19
- TracingMessage,
20
- TracingStep,
21
18
  } from "@nomicfoundation/edr";
22
19
  import { Common } from "@nomicfoundation/ethereumjs-common";
23
20
  import chalk from "chalk";
@@ -152,12 +149,6 @@ export function getNodeConfig(
152
149
  };
153
150
  }
154
151
 
155
- export interface RawTraceCallbacks {
156
- onStep?: (messageTrace: TracingStep) => Promise<void>;
157
- onBeforeMessage?: (messageTrace: TracingMessage) => Promise<void>;
158
- onAfterMessage?: (messageTrace: ExecutionResult) => Promise<void>;
159
- }
160
-
161
152
  class EdrProviderEventAdapter extends EventEmitter {}
162
153
 
163
154
  type CallOverrideCallback = (
@@ -176,6 +167,9 @@ export class EdrProviderWrapper
176
167
  // temporarily added to make smock work with HH+EDR
177
168
  private _callOverrideCallback?: CallOverrideCallback;
178
169
 
170
+ /** Used for internal stack trace tests. */
171
+ private _vmTracer?: VMTracer;
172
+
179
173
  private constructor(
180
174
  private readonly _provider: EdrProviderT,
181
175
  // we add this for backwards-compatibility with plugins like solidity-coverage
@@ -184,7 +178,6 @@ export class EdrProviderWrapper
184
178
  },
185
179
  private readonly _eventAdapter: EdrProviderEventAdapter,
186
180
  private readonly _vmTraceDecoder: VmTraceDecoder,
187
- private readonly _rawTraceCallbacks: RawTraceCallbacks,
188
181
  // The common configuration for EthereumJS VM is not used by EDR, but tests expect it as part of the provider.
189
182
  private readonly _common: Common,
190
183
  tracingConfig?: TracingConfig
@@ -199,7 +192,6 @@ export class EdrProviderWrapper
199
192
  public static async create(
200
193
  config: HardhatNetworkProviderConfig,
201
194
  loggerConfig: LoggerConfig,
202
- rawTraceCallbacks: RawTraceCallbacks,
203
195
  tracingConfig?: TracingConfig
204
196
  ): Promise<EdrProviderWrapper> {
205
197
  const { Provider } = requireNapiRsModule(
@@ -325,7 +317,6 @@ export class EdrProviderWrapper
325
317
  minimalEthereumJsNode,
326
318
  eventAdapter,
327
319
  vmTraceDecoder,
328
- rawTraceCallbacks,
329
320
  common,
330
321
  tracingConfig
331
322
  );
@@ -371,9 +362,7 @@ export class EdrProviderWrapper
371
362
  const needsTraces =
372
363
  this._node._vm.evm.events.eventNames().length > 0 ||
373
364
  this._node._vm.events.eventNames().length > 0 ||
374
- this._rawTraceCallbacks.onStep !== undefined ||
375
- this._rawTraceCallbacks.onAfterMessage !== undefined ||
376
- this._rawTraceCallbacks.onBeforeMessage !== undefined;
365
+ this._vmTracer !== undefined;
377
366
 
378
367
  if (needsTraces) {
379
368
  const rawTraces = responseObject.traces;
@@ -394,9 +383,8 @@ export class EdrProviderWrapper
394
383
  edrTracingStepToMinimalInterpreterStep(traceItem)
395
384
  );
396
385
  }
397
- if (this._rawTraceCallbacks.onStep !== undefined) {
398
- await this._rawTraceCallbacks.onStep(traceItem);
399
- }
386
+
387
+ this._vmTracer?.addStep(traceItem);
400
388
  }
401
389
  // afterMessage event
402
390
  else if ("executionResult" in traceItem) {
@@ -406,11 +394,8 @@ export class EdrProviderWrapper
406
394
  edrTracingMessageResultToMinimalEVMResult(traceItem)
407
395
  );
408
396
  }
409
- if (this._rawTraceCallbacks.onAfterMessage !== undefined) {
410
- await this._rawTraceCallbacks.onAfterMessage(
411
- traceItem.executionResult
412
- );
413
- }
397
+
398
+ this._vmTracer?.addAfterMessage(traceItem.executionResult);
414
399
  }
415
400
  // beforeMessage event
416
401
  else {
@@ -420,9 +405,8 @@ export class EdrProviderWrapper
420
405
  edrTracingMessageToMinimalMessage(traceItem)
421
406
  );
422
407
  }
423
- if (this._rawTraceCallbacks.onBeforeMessage !== undefined) {
424
- await this._rawTraceCallbacks.onBeforeMessage(traceItem);
425
- }
408
+
409
+ this._vmTracer?.addBeforeMessage(traceItem);
426
410
  }
427
411
  }
428
412
 
@@ -484,6 +468,15 @@ export class EdrProviderWrapper
484
468
  }
485
469
  }
486
470
 
471
+ /**
472
+ * Sets a `VMTracer` that observes EVM throughout requests.
473
+ *
474
+ * Used for internal stack traces integration tests.
475
+ */
476
+ public setVmTracer(vmTracer?: VMTracer) {
477
+ this._vmTracer = vmTracer;
478
+ }
479
+
487
480
  // temporarily added to make smock work with HH+EDR
488
481
  private _setCallOverrideCallback(callback: CallOverrideCallback) {
489
482
  this._callOverrideCallback = callback;
@@ -583,16 +576,16 @@ export class EdrProviderWrapper
583
576
  private async _rawTraceToSolidityStackTrace(
584
577
  rawTrace: RawTrace
585
578
  ): Promise<SolidityStackTrace | undefined> {
586
- const vmTracer = new VMTracer(false);
579
+ const vmTracer = new VMTracer();
587
580
 
588
581
  const trace = rawTrace.trace();
589
582
  for (const traceItem of trace) {
590
583
  if ("pc" in traceItem) {
591
- await vmTracer.addStep(traceItem);
584
+ vmTracer.addStep(traceItem);
592
585
  } else if ("executionResult" in traceItem) {
593
- await vmTracer.addAfterMessage(traceItem.executionResult);
586
+ vmTracer.addAfterMessage(traceItem.executionResult);
594
587
  } else {
595
- await vmTracer.addBeforeMessage(traceItem);
588
+ vmTracer.addBeforeMessage(traceItem);
596
589
  }
597
590
  }
598
591
 
@@ -634,7 +627,6 @@ export async function createHardhatNetworkProvider(
634
627
  return EdrProviderWrapper.create(
635
628
  hardhatNetworkProviderConfig,
636
629
  loggerConfig,
637
- {},
638
630
  await makeTracingConfig(artifacts)
639
631
  );
640
632
  }
@@ -91,25 +91,4 @@ export class Exit {
91
91
 
92
92
  const _exhaustiveCheck: never = this.kind;
93
93
  }
94
-
95
- public getEdrExceptionalHalt(): ExceptionalHalt {
96
- const { ExceptionalHalt } = requireNapiRsModule(
97
- "@nomicfoundation/edr"
98
- ) as typeof import("@nomicfoundation/edr");
99
-
100
- switch (this.kind) {
101
- case ExitCode.OUT_OF_GAS:
102
- return ExceptionalHalt.OutOfGas;
103
- case ExitCode.INVALID_OPCODE:
104
- return ExceptionalHalt.OpcodeNotFound;
105
- case ExitCode.CODESIZE_EXCEEDS_MAXIMUM:
106
- return ExceptionalHalt.CreateContractSizeLimit;
107
- case ExitCode.CREATE_COLLISION:
108
- return ExceptionalHalt.CreateCollision;
109
-
110
- default:
111
- // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
112
- throw new Error(`Unmatched exit code: ${this.kind}`);
113
- }
114
- }
115
94
  }
@@ -34,8 +34,6 @@ export interface PrecompileMessageTrace extends BaseMessageTrace {
34
34
 
35
35
  export interface BaseEvmMessageTrace extends BaseMessageTrace {
36
36
  code: Uint8Array;
37
- value: bigint;
38
- returnData: Uint8Array;
39
37
  steps: MessageTraceStep[];
40
38
  bytecode?: Bytecode;
41
39
  // The following is just an optimization: When processing this traces it's useful to know ahead of
@@ -26,6 +26,10 @@ import {
26
26
  const DUMMY_RETURN_DATA = Buffer.from([]);
27
27
  const DUMMY_GAS_USED = 0n;
28
28
 
29
+ /**
30
+ * Consumes the incoming VM trace events, until an error occurs, to keep track
31
+ * of the last top level message trace/error.
32
+ */
29
33
  export class VMTracer {
30
34
  public tracingSteps: TracingStep[] = [];
31
35
 
@@ -33,7 +37,7 @@ export class VMTracer {
33
37
  private _lastError: Error | undefined;
34
38
  private _maxPrecompileNumber;
35
39
 
36
- constructor(private readonly _throwErrors = true) {
40
+ constructor() {
37
41
  // TODO: temporarily hardcoded to remove the need of using ethereumjs' common and evm here
38
42
  this._maxPrecompileNumber = 10;
39
43
  }
@@ -46,15 +50,11 @@ export class VMTracer {
46
50
  return this._lastError;
47
51
  }
48
52
 
49
- public clearLastError() {
50
- this._lastError = undefined;
51
- }
52
-
53
53
  private _shouldKeepTracing() {
54
- return this._throwErrors || this._lastError === undefined;
54
+ return this._lastError === undefined;
55
55
  }
56
56
 
57
- public async addBeforeMessage(message: TracingMessage) {
57
+ public addBeforeMessage(message: TracingMessage) {
58
58
  if (!this._shouldKeepTracing()) {
59
59
  return;
60
60
  }
@@ -143,15 +143,11 @@ export class VMTracer {
143
143
 
144
144
  this._messageTraces.push(trace);
145
145
  } catch (error) {
146
- if (this._throwErrors) {
147
- throw error;
148
- } else {
149
- this._lastError = error as Error;
150
- }
146
+ this._lastError = error as Error;
151
147
  }
152
148
  }
153
149
 
154
- public async addStep(step: TracingStep) {
150
+ public addStep(step: TracingStep) {
155
151
  if (!this._shouldKeepTracing()) {
156
152
  return;
157
153
  }
@@ -169,15 +165,11 @@ export class VMTracer {
169
165
 
170
166
  trace.steps.push({ pc: Number(step.pc) });
171
167
  } catch (error) {
172
- if (this._throwErrors) {
173
- throw error;
174
- } else {
175
- this._lastError = error as Error;
176
- }
168
+ this._lastError = error as Error;
177
169
  }
178
170
  }
179
171
 
180
- public async addAfterMessage(result: ExecutionResult, haltOverride?: Exit) {
172
+ public addAfterMessage(result: ExecutionResult) {
181
173
  if (!this._shouldKeepTracing()) {
182
174
  return;
183
175
  }
@@ -197,8 +189,7 @@ export class VMTracer {
197
189
  ).address;
198
190
  }
199
191
  } else if (isHaltResult(executionResult)) {
200
- trace.exit =
201
- haltOverride ?? Exit.fromEdrExceptionalHalt(executionResult.reason);
192
+ trace.exit = Exit.fromEdrExceptionalHalt(executionResult.reason);
202
193
 
203
194
  trace.returnData = Buffer.from([]);
204
195
  } else {
@@ -211,11 +202,7 @@ export class VMTracer {
211
202
  this._messageTraces.pop();
212
203
  }
213
204
  } catch (error) {
214
- if (this._throwErrors) {
215
- throw error;
216
- } else {
217
- this._lastError = error as Error;
218
- }
205
+ this._lastError = error as Error;
219
206
  }
220
207
  }
221
208
  }