hardhat 2.9.0-dev.0 → 2.9.1

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.
File without changes
@@ -22,17 +22,17 @@ export declare const rpcNewBlockTag: t.UnionC<[t.Type<import("bn.js"), import("b
22
22
  pending: null;
23
23
  }>]>;
24
24
  export declare type RpcNewBlockTag = t.TypeOf<typeof rpcNewBlockTag>;
25
- export declare const optionalRpcNewBlockTag: t.Type<import("bn.js") | "pending" | {
25
+ export declare const optionalRpcNewBlockTag: t.Type<import("bn.js") | "pending" | "earliest" | "latest" | {
26
26
  blockNumber: import("bn.js");
27
27
  } | {
28
28
  blockHash: Buffer;
29
29
  requireCanonical: boolean | undefined;
30
- } | "earliest" | "latest" | undefined, import("bn.js") | "pending" | {
30
+ } | undefined, import("bn.js") | "pending" | "earliest" | "latest" | {
31
31
  blockNumber: import("bn.js");
32
32
  } | {
33
33
  blockHash: Buffer;
34
34
  requireCanonical: boolean | undefined;
35
- } | "earliest" | "latest" | undefined, unknown>;
35
+ } | undefined, unknown>;
36
36
  export declare type OptionalRpcNewBlockTag = t.TypeOf<typeof optionalRpcNewBlockTag>;
37
37
  export declare const rpcOldBlockTag: t.UnionC<[t.Type<import("bn.js"), import("bn.js"), unknown>, t.KeyofC<{
38
38
  earliest: null;
@@ -1 +1 @@
1
- {"version":3,"file":"blockTag.d.ts","sourceRoot":"","sources":["../../../../../src/internal/core/jsonrpc/types/input/blockTag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAK3B,eAAO,MAAM,8BAA8B;;EAEzC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;EAGvC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;EAI1B,CAAC;AAGH,eAAO,MAAM,cAAc;;;;;;;;;IAKzB,CAAC;AAEH,oBAAY,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7D,eAAO,MAAM,sBAAsB;;;;;;;;;;+CAAqC,CAAC;AAEzE,oBAAY,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAG7E,eAAO,MAAM,cAAc;;;;IAA0C,CAAC;AAEtE,oBAAY,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7D,eAAO,MAAM,sBAAsB,mJAAqC,CAAC;AAEzE,oBAAY,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"blockTag.d.ts","sourceRoot":"","sources":["../../../../../src/internal/core/jsonrpc/types/input/blockTag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAK3B,eAAO,MAAM,8BAA8B;;EAEzC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;EAGvC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;EAI1B,CAAC;AAGH,eAAO,MAAM,cAAc;;;;;;;;;IAKzB,CAAC;AAEH,oBAAY,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7D,eAAO,MAAM,sBAAsB;;;;;;;;;;uBAAqC,CAAC;AAEzE,oBAAY,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAG7E,eAAO,MAAM,cAAc;;;;IAA0C,CAAC;AAEtE,oBAAY,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7D,eAAO,MAAM,sBAAsB,mJAAqC,CAAC;AAEzE,oBAAY,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -2,6 +2,7 @@
2
2
  import { Address, BN } from "ethereumjs-util";
3
3
  import { RpcBlock, RpcBlockWithTransactions } from "../../core/jsonrpc/types/output/block";
4
4
  import { HttpProvider } from "../../core/providers/http";
5
+ import { FeeHistory } from "../provider/node-types";
5
6
  export declare class JsonRpcClient {
6
7
  private _httpProvider;
7
8
  private _networkId;
@@ -88,6 +89,7 @@ export declare class JsonRpcClient {
88
89
  transactionCount: BN;
89
90
  balance: BN;
90
91
  }>;
92
+ getFeeHistory(blockCount: BN, newestBlock: BN | "pending", rewardPercentiles: number[]): Promise<FeeHistory>;
91
93
  private _perform;
92
94
  private _performBatch;
93
95
  private _send;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/client.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAe,MAAM,iBAAiB,CAAC;AAU3D,OAAO,EAEL,QAAQ,EAER,wBAAwB,EACzB,MAAM,uCAAuC,CAAC;AAK/C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD,qBAAa,aAAa;IAItB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,4BAA4B;IACpC,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc,CAAC;IAPzB,OAAO,CAAC,MAAM,CAA+B;gBAGnC,aAAa,EAAE,YAAY,EAC3B,UAAU,EAAE,MAAM,EAClB,4BAA4B,EAAE,MAAM,EACpC,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,oBAAQ;IAG1B,YAAY,IAAI,MAAM;IAIhB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAU/D,YAAY,CACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,EAAE,EACZ,WAAW,EAAE,EAAE,GACd,OAAO,CAAC,MAAM,CAAC;IAaL,gBAAgB,CAC3B,WAAW,EAAE,EAAE,EACf,mBAAmB,CAAC,EAAE,KAAK,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEd,gBAAgB,CAC3B,WAAW,EAAE,EAAE,EACf,mBAAmB,EAAE,IAAI,GACxB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAuB9B,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,KAAK,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEd,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,IAAI,GACxB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAuB9B,oBAAoB,CAAC,eAAe,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;IAS5C,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;IASpD,qBAAqB,CAAC,eAAe,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;IAS7C,OAAO,CAAC,OAAO,EAAE;QAC5B,SAAS,EAAE,EAAE,CAAC;QACd,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;KAC7C;;;;;;;;;;IA+BY,cAAc,CACzB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,EAAE,GACd,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,EAAE,CAAC;QAAC,OAAO,EAAE,EAAE,CAAA;KAAE,CAAC;YA6BjD,QAAQ;YAwCR,aAAa;YAiDb,KAAK;YAsBL,UAAU;IAexB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;YAIP,iBAAiB;YAYjB,sBAAsB;YActB,oBAAoB;YAqBpB,iBAAiB;IAa/B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,gBAAgB;CAKzB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/client.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,EAAE,EAAe,MAAM,iBAAiB,CAAC;AAU3D,OAAO,EAEL,QAAQ,EAER,wBAAwB,EACzB,MAAM,uCAAuC,CAAC;AAK/C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,qBAAa,aAAa;IAItB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,4BAA4B;IACpC,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc,CAAC;IAPzB,OAAO,CAAC,MAAM,CAA+B;gBAGnC,aAAa,EAAE,YAAY,EAC3B,UAAU,EAAE,MAAM,EAClB,4BAA4B,EAAE,MAAM,EACpC,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,oBAAQ;IAG1B,YAAY,IAAI,MAAM;IAIhB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAU/D,YAAY,CACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,EAAE,EACZ,WAAW,EAAE,EAAE,GACd,OAAO,CAAC,MAAM,CAAC;IAaL,gBAAgB,CAC3B,WAAW,EAAE,EAAE,EACf,mBAAmB,CAAC,EAAE,KAAK,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEd,gBAAgB,CAC3B,WAAW,EAAE,EAAE,EACf,mBAAmB,EAAE,IAAI,GACxB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAuB9B,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,mBAAmB,CAAC,EAAE,KAAK,GAC1B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAEd,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,IAAI,GACxB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAuB9B,oBAAoB,CAAC,eAAe,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;IAS5C,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;IASpD,qBAAqB,CAAC,eAAe,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;IAS7C,OAAO,CAAC,OAAO,EAAE;QAC5B,SAAS,EAAE,EAAE,CAAC;QACd,OAAO,EAAE,EAAE,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;KAC7C;;;;;;;;;;IA+BY,cAAc,CACzB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,EAAE,GACd,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,EAAE,CAAC;QAAC,OAAO,EAAE,EAAE,CAAA;KAAE,CAAC;IA+BlD,aAAa,CACxB,UAAU,EAAE,EAAE,EACd,WAAW,EAAE,EAAE,GAAG,SAAS,EAC3B,iBAAiB,EAAE,MAAM,EAAE,GAC1B,OAAO,CAAC,UAAU,CAAC;YAoBR,QAAQ;YAwCR,aAAa;YAiDb,KAAK;YAsBL,UAAU;IAexB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;YAIP,iBAAiB;YAYjB,sBAAsB;YActB,oBAAoB;YAqBpB,iBAAiB;IAa/B,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,gBAAgB;CAKzB"}
@@ -125,6 +125,22 @@ class JsonRpcClient {
125
125
  balance: results[2],
126
126
  };
127
127
  }
128
+ // This is part of a temporary fix to https://github.com/NomicFoundation/hardhat/issues/2380
129
+ // This method caches each request instead of caching each block's fee info individually, which is not ideal
130
+ async getFeeHistory(blockCount, newestBlock, rewardPercentiles) {
131
+ return this._perform("eth_feeHistory", [
132
+ (0, base_types_1.numberToRpcQuantity)(blockCount),
133
+ newestBlock === "pending"
134
+ ? "pending"
135
+ : (0, base_types_1.numberToRpcQuantity)(newestBlock),
136
+ rewardPercentiles,
137
+ ], t.type({
138
+ oldestBlock: base_types_1.rpcQuantity,
139
+ baseFeePerGas: t.array(base_types_1.rpcQuantity),
140
+ gasUsedRatio: t.array(t.number),
141
+ reward: (0, io_ts_1.optional)(t.array(t.array(base_types_1.rpcQuantity))),
142
+ }), (res) => res.oldestBlock.addn(res.baseFeePerGas.length));
143
+ }
128
144
  async _perform(method, params, tType, getMaxAffectedBlockNumber) {
129
145
  const cacheKey = this._getCacheKey(method, params);
130
146
  const cachedResult = this._getFromCache(cacheKey);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/server.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,eAAe,EACf,aAAa,IAAI,cAAc,EAChC,MAAM,gBAAgB,CAAC;AAOxB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAa;gBAElB,MAAM,EAAE,mBAAmB;IAgBhC,WAAW,qBAAwB,eAAe,CAIvD;IAEK,MAAM,QAAO,QAAQ;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAS5D;IAEK,eAAe,sBAUpB;IAEK,KAAK,sBA6BV;CACH"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/server.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,eAAe,EACf,aAAa,IAAI,cAAc,EAChC,MAAM,gBAAgB,CAAC;AAOxB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAa;gBAElB,MAAM,EAAE,mBAAmB;IAgBhC,WAAW,qBAAwB,eAAe,CAevD;IAEK,MAAM,QAAO,QAAQ;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAS5D;IAEK,eAAe,sBAUpB;IAEK,KAAK,sBA6BV;CACH"}
@@ -6,14 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.JsonRpcServer = void 0;
7
7
  const debug_1 = __importDefault(require("debug"));
8
8
  const http_1 = __importDefault(require("http"));
9
+ const undici_1 = require("undici");
9
10
  const http_2 = require("../../core/providers/http");
10
11
  const handler_1 = require("./handler");
11
12
  const log = (0, debug_1.default)("hardhat:core:hardhat-network:jsonrpc");
12
13
  class JsonRpcServer {
13
14
  constructor(config) {
14
15
  this.getProvider = (name = "json-rpc") => {
15
- const { address, port } = this._httpServer.address(); // TCP sockets return AddressInfo
16
- return new http_2.HttpProvider(`http://${address}:${port}/`, name);
16
+ const { address, port } = this._httpServer.address();
17
+ const dispatcher = new undici_1.Client(`http://${address}:${port}/`, {
18
+ keepAliveTimeout: 10,
19
+ keepAliveMaxTimeout: 10,
20
+ });
21
+ return new http_2.HttpProvider(`http://${address}:${port}/`, name, {}, 20000, dispatcher);
17
22
  };
18
23
  this.listen = () => {
19
24
  return new Promise((resolve) => {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/server.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare class HardhatNode extends EventEmitter {
25
25
  private readonly _hardforkActivations;
26
26
  private _forkNetworkId?;
27
27
  private _forkBlockNumber?;
28
+ private _forkClient?;
28
29
  static create(config: NodeConfig): Promise<[Common, HardhatNode]>;
29
30
  private static _validateHardforks;
30
31
  private readonly _localAccounts;
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/node.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,7 @@ const txMapToArray_1 = require("./utils/txMapToArray");
57
57
  const log = (0, debug_1.default)("hardhat:core:hardhat-network:node");
58
58
  /* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
59
59
  class HardhatNode extends events_1.default {
60
- constructor(_vm, _stateManager, _blockchain, _txPool, _automine, _minGasPrice, _blockTimeOffsetSeconds = new ethereumjs_util_1.BN(0), _mempoolOrder, _coinbase, genesisAccounts, _configNetworkId, _configChainId, _hardforkActivations, tracingConfig, _forkNetworkId, _forkBlockNumber, nextBlockBaseFee) {
60
+ constructor(_vm, _stateManager, _blockchain, _txPool, _automine, _minGasPrice, _blockTimeOffsetSeconds = new ethereumjs_util_1.BN(0), _mempoolOrder, _coinbase, genesisAccounts, _configNetworkId, _configChainId, _hardforkActivations, tracingConfig, _forkNetworkId, _forkBlockNumber, nextBlockBaseFee, _forkClient) {
61
61
  super();
62
62
  this._vm = _vm;
63
63
  this._stateManager = _stateManager;
@@ -73,6 +73,7 @@ class HardhatNode extends events_1.default {
73
73
  this._hardforkActivations = _hardforkActivations;
74
74
  this._forkNetworkId = _forkNetworkId;
75
75
  this._forkBlockNumber = _forkBlockNumber;
76
+ this._forkClient = _forkClient;
76
77
  this._localAccounts = new Map(); // address => private key
77
78
  this._impersonatedAccounts = new Set(); // address
78
79
  this._nextBlockTimestamp = new ethereumjs_util_1.BN(0);
@@ -125,8 +126,10 @@ class HardhatNode extends events_1.default {
125
126
  ? new ethereumjs_util_1.BN(config.initialBaseFeePerGas)
126
127
  : undefined;
127
128
  const hardfork = (0, hardforks_1.getHardforkName)(config.hardfork);
129
+ let forkClient;
128
130
  if ((0, node_types_1.isForkedNodeConfig)(config)) {
129
- const { forkClient, forkBlockNumber, forkBlockTimestamp } = await (0, makeForkClient_1.makeForkClient)(config.forkConfig, config.forkCachePath);
131
+ const { forkClient: _forkClient, forkBlockNumber, forkBlockTimestamp, } = await (0, makeForkClient_1.makeForkClient)(config.forkConfig, config.forkCachePath);
132
+ forkClient = _forkClient;
130
133
  common = await (0, makeForkCommon_1.makeForkCommon)(config);
131
134
  forkNetworkId = forkClient.getNetworkId();
132
135
  forkBlockNum = forkBlockNumber.toNumber();
@@ -181,7 +184,7 @@ class HardhatNode extends events_1.default {
181
184
  blockchain: blockchain,
182
185
  allowUnlimitedContractSize,
183
186
  });
184
- const node = new HardhatNode(vm, stateManager, blockchain, txPool, automine, minGasPrice, initialBlockTimeOffset, mempoolOrder, config.coinbase, genesisAccounts, networkId, chainId, hardforkActivations, tracingConfig, forkNetworkId, forkBlockNum, nextBlockBaseFeePerGas);
187
+ const node = new HardhatNode(vm, stateManager, blockchain, txPool, automine, minGasPrice, initialBlockTimeOffset, mempoolOrder, config.coinbase, genesisAccounts, networkId, chainId, hardforkActivations, tracingConfig, forkNetworkId, forkBlockNum, nextBlockBaseFeePerGas, forkClient);
185
188
  return [common, node];
186
189
  }
187
190
  static _validateHardforks(forkBlockNumber, common, remoteChainId) {
@@ -839,17 +842,42 @@ Hardhat Network's forking functionality only works with blocks from at least spu
839
842
  const pendingBlockNumber = latestBlock.addn(1);
840
843
  const resolvedNewestBlock = newestBlock === "pending" ? pendingBlockNumber : newestBlock;
841
844
  const oldestBlock = ethereumjs_util_1.BN.max(resolvedNewestBlock.sub(blockCount).addn(1), new ethereumjs_util_1.BN(0));
845
+ // This is part of a temporary fix to https://github.com/NomicFoundation/hardhat/issues/2380
846
+ const rangeIncludesRemoteBlocks = this._forkBlockNumber !== undefined &&
847
+ oldestBlock.lten(this._forkBlockNumber);
842
848
  const baseFeePerGas = [];
843
849
  const gasUsedRatio = [];
844
850
  const reward = [];
845
851
  const lastBlock = resolvedNewestBlock.addn(1);
852
+ // This is part of a temporary fix to https://github.com/NomicFoundation/hardhat/issues/2380
853
+ if (rangeIncludesRemoteBlocks) {
854
+ try {
855
+ const lastRemoteBlock = ethereumjs_util_1.BN.min(new ethereumjs_util_1.BN(this._forkBlockNumber), lastBlock);
856
+ const remoteBlockCount = lastRemoteBlock.sub(oldestBlock).addn(1);
857
+ const remoteValues = await this._forkClient.getFeeHistory(remoteBlockCount, lastRemoteBlock, rewardPercentiles);
858
+ baseFeePerGas.push(...remoteValues.baseFeePerGas);
859
+ gasUsedRatio.push(...remoteValues.gasUsedRatio);
860
+ if (remoteValues.reward !== undefined) {
861
+ reward.push(...remoteValues.reward);
862
+ }
863
+ }
864
+ catch (e) {
865
+ // TODO: we can return less blocks here still be compliant with the spec
866
+ throw new errors_2.InternalError("Remote node did not answer to eth_feeHistory correctly", e instanceof Error ? e : undefined);
867
+ }
868
+ }
846
869
  // We get the pending block here, and only if necessary, as it's something
847
- // constly to do.
870
+ // costly to do.
848
871
  let pendingBlock;
849
872
  if (lastBlock.gte(pendingBlockNumber)) {
850
873
  pendingBlock = await this.getBlockByNumber("pending");
851
874
  }
852
- for (let blockNumber = oldestBlock; blockNumber.lte(lastBlock); blockNumber = blockNumber.addn(1)) {
875
+ // This is part of a temporary fix to https://github.com/NomicFoundation/hardhat/issues/2380
876
+ const firstLocalBlock = !rangeIncludesRemoteBlocks
877
+ ? oldestBlock
878
+ : ethereumjs_util_1.BN.min(new ethereumjs_util_1.BN(this._forkBlockNumber), lastBlock).addn(1);
879
+ for (let blockNumber = firstLocalBlock; // This is part of a temporary fix to https://github.com/NomicFoundation/hardhat/issues/2380
880
+ blockNumber.lte(lastBlock); blockNumber = blockNumber.addn(1)) {
853
881
  if (blockNumber.lt(pendingBlockNumber)) {
854
882
  // We know the block exists
855
883
  const block = (await this.getBlockByNumber(blockNumber));
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/node.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat",
3
- "version": "2.9.0-dev.0",
3
+ "version": "2.9.1",
4
4
  "author": "Nomic Labs LLC",
5
5
  "license": "MIT",
6
6
  "homepage": "https://hardhat.org",
@@ -20,7 +20,8 @@ import { rpcTransactionReceipt } from "../../core/jsonrpc/types/output/receipt";
20
20
  import { rpcTransaction } from "../../core/jsonrpc/types/output/transaction";
21
21
  import { HttpProvider } from "../../core/providers/http";
22
22
  import { createNonCryptographicHashBasedIdentifier } from "../../util/hash";
23
- import { nullable } from "../../util/io-ts";
23
+ import { nullable, optional } from "../../util/io-ts";
24
+ import { FeeHistory } from "../provider/node-types";
24
25
 
25
26
  export class JsonRpcClient {
26
27
  private _cache: Map<string, any> = new Map();
@@ -221,6 +222,32 @@ export class JsonRpcClient {
221
222
  };
222
223
  }
223
224
 
225
+ // This is part of a temporary fix to https://github.com/NomicFoundation/hardhat/issues/2380
226
+ // This method caches each request instead of caching each block's fee info individually, which is not ideal
227
+ public async getFeeHistory(
228
+ blockCount: BN,
229
+ newestBlock: BN | "pending",
230
+ rewardPercentiles: number[]
231
+ ): Promise<FeeHistory> {
232
+ return this._perform(
233
+ "eth_feeHistory",
234
+ [
235
+ numberToRpcQuantity(blockCount),
236
+ newestBlock === "pending"
237
+ ? "pending"
238
+ : numberToRpcQuantity(newestBlock),
239
+ rewardPercentiles,
240
+ ],
241
+ t.type({
242
+ oldestBlock: rpcQuantity,
243
+ baseFeePerGas: t.array(rpcQuantity),
244
+ gasUsedRatio: t.array(t.number),
245
+ reward: optional(t.array(t.array(rpcQuantity))),
246
+ }),
247
+ (res) => res.oldestBlock.addn(res.baseFeePerGas.length)
248
+ );
249
+ }
250
+
224
251
  private async _perform<T>(
225
252
  method: string,
226
253
  params: any[],
@@ -3,6 +3,7 @@ import type WsT from "ws";
3
3
  import debug from "debug";
4
4
  import http, { Server } from "http";
5
5
  import { AddressInfo } from "net";
6
+ import { Client } from "undici";
6
7
 
7
8
  import {
8
9
  EIP1193Provider,
@@ -43,9 +44,20 @@ export class JsonRpcServer implements IJsonRpcServer {
43
44
  }
44
45
 
45
46
  public getProvider = (name = "json-rpc"): EIP1193Provider => {
46
- const { address, port } = this._httpServer.address() as AddressInfo; // TCP sockets return AddressInfo
47
+ const { address, port } = this._httpServer.address() as AddressInfo;
47
48
 
48
- return new HttpProvider(`http://${address}:${port}/`, name);
49
+ const dispatcher = new Client(`http://${address}:${port}/`, {
50
+ keepAliveTimeout: 10,
51
+ keepAliveMaxTimeout: 10,
52
+ });
53
+
54
+ return new HttpProvider(
55
+ `http://${address}:${port}/`,
56
+ name,
57
+ {},
58
+ 20000,
59
+ dispatcher
60
+ );
49
61
  };
50
62
 
51
63
  public listen = (): Promise<{ address: string; port: number }> => {
@@ -72,6 +72,7 @@ import { VMTracer } from "../stack-traces/vm-tracer";
72
72
 
73
73
  import "./ethereumjs-workarounds";
74
74
  import { rpcQuantityToBN } from "../../core/jsonrpc/types/base-types";
75
+ import { JsonRpcClient } from "../jsonrpc/client";
75
76
  import { bloomFilter, Filter, filterLogs, LATEST_BLOCK, Type } from "./filter";
76
77
  import { ForkBlockchain } from "./fork/ForkBlockchain";
77
78
  import { ForkStateManager } from "./fork/ForkStateManager";
@@ -150,10 +151,15 @@ export class HardhatNode extends EventEmitter {
150
151
  : undefined;
151
152
 
152
153
  const hardfork = getHardforkName(config.hardfork);
154
+ let forkClient: JsonRpcClient | undefined;
153
155
 
154
156
  if (isForkedNodeConfig(config)) {
155
- const { forkClient, forkBlockNumber, forkBlockTimestamp } =
156
- await makeForkClient(config.forkConfig, config.forkCachePath);
157
+ const {
158
+ forkClient: _forkClient,
159
+ forkBlockNumber,
160
+ forkBlockTimestamp,
161
+ } = await makeForkClient(config.forkConfig, config.forkCachePath);
162
+ forkClient = _forkClient;
157
163
  common = await makeForkCommon(config);
158
164
 
159
165
  forkNetworkId = forkClient.getNetworkId();
@@ -260,7 +266,8 @@ export class HardhatNode extends EventEmitter {
260
266
  tracingConfig,
261
267
  forkNetworkId,
262
268
  forkBlockNum,
263
- nextBlockBaseFeePerGas
269
+ nextBlockBaseFeePerGas,
270
+ forkClient
264
271
  );
265
272
 
266
273
  return [common, node];
@@ -339,7 +346,8 @@ Hardhat Network's forking functionality only works with blocks from at least spu
339
346
  tracingConfig?: TracingConfig,
340
347
  private _forkNetworkId?: number,
341
348
  private _forkBlockNumber?: number,
342
- nextBlockBaseFee?: BN
349
+ nextBlockBaseFee?: BN,
350
+ private _forkClient?: JsonRpcClient
343
351
  ) {
344
352
  super();
345
353
 
@@ -1403,21 +1411,61 @@ Hardhat Network's forking functionality only works with blocks from at least spu
1403
1411
  new BN(0)
1404
1412
  );
1405
1413
 
1414
+ // This is part of a temporary fix to https://github.com/NomicFoundation/hardhat/issues/2380
1415
+ const rangeIncludesRemoteBlocks =
1416
+ this._forkBlockNumber !== undefined &&
1417
+ oldestBlock.lten(this._forkBlockNumber);
1418
+
1406
1419
  const baseFeePerGas: BN[] = [];
1407
1420
  const gasUsedRatio: number[] = [];
1408
1421
  const reward: BN[][] = [];
1409
1422
 
1410
1423
  const lastBlock = resolvedNewestBlock.addn(1);
1411
1424
 
1425
+ // This is part of a temporary fix to https://github.com/NomicFoundation/hardhat/issues/2380
1426
+ if (rangeIncludesRemoteBlocks) {
1427
+ try {
1428
+ const lastRemoteBlock = BN.min(
1429
+ new BN(this._forkBlockNumber!),
1430
+ lastBlock
1431
+ );
1432
+
1433
+ const remoteBlockCount = lastRemoteBlock.sub(oldestBlock).addn(1);
1434
+
1435
+ const remoteValues = await this._forkClient!.getFeeHistory(
1436
+ remoteBlockCount,
1437
+ lastRemoteBlock,
1438
+ rewardPercentiles
1439
+ );
1440
+
1441
+ baseFeePerGas.push(...remoteValues.baseFeePerGas);
1442
+ gasUsedRatio.push(...remoteValues.gasUsedRatio);
1443
+ if (remoteValues.reward !== undefined) {
1444
+ reward.push(...remoteValues.reward);
1445
+ }
1446
+ } catch (e) {
1447
+ // TODO: we can return less blocks here still be compliant with the spec
1448
+ throw new InternalError(
1449
+ "Remote node did not answer to eth_feeHistory correctly",
1450
+ e instanceof Error ? e : undefined
1451
+ );
1452
+ }
1453
+ }
1454
+
1412
1455
  // We get the pending block here, and only if necessary, as it's something
1413
- // constly to do.
1456
+ // costly to do.
1414
1457
  let pendingBlock: Block | undefined;
1415
1458
  if (lastBlock.gte(pendingBlockNumber)) {
1416
1459
  pendingBlock = await this.getBlockByNumber("pending");
1417
1460
  }
1418
1461
 
1462
+ // This is part of a temporary fix to https://github.com/NomicFoundation/hardhat/issues/2380
1463
+ const firstLocalBlock = !rangeIncludesRemoteBlocks
1464
+ ? oldestBlock
1465
+ : BN.min(new BN(this._forkBlockNumber!), lastBlock).addn(1);
1466
+
1419
1467
  for (
1420
- let blockNumber = oldestBlock;
1468
+ let blockNumber = firstLocalBlock; // This is part of a temporary fix to https://github.com/NomicFoundation/hardhat/issues/2380
1421
1469
  blockNumber.lte(lastBlock);
1422
1470
  blockNumber = blockNumber.addn(1)
1423
1471
  ) {
@@ -1,7 +0,0 @@
1
- /**
2
- * This function accepts an array of functions that each return a promise and
3
- * runs them in groups of `chunkSize` length at a time, replacing finished tasks
4
- * with those waiting in queue and returning an aggregation of the resulting data.
5
- */
6
- export declare function chunkedPromiseAll<T>(promises: Array<() => Promise<T>>, chunkSize?: number): Promise<T[]>;
7
- //# sourceMappingURL=chunked-promise-all.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunked-promise-all.d.ts","sourceRoot":"","sources":["../../src/internal/util/chunked-promise-all.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,QAAQ,EAAE,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EACjC,SAAS,GAAE,MAAU,GACpB,OAAO,CAAC,CAAC,EAAE,CAAC,CA8Bd"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.chunkedPromiseAll = void 0;
4
- /**
5
- * This function accepts an array of functions that each return a promise and
6
- * runs them in groups of `chunkSize` length at a time, replacing finished tasks
7
- * with those waiting in queue and returning an aggregation of the resulting data.
8
- */
9
- async function chunkedPromiseAll(promises, chunkSize = 4) {
10
- const queue = [...promises];
11
- const running = queue.splice(0, chunkSize).map((p) => p());
12
- const results = [];
13
- while (running.length > 0) {
14
- const withIndexes = running.map((p, i) => p.then((r) => [r, i]));
15
- const [result, index] = await Promise.race(withIndexes);
16
- results.push(result);
17
- const nextItem = queue.shift();
18
- if (nextItem !== undefined) {
19
- const started = nextItem();
20
- running.splice(index, 1, started);
21
- withIndexes.splice(index, 1, started.then((r) => [r, index]));
22
- }
23
- else {
24
- running.splice(index, 1);
25
- withIndexes.splice(index, 1);
26
- }
27
- }
28
- return results;
29
- }
30
- exports.chunkedPromiseAll = chunkedPromiseAll;
31
- //# sourceMappingURL=chunked-promise-all.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunked-promise-all.js","sourceRoot":"","sources":["../../src/internal/util/chunked-promise-all.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACI,KAAK,UAAU,iBAAiB,CACrC,QAAiC,EACjC,YAAoB,CAAC;IAErB,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,EAAE,CAAC;IAEnB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACzB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACvC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAgB,CAAC,CACrC,CAAC;QAEF,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAExD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YAClC,WAAW,CAAC,MAAM,CAChB,KAAK,EACL,CAAC,EACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAgB,CAAC,CAC/C,CAAC;SACH;aAAM;YACL,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzB,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC9B;KACF;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAjCD,8CAiCC"}