hardhat 3.1.12 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/src/internal/builtin-plugins/coverage/helpers.d.ts +5 -0
  3. package/dist/src/internal/builtin-plugins/coverage/helpers.d.ts.map +1 -1
  4. package/dist/src/internal/builtin-plugins/coverage/helpers.js +12 -0
  5. package/dist/src/internal/builtin-plugins/coverage/helpers.js.map +1 -1
  6. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/hre.d.ts.map +1 -1
  7. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/hre.js +2 -5
  8. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/hre.js.map +1 -1
  9. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.d.ts.map +1 -1
  10. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js +3 -5
  11. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js.map +1 -1
  12. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/test.d.ts.map +1 -1
  13. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/test.js +4 -15
  14. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/test.js.map +1 -1
  15. package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.d.ts +11 -10
  16. package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.d.ts.map +1 -1
  17. package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.js +80 -13
  18. package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.js.map +1 -1
  19. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts +5 -0
  20. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts.map +1 -1
  21. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js +13 -0
  22. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js.map +1 -1
  23. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.d.ts.map +1 -1
  24. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.js +4 -5
  25. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.js.map +1 -1
  26. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.d.ts.map +1 -1
  27. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.js +13 -17
  28. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.js.map +1 -1
  29. package/dist/src/internal/builtin-plugins/gas-analytics/index.d.ts.map +1 -1
  30. package/dist/src/internal/builtin-plugins/gas-analytics/index.js +8 -1
  31. package/dist/src/internal/builtin-plugins/gas-analytics/index.js.map +1 -1
  32. package/dist/src/internal/builtin-plugins/gas-analytics/type-extensions.d.ts +1 -0
  33. package/dist/src/internal/builtin-plugins/gas-analytics/type-extensions.d.ts.map +1 -1
  34. package/dist/src/internal/builtin-plugins/gas-analytics/types.d.ts +33 -0
  35. package/dist/src/internal/builtin-plugins/gas-analytics/types.d.ts.map +1 -1
  36. package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts +1 -1
  37. package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts.map +1 -1
  38. package/dist/src/internal/builtin-plugins/network-manager/network-manager.js +15 -1
  39. package/dist/src/internal/builtin-plugins/network-manager/network-manager.js.map +1 -1
  40. package/dist/src/internal/builtin-plugins/node/json-rpc/handler.js +7 -2
  41. package/dist/src/internal/builtin-plugins/node/json-rpc/handler.js.map +1 -1
  42. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.d.ts.map +1 -1
  43. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.js +0 -1
  44. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.js.map +1 -1
  45. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/index.d.ts +10 -0
  46. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/index.d.ts.map +1 -1
  47. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/index.js +29 -6
  48. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/index.js.map +1 -1
  49. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-info.d.ts +6 -0
  50. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-info.d.ts.map +1 -1
  51. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-info.js +11 -0
  52. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-info.js.map +1 -1
  53. package/dist/src/internal/builtin-plugins/solidity/config.d.ts.map +1 -1
  54. package/dist/src/internal/builtin-plugins/solidity/config.js +13 -7
  55. package/dist/src/internal/builtin-plugins/solidity/config.js.map +1 -1
  56. package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts.map +1 -1
  57. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +9 -6
  58. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
  59. package/dist/src/internal/builtin-plugins/test/task-action.d.ts.map +1 -1
  60. package/dist/src/internal/builtin-plugins/test/task-action.js +26 -9
  61. package/dist/src/internal/builtin-plugins/test/task-action.js.map +1 -1
  62. package/dist/src/types/network.d.ts +1 -1
  63. package/dist/src/types/network.d.ts.map +1 -1
  64. package/package.json +3 -3
  65. package/src/internal/builtin-plugins/coverage/helpers.ts +31 -0
  66. package/src/internal/builtin-plugins/coverage/hook-handlers/hre.ts +2 -10
  67. package/src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts +3 -12
  68. package/src/internal/builtin-plugins/coverage/hook-handlers/test.ts +4 -25
  69. package/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.ts +118 -18
  70. package/src/internal/builtin-plugins/gas-analytics/helpers.ts +31 -0
  71. package/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.ts +6 -10
  72. package/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.ts +18 -26
  73. package/src/internal/builtin-plugins/gas-analytics/index.ts +9 -1
  74. package/src/internal/builtin-plugins/gas-analytics/type-extensions.ts +1 -0
  75. package/src/internal/builtin-plugins/gas-analytics/types.ts +37 -0
  76. package/src/internal/builtin-plugins/network-manager/network-manager.ts +29 -2
  77. package/src/internal/builtin-plugins/node/json-rpc/handler.ts +8 -2
  78. package/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.ts +0 -5
  79. package/src/internal/builtin-plugins/solidity/build-system/compiler/index.ts +44 -9
  80. package/src/internal/builtin-plugins/solidity/build-system/solc-info.ts +15 -0
  81. package/src/internal/builtin-plugins/solidity/config.ts +13 -6
  82. package/src/internal/builtin-plugins/solidity-test/task-action.ts +10 -13
  83. package/src/internal/builtin-plugins/test/task-action.ts +38 -18
  84. package/src/types/network.ts +2 -2
  85. package/templates/hardhat-3/01-node-test-runner-viem/package.json +5 -5
  86. package/templates/hardhat-3/02-mocha-ethers/package.json +6 -6
  87. package/templates/hardhat-3/03-minimal/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # hardhat
2
2
 
3
+ ## 3.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#8064](https://github.com/NomicFoundation/hardhat/pull/8064) [`392fc38`](https://github.com/NomicFoundation/hardhat/commit/392fc388556e9ec3ca1309db0ffb2ded24439ee2) Thanks [@schaable](https://github.com/schaable)! - Add `--gas-stats-json <path>` global option to write gas usage statistics to a JSON file ([#7990](https://github.com/NomicFoundation/hardhat/issues/7990)).
8
+
9
+ ### Patch Changes
10
+
11
+ - [#8061](https://github.com/NomicFoundation/hardhat/pull/8061) [`c03f647`](https://github.com/NomicFoundation/hardhat/commit/c03f6476cc62ae31e745e0e1a72371d3cba8e9dc) Thanks [@ChristopherDedominici](https://github.com/ChristopherDedominici)! - Fixed bug to preserve revert data in JSON-RPC responses for non-ProviderErrors ([8061](https://github.com/NomicFoundation/hardhat/pull/8061)).
12
+
13
+ - [#8060](https://github.com/NomicFoundation/hardhat/pull/8060) [`4461d1e`](https://github.com/NomicFoundation/hardhat/commit/4461d1e760c42e186c4b64e4332ca2c6333b86bf) Thanks [@kanej](https://github.com/kanej)! - Updated `network.createServer` signature to type non-generic chainTypes
14
+
15
+ - [#8038](https://github.com/NomicFoundation/hardhat/pull/8038) [`465d00d`](https://github.com/NomicFoundation/hardhat/commit/465d00d6f67b72752ffa54a88ee90027667f0030) Thanks [@schaable](https://github.com/schaable)! - Aggregate deployment gas statistics (min, avg, median, max, count) instead of showing only the last deployment cost and size ([#8037](https://github.com/NomicFoundation/hardhat/issues/8037))
16
+
17
+ - [#8060](https://github.com/NomicFoundation/hardhat/pull/8060) [`0e8abcf`](https://github.com/NomicFoundation/hardhat/commit/0e8abcf376b7b3618261512c98ae5dcfef716216) Thanks [@kanej](https://github.com/kanej)! - Added guard against `http` network configs in `network.createServer(...)`
18
+
19
+ - [#8036](https://github.com/NomicFoundation/hardhat/pull/8036) [`954825a`](https://github.com/NomicFoundation/hardhat/commit/954825a35f5813625c4a72d8e887895d7a71e78b) Thanks [@schaable](https://github.com/schaable)! - Aggregate `--gas-stats` output when using multiple test runners, printing a single consolidated table at the end instead of separate tables per runner ([#7500](https://github.com/NomicFoundation/hardhat/issues/7500)).
20
+
21
+ - [#8062](https://github.com/NomicFoundation/hardhat/pull/8062) [`45963d4`](https://github.com/NomicFoundation/hardhat/commit/45963d4ef98f505e7f1e40414ead94baaa566d79) Thanks [@ChristopherDedominici](https://github.com/ChristopherDedominici)! - Fixed compiler download for old versions in ARM64 ([8062](https://github.com/NomicFoundation/hardhat/pull/8062)).
22
+
23
+ - Updated dependencies:
24
+ - @nomicfoundation/hardhat-errors@3.0.9
25
+
3
26
  ## 3.1.12
4
27
 
5
28
  ### Patch Changes
@@ -1,4 +1,9 @@
1
+ import type { CoverageManager } from "./types.js";
2
+ import type { HookContext } from "../../../types/hooks.js";
3
+ import type { HardhatRuntimeEnvironment } from "../../../types/hre.js";
1
4
  export declare function getCoveragePath(rootPath: string): string;
5
+ export declare function getCoverageManager(hookContextOrHre: HookContext | HardhatRuntimeEnvironment): CoverageManager;
6
+ export declare function setCoverageManager(hre: HardhatRuntimeEnvironment, coverageManager: CoverageManager): void;
2
7
  /**
3
8
  * The following helpers are kept for backward compatibility with older versions
4
9
  * of test runner plugins (hardhat-mocha, hardhat-node-test-runner) that import
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/coverage/helpers.ts"],"names":[],"mappings":"AAQA,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;GAIG;AAEH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhE;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlE;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/D"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/coverage/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAevE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,kBAAkB,CAChC,gBAAgB,EAAE,WAAW,GAAG,yBAAyB,GACxD,eAAe,CAOjB;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,yBAAyB,EAC9B,eAAe,EAAE,eAAe,GAC/B,IAAI,CAMN;AAED;;;;GAIG;AAEH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhE;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlE;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/D"}
@@ -1,8 +1,20 @@
1
1
  import path from "node:path";
2
+ import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
3
+ import { HardhatRuntimeEnvironmentImplementation } from "../../core/hre.js";
4
+ import { CoverageManagerImplementation } from "./coverage-manager.js";
2
5
  import { testRunDone, testRunStart, testWorkerDone, } from "./hook-handlers/test.js";
3
6
  export function getCoveragePath(rootPath) {
4
7
  return path.join(rootPath, "coverage");
5
8
  }
9
+ export function getCoverageManager(hookContextOrHre) {
10
+ assertHardhatInvariant("_coverage" in hookContextOrHre &&
11
+ hookContextOrHre._coverage instanceof CoverageManagerImplementation, "Expected _coverage to be an instance of CoverageManagerImplementation");
12
+ return hookContextOrHre._coverage;
13
+ }
14
+ export function setCoverageManager(hre, coverageManager) {
15
+ assertHardhatInvariant(hre instanceof HardhatRuntimeEnvironmentImplementation, "Expected HRE to be an instance of HardhatRuntimeEnvironmentImplementation");
16
+ hre._coverage = coverageManager;
17
+ }
6
18
  /**
7
19
  * The following helpers are kept for backward compatibility with older versions
8
20
  * of test runner plugins (hardhat-mocha, hardhat-node-test-runner) that import
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/coverage/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAU;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,MAAM,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAU;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,MAAM,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAU;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/coverage/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAAE,uCAAuC,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,gBAAyD;IAEzD,sBAAsB,CACpB,WAAW,IAAI,gBAAgB;QAC7B,gBAAgB,CAAC,SAAS,YAAY,6BAA6B,EACrE,uEAAuE,CACxE,CAAC;IACF,OAAO,gBAAgB,CAAC,SAAS,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,GAA8B,EAC9B,eAAgC;IAEhC,sBAAsB,CACpB,GAAG,YAAY,uCAAuC,EACtD,2EAA2E,CAC5E,CAAC;IACF,GAAG,CAAC,SAAS,GAAG,eAAe,CAAC;AAClC,CAAC;AAED;;;;GAIG;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAU;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,MAAM,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAU;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,MAAM,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAU;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hre.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/hook-handlers/hre.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;8BAQxD,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAAzE,wBAyBG"}
1
+ {"version":3,"file":"hre.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/hook-handlers/hre.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;8BAKxD,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAAzE,wBAoBG"}
@@ -1,14 +1,11 @@
1
- import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
2
- import { HardhatRuntimeEnvironmentImplementation } from "../../../core/hre.js";
3
1
  import { CoverageManagerImplementation } from "../coverage-manager.js";
4
- import { getCoveragePath } from "../helpers.js";
2
+ import { getCoveragePath, setCoverageManager } from "../helpers.js";
5
3
  export default async () => ({
6
4
  created: async (context, hre) => {
7
5
  if (context.globalOptions.coverage) {
8
6
  const coveragePath = getCoveragePath(hre.config.paths.root);
9
7
  const coverageManager = new CoverageManagerImplementation(coveragePath);
10
- assertHardhatInvariant(hre instanceof HardhatRuntimeEnvironmentImplementation, "Expected HRE to be an instance of HardhatRuntimeEnvironmentImplementation");
11
- hre._coverage = coverageManager;
8
+ setCoverageManager(hre, coverageManager);
12
9
  // NOTE: We register this hook dynamically because we use the information about
13
10
  // the existence of onCoverageData hook handlers to determine whether coverage
14
11
  // is enabled or not.
@@ -1 +1 @@
1
- {"version":3,"file":"hre.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/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,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,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,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,eAAe,GAAG,IAAI,6BAA6B,CAAC,YAAY,CAAC,CAAC;YAExE,sBAAsB,CACpB,GAAG,YAAY,uCAAuC,EACtD,2EAA2E,CAC5E,CAAC;YAEF,GAAG,CAAC,SAAS,GAAG,eAAe,CAAC;YAEhC,+EAA+E;YAC/E,8EAA8E;YAC9E,qBAAqB;YACrB,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE;gBACpC,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;oBAC/C,MAAM,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;oBAE5C,OAAO;gBACT,CAAC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"hre.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/hook-handlers/hre.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEpE,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,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,eAAe,GAAG,IAAI,6BAA6B,CAAC,YAAY,CAAC,CAAC;YAExE,kBAAkB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAEzC,+EAA+E;YAC/E,8EAA8E;YAC9E,qBAAqB;YACrB,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE;gBACpC,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE;oBAC/C,MAAM,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;oBAE5C,OAAO;gBACT,CAAC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"solidity.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;8BAsBvC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAAxD,wBAgHG"}
1
+ {"version":3,"file":"solidity.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;8BAmBvC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAAxD,wBA0GG"}
@@ -1,10 +1,10 @@
1
1
  import path from "node:path";
2
- import { assertHardhatInvariant, HardhatError, } from "@nomicfoundation/hardhat-errors";
2
+ import { HardhatError } from "@nomicfoundation/hardhat-errors";
3
3
  import { ensureError } from "@nomicfoundation/hardhat-utils/error";
4
4
  import { readUtf8File } from "@nomicfoundation/hardhat-utils/fs";
5
5
  import { findClosestPackageRoot } from "@nomicfoundation/hardhat-utils/package";
6
6
  import debug from "debug";
7
- import { CoverageManagerImplementation } from "../coverage-manager.js";
7
+ import { getCoverageManager } from "../helpers.js";
8
8
  import { instrumentSolidityFileForCompilationJob } from "../instrumentation.js";
9
9
  const log = debug("hardhat:core:coverage:hook-handlers:solidity");
10
10
  const COVERAGE_LIBRARY_PATH = "__hardhat_coverage_library_a3e9cfe2-41b4-4a1f-ad9e-ac62dd82979e.sol";
@@ -52,9 +52,7 @@ export default async () => ({
52
52
  break;
53
53
  }
54
54
  }
55
- assertHardhatInvariant("_coverage" in context &&
56
- context._coverage instanceof CoverageManagerImplementation, "Expected _coverage to be defined in the HookContext, as it's should be defined in the HRE");
57
- await context._coverage.addMetadata(coverageMetadata);
55
+ await getCoverageManager(context).addMetadata(coverageMetadata);
58
56
  return await next(context, sourceName, fsPath, source, solcVersion);
59
57
  }
60
58
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"solidity.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solidity.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/hook-handlers/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;8BAOhD,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAApD,wBAeG;AAEH,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAUf"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/hook-handlers/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;8BAIhD,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAApD,wBAeG;AAEH,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAIf"}
@@ -1,6 +1,4 @@
1
- import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
2
- import { isObject } from "@nomicfoundation/hardhat-utils/lang";
3
- import { CoverageManagerImplementation } from "../coverage-manager.js";
1
+ import { getCoverageManager } from "../helpers.js";
4
2
  export default async () => ({
5
3
  onTestRunStart: async (context, id, next) => {
6
4
  await next(context, id);
@@ -17,26 +15,17 @@ export default async () => ({
17
15
  });
18
16
  export async function testRunStart(context, id) {
19
17
  if (context.globalOptions.coverage === true) {
20
- assertHardhatInvariant("_coverage" in context &&
21
- isObject(context._coverage) &&
22
- context._coverage instanceof CoverageManagerImplementation, "Expected HookContext#_coverage to be an instance of CoverageManagerImplementation");
23
- await context._coverage.clearData(id);
18
+ await getCoverageManager(context).clearData(id);
24
19
  }
25
20
  }
26
21
  export async function testWorkerDone(context, id) {
27
22
  if (context.globalOptions.coverage === true) {
28
- assertHardhatInvariant("_coverage" in context &&
29
- isObject(context._coverage) &&
30
- context._coverage instanceof CoverageManagerImplementation, "Expected HookContext#_coverage to be an instance of CoverageManagerImplementation");
31
- await context._coverage.saveData(id);
23
+ await getCoverageManager(context).saveData(id);
32
24
  }
33
25
  }
34
26
  export async function testRunDone(context, id) {
35
27
  if (context.globalOptions.coverage === true) {
36
- assertHardhatInvariant("_coverage" in context &&
37
- isObject(context._coverage) &&
38
- context._coverage instanceof CoverageManagerImplementation, "Expected HookContext#_coverage to be an instance of CoverageManagerImplementation");
39
- await context._coverage.report(id);
28
+ await getCoverageManager(context).report(id);
40
29
  }
41
30
  }
42
31
  //# sourceMappingURL=test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/hook-handlers/test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAEvE,eAAe,KAAK,IAAiC,EAAE,CAAC,CAAC;IACvD,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAC1C,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxB,MAAM,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAC5C,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxB,MAAM,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QACzC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxB,MAAM,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAoB,EACpB,EAAU;IAEV,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5C,sBAAsB,CACpB,WAAW,IAAI,OAAO;YACpB,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3B,OAAO,CAAC,SAAS,YAAY,6BAA6B,EAC5D,mFAAmF,CACpF,CAAC;QACF,MAAM,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAoB,EACpB,EAAU;IAEV,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5C,sBAAsB,CACpB,WAAW,IAAI,OAAO;YACpB,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3B,OAAO,CAAC,SAAS,YAAY,6BAA6B,EAC5D,mFAAmF,CACpF,CAAC;QACF,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAoB,EACpB,EAAU;IAEV,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5C,sBAAsB,CACpB,WAAW,IAAI,OAAO;YACpB,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;YAC3B,OAAO,CAAC,SAAS,YAAY,6BAA6B,EAC5D,mFAAmF,CACpF,CAAC;QACF,MAAM,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/hook-handlers/test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,eAAe,KAAK,IAAiC,EAAE,CAAC,CAAC;IACvD,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAC1C,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxB,MAAM,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAC5C,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxB,MAAM,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QACzC,MAAM,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACxB,MAAM,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAoB,EACpB,EAAU;IAEV,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAoB,EACpB,EAAU;IAEV,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAoB,EACpB,EAAU;IAEV,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -1,9 +1,6 @@
1
- import type { GasAnalyticsManager, GasMeasurement } from "./types.js";
1
+ import type { GasAnalyticsManager, GasMeasurement, GasStatsJson } from "./types.js";
2
2
  interface ContractGasStats {
3
- deployment?: {
4
- gas: number;
5
- size: number;
6
- };
3
+ deployment?: GasStats;
7
4
  functions: Map<string, // function name or signature (if overloaded)
8
5
  GasStats>;
9
6
  }
@@ -13,14 +10,11 @@ interface GasStats {
13
10
  max: number;
14
11
  avg: number;
15
12
  median: number;
16
- calls: number;
13
+ count: number;
17
14
  }
18
15
  type GasMeasurementsByContract = Map<string, ContractGasMeasurements>;
19
16
  interface ContractGasMeasurements {
20
- deployment?: {
21
- gas: number;
22
- size: number;
23
- };
17
+ deployments: number[];
24
18
  functions: Map<string, // functionSig
25
19
  number[]>;
26
20
  }
@@ -32,6 +26,9 @@ export declare class GasAnalyticsManagerImplementation implements GasAnalyticsMa
32
26
  clearGasMeasurements(id: string): Promise<void>;
33
27
  saveGasMeasurements(id: string): Promise<void>;
34
28
  reportGasStats(...ids: string[]): Promise<void>;
29
+ writeGasStatsJson(outputPath: string, ...ids: string[]): Promise<void>;
30
+ enableReport(): void;
31
+ disableReport(): void;
35
32
  /**
36
33
  * @private exposed for testing purposes only
37
34
  */
@@ -48,6 +45,10 @@ export declare class GasAnalyticsManagerImplementation implements GasAnalyticsMa
48
45
  * @private exposed for testing purposes only
49
46
  */
50
47
  _generateGasStatsReport(gasStatsByContract: GasStatsByContract): string;
48
+ /**
49
+ * @private exposed for testing purposes only
50
+ */
51
+ _generateGasStatsJson(gasStatsByContract: GasStatsByContract): GasStatsJson;
51
52
  }
52
53
  export declare function avg(values: number[]): number;
53
54
  export declare function median(values: number[]): number;
@@ -1 +1 @@
1
- {"version":3,"file":"gas-analytics-manager.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsBtE,UAAU,gBAAgB;IACxB,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,SAAS,EAAE,GAAG,CACZ,MAAM,EAAE,6CAA6C;IACrD,QAAQ,CACT,CAAC;CACH;AAED,KAAK,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAExD,UAAU,QAAQ;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,KAAK,yBAAyB,GAAG,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEtE,UAAU,uBAAuB;IAC/B,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,SAAS,EAAE,GAAG,CACZ,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,CACT,CAAC;CACH;AAED,qBAAa,iCAAkC,YAAW,mBAAmB;;IACpE,eAAe,EAAE,cAAc,EAAE,CAAM;gBAGlC,gBAAgB,EAAE,MAAM;IAI7B,iBAAiB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAIjD,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9C,cAAc,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5D;;OAEG;IACU,oBAAoB,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAelE;;OAEG;IACI,kBAAkB,IAAI,kBAAkB;IA4C/C;;OAEG;IACI,yBAAyB,IAAI,yBAAyB;IAyC7D;;OAEG;IACI,uBAAuB,CAC5B,kBAAkB,EAAE,kBAAkB,GACrC,MAAM;CAyEV;AAED,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAE5C;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAO/C;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgBnD;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEzD"}
1
+ {"version":3,"file":"gas-analytics-manager.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,mBAAmB,EACnB,cAAc,EACd,YAAY,EAEb,MAAM,YAAY,CAAC;AA2BpB,UAAU,gBAAgB;IACxB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,SAAS,EAAE,GAAG,CACZ,MAAM,EAAE,6CAA6C;IACrD,QAAQ,CACT,CAAC;CACH;AAED,KAAK,kBAAkB,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAExD,UAAU,QAAQ;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,KAAK,yBAAyB,GAAG,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEtE,UAAU,uBAAuB;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,GAAG,CACZ,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,CACT,CAAC;CACH;AAED,qBAAa,iCAAkC,YAAW,mBAAmB;;IACpE,eAAe,EAAE,cAAc,EAAE,CAAM;gBAIlC,gBAAgB,EAAE,MAAM;IAI7B,iBAAiB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAIjD,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/C,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9C,cAAc,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/C,iBAAiB,CAC5B,UAAU,EAAE,MAAM,EAClB,GAAG,GAAG,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,IAAI,CAAC;IAuBT,YAAY,IAAI,IAAI;IAIpB,aAAa,IAAI,IAAI;IAU5B;;OAEG;IACU,oBAAoB,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAelE;;OAEG;IACI,kBAAkB,IAAI,kBAAkB;IA+C/C;;OAEG;IACI,yBAAyB,IAAI,yBAAyB;IAuC7D;;OAEG;IACI,uBAAuB,CAC5B,kBAAkB,EAAE,kBAAkB,GACrC,MAAM;IAmFT;;OAEG;IACI,qBAAqB,CAC1B,kBAAkB,EAAE,kBAAkB,GACrC,YAAY;CAkChB;AAED,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAE5C;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAO/C;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgBnD;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEzD"}
@@ -1,14 +1,17 @@
1
1
  import crypto from "node:crypto";
2
2
  import path from "node:path";
3
+ import { HardhatError } from "@nomicfoundation/hardhat-errors";
3
4
  import { formatTable } from "@nomicfoundation/hardhat-utils/format";
4
- import { ensureDir, getAllFilesMatching, readJsonFile, remove, writeJsonFile, } from "@nomicfoundation/hardhat-utils/fs";
5
+ import { ensureDir, exists, getAllFilesMatching, isDirectory, readJsonFile, remove, writeJsonFile, } from "@nomicfoundation/hardhat-utils/fs";
5
6
  import { findDuplicates } from "@nomicfoundation/hardhat-utils/lang";
6
7
  import chalk from "chalk";
7
8
  import debug from "debug";
9
+ import { parseFullyQualifiedName } from "../../../utils/contract-names.js";
8
10
  const gasStatsLog = debug("hardhat:core:gas-analytics:gas-analytics-manager:gas-stats");
9
11
  export class GasAnalyticsManagerImplementation {
10
12
  gasMeasurements = [];
11
13
  #gasStatsPath;
14
+ #reportEnabled = true;
12
15
  constructor(gasStatsRootPath) {
13
16
  this.#gasStatsPath = path.join(gasStatsRootPath, "gas-stats");
14
17
  }
@@ -28,6 +31,9 @@ export class GasAnalyticsManagerImplementation {
28
31
  gasStatsLog("Saved gas measurements", id, filePath);
29
32
  }
30
33
  async reportGasStats(...ids) {
34
+ if (!this.#reportEnabled) {
35
+ return;
36
+ }
31
37
  await this._loadGasMeasurements(...ids);
32
38
  const gasStatsByContract = this._calculateGasStats();
33
39
  const report = this._generateGasStatsReport(gasStatsByContract);
@@ -35,6 +41,27 @@ export class GasAnalyticsManagerImplementation {
35
41
  console.log();
36
42
  gasStatsLog("Printed markdown report");
37
43
  }
44
+ async writeGasStatsJson(outputPath, ...ids) {
45
+ if (!this.#reportEnabled) {
46
+ return;
47
+ }
48
+ await this._loadGasMeasurements(...ids);
49
+ const gasStatsByContract = this._calculateGasStats();
50
+ const resolvedPath = path.resolve(outputPath);
51
+ if ((await exists(resolvedPath)) && (await isDirectory(resolvedPath))) {
52
+ throw new HardhatError(HardhatError.ERRORS.CORE.BUILTIN_TASKS.INVALID_FILE_PATH, { path: outputPath });
53
+ }
54
+ await ensureDir(path.dirname(resolvedPath));
55
+ const json = this._generateGasStatsJson(gasStatsByContract);
56
+ await writeJsonFile(resolvedPath, json);
57
+ gasStatsLog("Written gas stats JSON to", resolvedPath);
58
+ }
59
+ enableReport() {
60
+ this.#reportEnabled = true;
61
+ }
62
+ disableReport() {
63
+ this.#reportEnabled = false;
64
+ }
38
65
  async #getGasMeasurementsPath(id) {
39
66
  const gasMeasurementsPath = path.join(this.#gasStatsPath, id);
40
67
  await ensureDir(gasMeasurementsPath);
@@ -67,10 +94,13 @@ export class GasAnalyticsManagerImplementation {
67
94
  const contractGasStats = {
68
95
  functions: new Map(),
69
96
  };
70
- if (measurements.deployment !== undefined) {
97
+ if (measurements.deployments.length > 0) {
71
98
  contractGasStats.deployment = {
72
- gas: measurements.deployment.gas,
73
- size: measurements.deployment.size,
99
+ min: Math.min(...measurements.deployments),
100
+ max: Math.max(...measurements.deployments),
101
+ avg: Math.round(avg(measurements.deployments)),
102
+ median: Math.round(median(measurements.deployments)),
103
+ count: measurements.deployments.length,
74
104
  };
75
105
  }
76
106
  const overloadedFnNames = findDuplicates([...measurements.functions.keys()].map(getFunctionName));
@@ -82,7 +112,7 @@ export class GasAnalyticsManagerImplementation {
82
112
  max: Math.max(...gasValues),
83
113
  avg: Math.round(avg(gasValues)),
84
114
  median: Math.round(median(gasValues)),
85
- calls: gasValues.length,
115
+ count: gasValues.length,
86
116
  };
87
117
  contractGasStats.functions.set(isOverloaded ? functionSig : functionName, stats);
88
118
  }
@@ -99,15 +129,13 @@ export class GasAnalyticsManagerImplementation {
99
129
  let contractMeasurements = measurementsByContract.get(currentMeasurement.contractFqn);
100
130
  if (contractMeasurements === undefined) {
101
131
  contractMeasurements = {
132
+ deployments: [],
102
133
  functions: new Map(),
103
134
  };
104
135
  measurementsByContract.set(currentMeasurement.contractFqn, contractMeasurements);
105
136
  }
106
137
  if (currentMeasurement.type === "deployment") {
107
- contractMeasurements.deployment = {
108
- gas: currentMeasurement.gas,
109
- size: currentMeasurement.size,
110
- };
138
+ contractMeasurements.deployments.push(currentMeasurement.gas);
111
139
  }
112
140
  else {
113
141
  let measurements = contractMeasurements.functions.get(currentMeasurement.functionSig);
@@ -162,26 +190,65 @@ export class GasAnalyticsManagerImplementation {
162
190
  `${gasStats.avg}`,
163
191
  `${gasStats.median}`,
164
192
  `${gasStats.max}`,
165
- `${gasStats.calls}`,
193
+ `${gasStats.count}`,
166
194
  ],
167
195
  });
168
196
  }
169
197
  if (contractGasStats.deployment !== undefined) {
170
198
  rows.push({
171
199
  type: "header",
172
- cells: ["Deployment Cost", "Deployment Size"].map((s) => chalk.yellow(s)),
200
+ cells: [
201
+ "Deployment",
202
+ "Min",
203
+ "Average",
204
+ "Median",
205
+ "Max",
206
+ "#deployments",
207
+ ].map((s) => chalk.yellow(s)),
173
208
  });
174
209
  rows.push({
175
210
  type: "row",
176
211
  cells: [
177
- `${contractGasStats.deployment.gas}`,
178
- `${contractGasStats.deployment.size}`,
212
+ "",
213
+ `${contractGasStats.deployment.min}`,
214
+ `${contractGasStats.deployment.avg}`,
215
+ `${contractGasStats.deployment.median}`,
216
+ `${contractGasStats.deployment.max}`,
217
+ `${contractGasStats.deployment.count}`,
179
218
  ],
180
219
  });
181
220
  }
182
221
  }
183
222
  return formatTable(rows);
184
223
  }
224
+ /**
225
+ * @private exposed for testing purposes only
226
+ */
227
+ _generateGasStatsJson(gasStatsByContract) {
228
+ const sortedContracts = [...gasStatsByContract.entries()]
229
+ .map(([internalFqn, stats]) => ({
230
+ userFqn: getUserFqn(internalFqn),
231
+ stats,
232
+ }))
233
+ .sort((a, b) => a.userFqn.localeCompare(b.userFqn));
234
+ const contracts = {};
235
+ for (const { userFqn, stats } of sortedContracts) {
236
+ const { sourceName, contractName } = parseFullyQualifiedName(userFqn);
237
+ const deployment = stats.deployment !== undefined ? { ...stats.deployment } : null;
238
+ let functions = null;
239
+ if (stats.functions.size > 0) {
240
+ functions = {};
241
+ // Sort functions by removing trailing ) and comparing alphabetically.
242
+ // This ensures that overloaded functions with fewer params come first
243
+ // (e.g., foo(uint256) comes before foo(uint256,uint256)). In other
244
+ // scenarios, removing the trailing ) has no effect on the order.
245
+ const sortedFunctions = [...stats.functions.entries()].sort(([a], [b]) => a.split(")")[0].localeCompare(b.split(")")[0]));
246
+ functions = Object.fromEntries(sortedFunctions);
247
+ }
248
+ contracts[userFqn] = { sourceName, contractName, deployment, functions };
249
+ }
250
+ return { contracts };
251
+ }
185
252
  }
186
253
  export function avg(values) {
187
254
  return values.reduce((a, c) => a + c, 0) / values.length;
@@ -1 +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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"}
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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"}
@@ -1,3 +1,8 @@
1
+ import type { GasAnalyticsManager } from "./types.js";
2
+ import type { HookContext } from "../../../types/hooks.js";
3
+ import type { HardhatRuntimeEnvironment } from "../../../types/hre.js";
4
+ export declare function getGasAnalyticsManager(hookContextOrHre: HookContext | HardhatRuntimeEnvironment): GasAnalyticsManager;
5
+ export declare function setGasAnalyticsManager(hre: HardhatRuntimeEnvironment, gasAnalyticsManager: GasAnalyticsManager): void;
1
6
  /**
2
7
  * The following helpers are kept for backward compatibility with older versions
3
8
  * of test runner plugins (hardhat-mocha, hardhat-node-test-runner) that import
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/helpers.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AAEH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhE;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlE;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/D;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,EACE,aAAa,EACb,WAAW,EACX,aAAa,GACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,GACA,MAAM,CAcR"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAcvE,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,WAAW,GAAG,yBAAyB,GACxD,mBAAmB,CAQrB;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,yBAAyB,EAC9B,mBAAmB,EAAE,mBAAmB,GACvC,IAAI,CAMN;AAED;;;;GAIG;AAEH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhE;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGlE;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/D;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,EACE,aAAa,EACb,WAAW,EACX,aAAa,GACd,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,GACA,MAAM,CAcR"}
@@ -1,5 +1,18 @@
1
+ import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
1
2
  import chalk from "chalk";
3
+ import { HardhatRuntimeEnvironmentImplementation } from "../../core/hre.js";
4
+ import { GasAnalyticsManagerImplementation } from "./gas-analytics-manager.js";
2
5
  import { testRunDone, testRunStart, testWorkerDone, } from "./hook-handlers/test.js";
6
+ export function getGasAnalyticsManager(hookContextOrHre) {
7
+ assertHardhatInvariant("_gasAnalytics" in hookContextOrHre &&
8
+ hookContextOrHre._gasAnalytics instanceof
9
+ GasAnalyticsManagerImplementation, "Expected _gasAnalytics to be an instance of GasAnalyticsManagerImplementation");
10
+ return hookContextOrHre._gasAnalytics;
11
+ }
12
+ export function setGasAnalyticsManager(hre, gasAnalyticsManager) {
13
+ assertHardhatInvariant(hre instanceof HardhatRuntimeEnvironmentImplementation, "Expected HRE to be an instance of HardhatRuntimeEnvironmentImplementation");
14
+ hre._gasAnalytics = gasAnalyticsManager;
15
+ }
3
16
  /**
4
17
  * The following helpers are kept for backward compatibility with older versions
5
18
  * of test runner plugins (hardhat-mocha, hardhat-node-test-runner) that import
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC;;;;GAIG;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAU;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,MAAM,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAU;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,MAAM,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAU;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,WAAmB,EACnB,EACE,aAAa,EACb,WAAW,EACX,aAAa,GAKd;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,QAAQ,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,GAAG,WAAW,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/gas-analytics/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,uCAAuC,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,GACf,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,sBAAsB,CACpC,gBAAyD;IAEzD,sBAAsB,CACpB,eAAe,IAAI,gBAAgB;QACjC,gBAAgB,CAAC,aAAa;YAC5B,iCAAiC,EACrC,+EAA+E,CAChF,CAAC;IACF,OAAO,gBAAgB,CAAC,aAAa,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,GAA8B,EAC9B,mBAAwC;IAExC,sBAAsB,CACpB,GAAG,YAAY,uCAAuC,EACtD,2EAA2E,CAC5E,CAAC;IACF,GAAG,CAAC,aAAa,GAAG,mBAAmB,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAU;IAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,MAAM,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAU;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,MAAM,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAU;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,MAAM,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,WAAmB,EACnB,EACE,aAAa,EACb,WAAW,EACX,aAAa,GAKd;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,QAAQ,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,GAAG,WAAW,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAC3D,CAAC"}
@@ -1 +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"}
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;8BAKxD,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAAzE,wBAuBG"}
@@ -1,12 +1,11 @@
1
- import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
2
- import { HardhatRuntimeEnvironmentImplementation } from "../../../core/hre.js";
3
1
  import { GasAnalyticsManagerImplementation } from "../gas-analytics-manager.js";
2
+ import { setGasAnalyticsManager } from "../helpers.js";
4
3
  export default async () => ({
5
4
  created: async (context, hre) => {
6
- if (context.globalOptions.gasStats) {
5
+ if (context.globalOptions.gasStats ||
6
+ context.globalOptions.gasStatsJson !== undefined) {
7
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;
8
+ setGasAnalyticsManager(hre, gasAnalyticsManager);
10
9
  // NOTE: We register this hook dynamically to avoid a circular dependency
11
10
  // between gas-analytics and network-manager plugins. The network-manager
12
11
  // checks for the existence of onGasReported handlers to determine if gas
@@ -1 +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"}
1
+ {"version":3,"file":"hre.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAEvD,eAAe,KAAK,IAAsD,EAAE,CAAC,CAAC;IAC5E,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;QAC9B,IACE,OAAO,CAAC,aAAa,CAAC,QAAQ;YAC9B,OAAO,CAAC,aAAa,CAAC,YAAY,KAAK,SAAS,EAChD,CAAC;YACD,MAAM,mBAAmB,GAAG,IAAI,iCAAiC,CAC/D,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CACvB,CAAC;YAEF,sBAAsB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;YAEjD,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/gas-analytics/hook-handlers/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;8BAOhD,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAApD,wBAeG;AAEH,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAUf"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/gas-analytics/hook-handlers/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;8BAIhD,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAApD,wBAeG;AASH,wBAAsB,YAAY,CAChC,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,WAAW,EACpB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,IAAI,CAAC,CAUf"}