hardhat 2.26.5 → 2.27.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.
@@ -5,7 +5,7 @@ import { EventEmitter } from "events";
5
5
  import { ForkConfig, GenesisAccount, IntervalMiningConfig, MempoolOrder } from "./node-types";
6
6
  import { LoggerConfig } from "./modules/logger";
7
7
  export declare const DEFAULT_COINBASE = "0xc014ba5ec014ba5ec014ba5ec014ba5ec014ba5e";
8
- export declare function getGlobalEdrContext(): EdrContext;
8
+ export declare function getGlobalEdrContext(): Promise<EdrContext>;
9
9
  interface HardhatNetworkProviderConfig {
10
10
  hardfork: string;
11
11
  chainId: number;
@@ -30,13 +30,18 @@ interface HardhatNetworkProviderConfig {
30
30
  enableRip7212: boolean;
31
31
  }
32
32
  export declare class EdrProviderWrapper extends EventEmitter implements EIP1193Provider {
33
- private readonly _provider;
34
- private readonly _node;
33
+ private _provider;
34
+ private readonly _providerConfig;
35
+ private readonly _loggerConfig;
36
+ private _node;
37
+ private readonly _subscriptionConfig;
35
38
  private _failedStackTraces;
36
39
  private _callOverrideCallback?;
37
40
  private constructor();
38
41
  static create(config: HardhatNetworkProviderConfig, loggerConfig: LoggerConfig, tracingConfig?: TracingConfigWithBuffers): Promise<EdrProviderWrapper>;
39
42
  request(args: RequestArguments): Promise<unknown>;
43
+ private _addCompilationResult;
44
+ private _reset;
40
45
  private _setCallOverrideCallback;
41
46
  private _setVerboseTracing;
42
47
  private _ethEventListener;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/provider.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EAEf,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,UAAU,EAKV,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAoBtC,OAAO,EACL,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACb,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,YAAY,EAA8B,MAAM,kBAAkB,CAAC;AAO5E,eAAO,MAAM,gBAAgB,+CAA+C,CAAC;AAI7E,wBAAgB,mBAAmB,IAAI,UAAU,CAWhD;AAED,UAAU,4BAA4B;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,oBAAoB,CAAC;IACrC,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,0BAA0B,CAAC;IACnC,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,0BAA0B,EAAE,OAAO,CAAC;IACpC,0BAA0B,EAAE,OAAO,CAAC;IACpC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,4BAA4B,EAAE,OAAO,CAAC;IAEtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,OAAO,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC;CACxB;AAWD,qBAAa,kBACX,SAAQ,YACR,YAAW,eAAe;IAQxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IARxB,OAAO,CAAC,kBAAkB,CAAK;IAG/B,OAAO,CAAC,qBAAqB,CAAC,CAAuB;IAErD,OAAO;WAUa,MAAM,CACxB,MAAM,EAAE,4BAA4B,EACpC,YAAY,EAAE,YAAY,EAC1B,aAAa,CAAC,EAAE,wBAAwB,GACvC,OAAO,CAAC,kBAAkB,CAAC;IAmIjB,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAuI9D,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,4BAA4B;IAOpC,OAAO,CAAC,6BAA6B;CAWtC;AAQD,wBAAsB,4BAA4B,CAChD,4BAA4B,EAAE,4BAA4B,EAC1D,YAAY,EAAE,YAAY,EAC1B,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,eAAe,CAAC,CAY1B"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/provider.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACV,SAAS,EAGT,eAAe,EAEf,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,UAAU,EAKV,wBAAwB,EAGzB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAgCtC,OAAO,EACL,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,YAAY,EACb,MAAM,cAAc,CAAC;AAWtB,OAAO,EAAE,YAAY,EAA8B,MAAM,kBAAkB,CAAC;AAO5E,eAAO,MAAM,gBAAgB,+CAA+C,CAAC;AAI7E,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC,CAgB/D;AAED,UAAU,4BAA4B;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,oBAAoB,CAAC;IACrC,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,0BAA0B,CAAC;IACnC,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,0BAA0B,EAAE,OAAO,CAAC;IACpC,0BAA0B,EAAE,OAAO,CAAC;IACpC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,4BAA4B,EAAE,OAAO,CAAC;IAEtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,OAAO,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC;CACxB;AAWD,qBAAa,kBACX,SAAQ,YACR,YAAW,eAAe;IAQxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAE9B,OAAO,CAAC,KAAK;IAGb,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAbtC,OAAO,CAAC,kBAAkB,CAAK;IAG/B,OAAO,CAAC,qBAAqB,CAAC,CAAuB;IAErD,OAAO;WAaa,MAAM,CACxB,MAAM,EAAE,4BAA4B,EACpC,YAAY,EAAE,YAAY,EAC1B,aAAa,CAAC,EAAE,wBAAwB,GACvC,OAAO,CAAC,kBAAkB,CAAC;IAsKjB,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;YAiJhD,qBAAqB;YAerB,MAAM;YA2CN,wBAAwB;YAexB,kBAAkB;IAIhC,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,4BAA4B;IAOpC,OAAO,CAAC,6BAA6B;CAWtC;AAQD,wBAAsB,4BAA4B,CAChD,4BAA4B,EAAE,4BAA4B,EAC1D,YAAY,EAAE,YAAY,EAC1B,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,eAAe,CAAC,CAY1B"}
@@ -1,15 +1,45 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
6
29
  exports.createHardhatNetworkProvider = exports.EdrProviderWrapper = exports.getGlobalEdrContext = exports.DEFAULT_COINBASE = void 0;
30
+ const util_1 = require("@ethereumjs/util");
31
+ const edr_1 = require("@nomicfoundation/edr");
7
32
  const picocolors_1 = __importDefault(require("picocolors"));
8
33
  const debug_1 = __importDefault(require("debug"));
9
34
  const events_1 = require("events");
10
35
  const fs_extra_1 = __importDefault(require("fs-extra"));
36
+ const t = __importStar(require("io-ts"));
11
37
  const napi_rs_1 = require("../../../common/napi-rs");
12
38
  const constants_1 = require("../../constants");
39
+ const base_types_1 = require("../../core/jsonrpc/types/base-types");
40
+ const hardhat_network_1 = require("../../core/jsonrpc/types/input/hardhat-network");
41
+ const solc_1 = require("../../core/jsonrpc/types/input/solc");
42
+ const validation_1 = require("../../core/jsonrpc/types/input/validation");
13
43
  const errors_1 = require("../../core/providers/errors");
14
44
  const http_1 = require("../../core/providers/http");
15
45
  const hardforks_1 = require("../../util/hardforks");
@@ -24,11 +54,12 @@ const log = (0, debug_1.default)("hardhat:core:hardhat-network:provider");
24
54
  exports.DEFAULT_COINBASE = "0xc014ba5ec014ba5ec014ba5ec014ba5ec014ba5e";
25
55
  let _globalEdrContext;
26
56
  // Lazy initialize the global EDR context.
27
- function getGlobalEdrContext() {
28
- const { EdrContext } = (0, napi_rs_1.requireNapiRsModule)("@nomicfoundation/edr");
57
+ async function getGlobalEdrContext() {
58
+ const { EdrContext, GENERIC_CHAIN_TYPE, genericChainProviderFactory } = (0, napi_rs_1.requireNapiRsModule)("@nomicfoundation/edr");
29
59
  if (_globalEdrContext === undefined) {
30
60
  // Only one is allowed to exist
31
61
  _globalEdrContext = new EdrContext();
62
+ await _globalEdrContext.registerProviderFactory(GENERIC_CHAIN_TYPE, genericChainProviderFactory());
32
63
  }
33
64
  return _globalEdrContext;
34
65
  }
@@ -36,35 +67,41 @@ exports.getGlobalEdrContext = getGlobalEdrContext;
36
67
  class EdrProviderEventAdapter extends events_1.EventEmitter {
37
68
  }
38
69
  class EdrProviderWrapper extends events_1.EventEmitter {
39
- constructor(_provider,
70
+ constructor(_provider, _providerConfig, _loggerConfig,
40
71
  // we add this for backwards-compatibility with plugins like solidity-coverage
41
- _node) {
72
+ _node, _subscriptionConfig) {
42
73
  super();
43
74
  this._provider = _provider;
75
+ this._providerConfig = _providerConfig;
76
+ this._loggerConfig = _loggerConfig;
44
77
  this._node = _node;
78
+ this._subscriptionConfig = _subscriptionConfig;
45
79
  this._failedStackTraces = 0;
46
80
  }
47
81
  static async create(config, loggerConfig, tracingConfig) {
48
- const { Provider } = (0, napi_rs_1.requireNapiRsModule)("@nomicfoundation/edr");
82
+ const { GENERIC_CHAIN_TYPE, l1GenesisState, l1HardforkFromString } = (0, napi_rs_1.requireNapiRsModule)("@nomicfoundation/edr");
49
83
  const coinbase = config.coinbase ?? exports.DEFAULT_COINBASE;
50
84
  let fork;
51
85
  if (config.forkConfig !== undefined) {
52
- let httpHeaders;
53
- if (config.forkConfig.httpHeaders !== undefined) {
54
- httpHeaders = [];
55
- for (const [name, value] of Object.entries(config.forkConfig.httpHeaders)) {
56
- httpHeaders.push({
57
- name,
58
- value,
59
- });
60
- }
61
- }
62
86
  fork = {
63
- jsonRpcUrl: config.forkConfig.jsonRpcUrl,
64
87
  blockNumber: config.forkConfig.blockNumber !== undefined
65
88
  ? BigInt(config.forkConfig.blockNumber)
66
89
  : undefined,
67
- httpHeaders,
90
+ cacheDir: config.forkCachePath,
91
+ chainOverrides: Array.from(config.chains, ([chainId, hardforkConfig]) => {
92
+ return {
93
+ chainId: BigInt(chainId),
94
+ name: "Unknown",
95
+ hardforks: Array.from(hardforkConfig.hardforkHistory, ([hardfork, blockNumber]) => {
96
+ return {
97
+ condition: { blockNumber: BigInt(blockNumber) },
98
+ hardfork: (0, convertToEdr_1.ethereumsjsHardforkToEdrSpecId)((0, hardforks_1.getHardforkName)(hardfork)),
99
+ };
100
+ }),
101
+ };
102
+ }),
103
+ httpHeaders: (0, convertToEdr_1.httpHeadersToEdr)(config.forkConfig.httpHeaders),
104
+ url: config.forkConfig.jsonRpcUrl,
68
105
  };
69
106
  }
70
107
  const initialDate = config.initialDate !== undefined
@@ -76,35 +113,32 @@ class EdrProviderWrapper extends events_1.EventEmitter {
76
113
  const printLineFn = loggerConfig.printLineFn ?? logger_1.printLine;
77
114
  const replaceLastLineFn = loggerConfig.replaceLastLineFn ?? logger_1.replaceLastLine;
78
115
  const hardforkName = (0, hardforks_1.getHardforkName)(config.hardfork);
79
- const provider = await Provider.withConfig(getGlobalEdrContext(), {
116
+ const genesisState = fork !== undefined
117
+ ? [] // TODO: Add support for overriding remote fork state when the local fork is different
118
+ : l1GenesisState(l1HardforkFromString((0, convertToEdr_1.ethereumsjsHardforkToEdrSpecId)(hardforkName)));
119
+ const ownedAccounts = config.genesisAccounts.map((account) => {
120
+ const privateKey = Uint8Array.from(
121
+ // Strip the `0x` prefix
122
+ Buffer.from(account.privateKey.slice(2), "hex"));
123
+ genesisState.push({
124
+ address: (0, util_1.privateToAddress)(privateKey),
125
+ balance: BigInt(account.balance),
126
+ code: new Uint8Array(), // Empty account code, removing potential delegation code when forking
127
+ });
128
+ return account.privateKey;
129
+ });
130
+ const edrProviderConfig = {
80
131
  allowBlocksWithSameTimestamp: config.allowBlocksWithSameTimestamp ?? false,
81
132
  allowUnlimitedContractSize: config.allowUnlimitedContractSize,
82
133
  bailOnCallFailure: config.throwOnCallFailures,
83
134
  bailOnTransactionFailure: config.throwOnTransactionFailures,
84
135
  blockGasLimit: BigInt(config.blockGasLimit),
85
136
  chainId: BigInt(config.chainId),
86
- chains: Array.from(config.chains, ([chainId, hardforkConfig]) => {
87
- return {
88
- chainId: BigInt(chainId),
89
- hardforks: Array.from(hardforkConfig.hardforkHistory, ([hardfork, blockNumber]) => {
90
- return {
91
- blockNumber: BigInt(blockNumber),
92
- specId: (0, convertToEdr_1.ethereumsjsHardforkToEdrSpecId)((0, hardforks_1.getHardforkName)(hardfork)),
93
- };
94
- }),
95
- };
96
- }),
97
- cacheDir: config.forkCachePath,
98
137
  coinbase: Buffer.from(coinbase.slice(2), "hex"),
99
- enableRip7212: config.enableRip7212,
138
+ precompileOverrides: config.enableRip7212 ? [(0, edr_1.precompileP256Verify)()] : [],
100
139
  fork,
140
+ genesisState,
101
141
  hardfork: (0, convertToEdr_1.ethereumsjsHardforkToEdrSpecId)(hardforkName),
102
- genesisAccounts: config.genesisAccounts.map((account) => {
103
- return {
104
- secretKey: account.privateKey,
105
- balance: BigInt(account.balance),
106
- };
107
- }),
108
142
  initialDate,
109
143
  initialBaseFeePerGas: config.initialBaseFeePerGas !== undefined
110
144
  ? BigInt(config.initialBaseFeePerGas)
@@ -118,9 +152,16 @@ class EdrProviderWrapper extends events_1.EventEmitter {
118
152
  },
119
153
  },
120
154
  networkId: BigInt(config.networkId),
121
- }, {
155
+ observability: {},
156
+ ownedAccounts,
157
+ };
158
+ const edrLoggerConfig = {
122
159
  enable: loggerConfig.enabled,
123
- decodeConsoleLogInputsCallback: consoleLogger_1.ConsoleLogger.getDecodedLogs,
160
+ decodeConsoleLogInputsCallback: (inputs) => {
161
+ return consoleLogger_1.ConsoleLogger.getDecodedLogs(inputs.map((input) => {
162
+ return Buffer.from(input);
163
+ }));
164
+ },
124
165
  printLineCallback: (message, replace) => {
125
166
  if (replace) {
126
167
  replaceLastLineFn(message);
@@ -129,13 +170,20 @@ class EdrProviderWrapper extends events_1.EventEmitter {
129
170
  printLineFn(message);
130
171
  }
131
172
  },
132
- }, tracingConfig ?? {}, (event) => {
133
- eventAdapter.emit("ethEvent", event);
134
- });
173
+ };
174
+ const edrSubscriptionConfig = {
175
+ subscriptionCallback: (event) => {
176
+ eventAdapter.emit("ethEvent", event);
177
+ },
178
+ };
179
+ const edrTracingConfig = tracingConfig ?? {};
180
+ const contractDecoder = edr_1.ContractDecoder.withContracts(edrTracingConfig);
181
+ const context = await getGlobalEdrContext();
182
+ const provider = await context.createProvider(GENERIC_CHAIN_TYPE, edrProviderConfig, edrLoggerConfig, edrSubscriptionConfig, contractDecoder);
135
183
  const minimalEthereumJsNode = {
136
184
  _vm: (0, minimal_vm_1.getMinimalEthereumJsVm)(provider),
137
185
  };
138
- const wrapper = new EdrProviderWrapper(provider, minimalEthereumJsNode);
186
+ const wrapper = new EdrProviderWrapper(provider, edrProviderConfig, edrLoggerConfig, minimalEthereumJsNode, edrSubscriptionConfig);
139
187
  // Pass through all events from the provider
140
188
  eventAdapter.addListener("ethEvent", wrapper._ethEventListener.bind(wrapper));
141
189
  return wrapper;
@@ -145,9 +193,20 @@ class EdrProviderWrapper extends events_1.EventEmitter {
145
193
  throw new errors_1.InvalidInputError("Hardhat Network doesn't support JSON-RPC params sent as an object");
146
194
  }
147
195
  const params = args.params ?? [];
148
- if (args.method === "hardhat_getStackTraceFailuresCount") {
149
- // stubbed for backwards compatibility
150
- return 0;
196
+ // stubbed for backwards compatibility
197
+ switch (args.method) {
198
+ case "hardhat_getStackTraceFailuresCount":
199
+ return 0;
200
+ case "eth_mining":
201
+ return false;
202
+ case "net_listening":
203
+ return true;
204
+ case "net_peerCount":
205
+ return (0, base_types_1.numberToRpcQuantity)(0);
206
+ case "hardhat_reset":
207
+ return this._reset(..._resetParams(params));
208
+ case "hardhat_addCompilationResult":
209
+ return this._addCompilationResult(..._addCompilationResultParams(params));
151
210
  }
152
211
  const stringifiedArgs = JSON.stringify({
153
212
  method: args.method,
@@ -167,7 +226,7 @@ class EdrProviderWrapper extends events_1.EventEmitter {
167
226
  const rawTraces = responseObject.traces;
168
227
  for (const rawTrace of rawTraces) {
169
228
  // For other consumers in JS we need to marshall the entire trace over FFI
170
- const trace = rawTrace.trace();
229
+ const trace = rawTrace.trace;
171
230
  // beforeTx event
172
231
  if (this._node._vm.events.listenerCount("beforeTx") > 0) {
173
232
  this._node._vm.events.emit("beforeTx");
@@ -226,10 +285,7 @@ class EdrProviderWrapper extends events_1.EventEmitter {
226
285
  // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
227
286
  throw error;
228
287
  }
229
- if (args.method === "hardhat_reset") {
230
- this.emit(constants_1.HARDHAT_NETWORK_RESET_EVENT);
231
- }
232
- else if (args.method === "evm_revert") {
288
+ if (args.method === "evm_revert") {
233
289
  this.emit(constants_1.HARDHAT_NETWORK_REVERT_SNAPSHOT_EVENT);
234
290
  }
235
291
  // Override EDR version string with Hardhat version string with EDR backend,
@@ -245,15 +301,52 @@ class EdrProviderWrapper extends events_1.EventEmitter {
245
301
  return response.result;
246
302
  }
247
303
  }
304
+ async _addCompilationResult(solcVersion, input, output) {
305
+ try {
306
+ await this._provider.addCompilationResult(solcVersion, input, output);
307
+ return true;
308
+ }
309
+ catch (error) {
310
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
311
+ throw new errors_1.InternalError(error);
312
+ }
313
+ }
314
+ async _reset(networkConfig) {
315
+ const { GENERIC_CHAIN_TYPE } = (0, napi_rs_1.requireNapiRsModule)("@nomicfoundation/edr");
316
+ const forkConfig = networkConfig?.forking;
317
+ if (forkConfig !== undefined) {
318
+ this._providerConfig.fork = {
319
+ blockNumber: forkConfig.blockNumber !== undefined
320
+ ? BigInt(forkConfig.blockNumber)
321
+ : undefined,
322
+ cacheDir: this._providerConfig.fork?.cacheDir,
323
+ chainOverrides: this._providerConfig.fork?.chainOverrides,
324
+ httpHeaders: (0, convertToEdr_1.httpHeadersToEdr)(forkConfig.httpHeaders),
325
+ url: forkConfig.jsonRpcUrl,
326
+ };
327
+ }
328
+ else {
329
+ this._providerConfig.fork = undefined;
330
+ }
331
+ const context = await getGlobalEdrContext();
332
+ const provider = await context.createProvider(GENERIC_CHAIN_TYPE, this._providerConfig, this._loggerConfig, this._subscriptionConfig, this._provider.contractDecoder());
333
+ const minimalEthereumJsNode = {
334
+ _vm: (0, minimal_vm_1.getMinimalEthereumJsVm)(provider),
335
+ };
336
+ this._provider = provider;
337
+ this._node = minimalEthereumJsNode;
338
+ this.emit(constants_1.HARDHAT_NETWORK_RESET_EVENT);
339
+ return true;
340
+ }
248
341
  // temporarily added to make smock work with HH+EDR
249
- _setCallOverrideCallback(callback) {
342
+ async _setCallOverrideCallback(callback) {
250
343
  this._callOverrideCallback = callback;
251
- this._provider.setCallOverrideCallback(async (address, data) => {
252
- return this._callOverrideCallback?.(address, data);
344
+ await this._provider.setCallOverrideCallback(async (address, data) => {
345
+ return this._callOverrideCallback?.(Buffer.from(address), Buffer.from(data));
253
346
  });
254
347
  }
255
- _setVerboseTracing(enabled) {
256
- this._provider.setVerboseTracing(enabled);
348
+ async _setVerboseTracing(enabled) {
349
+ await this._provider.setVerboseTracing(enabled);
257
350
  }
258
351
  _ethEventListener(event) {
259
352
  const subscription = `0x${event.filterId.toString(16)}`;
@@ -310,4 +403,10 @@ async function makeTracingConfig(artifacts) {
310
403
  }
311
404
  }
312
405
  }
406
+ function _addCompilationResultParams(params) {
407
+ return (0, validation_1.validateParams)(params, t.string, solc_1.rpcCompilerInput, solc_1.rpcCompilerOutput);
408
+ }
409
+ function _resetParams(params) {
410
+ return (0, validation_1.validateParams)(params, hardhat_network_1.optionalRpcHardhatNetworkConfig);
411
+ }
313
412
  //# sourceMappingURL=provider.js.map
@@ -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":"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"}
@@ -1,9 +1,9 @@
1
- import type { SpecId, MineOrdering, IntervalRange, DebugTraceResult, TracingMessage, TracingMessageResult, TracingStep } from "@nomicfoundation/edr";
1
+ import type { SpecId, MineOrdering, IntervalRange, DebugTraceResult, TracingMessage, TracingMessageResult, TracingStep, HttpHeader } from "@nomicfoundation/edr";
2
2
  import { HardforkName } from "../../../util/hardforks";
3
3
  import { IntervalMiningConfig, MempoolOrder } from "../node-types";
4
4
  import { RpcDebugTraceOutput } from "../output";
5
5
  import { MinimalEVMResult, MinimalInterpreterStep, MinimalMessage } from "../vm/types";
6
- export declare function ethereumsjsHardforkToEdrSpecId(hardfork: HardforkName): SpecId;
6
+ export declare function ethereumsjsHardforkToEdrSpecId(hardfork: HardforkName): string;
7
7
  export declare function edrSpecIdToEthereumHardfork(specId: SpecId): HardforkName;
8
8
  export declare function ethereumjsIntervalMiningConfigToEdr(config: IntervalMiningConfig): bigint | IntervalRange | undefined;
9
9
  export declare function ethereumjsMempoolOrderToEdrMineOrdering(mempoolOrder: MempoolOrder): MineOrdering;
@@ -11,4 +11,7 @@ export declare function edrRpcDebugTraceToHardhat(rpcDebugTrace: DebugTraceResul
11
11
  export declare function edrTracingStepToMinimalInterpreterStep(step: TracingStep): MinimalInterpreterStep;
12
12
  export declare function edrTracingMessageResultToMinimalEVMResult(tracingMessageResult: TracingMessageResult): MinimalEVMResult;
13
13
  export declare function edrTracingMessageToMinimalMessage(message: TracingMessage): MinimalMessage;
14
+ export declare function httpHeadersToEdr(input?: {
15
+ [name: string]: string;
16
+ }): HttpHeader[] | undefined;
14
17
  //# sourceMappingURL=convertToEdr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertToEdr.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/convertToEdr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAgB,MAAM,WAAW,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACf,MAAM,aAAa,CAAC;AAIrB,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAgD7E;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA8CxE;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,oBAAoB,GAC3B,MAAM,GAAG,aAAa,GAAG,SAAS,CAcpC;AAED,wBAAgB,uCAAuC,CACrD,YAAY,EAAE,YAAY,GACzB,YAAY,CAWd;AAED,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,gBAAgB,GAC9B,mBAAmB,CAoDrB;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,WAAW,GAChB,sBAAsB,CAexB;AAED,wBAAgB,yCAAyC,CACvD,oBAAoB,EAAE,oBAAoB,GACzC,gBAAgB,CA+BlB;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,cAAc,GACtB,cAAc,CAahB"}
1
+ {"version":3,"file":"convertToEdr.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/convertToEdr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,UAAU,EACX,MAAM,sBAAsB,CAAC;AAwB9B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAgB,MAAM,WAAW,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACf,MAAM,aAAa,CAAC;AAIrB,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CA4C7E;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA8CxE;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,oBAAoB,GAC3B,MAAM,GAAG,aAAa,GAAG,SAAS,CAcpC;AAED,wBAAgB,uCAAuC,CACrD,YAAY,EAAE,YAAY,GACzB,YAAY,CAWd;AAED,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,gBAAgB,GAC9B,mBAAmB,CAoDrB;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,WAAW,GAChB,sBAAsB,CAexB;AAED,wBAAgB,yCAAyC,CACvD,oBAAoB,EAAE,oBAAoB,GACzC,gBAAgB,CA+BlB;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,cAAc,GACtB,cAAc,CAahB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE;IACvC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,GAAG,UAAU,EAAE,GAAG,SAAS,CAc3B"}
@@ -1,49 +1,49 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.edrTracingMessageToMinimalMessage = exports.edrTracingMessageResultToMinimalEVMResult = exports.edrTracingStepToMinimalInterpreterStep = exports.edrRpcDebugTraceToHardhat = exports.ethereumjsMempoolOrderToEdrMineOrdering = exports.ethereumjsIntervalMiningConfigToEdr = exports.edrSpecIdToEthereumHardfork = exports.ethereumsjsHardforkToEdrSpecId = void 0;
3
+ exports.httpHeadersToEdr = exports.edrTracingMessageToMinimalMessage = exports.edrTracingMessageResultToMinimalEVMResult = exports.edrTracingStepToMinimalInterpreterStep = exports.edrRpcDebugTraceToHardhat = exports.ethereumjsMempoolOrderToEdrMineOrdering = exports.ethereumjsIntervalMiningConfigToEdr = exports.edrSpecIdToEthereumHardfork = exports.ethereumsjsHardforkToEdrSpecId = void 0;
4
+ const edr_1 = require("@nomicfoundation/edr");
4
5
  const util_1 = require("@ethereumjs/util");
5
6
  const napi_rs_1 = require("../../../../common/napi-rs");
6
7
  const hardforks_1 = require("../../../util/hardforks");
7
8
  /* eslint-disable @nomicfoundation/hardhat-internal-rules/only-hardhat-error */
8
9
  function ethereumsjsHardforkToEdrSpecId(hardfork) {
9
- const { SpecId } = (0, napi_rs_1.requireNapiRsModule)("@nomicfoundation/edr");
10
10
  switch (hardfork) {
11
11
  case hardforks_1.HardforkName.FRONTIER:
12
- return SpecId.Frontier;
12
+ return edr_1.FRONTIER;
13
13
  case hardforks_1.HardforkName.HOMESTEAD:
14
- return SpecId.Homestead;
14
+ return edr_1.HOMESTEAD;
15
15
  case hardforks_1.HardforkName.DAO:
16
- return SpecId.DaoFork;
16
+ return edr_1.DAO_FORK;
17
17
  case hardforks_1.HardforkName.TANGERINE_WHISTLE:
18
- return SpecId.Tangerine;
18
+ return edr_1.TANGERINE;
19
19
  case hardforks_1.HardforkName.SPURIOUS_DRAGON:
20
- return SpecId.SpuriousDragon;
20
+ return edr_1.SPURIOUS_DRAGON;
21
21
  case hardforks_1.HardforkName.BYZANTIUM:
22
- return SpecId.Byzantium;
22
+ return edr_1.BYZANTIUM;
23
23
  case hardforks_1.HardforkName.CONSTANTINOPLE:
24
- return SpecId.Constantinople;
24
+ return edr_1.CONSTANTINOPLE;
25
25
  case hardforks_1.HardforkName.PETERSBURG:
26
- return SpecId.Petersburg;
26
+ return edr_1.PETERSBURG;
27
27
  case hardforks_1.HardforkName.ISTANBUL:
28
- return SpecId.Istanbul;
28
+ return edr_1.ISTANBUL;
29
29
  case hardforks_1.HardforkName.MUIR_GLACIER:
30
- return SpecId.MuirGlacier;
30
+ return edr_1.MUIR_GLACIER;
31
31
  case hardforks_1.HardforkName.BERLIN:
32
- return SpecId.Berlin;
32
+ return edr_1.BERLIN;
33
33
  case hardforks_1.HardforkName.LONDON:
34
- return SpecId.London;
34
+ return edr_1.LONDON;
35
35
  case hardforks_1.HardforkName.ARROW_GLACIER:
36
- return SpecId.ArrowGlacier;
36
+ return edr_1.ARROW_GLACIER;
37
37
  case hardforks_1.HardforkName.GRAY_GLACIER:
38
- return SpecId.GrayGlacier;
38
+ return edr_1.GRAY_GLACIER;
39
39
  case hardforks_1.HardforkName.MERGE:
40
- return SpecId.Merge;
40
+ return edr_1.MERGE;
41
41
  case hardforks_1.HardforkName.SHANGHAI:
42
- return SpecId.Shanghai;
42
+ return edr_1.SHANGHAI;
43
43
  case hardforks_1.HardforkName.CANCUN:
44
- return SpecId.Cancun;
44
+ return edr_1.CANCUN;
45
45
  case hardforks_1.HardforkName.PRAGUE:
46
- return SpecId.Prague;
46
+ return edr_1.PRAGUE;
47
47
  default:
48
48
  const _exhaustiveCheck = hardfork;
49
49
  throw new Error(`Unknown hardfork name '${hardfork}', this shouldn't happen`);
@@ -154,7 +154,7 @@ function edrRpcDebugTraceToHardhat(rpcDebugTrace) {
154
154
  if (structLogs.length > 0 && structLogs[0].op === "STOP") {
155
155
  structLogs.shift();
156
156
  }
157
- let returnValue = rpcDebugTrace.output?.toString("hex") ?? "";
157
+ let returnValue = rpcDebugTrace.output?.toString() ?? "";
158
158
  if (returnValue === "0x") {
159
159
  returnValue = "";
160
160
  }
@@ -197,11 +197,11 @@ function edrTracingMessageResultToMinimalEVMResult(tracingMessageResult) {
197
197
  }
198
198
  if ("output" in result) {
199
199
  const { output } = result;
200
- if (Buffer.isBuffer(output)) {
201
- minimalEVMResult.execResult.output = output;
200
+ if (output instanceof Uint8Array) {
201
+ minimalEVMResult.execResult.output = Buffer.from(output);
202
202
  }
203
203
  else {
204
- minimalEVMResult.execResult.output = output.returnValue;
204
+ minimalEVMResult.execResult.output = Buffer.from(output.returnValue);
205
205
  }
206
206
  }
207
207
  if (contractAddress !== undefined) {
@@ -224,4 +224,18 @@ function edrTracingMessageToMinimalMessage(message) {
224
224
  };
225
225
  }
226
226
  exports.edrTracingMessageToMinimalMessage = edrTracingMessageToMinimalMessage;
227
+ function httpHeadersToEdr(input) {
228
+ let httpHeaders;
229
+ if (input !== undefined) {
230
+ httpHeaders = [];
231
+ for (const [name, value] of Object.entries(input)) {
232
+ httpHeaders.push({
233
+ name,
234
+ value,
235
+ });
236
+ }
237
+ }
238
+ return httpHeaders;
239
+ }
240
+ exports.httpHeadersToEdr = httpHeadersToEdr;
227
241
  //# sourceMappingURL=convertToEdr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertToEdr.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/convertToEdr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convertToEdr.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/convertToEdr.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat",
3
- "version": "2.26.5",
3
+ "version": "2.27.0",
4
4
  "author": "Nomic Labs LLC",
5
5
  "license": "MIT",
6
6
  "homepage": "https://hardhat.org",
@@ -86,7 +86,7 @@
86
86
  "dependencies": {
87
87
  "@ethereumjs/util": "^9.1.0",
88
88
  "@ethersproject/abi": "^5.1.2",
89
- "@nomicfoundation/edr": "^0.11.3",
89
+ "@nomicfoundation/edr": "^0.12.0-next.7",
90
90
  "@nomicfoundation/solidity-analyzer": "^0.1.0",
91
91
  "@sentry/node": "^5.18.1",
92
92
  "adm-zip": "^0.4.16",
@@ -1,5 +1,7 @@
1
1
  import type {
2
2
  Artifacts,
3
+ CompilerInput,
4
+ CompilerOutput,
3
5
  EIP1193Provider,
4
6
  EthSubscription,
5
7
  HardhatNetworkChainsConfig,
@@ -8,23 +10,39 @@ import type {
8
10
 
9
11
  import type {
10
12
  EdrContext,
13
+ LoggerConfig as EdrLoggerConfig,
11
14
  Provider as EdrProviderT,
12
15
  Response,
13
16
  SubscriptionEvent,
14
- HttpHeader,
15
17
  TracingConfigWithBuffers,
18
+ ProviderConfig,
19
+ SubscriptionConfig,
16
20
  } from "@nomicfoundation/edr";
21
+ import { privateToAddress } from "@ethereumjs/util";
22
+ import { ContractDecoder, precompileP256Verify } from "@nomicfoundation/edr";
17
23
  import picocolors from "picocolors";
18
24
  import debug from "debug";
19
25
  import { EventEmitter } from "events";
20
26
  import fsExtra from "fs-extra";
27
+ import * as t from "io-ts";
21
28
 
22
29
  import { requireNapiRsModule } from "../../../common/napi-rs";
23
30
  import {
24
31
  HARDHAT_NETWORK_RESET_EVENT,
25
32
  HARDHAT_NETWORK_REVERT_SNAPSHOT_EVENT,
26
33
  } from "../../constants";
34
+ import { numberToRpcQuantity } from "../../core/jsonrpc/types/base-types";
27
35
  import {
36
+ optionalRpcHardhatNetworkConfig,
37
+ RpcHardhatNetworkConfig,
38
+ } from "../../core/jsonrpc/types/input/hardhat-network";
39
+ import {
40
+ rpcCompilerInput,
41
+ rpcCompilerOutput,
42
+ } from "../../core/jsonrpc/types/input/solc";
43
+ import { validateParams } from "../../core/jsonrpc/types/input/validation";
44
+ import {
45
+ InternalError,
28
46
  InvalidArgumentsError,
29
47
  InvalidInputError,
30
48
  ProviderError,
@@ -50,6 +68,7 @@ import {
50
68
  ethereumjsIntervalMiningConfigToEdr,
51
69
  ethereumjsMempoolOrderToEdrMineOrdering,
52
70
  ethereumsjsHardforkToEdrSpecId,
71
+ httpHeadersToEdr,
53
72
  } from "./utils/convertToEdr";
54
73
  import { LoggerConfig, printLine, replaceLastLine } from "./modules/logger";
55
74
  import { MinimalEthereumJsVm, getMinimalEthereumJsVm } from "./vm/minimal-vm";
@@ -62,14 +81,19 @@ export const DEFAULT_COINBASE = "0xc014ba5ec014ba5ec014ba5ec014ba5ec014ba5e";
62
81
  let _globalEdrContext: EdrContext | undefined;
63
82
 
64
83
  // Lazy initialize the global EDR context.
65
- export function getGlobalEdrContext(): EdrContext {
66
- const { EdrContext } = requireNapiRsModule(
67
- "@nomicfoundation/edr"
68
- ) as typeof import("@nomicfoundation/edr");
84
+ export async function getGlobalEdrContext(): Promise<EdrContext> {
85
+ const { EdrContext, GENERIC_CHAIN_TYPE, genericChainProviderFactory } =
86
+ requireNapiRsModule(
87
+ "@nomicfoundation/edr"
88
+ ) as typeof import("@nomicfoundation/edr");
69
89
 
70
90
  if (_globalEdrContext === undefined) {
71
91
  // Only one is allowed to exist
72
92
  _globalEdrContext = new EdrContext();
93
+ await _globalEdrContext.registerProviderFactory(
94
+ GENERIC_CHAIN_TYPE,
95
+ genericChainProviderFactory()
96
+ );
73
97
  }
74
98
 
75
99
  return _globalEdrContext;
@@ -119,11 +143,14 @@ export class EdrProviderWrapper
119
143
  private _callOverrideCallback?: CallOverrideCallback;
120
144
 
121
145
  private constructor(
122
- private readonly _provider: EdrProviderT,
146
+ private _provider: EdrProviderT,
147
+ private readonly _providerConfig: ProviderConfig,
148
+ private readonly _loggerConfig: EdrLoggerConfig,
123
149
  // we add this for backwards-compatibility with plugins like solidity-coverage
124
- private readonly _node: {
150
+ private _node: {
125
151
  _vm: MinimalEthereumJsVm;
126
- }
152
+ },
153
+ private readonly _subscriptionConfig: SubscriptionConfig
127
154
  ) {
128
155
  super();
129
156
  }
@@ -133,35 +160,43 @@ export class EdrProviderWrapper
133
160
  loggerConfig: LoggerConfig,
134
161
  tracingConfig?: TracingConfigWithBuffers
135
162
  ): Promise<EdrProviderWrapper> {
136
- const { Provider } = requireNapiRsModule(
137
- "@nomicfoundation/edr"
138
- ) as typeof import("@nomicfoundation/edr");
163
+ const { GENERIC_CHAIN_TYPE, l1GenesisState, l1HardforkFromString } =
164
+ requireNapiRsModule(
165
+ "@nomicfoundation/edr"
166
+ ) as typeof import("@nomicfoundation/edr");
139
167
 
140
168
  const coinbase = config.coinbase ?? DEFAULT_COINBASE;
141
169
 
142
170
  let fork;
143
171
  if (config.forkConfig !== undefined) {
144
- let httpHeaders: HttpHeader[] | undefined;
145
- if (config.forkConfig.httpHeaders !== undefined) {
146
- httpHeaders = [];
147
-
148
- for (const [name, value] of Object.entries(
149
- config.forkConfig.httpHeaders
150
- )) {
151
- httpHeaders.push({
152
- name,
153
- value,
154
- });
155
- }
156
- }
157
-
158
172
  fork = {
159
- jsonRpcUrl: config.forkConfig.jsonRpcUrl,
160
173
  blockNumber:
161
174
  config.forkConfig.blockNumber !== undefined
162
175
  ? BigInt(config.forkConfig.blockNumber)
163
176
  : undefined,
164
- httpHeaders,
177
+ cacheDir: config.forkCachePath,
178
+ chainOverrides: Array.from(
179
+ config.chains,
180
+ ([chainId, hardforkConfig]) => {
181
+ return {
182
+ chainId: BigInt(chainId),
183
+ name: "Unknown",
184
+ hardforks: Array.from(
185
+ hardforkConfig.hardforkHistory,
186
+ ([hardfork, blockNumber]) => {
187
+ return {
188
+ condition: { blockNumber: BigInt(blockNumber) },
189
+ hardfork: ethereumsjsHardforkToEdrSpecId(
190
+ getHardforkName(hardfork)
191
+ ),
192
+ };
193
+ }
194
+ ),
195
+ };
196
+ }
197
+ ),
198
+ httpHeaders: httpHeadersToEdr(config.forkConfig.httpHeaders),
199
+ url: config.forkConfig.jsonRpcUrl,
165
200
  };
166
201
  }
167
202
 
@@ -179,80 +214,107 @@ export class EdrProviderWrapper
179
214
 
180
215
  const hardforkName = getHardforkName(config.hardfork);
181
216
 
182
- const provider = await Provider.withConfig(
183
- getGlobalEdrContext(),
184
- {
185
- allowBlocksWithSameTimestamp:
186
- config.allowBlocksWithSameTimestamp ?? false,
187
- allowUnlimitedContractSize: config.allowUnlimitedContractSize,
188
- bailOnCallFailure: config.throwOnCallFailures,
189
- bailOnTransactionFailure: config.throwOnTransactionFailures,
190
- blockGasLimit: BigInt(config.blockGasLimit),
191
- chainId: BigInt(config.chainId),
192
- chains: Array.from(config.chains, ([chainId, hardforkConfig]) => {
193
- return {
194
- chainId: BigInt(chainId),
195
- hardforks: Array.from(
196
- hardforkConfig.hardforkHistory,
197
- ([hardfork, blockNumber]) => {
198
- return {
199
- blockNumber: BigInt(blockNumber),
200
- specId: ethereumsjsHardforkToEdrSpecId(
201
- getHardforkName(hardfork)
202
- ),
203
- };
204
- }
205
- ),
206
- };
207
- }),
208
- cacheDir: config.forkCachePath,
209
- coinbase: Buffer.from(coinbase.slice(2), "hex"),
210
- enableRip7212: config.enableRip7212,
211
- fork,
212
- hardfork: ethereumsjsHardforkToEdrSpecId(hardforkName),
213
- genesisAccounts: config.genesisAccounts.map((account) => {
214
- return {
215
- secretKey: account.privateKey,
216
- balance: BigInt(account.balance),
217
- };
218
- }),
219
- initialDate,
220
- initialBaseFeePerGas:
221
- config.initialBaseFeePerGas !== undefined
222
- ? BigInt(config.initialBaseFeePerGas!)
223
- : undefined,
224
- minGasPrice: config.minGasPrice,
225
- mining: {
226
- autoMine: config.automine,
227
- interval: ethereumjsIntervalMiningConfigToEdr(config.intervalMining),
228
- memPool: {
229
- order: ethereumjsMempoolOrderToEdrMineOrdering(config.mempoolOrder),
230
- },
217
+ const genesisState =
218
+ fork !== undefined
219
+ ? [] // TODO: Add support for overriding remote fork state when the local fork is different
220
+ : l1GenesisState(
221
+ l1HardforkFromString(ethereumsjsHardforkToEdrSpecId(hardforkName))
222
+ );
223
+
224
+ const ownedAccounts = config.genesisAccounts.map((account) => {
225
+ const privateKey = Uint8Array.from(
226
+ // Strip the `0x` prefix
227
+ Buffer.from(account.privateKey.slice(2), "hex")
228
+ );
229
+
230
+ genesisState.push({
231
+ address: privateToAddress(privateKey),
232
+ balance: BigInt(account.balance),
233
+ code: new Uint8Array(), // Empty account code, removing potential delegation code when forking
234
+ });
235
+
236
+ return account.privateKey;
237
+ });
238
+
239
+ const edrProviderConfig = {
240
+ allowBlocksWithSameTimestamp:
241
+ config.allowBlocksWithSameTimestamp ?? false,
242
+ allowUnlimitedContractSize: config.allowUnlimitedContractSize,
243
+ bailOnCallFailure: config.throwOnCallFailures,
244
+ bailOnTransactionFailure: config.throwOnTransactionFailures,
245
+ blockGasLimit: BigInt(config.blockGasLimit),
246
+ chainId: BigInt(config.chainId),
247
+ coinbase: Buffer.from(coinbase.slice(2), "hex"),
248
+ precompileOverrides: config.enableRip7212 ? [precompileP256Verify()] : [],
249
+ fork,
250
+ genesisState,
251
+ hardfork: ethereumsjsHardforkToEdrSpecId(hardforkName),
252
+ initialDate,
253
+ initialBaseFeePerGas:
254
+ config.initialBaseFeePerGas !== undefined
255
+ ? BigInt(config.initialBaseFeePerGas!)
256
+ : undefined,
257
+ minGasPrice: config.minGasPrice,
258
+ mining: {
259
+ autoMine: config.automine,
260
+ interval: ethereumjsIntervalMiningConfigToEdr(config.intervalMining),
261
+ memPool: {
262
+ order: ethereumjsMempoolOrderToEdrMineOrdering(config.mempoolOrder),
231
263
  },
232
- networkId: BigInt(config.networkId),
233
264
  },
234
- {
235
- enable: loggerConfig.enabled,
236
- decodeConsoleLogInputsCallback: ConsoleLogger.getDecodedLogs,
237
- printLineCallback: (message: string, replace: boolean) => {
238
- if (replace) {
239
- replaceLastLineFn(message);
240
- } else {
241
- printLineFn(message);
242
- }
243
- },
265
+ networkId: BigInt(config.networkId),
266
+ observability: {},
267
+ ownedAccounts,
268
+ };
269
+
270
+ const edrLoggerConfig = {
271
+ enable: loggerConfig.enabled,
272
+ decodeConsoleLogInputsCallback: (inputs: ArrayBuffer[]) => {
273
+ return ConsoleLogger.getDecodedLogs(
274
+ inputs.map((input) => {
275
+ return Buffer.from(input);
276
+ })
277
+ );
244
278
  },
245
- tracingConfig ?? {},
246
- (event: SubscriptionEvent) => {
279
+ printLineCallback: (message: string, replace: boolean) => {
280
+ if (replace) {
281
+ replaceLastLineFn(message);
282
+ } else {
283
+ printLineFn(message);
284
+ }
285
+ },
286
+ };
287
+
288
+ const edrSubscriptionConfig = {
289
+ subscriptionCallback: (event: SubscriptionEvent) => {
247
290
  eventAdapter.emit("ethEvent", event);
248
- }
291
+ },
292
+ };
293
+
294
+ const edrTracingConfig = tracingConfig ?? {};
295
+
296
+ const contractDecoder = ContractDecoder.withContracts(edrTracingConfig);
297
+
298
+ const context = await getGlobalEdrContext();
299
+ const provider = await context.createProvider(
300
+ GENERIC_CHAIN_TYPE,
301
+ edrProviderConfig,
302
+ edrLoggerConfig,
303
+ edrSubscriptionConfig,
304
+ contractDecoder
249
305
  );
250
306
 
251
307
  const minimalEthereumJsNode = {
252
308
  _vm: getMinimalEthereumJsVm(provider),
253
309
  };
254
310
 
255
- const wrapper = new EdrProviderWrapper(provider, minimalEthereumJsNode);
311
+ const wrapper = new EdrProviderWrapper(
312
+ provider,
313
+ edrProviderConfig,
314
+ edrLoggerConfig,
315
+ minimalEthereumJsNode,
316
+ edrSubscriptionConfig
317
+ );
256
318
 
257
319
  // Pass through all events from the provider
258
320
  eventAdapter.addListener(
@@ -272,9 +334,22 @@ export class EdrProviderWrapper
272
334
 
273
335
  const params = args.params ?? [];
274
336
 
275
- if (args.method === "hardhat_getStackTraceFailuresCount") {
276
- // stubbed for backwards compatibility
277
- return 0;
337
+ // stubbed for backwards compatibility
338
+ switch (args.method) {
339
+ case "hardhat_getStackTraceFailuresCount":
340
+ return 0;
341
+ case "eth_mining":
342
+ return false;
343
+ case "net_listening":
344
+ return true;
345
+ case "net_peerCount":
346
+ return numberToRpcQuantity(0);
347
+ case "hardhat_reset":
348
+ return this._reset(..._resetParams(params));
349
+ case "hardhat_addCompilationResult":
350
+ return this._addCompilationResult(
351
+ ..._addCompilationResultParams(params)
352
+ );
278
353
  }
279
354
 
280
355
  const stringifiedArgs = JSON.stringify({
@@ -301,7 +376,7 @@ export class EdrProviderWrapper
301
376
  const rawTraces = responseObject.traces;
302
377
  for (const rawTrace of rawTraces) {
303
378
  // For other consumers in JS we need to marshall the entire trace over FFI
304
- const trace = rawTrace.trace();
379
+ const trace = rawTrace.trace;
305
380
 
306
381
  // beforeTx event
307
382
  if (this._node._vm.events.listenerCount("beforeTx") > 0) {
@@ -377,9 +452,7 @@ export class EdrProviderWrapper
377
452
  throw error;
378
453
  }
379
454
 
380
- if (args.method === "hardhat_reset") {
381
- this.emit(HARDHAT_NETWORK_RESET_EVENT);
382
- } else if (args.method === "evm_revert") {
455
+ if (args.method === "evm_revert") {
383
456
  this.emit(HARDHAT_NETWORK_REVERT_SNAPSHOT_EVENT);
384
457
  }
385
458
 
@@ -397,19 +470,81 @@ export class EdrProviderWrapper
397
470
  }
398
471
  }
399
472
 
473
+ private async _addCompilationResult(
474
+ solcVersion: string,
475
+ input: CompilerInput,
476
+ output: CompilerOutput
477
+ ): Promise<boolean> {
478
+ try {
479
+ await this._provider.addCompilationResult(solcVersion, input, output);
480
+
481
+ return true;
482
+ } catch (error: any) {
483
+ // eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
484
+ throw new InternalError(error);
485
+ }
486
+ }
487
+
488
+ private async _reset(networkConfig?: RpcHardhatNetworkConfig) {
489
+ const { GENERIC_CHAIN_TYPE } = requireNapiRsModule(
490
+ "@nomicfoundation/edr"
491
+ ) as typeof import("@nomicfoundation/edr");
492
+ const forkConfig = networkConfig?.forking;
493
+
494
+ if (forkConfig !== undefined) {
495
+ this._providerConfig.fork = {
496
+ blockNumber:
497
+ forkConfig.blockNumber !== undefined
498
+ ? BigInt(forkConfig.blockNumber)
499
+ : undefined,
500
+ cacheDir: this._providerConfig.fork?.cacheDir,
501
+ chainOverrides: this._providerConfig.fork?.chainOverrides,
502
+ httpHeaders: httpHeadersToEdr(forkConfig.httpHeaders),
503
+ url: forkConfig.jsonRpcUrl,
504
+ };
505
+ } else {
506
+ this._providerConfig.fork = undefined;
507
+ }
508
+
509
+ const context = await getGlobalEdrContext();
510
+ const provider = await context.createProvider(
511
+ GENERIC_CHAIN_TYPE,
512
+ this._providerConfig,
513
+ this._loggerConfig,
514
+ this._subscriptionConfig,
515
+ this._provider.contractDecoder()
516
+ );
517
+
518
+ const minimalEthereumJsNode = {
519
+ _vm: getMinimalEthereumJsVm(provider),
520
+ };
521
+
522
+ this._provider = provider;
523
+ this._node = minimalEthereumJsNode;
524
+
525
+ this.emit(HARDHAT_NETWORK_RESET_EVENT);
526
+
527
+ return true;
528
+ }
529
+
400
530
  // temporarily added to make smock work with HH+EDR
401
- private _setCallOverrideCallback(callback: CallOverrideCallback) {
531
+ private async _setCallOverrideCallback(
532
+ callback: CallOverrideCallback
533
+ ): Promise<void> {
402
534
  this._callOverrideCallback = callback;
403
535
 
404
- this._provider.setCallOverrideCallback(
405
- async (address: Buffer, data: Buffer) => {
406
- return this._callOverrideCallback?.(address, data);
536
+ await this._provider.setCallOverrideCallback(
537
+ async (address: ArrayBuffer, data: ArrayBuffer) => {
538
+ return this._callOverrideCallback?.(
539
+ Buffer.from(address),
540
+ Buffer.from(data)
541
+ );
407
542
  }
408
543
  );
409
544
  }
410
545
 
411
- private _setVerboseTracing(enabled: boolean) {
412
- this._provider.setVerboseTracing(enabled);
546
+ private async _setVerboseTracing(enabled: boolean): Promise<void> {
547
+ await this._provider.setVerboseTracing(enabled);
413
548
  }
414
549
 
415
550
  private _ethEventListener(event: SubscriptionEvent) {
@@ -493,3 +628,13 @@ async function makeTracingConfig(
493
628
  }
494
629
  }
495
630
  }
631
+
632
+ function _addCompilationResultParams(
633
+ params: any[]
634
+ ): [string, CompilerInput, CompilerOutput] {
635
+ return validateParams(params, t.string, rpcCompilerInput, rpcCompilerOutput);
636
+ }
637
+
638
+ function _resetParams(params: any[]): [RpcHardhatNetworkConfig | undefined] {
639
+ return validateParams(params, optionalRpcHardhatNetworkConfig);
640
+ }
@@ -6,6 +6,27 @@ import type {
6
6
  TracingMessage,
7
7
  TracingMessageResult,
8
8
  TracingStep,
9
+ HttpHeader,
10
+ } from "@nomicfoundation/edr";
11
+ import {
12
+ FRONTIER,
13
+ HOMESTEAD,
14
+ DAO_FORK,
15
+ TANGERINE,
16
+ SPURIOUS_DRAGON,
17
+ BYZANTIUM,
18
+ CONSTANTINOPLE,
19
+ PETERSBURG,
20
+ ISTANBUL,
21
+ MUIR_GLACIER,
22
+ BERLIN,
23
+ LONDON,
24
+ ARROW_GLACIER,
25
+ GRAY_GLACIER,
26
+ MERGE,
27
+ SHANGHAI,
28
+ CANCUN,
29
+ PRAGUE,
9
30
  } from "@nomicfoundation/edr";
10
31
  import { Address } from "@ethereumjs/util";
11
32
 
@@ -21,48 +42,44 @@ import {
21
42
 
22
43
  /* eslint-disable @nomicfoundation/hardhat-internal-rules/only-hardhat-error */
23
44
 
24
- export function ethereumsjsHardforkToEdrSpecId(hardfork: HardforkName): SpecId {
25
- const { SpecId } = requireNapiRsModule(
26
- "@nomicfoundation/edr"
27
- ) as typeof import("@nomicfoundation/edr");
28
-
45
+ export function ethereumsjsHardforkToEdrSpecId(hardfork: HardforkName): string {
29
46
  switch (hardfork) {
30
47
  case HardforkName.FRONTIER:
31
- return SpecId.Frontier;
48
+ return FRONTIER;
32
49
  case HardforkName.HOMESTEAD:
33
- return SpecId.Homestead;
50
+ return HOMESTEAD;
34
51
  case HardforkName.DAO:
35
- return SpecId.DaoFork;
52
+ return DAO_FORK;
36
53
  case HardforkName.TANGERINE_WHISTLE:
37
- return SpecId.Tangerine;
54
+ return TANGERINE;
38
55
  case HardforkName.SPURIOUS_DRAGON:
39
- return SpecId.SpuriousDragon;
56
+ return SPURIOUS_DRAGON;
40
57
  case HardforkName.BYZANTIUM:
41
- return SpecId.Byzantium;
58
+ return BYZANTIUM;
42
59
  case HardforkName.CONSTANTINOPLE:
43
- return SpecId.Constantinople;
60
+ return CONSTANTINOPLE;
44
61
  case HardforkName.PETERSBURG:
45
- return SpecId.Petersburg;
62
+ return PETERSBURG;
46
63
  case HardforkName.ISTANBUL:
47
- return SpecId.Istanbul;
64
+ return ISTANBUL;
48
65
  case HardforkName.MUIR_GLACIER:
49
- return SpecId.MuirGlacier;
66
+ return MUIR_GLACIER;
50
67
  case HardforkName.BERLIN:
51
- return SpecId.Berlin;
68
+ return BERLIN;
52
69
  case HardforkName.LONDON:
53
- return SpecId.London;
70
+ return LONDON;
54
71
  case HardforkName.ARROW_GLACIER:
55
- return SpecId.ArrowGlacier;
72
+ return ARROW_GLACIER;
56
73
  case HardforkName.GRAY_GLACIER:
57
- return SpecId.GrayGlacier;
74
+ return GRAY_GLACIER;
58
75
  case HardforkName.MERGE:
59
- return SpecId.Merge;
76
+ return MERGE;
60
77
  case HardforkName.SHANGHAI:
61
- return SpecId.Shanghai;
78
+ return SHANGHAI;
62
79
  case HardforkName.CANCUN:
63
- return SpecId.Cancun;
80
+ return CANCUN;
64
81
  case HardforkName.PRAGUE:
65
- return SpecId.Prague;
82
+ return PRAGUE;
66
83
  default:
67
84
  const _exhaustiveCheck: never = hardfork;
68
85
  throw new Error(
@@ -195,7 +212,7 @@ export function edrRpcDebugTraceToHardhat(
195
212
  structLogs.shift();
196
213
  }
197
214
 
198
- let returnValue = rpcDebugTrace.output?.toString("hex") ?? "";
215
+ let returnValue = rpcDebugTrace.output?.toString() ?? "";
199
216
  if (returnValue === "0x") {
200
217
  returnValue = "";
201
218
  }
@@ -248,10 +265,10 @@ export function edrTracingMessageResultToMinimalEVMResult(
248
265
  }
249
266
  if ("output" in result) {
250
267
  const { output } = result;
251
- if (Buffer.isBuffer(output)) {
252
- minimalEVMResult.execResult.output = output;
268
+ if (output instanceof Uint8Array) {
269
+ minimalEVMResult.execResult.output = Buffer.from(output);
253
270
  } else {
254
- minimalEVMResult.execResult.output = output.returnValue;
271
+ minimalEVMResult.execResult.output = Buffer.from(output.returnValue);
255
272
  }
256
273
  }
257
274
 
@@ -278,3 +295,21 @@ export function edrTracingMessageToMinimalMessage(
278
295
  isStaticCall: message.isStaticCall,
279
296
  };
280
297
  }
298
+
299
+ export function httpHeadersToEdr(input?: {
300
+ [name: string]: string;
301
+ }): HttpHeader[] | undefined {
302
+ let httpHeaders: HttpHeader[] | undefined;
303
+ if (input !== undefined) {
304
+ httpHeaders = [];
305
+
306
+ for (const [name, value] of Object.entries(input)) {
307
+ httpHeaders.push({
308
+ name,
309
+ value,
310
+ });
311
+ }
312
+ }
313
+
314
+ return httpHeaders;
315
+ }