hardhat 3.0.8 → 3.0.10

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 (112) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/src/internal/builtin-plugins/coverage/coverage-manager.d.ts +30 -0
  3. package/dist/src/internal/builtin-plugins/coverage/coverage-manager.d.ts.map +1 -1
  4. package/dist/src/internal/builtin-plugins/coverage/coverage-manager.js +47 -39
  5. package/dist/src/internal/builtin-plugins/coverage/coverage-manager.js.map +1 -1
  6. package/dist/src/internal/builtin-plugins/flatten/task-action.d.ts.map +1 -1
  7. package/dist/src/internal/builtin-plugins/flatten/task-action.js +4 -2
  8. package/dist/src/internal/builtin-plugins/flatten/task-action.js.map +1 -1
  9. package/dist/src/internal/builtin-plugins/gas-analytics/exports.d.ts +2 -0
  10. package/dist/src/internal/builtin-plugins/gas-analytics/exports.d.ts.map +1 -0
  11. package/dist/src/internal/builtin-plugins/gas-analytics/exports.js +2 -0
  12. package/dist/src/internal/builtin-plugins/gas-analytics/exports.js.map +1 -0
  13. package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.d.ts +59 -0
  14. package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.d.ts.map +1 -0
  15. package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.js +230 -0
  16. package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.js.map +1 -0
  17. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts +11 -0
  18. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts.map +1 -0
  19. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js +31 -0
  20. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js.map +1 -0
  21. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.d.ts +4 -0
  22. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.d.ts.map +1 -0
  23. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.js +22 -0
  24. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.js.map +1 -0
  25. package/dist/src/internal/builtin-plugins/gas-analytics/index.d.ts +5 -0
  26. package/dist/src/internal/builtin-plugins/gas-analytics/index.d.ts.map +1 -0
  27. package/dist/src/internal/builtin-plugins/gas-analytics/index.js +18 -0
  28. package/dist/src/internal/builtin-plugins/gas-analytics/index.js.map +1 -0
  29. package/dist/src/internal/builtin-plugins/gas-analytics/type-extensions.d.ts +7 -0
  30. package/dist/src/internal/builtin-plugins/gas-analytics/type-extensions.d.ts.map +1 -0
  31. package/dist/src/internal/builtin-plugins/gas-analytics/type-extensions.js +2 -0
  32. package/dist/src/internal/builtin-plugins/gas-analytics/type-extensions.js.map +1 -0
  33. package/dist/src/internal/builtin-plugins/gas-analytics/types.d.ts +21 -0
  34. package/dist/src/internal/builtin-plugins/gas-analytics/types.d.ts.map +1 -0
  35. package/dist/src/internal/builtin-plugins/gas-analytics/types.js +2 -0
  36. package/dist/src/internal/builtin-plugins/gas-analytics/types.js.map +1 -0
  37. package/dist/src/internal/builtin-plugins/index.d.ts +1 -0
  38. package/dist/src/internal/builtin-plugins/index.d.ts.map +1 -1
  39. package/dist/src/internal/builtin-plugins/index.js +2 -0
  40. package/dist/src/internal/builtin-plugins/index.js.map +1 -1
  41. package/dist/src/internal/builtin-plugins/network-manager/chain-descriptors.js +1 -1
  42. package/dist/src/internal/builtin-plugins/network-manager/chain-descriptors.js.map +1 -1
  43. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts +4 -3
  44. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts.map +1 -1
  45. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js +4 -3
  46. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js.map +1 -1
  47. package/dist/src/internal/builtin-plugins/network-manager/edr/types/hardfork.d.ts +2 -1
  48. package/dist/src/internal/builtin-plugins/network-manager/edr/types/hardfork.d.ts.map +1 -1
  49. package/dist/src/internal/builtin-plugins/network-manager/edr/types/hardfork.js +1 -0
  50. package/dist/src/internal/builtin-plugins/network-manager/edr/types/hardfork.js.map +1 -1
  51. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.d.ts +7 -1
  52. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.d.ts.map +1 -1
  53. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js +40 -1
  54. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js.map +1 -1
  55. package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts.map +1 -1
  56. package/dist/src/internal/builtin-plugins/network-manager/network-manager.js +14 -0
  57. package/dist/src/internal/builtin-plugins/network-manager/network-manager.js.map +1 -1
  58. package/dist/src/internal/builtin-plugins/network-manager/type-extensions/hooks.d.ts +8 -0
  59. package/dist/src/internal/builtin-plugins/network-manager/type-extensions/hooks.d.ts.map +1 -1
  60. package/dist/src/internal/builtin-plugins/network-manager/type-extensions/hooks.js.map +1 -1
  61. package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts +11 -1
  62. package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts.map +1 -1
  63. package/dist/src/internal/builtin-plugins/solidity-test/helpers.js +2 -1
  64. package/dist/src/internal/builtin-plugins/solidity-test/helpers.js.map +1 -1
  65. package/dist/src/internal/builtin-plugins/solidity-test/index.d.ts.map +1 -1
  66. package/dist/src/internal/builtin-plugins/solidity-test/index.js +1 -0
  67. package/dist/src/internal/builtin-plugins/solidity-test/index.js.map +1 -1
  68. package/dist/src/internal/builtin-plugins/solidity-test/reporter.d.ts.map +1 -1
  69. package/dist/src/internal/builtin-plugins/solidity-test/reporter.js +4 -1
  70. package/dist/src/internal/builtin-plugins/solidity-test/reporter.js.map +1 -1
  71. package/dist/src/internal/builtin-plugins/solidity-test/runner.d.ts.map +1 -1
  72. package/dist/src/internal/builtin-plugins/solidity-test/runner.js +14 -3
  73. package/dist/src/internal/builtin-plugins/solidity-test/runner.js.map +1 -1
  74. package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts.map +1 -1
  75. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +50 -13
  76. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
  77. package/dist/src/internal/builtin-plugins/solidity-test/types.d.ts +7 -4
  78. package/dist/src/internal/builtin-plugins/solidity-test/types.d.ts.map +1 -1
  79. package/dist/src/internal/builtin-plugins/test/task-action.d.ts.map +1 -1
  80. package/dist/src/internal/builtin-plugins/test/task-action.js +3 -1
  81. package/dist/src/internal/builtin-plugins/test/task-action.js.map +1 -1
  82. package/dist/src/internal/core/hre.d.ts +2 -0
  83. package/dist/src/internal/core/hre.d.ts.map +1 -1
  84. package/dist/src/internal/core/hre.js +6 -2
  85. package/dist/src/internal/core/hre.js.map +1 -1
  86. package/package.json +4 -3
  87. package/src/internal/builtin-plugins/coverage/coverage-manager.ts +56 -47
  88. package/src/internal/builtin-plugins/flatten/task-action.ts +5 -2
  89. package/src/internal/builtin-plugins/gas-analytics/exports.ts +5 -0
  90. package/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.ts +339 -0
  91. package/src/internal/builtin-plugins/gas-analytics/helpers.ts +44 -0
  92. package/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.ts +33 -0
  93. package/src/internal/builtin-plugins/gas-analytics/index.ts +23 -0
  94. package/src/internal/builtin-plugins/gas-analytics/type-extensions.ts +6 -0
  95. package/src/internal/builtin-plugins/gas-analytics/types.ts +24 -0
  96. package/src/internal/builtin-plugins/index.ts +3 -0
  97. package/src/internal/builtin-plugins/network-manager/chain-descriptors.ts +1 -1
  98. package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +6 -0
  99. package/src/internal/builtin-plugins/network-manager/edr/types/hardfork.ts +1 -0
  100. package/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.ts +51 -0
  101. package/src/internal/builtin-plugins/network-manager/network-manager.ts +25 -1
  102. package/src/internal/builtin-plugins/network-manager/type-extensions/hooks.ts +12 -0
  103. package/src/internal/builtin-plugins/solidity-test/helpers.ts +20 -8
  104. package/src/internal/builtin-plugins/solidity-test/index.ts +1 -0
  105. package/src/internal/builtin-plugins/solidity-test/reporter.ts +4 -1
  106. package/src/internal/builtin-plugins/solidity-test/runner.ts +16 -3
  107. package/src/internal/builtin-plugins/solidity-test/task-action.ts +74 -29
  108. package/src/internal/builtin-plugins/solidity-test/types.ts +10 -6
  109. package/src/internal/builtin-plugins/test/task-action.ts +3 -1
  110. package/src/internal/core/hre.ts +7 -2
  111. package/templates/hardhat-3/01-node-test-runner-viem/package.json +3 -3
  112. package/templates/hardhat-3/02-mocha-ethers/package.json +3 -3
@@ -0,0 +1,230 @@
1
+ import crypto from "node:crypto";
2
+ import path from "node:path";
3
+ import { formatTableV2 } from "@nomicfoundation/hardhat-utils/format";
4
+ import { ensureDir, getAllFilesMatching, readJsonFile, remove, writeJsonFile, } from "@nomicfoundation/hardhat-utils/fs";
5
+ import chalk from "chalk";
6
+ import debug from "debug";
7
+ const gasStatsLog = debug("hardhat:core:gas-analytics:gas-analytics-manager:gas-stats");
8
+ export class GasAnalyticsManagerImplementation {
9
+ gasMeasurements = [];
10
+ #gasStatsPath;
11
+ constructor(gasStatsRootPath) {
12
+ this.#gasStatsPath = path.join(gasStatsRootPath, "gas-stats");
13
+ }
14
+ addGasMeasurement(gasMeasurement) {
15
+ this.gasMeasurements.push(gasMeasurement);
16
+ }
17
+ async clearGasMeasurements(id) {
18
+ const gasMeasurementsPath = await this.#getGasMeasurementsPath(id);
19
+ await remove(gasMeasurementsPath);
20
+ this.gasMeasurements = [];
21
+ gasStatsLog("Cleared gas measurements from disk and memory");
22
+ }
23
+ async saveGasMeasurements(id) {
24
+ const gasMeasurementsPath = await this.#getGasMeasurementsPath(id);
25
+ const filePath = path.join(gasMeasurementsPath, `${crypto.randomUUID()}.json`);
26
+ await writeJsonFile(filePath, this.gasMeasurements);
27
+ gasStatsLog("Saved gas measurements", id, filePath);
28
+ }
29
+ async reportGasStats(...ids) {
30
+ await this._loadGasMeasurements(...ids);
31
+ const gasStatsByContract = this._calculateGasStats();
32
+ const report = this._generateGasStatsReport(gasStatsByContract);
33
+ console.log(report);
34
+ console.log();
35
+ gasStatsLog("Printed markdown report");
36
+ }
37
+ async #getGasMeasurementsPath(id) {
38
+ const gasMeasurementsPath = path.join(this.#gasStatsPath, id);
39
+ await ensureDir(gasMeasurementsPath);
40
+ return gasMeasurementsPath;
41
+ }
42
+ /**
43
+ * @private exposed for testing purposes only
44
+ */
45
+ async _loadGasMeasurements(...ids) {
46
+ this.gasMeasurements = [];
47
+ for (const id of ids) {
48
+ const gasMeasurementsPath = await this.#getGasMeasurementsPath(id);
49
+ const filePaths = await getAllFilesMatching(gasMeasurementsPath);
50
+ for (const filePath of filePaths) {
51
+ const entries = await readJsonFile(filePath);
52
+ for (const entry of entries) {
53
+ this.gasMeasurements.push(entry);
54
+ }
55
+ gasStatsLog("Loaded gas measurements", id, filePath);
56
+ }
57
+ }
58
+ }
59
+ /**
60
+ * @private exposed for testing purposes only
61
+ */
62
+ _calculateGasStats() {
63
+ const gasStatsByContract = new Map();
64
+ const measurementsByContract = this._aggregateGasMeasurements();
65
+ for (const [contractFqn, measurements] of measurementsByContract) {
66
+ const contractGasStats = {
67
+ functions: new Map(),
68
+ };
69
+ if (measurements.deployment !== undefined) {
70
+ contractGasStats.deployment = {
71
+ gas: measurements.deployment.gas,
72
+ size: measurements.deployment.size,
73
+ };
74
+ }
75
+ const overloadedFnNames = new Set(findDuplicates([...measurements.functions.keys()].map(getFunctionName)));
76
+ for (const [functionSig, gasValues] of measurements.functions) {
77
+ const functionName = getFunctionName(functionSig);
78
+ const isOverloaded = overloadedFnNames.has(functionName);
79
+ const stats = {
80
+ min: Math.min(...gasValues),
81
+ max: Math.max(...gasValues),
82
+ avg: roundTo(avg(gasValues), 2),
83
+ median: roundTo(median(gasValues), 2),
84
+ calls: gasValues.length,
85
+ };
86
+ contractGasStats.functions.set(isOverloaded ? functionSig : functionName, stats);
87
+ }
88
+ gasStatsByContract.set(contractFqn, contractGasStats);
89
+ }
90
+ return gasStatsByContract;
91
+ }
92
+ /**
93
+ * @private exposed for testing purposes only
94
+ */
95
+ _aggregateGasMeasurements() {
96
+ const measurementsByContract = new Map();
97
+ for (const currentMeasurement of this.gasMeasurements) {
98
+ let contractMeasurements = measurementsByContract.get(currentMeasurement.contractFqn);
99
+ if (contractMeasurements === undefined) {
100
+ contractMeasurements = {
101
+ functions: new Map(),
102
+ };
103
+ measurementsByContract.set(currentMeasurement.contractFqn, contractMeasurements);
104
+ }
105
+ if (currentMeasurement.type === "deployment") {
106
+ contractMeasurements.deployment = {
107
+ gas: currentMeasurement.gas,
108
+ size: currentMeasurement.size,
109
+ };
110
+ }
111
+ else {
112
+ let measurements = contractMeasurements.functions.get(currentMeasurement.functionSig);
113
+ if (measurements === undefined) {
114
+ measurements = [];
115
+ contractMeasurements.functions.set(currentMeasurement.functionSig, measurements);
116
+ }
117
+ measurements.push(currentMeasurement.gas);
118
+ }
119
+ }
120
+ return measurementsByContract;
121
+ }
122
+ /**
123
+ * @private exposed for testing purposes only
124
+ */
125
+ _generateGasStatsReport(gasStatsByContract) {
126
+ const rows = [];
127
+ if (gasStatsByContract.size > 0) {
128
+ rows.push({ type: "title", text: chalk.bold("Gas Usage Statistics") });
129
+ }
130
+ // Sort contracts alphabetically for consistent output
131
+ const sortedContracts = [...gasStatsByContract.entries()].sort(([a], [b]) => a.localeCompare(b));
132
+ for (const [contractFqn, contractGasStats] of sortedContracts) {
133
+ rows.push({
134
+ type: "section-header",
135
+ text: chalk.cyan.bold(getUserFqn(contractFqn)),
136
+ });
137
+ if (contractGasStats.functions.size > 0) {
138
+ rows.push({
139
+ type: "header",
140
+ cells: [
141
+ "Function name",
142
+ "Min",
143
+ "Average",
144
+ "Median",
145
+ "Max",
146
+ "#calls",
147
+ ].map((s) => chalk.yellow(s)),
148
+ });
149
+ }
150
+ // Sort functions by removing trailing ) and comparing alphabetically.
151
+ // This ensures that overloaded functions with fewer params come first
152
+ // (e.g., foo(uint256) comes before foo(uint256,uint256)). In other
153
+ // scenarios, removing the trailing ) has no effect on the order.
154
+ const sortedFunctions = [...contractGasStats.functions.entries()].sort(([a], [b]) => a.split(")")[0].localeCompare(b.split(")")[0]));
155
+ for (const [functionDisplayName, gasStats] of sortedFunctions) {
156
+ rows.push({
157
+ type: "row",
158
+ cells: [
159
+ functionDisplayName,
160
+ `${gasStats.min}`,
161
+ `${gasStats.avg}`,
162
+ `${gasStats.median}`,
163
+ `${gasStats.max}`,
164
+ `${gasStats.calls}`,
165
+ ],
166
+ });
167
+ }
168
+ if (contractGasStats.deployment !== undefined) {
169
+ rows.push({
170
+ type: "header",
171
+ cells: ["Deployment Cost", "Deployment Size"].map((s) => chalk.yellow(s)),
172
+ });
173
+ rows.push({
174
+ type: "row",
175
+ cells: [
176
+ `${contractGasStats.deployment.gas}`,
177
+ `${contractGasStats.deployment.size}`,
178
+ ],
179
+ });
180
+ }
181
+ }
182
+ return formatTableV2(rows);
183
+ }
184
+ }
185
+ export function avg(values) {
186
+ return values.reduce((a, c) => a + c, 0) / values.length;
187
+ }
188
+ export function median(values) {
189
+ const sorted = [...values].sort((a, b) => a - b);
190
+ const mid = Math.floor(sorted.length / 2);
191
+ return sorted.length % 2 === 1
192
+ ? sorted[mid]
193
+ : (sorted[mid - 1] + sorted[mid]) / 2;
194
+ }
195
+ export function getUserFqn(inputFqn) {
196
+ if (inputFqn.startsWith("project/")) {
197
+ return inputFqn.slice("project/".length);
198
+ }
199
+ if (inputFqn.startsWith("npm/")) {
200
+ const withoutPrefix = inputFqn.slice("npm/".length);
201
+ // Match "<pkg>@<version>/<rest>", where <pkg> may be scoped (@scope/pkg)
202
+ const match = withoutPrefix.match(/^(@?[^@/]+(?:\/[^@/]+)*)@[^/]+\/(.*)$/);
203
+ if (match !== null) {
204
+ return `${match[1]}/${match[2]}`;
205
+ }
206
+ return withoutPrefix;
207
+ }
208
+ return inputFqn;
209
+ }
210
+ export function getFunctionName(signature) {
211
+ return signature.split("(")[0];
212
+ }
213
+ export function findDuplicates(arr) {
214
+ const seen = new Set();
215
+ const duplicates = new Set();
216
+ for (const item of arr) {
217
+ if (seen.has(item)) {
218
+ duplicates.add(item);
219
+ }
220
+ else {
221
+ seen.add(item);
222
+ }
223
+ }
224
+ return [...duplicates];
225
+ }
226
+ export function roundTo(value, decimals) {
227
+ const factor = 10 ** decimals;
228
+ return Math.round(value * factor) / factor;
229
+ }
230
+ //# sourceMappingURL=gas-analytics-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gas-analytics-manager.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * NOTE: The following helpers interact with the global HRE instance only;
3
+ * This is OK because:
4
+ * - They are intended for the internal use only. They are exposed via the
5
+ * internal public API only.
6
+ * - We know the HRE has been initialized by the time they are used.
7
+ */
8
+ export declare function markTestRunStart(id: string): Promise<void>;
9
+ export declare function markTestWorkerDone(id: string): Promise<void>;
10
+ export declare function markTestRunDone(id: string): Promise<void>;
11
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/helpers.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAShE;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASlE;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS/D"}
@@ -0,0 +1,31 @@
1
+ import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
2
+ import { HardhatRuntimeEnvironmentImplementation } from "../../core/hre.js";
3
+ /**
4
+ * NOTE: The following helpers interact with the global HRE instance only;
5
+ * This is OK because:
6
+ * - They are intended for the internal use only. They are exposed via the
7
+ * internal public API only.
8
+ * - We know the HRE has been initialized by the time they are used.
9
+ */
10
+ export async function markTestRunStart(id) {
11
+ const { default: hre } = await import("../../../index.js");
12
+ if (hre.globalOptions.gasStats === true) {
13
+ assertHardhatInvariant(hre instanceof HardhatRuntimeEnvironmentImplementation, "Expected HRE to be an instance of HardhatRuntimeEnvironmentImplementation");
14
+ await hre._gasAnalytics.clearGasMeasurements(id);
15
+ }
16
+ }
17
+ export async function markTestWorkerDone(id) {
18
+ const { default: hre } = await import("../../../index.js");
19
+ if (hre.globalOptions.gasStats === true) {
20
+ assertHardhatInvariant(hre instanceof HardhatRuntimeEnvironmentImplementation, "Expected HRE to be an instance of HardhatRuntimeEnvironmentImplementation");
21
+ await hre._gasAnalytics.saveGasMeasurements(id);
22
+ }
23
+ }
24
+ export async function markTestRunDone(id) {
25
+ const { default: hre } = await import("../../../index.js");
26
+ if (hre.globalOptions.gasStats === true) {
27
+ assertHardhatInvariant(hre instanceof HardhatRuntimeEnvironmentImplementation, "Expected HRE to be an instance of HardhatRuntimeEnvironmentImplementation");
28
+ await hre._gasAnalytics.reportGasStats(id);
29
+ }
30
+ }
31
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,uCAAuC,EAAE,MAAM,mBAAmB,CAAC;AAE5E;;;;;;GAMG;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAU;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACxC,sBAAsB,CACpB,GAAG,YAAY,uCAAuC,EACtD,2EAA2E,CAC5E,CAAC;QACF,MAAM,GAAG,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAU;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACxC,sBAAsB,CACpB,GAAG,YAAY,uCAAuC,EACtD,2EAA2E,CAC5E,CAAC;QACF,MAAM,GAAG,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAU;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACxC,sBAAsB,CACpB,GAAG,YAAY,uCAAuC,EACtD,2EAA2E,CAC5E,CAAC;QACF,MAAM,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { HardhatRuntimeEnvironmentHooks } from "../../../../types/hooks.js";
2
+ declare const _default: () => Promise<Partial<HardhatRuntimeEnvironmentHooks>>;
3
+ export default _default;
4
+ //# sourceMappingURL=hre.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hre.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;8BAOxD,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAAzE,wBAyBG"}
@@ -0,0 +1,22 @@
1
+ import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
2
+ import { HardhatRuntimeEnvironmentImplementation } from "../../../core/hre.js";
3
+ import { GasAnalyticsManagerImplementation } from "../gas-analytics-manager.js";
4
+ export default async () => ({
5
+ created: async (context, hre) => {
6
+ if (context.globalOptions.gasStats) {
7
+ const gasAnalyticsManager = new GasAnalyticsManagerImplementation(hre.config.paths.cache);
8
+ assertHardhatInvariant(hre instanceof HardhatRuntimeEnvironmentImplementation, "Expected HRE to be an instance of HardhatRuntimeEnvironmentImplementation");
9
+ hre._gasAnalytics = gasAnalyticsManager;
10
+ // NOTE: We register this hook dynamically to avoid a circular dependency
11
+ // between gas-analytics and network-manager plugins. The network-manager
12
+ // checks for the existence of onGasReported handlers to determine if gas
13
+ // analytics is enabled, rather than directly checking the global option.
14
+ hre.hooks.registerHandlers("network", {
15
+ onGasMeasurement: (_context, gasMeasurement) => {
16
+ gasAnalyticsManager.addGasMeasurement(gasMeasurement);
17
+ },
18
+ });
19
+ }
20
+ },
21
+ });
22
+ //# sourceMappingURL=hre.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hre.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,uCAAuC,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAEhF,eAAe,KAAK,IAAsD,EAAE,CAAC,CAAC;IAC5E,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;QAC9B,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,mBAAmB,GAAG,IAAI,iCAAiC,CAC/D,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CACvB,CAAC;YAEF,sBAAsB,CACpB,GAAG,YAAY,uCAAuC,EACtD,2EAA2E,CAC5E,CAAC;YAEF,GAAG,CAAC,aAAa,GAAG,mBAAmB,CAAC;YAExC,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE;gBACpC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE;oBAC7C,mBAAmB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBACxD,CAAC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { HardhatPlugin } from "../../../types/plugins.js";
2
+ import "./type-extensions.js";
3
+ declare const hardhatPlugin: HardhatPlugin;
4
+ export default hardhatPlugin;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI/D,OAAO,sBAAsB,CAAC;AAE9B,QAAA,MAAM,aAAa,EAAE,aAcpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { globalFlag } from "../../core/config.js";
2
+ import "./type-extensions.js";
3
+ const hardhatPlugin = {
4
+ id: "builtin:gas-analytics",
5
+ tasks: [],
6
+ globalOptions: [
7
+ globalFlag({
8
+ name: "gasStats",
9
+ description: "Collects and displays gas usage statistics for all function calls during tests",
10
+ }),
11
+ ],
12
+ hookHandlers: {
13
+ hre: () => import("./hook-handlers/hre.js"),
14
+ },
15
+ npmPackage: "hardhat",
16
+ };
17
+ export default hardhatPlugin;
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,sBAAsB,CAAC;AAE9B,MAAM,aAAa,GAAkB;IACnC,EAAE,EAAE,uBAAuB;IAC3B,KAAK,EAAE,EAAE;IACT,aAAa,EAAE;QACb,UAAU,CAAC;YACT,IAAI,EAAE,UAAU;YAChB,WAAW,EACT,gFAAgF;SACnF,CAAC;KACH;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC;KAC5C;IACD,UAAU,EAAE,SAAS;CACtB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ import "../../../types/global-options.js";
2
+ declare module "../../../types/global-options.js" {
3
+ interface GlobalOptions {
4
+ gasStats: boolean;
5
+ }
6
+ }
7
+ //# sourceMappingURL=type-extensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-extensions.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/type-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC;AAC1C,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAiB,aAAa;QAC5B,QAAQ,EAAE,OAAO,CAAC;KACnB;CACF"}
@@ -0,0 +1,2 @@
1
+ import "../../../types/global-options.js";
2
+ //# sourceMappingURL=type-extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-extensions.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/type-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC"}
@@ -0,0 +1,21 @@
1
+ interface BaseGasMeasurement {
2
+ contractFqn: string;
3
+ gas: number;
4
+ }
5
+ interface FunctionGasMeasurement extends BaseGasMeasurement {
6
+ type: "function";
7
+ functionSig: string;
8
+ }
9
+ interface DeploymentGasMeasurement extends BaseGasMeasurement {
10
+ type: "deployment";
11
+ size: number;
12
+ }
13
+ export type GasMeasurement = FunctionGasMeasurement | DeploymentGasMeasurement;
14
+ export interface GasAnalyticsManager {
15
+ addGasMeasurement(gasMeasurement: GasMeasurement): void;
16
+ clearGasMeasurements(id: string): Promise<void>;
17
+ saveGasMeasurements(id: string): Promise<void>;
18
+ reportGasStats(...ids: string[]): Promise<void>;
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/types.ts"],"names":[],"mappings":"AAAA,UAAU,kBAAkB;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,sBAAuB,SAAQ,kBAAkB;IACzD,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,wBAAyB,SAAQ,kBAAkB;IAC3D,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,wBAAwB,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IAElC,iBAAiB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACxD,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,cAAc,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/types.ts"],"names":[],"mappings":""}
@@ -3,6 +3,7 @@ export type * from "./artifacts/index.js";
3
3
  export type * from "./solidity/index.js";
4
4
  export type * from "./test/index.js";
5
5
  export type * from "./solidity-test/index.js";
6
+ export type * from "./gas-analytics/index.js";
6
7
  export type * from "./network-manager/index.js";
7
8
  export type * from "./clean/index.js";
8
9
  export type * from "./console/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/builtin-plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAiB5D,mBAAmB,sBAAsB,CAAC;AAC1C,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,0BAA0B,CAAC;AAC9C,mBAAmB,4BAA4B,CAAC;AAChD,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,sBAAsB,CAAC;AAI1C,eAAO,MAAM,cAAc,EAAE,aAAa,EAazC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/builtin-plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAkB5D,mBAAmB,sBAAsB,CAAC;AAC1C,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,0BAA0B,CAAC;AAC9C,mBAAmB,0BAA0B,CAAC;AAC9C,mBAAmB,4BAA4B,CAAC;AAChD,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,sBAAsB,CAAC;AAI1C,eAAO,MAAM,cAAc,EAAE,aAAa,EAczC,CAAC"}
@@ -3,6 +3,7 @@ import clean from "./clean/index.js";
3
3
  import console from "./console/index.js";
4
4
  import coverage from "./coverage/index.js";
5
5
  import flatten from "./flatten/index.js";
6
+ import gasAnalytics from "./gas-analytics/index.js";
6
7
  import networkManager from "./network-manager/index.js";
7
8
  import node from "./node/index.js";
8
9
  import run from "./run/index.js";
@@ -17,6 +18,7 @@ export const builtinPlugins = [
17
18
  solidity,
18
19
  test,
19
20
  coverage,
21
+ gasAnalytics,
20
22
  solidityTest,
21
23
  networkManager,
22
24
  clean,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/builtin-plugins/index.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,IAAI,MAAM,iBAAiB,CAAC;AAiBnC,8EAA8E;AAC9E,WAAW;AACX,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,KAAK;IACL,OAAO;IACP,GAAG;IACH,IAAI;IACJ,OAAO;IACP,SAAS;CACV,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/builtin-plugins/index.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,KAAK,MAAM,kBAAkB,CAAC;AACrC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAC7C,OAAO,IAAI,MAAM,iBAAiB,CAAC;AAkBnC,8EAA8E;AAC9E,WAAW;AACX,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,KAAK;IACL,OAAO;IACP,GAAG;IACH,IAAI;IACJ,OAAO;IACP,SAAS;CACV,CAAC"}
@@ -148,7 +148,7 @@ export const DEFAULT_CHAIN_DESCRIPTORS = new Map([
148
148
  ],
149
149
  // arbitrum sepolia testnet
150
150
  [
151
- 42170n,
151
+ 421614n,
152
152
  {
153
153
  name: "Arbitrum Sepolia",
154
154
  chainType: GENERIC_CHAIN_TYPE,
@@ -1 +1 @@
1
- {"version":3,"file":"chain-descriptors.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/network-manager/chain-descriptors.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,CAAC,MAAM,yBAAyB,GAA2B,IAAI,GAAG,CAAC;IACvE,mBAAmB;IACnB;QACE,EAAE;QACF;YACE,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,aAAa;YACxB,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,GAAG,EAAE,sBAAsB;oBAC3B,MAAM,EAAE,8BAA8B;iBACvC;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,4BAA4B;oBACjC,MAAM,EAAE,gCAAgC;iBACzC;aACF;SACF;KACF;IACD,kBAAkB;IAClB;QACE,MAAO;QACP;YACE,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,aAAa;YACxB,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,GAAG,EAAE,8BAA8B;oBACnC,MAAM,EAAE,sCAAsC;iBAC/C;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,oCAAoC;oBACzC,MAAM,EAAE,wCAAwC;iBACjD;aACF;SACF;KACF;IACD,gBAAgB;IAChB;QACE,OAAQ;QACR;YACE,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,aAAa;YACxB,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,GAAG,EAAE,4BAA4B;oBACjC,MAAM,EAAE,oCAAoC;iBAC7C;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,kCAAkC;oBACvC,MAAM,EAAE,sCAAsC;iBAC/C;aACF;SACF;KACF;IACD,kBAAkB;IAClB;QACE,SAAW;QACX;YACE,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,aAAa;YACxB,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,GAAG,EAAE,8BAA8B;oBACnC,MAAM,EAAE,sCAAsC;iBAC/C;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,oCAAoC;oBACzC,MAAM,EAAE,wCAAwC;iBACjD;aACF;SACF;KACF;IACD,mBAAmB;IACnB;QACE,GAAG;QACH;YACE,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE,mBAAmB;YAC9B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,GAAG,EAAE,iCAAiC;oBACtC,MAAM,EAAE,yCAAyC;iBAClD;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,iCAAiC;oBACtC,MAAM,EAAE,qCAAqC;iBAC9C;aACF;SACF;KACF;IACD,2BAA2B;IAC3B;QACE,SAAW;QACX;YACE,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE,mBAAmB;YAC9B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,GAAG,EAAE,uCAAuC;oBAC5C,MAAM,EAAE,+CAA+C;iBACxD;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,yCAAyC;oBAC9C,MAAM,EAAE,6CAA6C;iBACtD;aACF;SACF;KACF;IACD,uBAAuB;IACvB;QACE,MAAO;QACP;YACE,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,qBAAqB;oBAC1B,MAAM,EAAE,6BAA6B;iBACtC;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,iCAAiC;oBACtC,MAAM,EAAE,qCAAqC;iBAC9C;aACF;SACF;KACF;IACD,wBAAwB;IACxB;QACE,MAAO;QACP;YACE,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,0BAA0B;oBAC/B,MAAM,EAAE,kCAAkC;iBAC3C;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,sCAAsC;oBAC3C,MAAM,EAAE,0CAA0C;iBACnD;aACF;SACF;KACF;IACD,2BAA2B;IAC3B;QACE,MAAO;QACP;YACE,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,6BAA6B;oBAClC,MAAM,EAAE,qCAAqC;iBAC9C;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,yCAAyC;oBAC9C,MAAM,EAAE,6CAA6C;iBACtD;aACF;SACF;KACF;IACD,eAAe;IACf;QACE,KAAM;QACN;YACE,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,mBAAmB;YAC9B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,sBAAsB;oBAC3B,MAAM,EAAE,8BAA8B;iBACvC;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,6BAA6B;oBAClC,MAAM,EAAE,iCAAiC;iBAC1C;aACF;SACF;KACF;IACD,uBAAuB;IACvB;QACE,MAAO;QACP;YACE,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,mBAAmB;YAC9B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,8BAA8B;oBACnC,MAAM,EAAE,sCAAsC;iBAC/C;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,qCAAqC;oBAC1C,MAAM,EAAE,yCAAyC;iBAClD;aACF;SACF;KACF;IACD,oBAAoB;IACpB;QACE,MAAO;QACP;YACE,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,WAAW;oBACjB,GAAG,EAAE,sBAAsB;oBAC3B,MAAM,EAAE,8BAA8B;iBACvC;aACF;SACF;KACF;IACD,yBAAyB;IACzB;QACE,MAAO;QACP;YACE,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,WAAW;oBACjB,GAAG,EAAE,8BAA8B;oBACnC,MAAM,EAAE,sCAAsC;iBAC/C;aACF;SACF;KACF;IACD,kBAAkB;IAClB;QACE,IAAI;QACJ;YACE,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,aAAa;oBACnB,GAAG,EAAE,yBAAyB;oBAC9B,MAAM,EAAE,iCAAiC;iBAC1C;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,gCAAgC;oBACrC,MAAM,EAAE,oCAAoC;iBAC7C;aACF;SACF;KACF;IACD,uBAAuB;IACvB;QACE,MAAO;QACP;YACE,IAAI,EAAE,cAAc;YACpB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,aAAa;oBACnB,GAAG,EAAE,8BAA8B;oBACnC,MAAM,EAAE,sCAAsC;iBAC/C;aACF;SACF;KACF;IACD,wBAAwB;IACxB;QACE,KAAM;QACN;YACE,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,aAAa;oBACnB,GAAG,EAAE,+BAA+B;oBACpC,MAAM,EAAE,uCAAuC;iBAChD;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,8BAA8B;oBACnC,MAAM,EAAE,kCAAkC;iBAC3C;aACF;SACF;KACF;IACD,gCAAgC;IAChC;QACE,KAAM;QACN;YACE,IAAI,EAAE,uBAAuB;YAC7B,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,aAAa;oBACnB,GAAG,EAAE,uCAAuC;oBAC5C,MAAM,EAAE,+CAA+C;iBACxD;aACF;SACF;KACF;IACD,qBAAqB;IACrB;QACE,IAAI;QACJ;YACE,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,qBAAqB;oBAC3B,GAAG,EAAE,4BAA4B;oBACjC,MAAM,EAAE,oCAAoC;iBAC7C;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,+BAA+B;oBACpC,MAAM,EAAE,mCAAmC;iBAC5C;aACF;SACF;KACF;IACD,yBAAyB;IACzB;QACE,IAAI;QACJ;YACE,IAAI,EAAE,wBAAwB;YAC9B,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,qBAAqB;oBAC3B,GAAG,EAAE,oCAAoC;oBACzC,MAAM,EAAE,wCAAwC;iBACjD;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,uCAAuC;oBAC5C,MAAM,EAAE,2CAA2C;iBACpD;aACF;SACF;KACF;IACD,8BAA8B;IAC9B;QACE,GAAG;QACH;YACE,IAAI,EAAE,qBAAqB;YAC3B,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,GAAG,EAAE,qBAAqB;oBAC1B,MAAM,EAAE,6BAA6B;iBACtC;aACF;SACF;KACF;IACD,8BAA8B;IAC9B;QACE,GAAG;QACH;YACE,IAAI,EAAE,6BAA6B;YACnC,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,GAAG,EAAE,6BAA6B;oBAClC,MAAM,EAAE,qCAAqC;iBAC9C;aACF;SACF;KACF;IACD,iBAAiB;IACjB;QACE,IAAI;QACJ;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,YAAY;oBAClB,GAAG,EAAE,uBAAuB;oBAC5B,MAAM,EAAE,gCAAgC;iBACzC;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,+BAA+B;oBACpC,MAAM,EAAE,mCAAmC;iBAC5C;aACF;SACF;KACF;IACD,wBAAwB;IACxB;QACE,MAAO;QACP;YACE,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,sCAAsC;oBAC3C,MAAM,EAAE,0CAA0C;iBACnD;aACF;SACF;KACF;IACD,iBAAiB;IACjB;QACE,IAAI;QACJ;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,sBAAsB;oBAC3B,MAAM,EAAE,0BAA0B;iBACnC;aACF;SACF;KACF;IACD,mBAAmB;IACnB;QACE,KAAM;QACN;YACE,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,8BAA8B;oBACnC,MAAM,EAAE,sCAAsC;iBAC/C;aACF;SACF;KACF;IACD,kCAAkC;IAClC;QACE,KAAM;QACN;YACE,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,8BAA8B;oBACnC,MAAM,EAAE,sCAAsC;iBAC/C;aACF;SACF;KACF;IACD,oBAAoB;IACpB;QACE,KAAM;QACN;YACE,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,UAAU;oBAChB,GAAG,EAAE,+BAA+B;oBACpC,MAAM,EAAE,uCAAuC;iBAChD;aACF;SACF;KACF;IACD,cAAc;IACd;QACE,MAAO;QACP;YACE,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,iCAAiC;oBACtC,MAAM,EAAE,qCAAqC;iBAC9C;aACF;SACF;KACF;IACD,wBAAwB;IACxB;QACE,MAAO;QACP;YACE,IAAI,EAAE,eAAe;YACrB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,WAAW;oBACjB,GAAG,EAAE,iCAAiC;oBACtC,MAAM,EAAE,yCAAyC;iBAClD;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,sCAAsC;oBAC3C,MAAM,EAAE,8CAA8C;iBACvD;aACF;SACF;KACF;IACD,gBAAgB;IAChB;QACE,MAAO;QACP;YACE,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,SAAS,EAAE;oBACT,IAAI,EAAE,WAAW;oBACjB,GAAG,EAAE,yBAAyB;oBAC9B,MAAM,EAAE,iCAAiC;iBAC1C;gBACD,UAAU,EAAE;oBACV,GAAG,EAAE,8BAA8B;oBACnC,MAAM,EAAE,sCAAsC;iBAC/C;aACF;SACF;KACF;IACD,sBAAsB;IACtB;QACE,OAAQ;QACR;YACE,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,yCAAyC;oBAC9C,MAAM,EAAE,6CAA6C;iBACtD;aACF;SACF;KACF;IACD,iBAAiB;IACjB;QACE,WAAc;QACd;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,qCAAqC;oBAC1C,MAAM,EAAE,yCAAyC;iBAClD;aACF;SACF;KACF;IACD,iBAAiB;IACjB;QACE,WAAc;QACd;YACE,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,qCAAqC;oBAC1C,MAAM,EAAE,yCAAyC;iBAClD;aACF;SACF;KACF;IACD,sBAAsB;IACtB;QACE,WAAc;QACd;YACE,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,8BAA8B;oBACnC,MAAM,EAAE,kCAAkC;iBAC3C;aACF;SACF;KACF;IACD,kBAAkB;IAClB;QACE,WAAc;QACd;YACE,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAE,kBAAkB;YAC7B,cAAc,EAAE;gBACd,UAAU,EAAE;oBACV,GAAG,EAAE,sCAAsC;oBAC3C,MAAM,EAAE,0CAA0C;iBACnD;aACF;SACF;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"chain-descriptors.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/network-manager/chain-descriptors.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import type { RequestArguments, SuccessfulJsonRpcResponse } from "../../../../ty
5
5
  import type { RequireField } from "../../../../types/utils.js";
6
6
  import type { DefaultHDAccountsConfigParams } from "../accounts/constants.js";
7
7
  import type { JsonRpcRequestWrapperFunction } from "../network-manager.js";
8
- import type { SubscriptionEvent, ProviderConfig, TracingConfigWithBuffers } from "@nomicfoundation/edr";
8
+ import type { SubscriptionEvent, ProviderConfig, TracingConfigWithBuffers, GasReportConfig } from "@nomicfoundation/edr";
9
9
  import { BaseProvider } from "../base-provider.js";
10
10
  export declare const EDR_NETWORK_DEFAULT_COINBASE = "0xc014ba5ec014ba5ec014ba5ec014ba5ec014ba5e";
11
11
  interface EdrNetworkDefaultHDAccountsConfigParams extends DefaultHDAccountsConfigParams {
@@ -24,13 +24,14 @@ interface EdrProviderConfig {
24
24
  tracingConfig?: TracingConfigWithBuffers;
25
25
  jsonRpcRequestWrapper?: JsonRpcRequestWrapperFunction;
26
26
  coverageConfig?: CoverageConfig;
27
+ gasReportConfig?: GasReportConfig;
27
28
  }
28
29
  export declare class EdrProvider extends BaseProvider {
29
30
  #private;
30
31
  /**
31
32
  * Creates a new instance of `EdrProvider`.
32
33
  */
33
- static create({ chainDescriptors, networkConfig, loggerConfig, tracingConfig, jsonRpcRequestWrapper, coverageConfig, }: EdrProviderConfig): Promise<EdrProvider>;
34
+ static create({ chainDescriptors, networkConfig, loggerConfig, tracingConfig, jsonRpcRequestWrapper, coverageConfig, gasReportConfig, }: EdrProviderConfig): Promise<EdrProvider>;
34
35
  /**
35
36
  * @private
36
37
  *
@@ -44,6 +45,6 @@ export declare class EdrProvider extends BaseProvider {
44
45
  addCompilationResult(solcVersion: string, compilerInput: any, compilerOutput: any): Promise<void>;
45
46
  onSubscriptionEvent(event: SubscriptionEvent): void;
46
47
  }
47
- export declare function getProviderConfig(networkConfig: RequireField<EdrNetworkConfig, "chainType">, coverageConfig: CoverageConfig | undefined, chainDescriptors: ChainDescriptorsConfig): Promise<ProviderConfig>;
48
+ export declare function getProviderConfig(networkConfig: RequireField<EdrNetworkConfig, "chainType">, coverageConfig: CoverageConfig | undefined, gasReportConfig: GasReportConfig | undefined, chainDescriptors: ChainDescriptorsConfig): Promise<ProviderConfig>;
48
49
  export {};
49
50
  //# sourceMappingURL=edr-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"edr-provider.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/network-manager/edr/edr-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAIV,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EACV,iBAAiB,EAGjB,cAAc,EACd,wBAAwB,EAEzB,MAAM,sBAAsB,CAAC;AA6B9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AA4BnD,eAAO,MAAM,4BAA4B,+CACK,CAAC;AAE/C,UAAU,uCACR,SAAQ,6BAA6B;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,oBAAoB,gEAC8B,CAAC;AAChE,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AACpE,eAAO,MAAM,6CAA6C,EAAE,uCAKzD,CAAC;AAEJ,wBAAsB,mCAAmC,CACvD,QAAQ,EAAE,0BAA0B,GACnC,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,eAAO,MAAM,gCAAgC,EAAE,MAAM,EAqBpD,CAAC;AAEF,UAAU,iBAAiB;IACzB,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,aAAa,EAAE,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,qBAAqB,CAAC,EAAE,6BAA6B,CAAC;IACtD,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,qBAAa,WAAY,SAAQ,YAAY;;IAM3C;;OAEG;WACiB,MAAM,CAAC,EACzB,gBAAgB,EAChB,aAAa,EACb,YAAiC,EACjC,aAAkB,EAClB,qBAAqB,EACrB,cAAc,GACf,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IAyD3C;;;;;;OAMG;IACH,OAAO;IAUM,OAAO,CAClB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IA+DlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,oBAAoB,CAC/B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,GAAG,EAClB,cAAc,EAAE,GAAG,GAClB,OAAO,CAAC,IAAI,CAAC;IAoET,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;CAkD3D;AAED,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAC1D,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,gBAAgB,EAAE,sBAAsB,GACvC,OAAO,CAAC,cAAc,CAAC,CA+EzB"}
1
+ {"version":3,"file":"edr-provider.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/network-manager/edr/edr-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAIV,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EACV,iBAAiB,EAGjB,cAAc,EACd,wBAAwB,EAExB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AA6B9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AA4BnD,eAAO,MAAM,4BAA4B,+CACK,CAAC;AAE/C,UAAU,uCACR,SAAQ,6BAA6B;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,oBAAoB,gEAC8B,CAAC;AAChE,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AACpE,eAAO,MAAM,6CAA6C,EAAE,uCAKzD,CAAC;AAEJ,wBAAsB,mCAAmC,CACvD,QAAQ,EAAE,0BAA0B,GACnC,OAAO,CAAC,OAAO,CAAC,CASlB;AAED,eAAO,MAAM,gCAAgC,EAAE,MAAM,EAqBpD,CAAC;AAEF,UAAU,iBAAiB;IACzB,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,aAAa,EAAE,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,qBAAqB,CAAC,EAAE,6BAA6B,CAAC;IACtD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,qBAAa,WAAY,SAAQ,YAAY;;IAM3C;;OAEG;WACiB,MAAM,CAAC,EACzB,gBAAgB,EAChB,aAAa,EACb,YAAiC,EACjC,aAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,eAAe,GAChB,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC;IA0D3C;;;;;;OAMG;IACH,OAAO;IAUM,OAAO,CAClB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IA+DlC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,oBAAoB,CAC/B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,GAAG,EAClB,cAAc,EAAE,GAAG,GAClB,OAAO,CAAC,IAAI,CAAC;IAoET,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;CAkD3D;AAED,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAC1D,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,eAAe,EAAE,eAAe,GAAG,SAAS,EAC5C,gBAAgB,EAAE,sBAAsB,GACvC,OAAO,CAAC,cAAc,CAAC,CAgFzB"}
@@ -67,10 +67,10 @@ export class EdrProvider extends BaseProvider {
67
67
  /**
68
68
  * Creates a new instance of `EdrProvider`.
69
69
  */
70
- static async create({ chainDescriptors, networkConfig, loggerConfig = { enabled: false }, tracingConfig = {}, jsonRpcRequestWrapper, coverageConfig, }) {
70
+ static async create({ chainDescriptors, networkConfig, loggerConfig = { enabled: false }, tracingConfig = {}, jsonRpcRequestWrapper, coverageConfig, gasReportConfig, }) {
71
71
  const printLineFn = loggerConfig.printLineFn ?? printLine;
72
72
  const replaceLastLineFn = loggerConfig.replaceLastLineFn ?? replaceLastLine;
73
- const providerConfig = await getProviderConfig(networkConfig, coverageConfig, chainDescriptors);
73
+ const providerConfig = await getProviderConfig(networkConfig, coverageConfig, gasReportConfig, chainDescriptors);
74
74
  let edrProvider;
75
75
  // We need to catch errors here, as the provider creation can panic unexpectedly,
76
76
  // and we want to make sure such a crash is propagated as a ProviderError.
@@ -248,7 +248,7 @@ export class EdrProvider extends BaseProvider {
248
248
  return this.#handleEdrResponse(edrResponse);
249
249
  }
250
250
  }
251
- export async function getProviderConfig(networkConfig, coverageConfig, chainDescriptors) {
251
+ export async function getProviderConfig(networkConfig, coverageConfig, gasReportConfig, chainDescriptors) {
252
252
  const specId = hardhatHardforkToEdrSpecId(networkConfig.hardfork, networkConfig.chainType);
253
253
  const ownedAccounts = await hardhatAccountsToEdrOwnedAccounts(networkConfig.accounts);
254
254
  const genesisState = new Map(ownedAccounts.map(({ secretKey, balance }) => {
@@ -302,6 +302,7 @@ export async function getProviderConfig(networkConfig, coverageConfig, chainDesc
302
302
  networkId: BigInt(networkConfig.networkId),
303
303
  observability: {
304
304
  codeCoverage: coverageConfig,
305
+ gasReport: gasReportConfig,
305
306
  },
306
307
  ownedAccounts: ownedAccounts.map((account) => account.secretKey),
307
308
  precompileOverrides: [],