hardhat 3.8.0 → 3.9.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 (59) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/src/internal/builtin-plugins/coverage/config.d.ts +6 -0
  3. package/dist/src/internal/builtin-plugins/coverage/config.d.ts.map +1 -0
  4. package/dist/src/internal/builtin-plugins/coverage/config.js +18 -0
  5. package/dist/src/internal/builtin-plugins/coverage/config.js.map +1 -0
  6. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/config.d.ts +4 -0
  7. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/config.d.ts.map +1 -0
  8. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/config.js +15 -0
  9. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/config.js.map +1 -0
  10. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.d.ts.map +1 -1
  11. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js +10 -1
  12. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js.map +1 -1
  13. package/dist/src/internal/builtin-plugins/coverage/index.d.ts.map +1 -1
  14. package/dist/src/internal/builtin-plugins/coverage/index.js +1 -0
  15. package/dist/src/internal/builtin-plugins/coverage/index.js.map +1 -1
  16. package/dist/src/internal/builtin-plugins/coverage/type-extensions.d.ts +20 -0
  17. package/dist/src/internal/builtin-plugins/coverage/type-extensions.d.ts.map +1 -1
  18. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.d.ts +2 -1
  19. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.d.ts.map +1 -1
  20. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js +13 -10
  21. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js.map +1 -1
  22. package/dist/src/internal/builtin-plugins/network-manager/type-validation.d.ts.map +1 -1
  23. package/dist/src/internal/builtin-plugins/network-manager/type-validation.js +10 -1
  24. package/dist/src/internal/builtin-plugins/network-manager/type-validation.js.map +1 -1
  25. package/dist/src/internal/builtin-plugins/solidity/build-system/warning-suppression.d.ts.map +1 -1
  26. package/dist/src/internal/builtin-plugins/solidity/build-system/warning-suppression.js +3 -0
  27. package/dist/src/internal/builtin-plugins/solidity/build-system/warning-suppression.js.map +1 -1
  28. package/dist/src/internal/builtin-plugins/solidity/source-names.d.ts +12 -0
  29. package/dist/src/internal/builtin-plugins/solidity/source-names.d.ts.map +1 -0
  30. package/dist/src/internal/builtin-plugins/solidity/source-names.js +18 -0
  31. package/dist/src/internal/builtin-plugins/solidity/source-names.js.map +1 -0
  32. package/dist/src/internal/builtin-plugins/solidity-test/eip712/index.d.ts.map +1 -1
  33. package/dist/src/internal/builtin-plugins/solidity-test/eip712/index.js +7 -12
  34. package/dist/src/internal/builtin-plugins/solidity-test/eip712/index.js.map +1 -1
  35. package/dist/src/internal/edr/context.d.ts.map +1 -1
  36. package/dist/src/internal/edr/context.js +25 -7
  37. package/dist/src/internal/edr/context.js.map +1 -1
  38. package/dist/src/internal/{builtin-plugins/solidity-test/eip712 → utils}/glob.d.ts +4 -0
  39. package/dist/src/internal/utils/glob.d.ts.map +1 -0
  40. package/dist/src/internal/{builtin-plugins/solidity-test/eip712 → utils}/glob.js +3 -3
  41. package/dist/src/internal/utils/glob.js.map +1 -0
  42. package/package.json +1 -1
  43. package/src/internal/builtin-plugins/coverage/config.ts +28 -0
  44. package/src/internal/builtin-plugins/coverage/hook-handlers/config.ts +30 -0
  45. package/src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts +15 -2
  46. package/src/internal/builtin-plugins/coverage/index.ts +1 -0
  47. package/src/internal/builtin-plugins/coverage/type-extensions.ts +24 -0
  48. package/src/internal/builtin-plugins/network-manager/edr/genesis-state.ts +22 -14
  49. package/src/internal/builtin-plugins/network-manager/type-validation.ts +14 -1
  50. package/src/internal/builtin-plugins/solidity/build-system/warning-suppression.ts +3 -0
  51. package/src/internal/builtin-plugins/solidity/source-names.ts +19 -0
  52. package/src/internal/builtin-plugins/solidity-test/eip712/index.ts +8 -16
  53. package/src/internal/edr/context.ts +39 -23
  54. package/src/internal/{builtin-plugins/solidity-test/eip712 → utils}/glob.ts +3 -3
  55. package/templates/hardhat-3/01-node-test-runner-viem/package.json +2 -2
  56. package/templates/hardhat-3/02-mocha-ethers/package.json +2 -2
  57. package/templates/hardhat-3/03-minimal/package.json +1 -1
  58. package/dist/src/internal/builtin-plugins/solidity-test/eip712/glob.d.ts.map +0 -1
  59. package/dist/src/internal/builtin-plugins/solidity-test/eip712/glob.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # hardhat
2
2
 
3
+ ## 3.9.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#8380](https://github.com/NomicFoundation/hardhat/pull/8380) [`0fd498d`](https://github.com/NomicFoundation/hardhat/commit/0fd498df67fbdefe5ca16c77019f94715bf0401f) Thanks [@kanej](https://github.com/kanej)! - Added support for `coverage.skipFiles`, a list of globs of Solidity files to exclude from coverage instrumentation and reporting during a `--coverage` run.
8
+
9
+ ### Patch Changes
10
+
11
+ - [#8383](https://github.com/NomicFoundation/hardhat/pull/8383) [`1660f1e`](https://github.com/NomicFoundation/hardhat/commit/1660f1e8078a1eca1de27b9256b5adcb6deb37b3) Thanks [@schaable](https://github.com/schaable)! - Fixed an intermittent "Provider for provided chain type does not exist" error that could occur when multiple network connections were created concurrently.
12
+
13
+ - [#8371](https://github.com/NomicFoundation/hardhat/pull/8371) [`287620e`](https://github.com/NomicFoundation/hardhat/commit/287620efca6d5459cbccd5df020e08f830df8449) Thanks [@gultekinmakif](https://github.com/gultekinmakif)! - Account overrides that share an address with the network's built-in genesis accounts are now correctly merged into a single genesis entry.
14
+
15
+ - [#8375](https://github.com/NomicFoundation/hardhat/pull/8375) [`931a5f0`](https://github.com/NomicFoundation/hardhat/commit/931a5f0699d310965b338a773f5a69c1dbcb2ec3) Thanks [@schaable](https://github.com/schaable)! - Suppressed the solc initcode size warning for Solidity test contracts and when running under `--coverage`.
16
+
17
+ - [#8372](https://github.com/NomicFoundation/hardhat/pull/8372) [`5f6aff2`](https://github.com/NomicFoundation/hardhat/commit/5f6aff268841e947a2dd32a72a18885adf3d78de) Thanks [@gultekinmakif](https://github.com/gultekinmakif)! - Improved validation for `initialDate` network configuration. Invalid `Date` objects and unparseable date `string`s are now rejected during config loading rather than causing a runtime error later.
18
+
3
19
  ## 3.8.0
4
20
 
5
21
  ### Minor Changes
@@ -0,0 +1,6 @@
1
+ import type { HardhatUserConfig } from "../../../config.js";
2
+ import type { CoverageConfig } from "../../../types/config.js";
3
+ import type { HardhatUserConfigValidationError } from "../../../types/hooks.js";
4
+ export declare function validateCoverageUserConfig(userConfig: unknown): HardhatUserConfigValidationError[];
5
+ export declare function resolveCoverageConfig(userConfig: HardhatUserConfig): CoverageConfig;
6
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/coverage/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAahF,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,OAAO,GAClB,gCAAgC,EAAE,CAEpC;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,iBAAiB,GAC5B,cAAc,CAIhB"}
@@ -0,0 +1,18 @@
1
+ import { validateUserConfigZodType } from "@nomicfoundation/hardhat-zod-utils";
2
+ import { z } from "zod";
3
+ const userConfigType = z.object({
4
+ coverage: z
5
+ .object({
6
+ skipFiles: z.array(z.string()).optional(),
7
+ })
8
+ .optional(),
9
+ });
10
+ export function validateCoverageUserConfig(userConfig) {
11
+ return validateUserConfigZodType(userConfig, userConfigType);
12
+ }
13
+ export function resolveCoverageConfig(userConfig) {
14
+ return {
15
+ skipFiles: userConfig.coverage?.skipFiles ?? [],
16
+ };
17
+ }
18
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/coverage/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC1C,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,UAAU,0BAA0B,CACxC,UAAmB;IAEnB,OAAO,yBAAyB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,UAA6B;IAE7B,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE;KAChD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ConfigHooks } from "../../../../types/hooks.js";
2
+ declare const _default: () => Promise<Partial<ConfigHooks>>;
3
+ export default _default;
4
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/hook-handlers/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;8BAOrC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAAtD,wBAsBE"}
@@ -0,0 +1,15 @@
1
+ import { resolveCoverageConfig, validateCoverageUserConfig, } from "../config.js";
2
+ export default async () => {
3
+ const handlers = {
4
+ validateUserConfig: async (userConfig) => validateCoverageUserConfig(userConfig),
5
+ resolveUserConfig: async (userConfig, resolveConfigurationVariable, next) => {
6
+ const resolvedConfig = await next(userConfig, resolveConfigurationVariable);
7
+ return {
8
+ ...resolvedConfig,
9
+ coverage: resolveCoverageConfig(userConfig),
10
+ };
11
+ },
12
+ };
13
+ return handlers;
14
+ };
15
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/coverage/hook-handlers/config.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AAEtB,eAAe,KAAK,IAAmC,EAAE;IACvD,MAAM,QAAQ,GAAyB;QACrC,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CACvC,0BAA0B,CAAC,UAAU,CAAC;QACxC,iBAAiB,EAAE,KAAK,EACtB,UAAU,EACV,4BAA4B,EAC5B,IAAI,EACJ,EAAE;YACF,MAAM,cAAc,GAAG,MAAM,IAAI,CAC/B,UAAU,EACV,4BAA4B,CAC7B,CAAC;YAEF,OAAO;gBACL,GAAG,cAAc;gBACjB,QAAQ,EAAE,qBAAqB,CAAC,UAAU,CAAC;aAC5C,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,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;8BAevC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAAxD,wBAyGG"}
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;8BAiBvC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAAxD,wBAoHG"}
@@ -3,15 +3,24 @@ import { getCoverageLibrary } from "@nomicfoundation/edr/coverage";
3
3
  import { HardhatError } from "@nomicfoundation/hardhat-errors";
4
4
  import { createDebug } from "@nomicfoundation/hardhat-utils/debug";
5
5
  import { ensureError } from "@nomicfoundation/hardhat-utils/error";
6
+ import { matchesAnyGlob } from "../../../utils/glob.js";
7
+ import { toUserSourceName } from "../../solidity/source-names.js";
6
8
  import { getCoverageManager } from "../helpers/accessors.js";
7
9
  import { instrumentSolidityFileForCompilationJob } from "../instrumentation.js";
8
10
  const log = createDebug("hardhat:core:coverage:hook-handlers:solidity");
9
11
  export default async () => ({
10
12
  preprocessProjectFileBeforeBuilding: async (context, sourceName, fsPath, fileContent, solcVersion, next) => {
13
+ // This hook runs on every project file of every build. Coverage is the
14
+ // only reason to preprocess them, so when it is off we pass the file
15
+ // through untouched and keep the common path free of the work below.
16
+ if (!context.globalOptions.coverage) {
17
+ return await next(context, sourceName, fsPath, fileContent, solcVersion);
18
+ }
11
19
  // NOTE: We do not want to instrument the test project files as we don't
12
20
  // want to report coverage for them.
13
21
  const isTestSource = (await context.solidity.getScope(fsPath)) === "tests";
14
- if (context.globalOptions.coverage && !isTestSource) {
22
+ const isSkipped = matchesAnyGlob(toUserSourceName(sourceName), context.config.coverage.skipFiles);
23
+ if (!isTestSource && !isSkipped) {
15
24
  try {
16
25
  const { source, metadata } = instrumentSolidityFileForCompilationJob({
17
26
  compilationJobSolcVersion: solcVersion,
@@ -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":"AAGA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,uCAAuC,EAAE,MAAM,uBAAuB,CAAC;AAEhF,MAAM,GAAG,GAAG,WAAW,CAAC,8CAA8C,CAAC,CAAC;AAExE,eAAe,KAAK,IAAqC,EAAE,CAAC,CAAC;IAC3D,mCAAmC,EAAE,KAAK,EACxC,OAAO,EACP,UAAU,EACV,MAAM,EACN,WAAW,EACX,WAAW,EACX,IAAI,EACJ,EAAE;QACF,uEAAuE;QACvE,qEAAqE;QACrE,qEAAqE;QACrE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAC3E,CAAC;QAED,wEAAwE;QACxE,oCAAoC;QACpC,MAAM,YAAY,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,OAAO,CAAC;QAE3E,MAAM,SAAS,GAAG,cAAc,CAC9B,gBAAgB,CAAC,UAAU,CAAC,EAC5B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAClC,CAAC;QAEF,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,uCAAuC,CAAC;oBACnE,yBAAyB,EAAE,WAAW;oBACtC,UAAU;oBACV,WAAW;iBACZ,CAAC,CAAC;gBAEH,uEAAuE;gBACvE,mBAAmB;gBACnB,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,MAAM,WAAW,GAAG,EAAE,CAAC;gBACvB,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;oBACpC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC7B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;wBACvB,UAAU,EAAE,CAAC;oBACf,CAAC;gBACH,CAAC;gBAED,MAAM,gBAAgB,GAAqB,EAAE,CAAC;gBAE9C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;oBACzB,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;wBACf,KAAK,WAAW;4BACd,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EACzB,MAAM,CACP,CAAC;4BACF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;4BAC/C,gBAAgB,CAAC,IAAI,CAAC;gCACpB,YAAY;gCACZ,GAAG;gCACH,UAAU,EAAE,CAAC,CAAC,UAAU;gCACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;6BACrB,CAAC,CAAC;4BACH,MAAM;wBACR;4BACE,+DAA+D;4BAC/D,kEAAkE;4BAClE,sCAAsC;4BACtC,GAAG,CAAC,oCAAoC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;4BAClD,MAAM;oBACV,CAAC;gBACH,CAAC;gBAED,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAEhE,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,WAAW,CAAC,CAAC,CAAC,CAAC;gBAEf,mEAAmE;gBACnE,0EAA0E;gBAC1E,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EACzD;oBACE,UAAU;iBACX,EACD,CAAC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,iCAAiC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;QACpE,IAAI,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;YAEzC,2EAA2E;YAC3E,wEAAwE;YACxE,oEAAoE;YACpE,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC1D,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,2BAA2B,EAC7D;oBACE,UAAU,EAAE,WAAW,CAAC,QAAQ;iBACjC,CACF,CAAC;YACJ,CAAC;YAED,4EAA4E;YAC5E,0EAA0E;YAC1E,2CAA2C;YAC3C,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG;gBACxC,OAAO,EAAE,WAAW,CAAC,OAAO;aAC7B,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/coverage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAK/D,mBAAmB,sBAAsB,CAAC;AAE1C,QAAA,MAAM,aAAa,EAAE,aAgBnB,CAAC;AAEH,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/coverage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAK/D,mBAAmB,sBAAsB,CAAC;AAE1C,QAAA,MAAM,aAAa,EAAE,aAiBnB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -11,6 +11,7 @@ const hardhatPlugin = definePlugin({
11
11
  ],
12
12
  hookHandlers: {
13
13
  clean: () => import("./hook-handlers/clean.js"),
14
+ config: () => import("./hook-handlers/config.js"),
14
15
  hre: () => import("./hook-handlers/hre.js"),
15
16
  solidity: () => import("./hook-handlers/solidity.js"),
16
17
  test: () => import("./hook-handlers/test.js"),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/coverage/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD,MAAM,aAAa,GAAkB,YAAY,CAAC;IAChD,EAAE,EAAE,kBAAkB;IACtB,KAAK,EAAE,EAAE;IACT,aAAa,EAAE;QACb,UAAU,CAAC;YACT,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,uBAAuB;SACrC,CAAC;KACH;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC;QAC/C,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC;QAC3C,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC;QACrD,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC;KAC9C;IACD,UAAU,EAAE,SAAS;CACtB,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/coverage/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD,MAAM,aAAa,GAAkB,YAAY,CAAC;IAChD,EAAE,EAAE,kBAAkB;IACtB,KAAK,EAAE,EAAE;IACT,aAAa,EAAE;QACb,UAAU,CAAC;YACT,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,uBAAuB;SACrC,CAAC;KACH;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC;QAC/C,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC;QACjD,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC;QAC3C,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC;QACrD,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC;KAC9C;IACD,UAAU,EAAE,SAAS;CACtB,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -3,5 +3,25 @@ declare module "../../../types/global-options.js" {
3
3
  coverage: boolean;
4
4
  }
5
5
  }
6
+ declare module "../../../types/config.js" {
7
+ interface CoverageUserConfig {
8
+ /**
9
+ * Globs of Solidity source files to exclude from coverage instrumentation.
10
+ * A project file whose project-relative source name matches any of these
11
+ * globs is not instrumented during a `--coverage` run, and so does not
12
+ * appear in coverage reports.
13
+ */
14
+ skipFiles?: string[];
15
+ }
16
+ interface HardhatUserConfig {
17
+ coverage?: CoverageUserConfig;
18
+ }
19
+ interface CoverageConfig {
20
+ skipFiles: string[];
21
+ }
22
+ interface HardhatConfig {
23
+ coverage: CoverageConfig;
24
+ }
25
+ }
6
26
  export {};
7
27
  //# sourceMappingURL=type-extensions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-extensions.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/coverage/type-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAiB,aAAa;QAC5B,QAAQ,EAAE,OAAO,CAAC;KACnB;CACF"}
1
+ {"version":3,"file":"type-extensions.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/coverage/type-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,kCAAkC,CAAC;IAChD,UAAiB,aAAa;QAC5B,QAAQ,EAAE,OAAO,CAAC;KACnB;CACF;AAED,OAAO,QAAQ,0BAA0B,CAAC;IACxC,UAAiB,kBAAkB;QACjC;;;;;WAKG;QACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB;IAED,UAAiB,iBAAiB;QAChC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;KAC/B;IAED,UAAiB,cAAc;QAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB;IAED,UAAiB,aAAa;QAC5B,QAAQ,EAAE,cAAc,CAAC;KAC1B;CACF"}
@@ -2,10 +2,11 @@ import type { EdrNetworkAccountsConfig, EdrNetworkForkingConfig } from "../../..
2
2
  import type { ChainType } from "../../../../types/network.js";
3
3
  import { type AccountOverride } from "@nomicfoundation/edr";
4
4
  export declare function getGenesisStateAndOwnedAccounts(accountsConfig: EdrNetworkAccountsConfig, forkingConfig: EdrNetworkForkingConfig | undefined, chainType: ChainType, specId: string): Promise<{
5
- genesisState: Map<Uint8Array, AccountOverride>;
5
+ genesisState: Map<string, AccountOverride>;
6
6
  ownedAccounts: Array<{
7
7
  secretKey: string;
8
8
  balance: bigint;
9
9
  }>;
10
10
  }>;
11
+ export declare function mergeGenesisState(genesisState: Map<string, AccountOverride>, chainGenesisState: readonly AccountOverride[]): void;
11
12
  //# sourceMappingURL=genesis-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"genesis-state.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/network-manager/edr/genesis-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAiD9B,wBAAsB,+BAA+B,CACnD,cAAc,EAAE,wBAAwB,EACxC,aAAa,EAAE,uBAAuB,GAAG,SAAS,EAClD,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,YAAY,EAAE,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC/C,aAAa,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D,CAAC,CAuDD"}
1
+ {"version":3,"file":"genesis-state.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/network-manager/edr/genesis-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAkD9B,wBAAsB,+BAA+B,CACnD,cAAc,EAAE,wBAAwB,EACxC,aAAa,EAAE,uBAAuB,GAAG,SAAS,EAClD,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IACT,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,aAAa,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D,CAAC,CAuDD;AA4CD,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EAC1C,iBAAiB,EAAE,SAAS,eAAe,EAAE,GAC5C,IAAI,CAaN"}
@@ -1,4 +1,5 @@
1
1
  import { l1GenesisState, l1HardforkFromString, opGenesisState, opHardforkFromString, } from "@nomicfoundation/edr";
2
+ import { bytesToHexString } from "@nomicfoundation/hardhat-utils/hex";
2
3
  import { AsyncMutex } from "@nomicfoundation/hardhat-utils/synchronization";
3
4
  import { hexToBytes } from "ethereum-cryptography/utils";
4
5
  import { OPTIMISM_CHAIN_TYPE } from "../../../constants.js";
@@ -79,26 +80,28 @@ async function createGenesisStateAndOwnedAccounts(accountsConfig, forkingConfig,
79
80
  balance: BigInt(balance),
80
81
  code: new Uint8Array(), // Empty account code, removing potential delegation code when forking
81
82
  };
82
- return [address, accountOverride];
83
+ return [bytesToHexString(address), accountOverride];
83
84
  }));
84
85
  const chainGenesisState = forkingConfig !== undefined
85
86
  ? [] // TODO: Add support for overriding remote fork state when the local fork is different
86
87
  : chainType === OPTIMISM_CHAIN_TYPE
87
88
  ? opGenesisState(opHardforkFromString(specId))
88
89
  : l1GenesisState(l1HardforkFromString(specId));
90
+ mergeGenesisState(genesisState, chainGenesisState);
91
+ return { genesisState, ownedAccounts };
92
+ }
93
+ export function mergeGenesisState(genesisState, chainGenesisState) {
89
94
  for (const account of chainGenesisState) {
90
- const existingOverride = genesisState.get(account.address);
95
+ const addressKey = bytesToHexString(account.address);
96
+ const existingOverride = genesisState.get(addressKey);
91
97
  if (existingOverride !== undefined) {
92
98
  // Favor the genesis state specified by the user
93
- account.balance = account.balance ?? existingOverride.balance;
94
- account.nonce = account.nonce ?? existingOverride.nonce;
95
- account.code = account.code ?? existingOverride.code;
96
- account.storage = account.storage ?? existingOverride.storage;
97
- }
98
- else {
99
- genesisState.set(account.address, account);
99
+ account.balance = existingOverride.balance ?? account.balance;
100
+ account.nonce = existingOverride.nonce ?? account.nonce;
101
+ account.code = existingOverride.code ?? account.code;
102
+ account.storage = existingOverride.storage ?? account.storage;
100
103
  }
104
+ genesisState.set(addressKey, account);
101
105
  }
102
- return { genesisState, ownedAccounts };
103
106
  }
104
107
  //# sourceMappingURL=genesis-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"genesis-state.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/network-manager/edr/genesis-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"genesis-state.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/network-manager/edr/genesis-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-validation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/network-manager/type-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAuahF,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,iBAAiB,GAC5B,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAE7C;AAID,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,+BAA+B,CAE7C;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,2BAA2B,CASzC;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,0BAA0B,CAUxC;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,uBAAuB,CAOpC;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,sBAAsB,CAOlC"}
1
+ {"version":3,"file":"type-validation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/network-manager/type-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAobhF,wBAAsB,yBAAyB,CAC7C,UAAU,EAAE,iBAAiB,GAC5B,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAE7C;AAID,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,+BAA+B,CAE7C;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,2BAA2B,CASzC;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,OAAO,GAChB,QAAQ,IAAI,0BAA0B,CAUxC;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,GACf,OAAO,IAAI,uBAAuB,CAOpC;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,sBAAsB,CAOlC"}
@@ -198,7 +198,16 @@ const edrNetworkUserConfigSchema = z.object({
198
198
  forking: z.optional(edrNetworkForkingUserConfigSchema),
199
199
  hardfork: z.optional(z.string()),
200
200
  initialBaseFeePerGas: z.optional(gasUnitUserConfigSchema),
201
- initialDate: z.optional(unionType([z.string(), z.instanceof(Date)], "Expected a string or a Date")),
201
+ initialDate: z.optional(unionType([z.string(), z.instanceof(Date)], "Expected a string or a Date").refine((val) => {
202
+ if (typeof val === "string")
203
+ return !Number.isNaN(Date.parse(val));
204
+ if (val instanceof Date)
205
+ return !Number.isNaN(val.getTime());
206
+ // already union of string/Date, all types are exhausted
207
+ return true;
208
+ }, {
209
+ message: "initialDate must be a parseable date string or a valid Date",
210
+ })),
202
211
  loggingEnabled: z.optional(z.boolean()),
203
212
  minGasPrice: z.optional(gasUnitUserConfigSchema),
204
213
  mining: z.optional(edrNetworkMiningUserConfigSchema),
@@ -1 +1 @@
1
- {"version":3,"file":"type-validation.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/network-manager/type-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-validation.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/network-manager/type-validation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"warning-suppression.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/warning-suppression.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oCAAoC,4JAC0G,CAAC;AAC5J,eAAO,MAAM,YAAY,yCAAyC,CAAC;AACnE,eAAO,MAAM,cAAc,2DAC+B,CAAC;AA4C3D;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,yBAAyB,EAAE,MAAM,EACjC,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAqDT"}
1
+ {"version":3,"file":"warning-suppression.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/warning-suppression.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oCAAoC,4JAC0G,CAAC;AAC5J,eAAO,MAAM,YAAY,yCAAyC,CAAC;AACnE,eAAO,MAAM,cAAc,2DAC+B,CAAC;AA+C3D;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,yBAAyB,EAAE,MAAM,EACjC,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAqDT"}
@@ -4,6 +4,7 @@ export const NATSPEC_MEMORY_SAFE_ASSEMBLY_WARNING = "Natspec memory-safe-assembl
4
4
  export const SPDX_WARNING = "SPDX license identifier not provided";
5
5
  export const PRAGMA_WARNING = "Source file does not specify required compiler version";
6
6
  const CONTRACT_SIZE_WARNING = "Contract code size is";
7
+ const INIT_CODE_SIZE_WARNING = "Contract initcode size is";
7
8
  // Suppression rules are grouped by scope. Each array has its own match logic
8
9
  // in `shouldSuppressWarning` function; add new entries to the array that fits, or add
9
10
  // a new array + block for a new scope.
@@ -22,6 +23,7 @@ const TEST_FILE_WARNING_MESSAGES = [
22
23
  SPDX_WARNING,
23
24
  PRAGMA_WARNING,
24
25
  CONTRACT_SIZE_WARNING,
26
+ INIT_CODE_SIZE_WARNING,
25
27
  ];
26
28
  // Warnings suppressed only when running with `--coverage`. An entry with no
27
29
  // `filePath` matches the message anywhere (e.g. contract-size warnings that
@@ -30,6 +32,7 @@ const TEST_FILE_WARNING_MESSAGES = [
30
32
  // (e.g. the injected coverage library file, which users can't edit).
31
33
  const COVERAGE_MODE_RULES = [
32
34
  { message: CONTRACT_SIZE_WARNING },
35
+ { message: INIT_CODE_SIZE_WARNING },
33
36
  {
34
37
  message: NATSPEC_MEMORY_SAFE_ASSEMBLY_WARNING,
35
38
  filePath: COVERAGE_LIBRARY_FILE_NAME,
@@ -1 +1 @@
1
- {"version":3,"file":"warning-suppression.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/warning-suppression.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,CAAC,MAAM,oCAAoC,GAC/C,yJAAyJ,CAAC;AAC5J,MAAM,CAAC,MAAM,YAAY,GAAG,sCAAsC,CAAC;AACnE,MAAM,CAAC,MAAM,cAAc,GACzB,wDAAwD,CAAC;AAC3D,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAEtD,6EAA6E;AAC7E,sFAAsF;AACtF,uCAAuC;AAEvC,2EAA2E;AAC3E,6CAA6C;AAC7C,MAAM,mBAAmB,GAGpB;IACH;QACE,OAAO,EAAE,oCAAoC;QAC7C,mDAAmD;QACnD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;KAChD;CACF,CAAC;AAEF,6EAA6E;AAC7E,4EAA4E;AAC5E,MAAM,0BAA0B,GAAsB;IACpD,YAAY;IACZ,cAAc;IACd,qBAAqB;CACtB,CAAC;AAEF,4EAA4E;AAC5E,4EAA4E;AAC5E,2EAA2E;AAC3E,uEAAuE;AACvE,qEAAqE;AACrE,MAAM,mBAAmB,GAGpB;IACH,EAAE,OAAO,EAAE,qBAAqB,EAAE;IAClC;QACE,OAAO,EAAE,oCAAoC;QAC7C,QAAQ,EAAE,0BAA0B;KACrC;CACF,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,yBAAiC,EACjC,mBAA2B,EAC3B,QAAiB;IAEjB,2DAA2D;IAC3D,IACE,QAAQ;QACR,mBAAmB,CAAC,IAAI,CACtB,CAAC,IAAI,EAAE,EAAE,CACP,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CACxE,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gEAAgE;IAChE,IACE,mBAAmB,CAAC,IAAI,CACtB,CAAC,IAAI,EAAE,EAAE,CACP,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kCAAkC;IAClC,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,gCAAgC;QAChC,2CAA2C;QAC3C,wDAAwD;QACxD,IAAI,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6DAA6D;QAC7D,WAAW;QACX,2FAA2F;QAC3F,4EAA4E;QAC5E,4EAA4E;QAC5E,uDAAuD;QACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,EAC7D,GAAG,CACJ,CAAC;QAEF,wCAAwC;QACxC,kEAAkE;QAClE,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC/D,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"warning-suppression.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/build-system/warning-suppression.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,CAAC,MAAM,oCAAoC,GAC/C,yJAAyJ,CAAC;AAC5J,MAAM,CAAC,MAAM,YAAY,GAAG,sCAAsC,CAAC;AACnE,MAAM,CAAC,MAAM,cAAc,GACzB,wDAAwD,CAAC;AAC3D,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AACtD,MAAM,sBAAsB,GAAG,2BAA2B,CAAC;AAE3D,6EAA6E;AAC7E,sFAAsF;AACtF,uCAAuC;AAEvC,2EAA2E;AAC3E,6CAA6C;AAC7C,MAAM,mBAAmB,GAGpB;IACH;QACE,OAAO,EAAE,oCAAoC;QAC7C,mDAAmD;QACnD,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;KAChD;CACF,CAAC;AAEF,6EAA6E;AAC7E,4EAA4E;AAC5E,MAAM,0BAA0B,GAAsB;IACpD,YAAY;IACZ,cAAc;IACd,qBAAqB;IACrB,sBAAsB;CACvB,CAAC;AAEF,4EAA4E;AAC5E,4EAA4E;AAC5E,2EAA2E;AAC3E,uEAAuE;AACvE,qEAAqE;AACrE,MAAM,mBAAmB,GAGpB;IACH,EAAE,OAAO,EAAE,qBAAqB,EAAE;IAClC,EAAE,OAAO,EAAE,sBAAsB,EAAE;IACnC;QACE,OAAO,EAAE,oCAAoC;QAC7C,QAAQ,EAAE,0BAA0B;KACrC;CACF,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,yBAAiC,EACjC,mBAA2B,EAC3B,QAAiB;IAEjB,2DAA2D;IAC3D,IACE,QAAQ;QACR,mBAAmB,CAAC,IAAI,CACtB,CAAC,IAAI,EAAE,EAAE,CACP,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YACnC,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CACxE,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gEAAgE;IAChE,IACE,mBAAmB,CAAC,IAAI,CACtB,CAAC,IAAI,EAAE,EAAE,CACP,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kCAAkC;IAClC,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,gCAAgC;QAChC,2CAA2C;QAC3C,wDAAwD;QACxD,IAAI,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6DAA6D;QAC7D,WAAW;QACX,2FAA2F;QAC3F,4EAA4E;QAC5E,4EAA4E;QAC5E,uDAAuD;QACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAChC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,EAC7D,GAAG,CACJ,CAAC;QAEF,wCAAwC;QACxC,kEAAkE;QAClE,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC/D,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Recovers the user-facing source name from a solc input source name by
3
+ * stripping the Hardhat project prefix.
4
+ *
5
+ * Project files have an input source name like `project/contracts/Foo.sol`,
6
+ * whereas the user writes paths — and config globs — against the
7
+ * project-relative `contracts/Foo.sol`. npm package input source names
8
+ * (`npm/<pkg>@<version>/...`) don't carry the project prefix and are returned
9
+ * unchanged.
10
+ */
11
+ export declare function toUserSourceName(inputSourceName: string): string;
12
+ //# sourceMappingURL=source-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-names.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/source-names.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAIhE"}
@@ -0,0 +1,18 @@
1
+ import { HARDHAT_PROJECT_INPUT_SOURCE_NAME_ROOT } from "./constants.js";
2
+ const PROJECT_INPUT_SOURCE_NAME_PREFIX = `${HARDHAT_PROJECT_INPUT_SOURCE_NAME_ROOT}/`;
3
+ /**
4
+ * Recovers the user-facing source name from a solc input source name by
5
+ * stripping the Hardhat project prefix.
6
+ *
7
+ * Project files have an input source name like `project/contracts/Foo.sol`,
8
+ * whereas the user writes paths — and config globs — against the
9
+ * project-relative `contracts/Foo.sol`. npm package input source names
10
+ * (`npm/<pkg>@<version>/...`) don't carry the project prefix and are returned
11
+ * unchanged.
12
+ */
13
+ export function toUserSourceName(inputSourceName) {
14
+ return inputSourceName.startsWith(PROJECT_INPUT_SOURCE_NAME_PREFIX)
15
+ ? inputSourceName.slice(PROJECT_INPUT_SOURCE_NAME_PREFIX.length)
16
+ : inputSourceName;
17
+ }
18
+ //# sourceMappingURL=source-names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-names.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity/source-names.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sCAAsC,EAAE,MAAM,gBAAgB,CAAC;AAExE,MAAM,gCAAgC,GAAG,GAAG,sCAAsC,GAAG,CAAC;AAEtF;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,eAAuB;IACtD,OAAO,eAAe,CAAC,UAAU,CAAC,gCAAgC,CAAC;QACjE,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,gCAAgC,CAAC,MAAM,CAAC;QAChE,CAAC,CAAC,eAAe,CAAC;AACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAgB9D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAOD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CACzC,oBAAoB,EAAE,kBAAkB,EAAE,EAC1C,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9C,MAAM,EAAE,iBAAiB,GACxB,MAAM,EAAE,CAyEV"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAgB9D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CACzC,oBAAoB,EAAE,kBAAkB,EAAE,EAC1C,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9C,MAAM,EAAE,iBAAiB,GACxB,MAAM,EAAE,CAsEV"}
@@ -1,12 +1,8 @@
1
1
  import { bytesIncludesUtf8String, bytesToUtf8String, } from "@nomicfoundation/hardhat-utils/bytes";
2
- import { HARDHAT_PROJECT_INPUT_SOURCE_NAME_ROOT } from "../../solidity/constants.js";
2
+ import { isPathSelected } from "../../../utils/glob.js";
3
+ import { toUserSourceName } from "../../solidity/source-names.js";
3
4
  import { buildUserDefinedValueTypeIndex, extractStructsFromAst, } from "./ast-walker.js";
4
5
  import { canonicalizeStructs } from "./canonicalize.js";
5
- import { isPathSelected } from "./glob.js";
6
- // When a transitive project file doesn't produce an artifact — and so is
7
- // missing from `inputToUserSource` — stripping this prefix recovers the
8
- // user-facing path that the user's include/exclude globs are written against.
9
- const PROJECT_INPUT_SOURCE_NAME_PREFIX = `${HARDHAT_PROJECT_INPUT_SOURCE_NAME_ROOT}/`;
10
6
  /**
11
7
  * Walks every compiled source's AST, extracts every struct definition, and
12
8
  * returns the flat list of canonical EIP-712 type strings expected by EDR's
@@ -55,12 +51,11 @@ export function collectEip712CanonicalTypes(buildInfosAndOutputs, inputToUserSou
55
51
  // the index must cover every source in the build.
56
52
  const userDefinedValueTypeI = buildUserDefinedValueTypeIndex(Object.values(sources).map((s) => s.ast));
57
53
  for (const [inputSourceName, source] of Object.entries(sources)) {
58
- let userSourceName = inputToUserSource.get(inputSourceName);
59
- if (userSourceName === undefined) {
60
- userSourceName = inputSourceName.startsWith(PROJECT_INPUT_SOURCE_NAME_PREFIX)
61
- ? inputSourceName.slice(PROJECT_INPUT_SOURCE_NAME_PREFIX.length)
62
- : inputSourceName;
63
- }
54
+ // A transitive project file that doesn't produce an artifact is missing
55
+ // from `inputToUserSource`; recovering the user source name from the
56
+ // input source name covers that case.
57
+ const userSourceName = inputToUserSource.get(inputSourceName) ??
58
+ toUserSourceName(inputSourceName);
64
59
  // Collect every source so non-selected files can serve as dep targets;
65
60
  // selection is enforced at emit time via `selectedNames`.
66
61
  const structs = extractStructsFromAst(source.ast, userSourceName, userDefinedValueTypeI);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAOxD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,2BAA2B,CACzC,oBAA0C,EAC1C,iBAA8C,EAC9C,MAAyB;IAEzB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;QACzD,sEAAsE;QACtE,4EAA4E;QAC5E,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;YACnD,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAA4B,IAAI,CAAC,KAAK,CACtD,iBAAiB,CAAC,MAAM,CAAC,CAC1B,CAAC;QAEF,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,+CAA+C;QAC/C,EAAE;QACF,mEAAmE;QACnE,gEAAgE;QAChE,qEAAqE;QACrE,+DAA+D;QAC/D,uEAAuE;QACvE,uEAAuE;QACvE,8CAA8C;QAC9C,EAAE;QACF,qEAAqE;QACrE,kEAAkE;QAClE,sEAAsE;QACtE,qDAAqD;QACrD,MAAM,qBAAqB,GAAG,8BAA8B,CAC1D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACzC,CAAC;QAEF,KAAK,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,wEAAwE;YACxE,qEAAqE;YACrE,sCAAsC;YACtC,MAAM,cAAc,GAClB,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC;gBACtC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YAEpC,uEAAuE;YACvE,0DAA0D;YAC1D,MAAM,OAAO,GAAG,qBAAqB,CACnC,MAAM,CAAC,GAAG,EACV,cAAc,EACd,qBAAqB,CACtB,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YAE3B,IAAI,cAAc,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBACrD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACvD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/internal/edr/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EASX,MAAM,sBAAsB,CAAC;AAI9B,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC,CA0B/D"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/internal/edr/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EASX,MAAM,sBAAsB,CAAC;AAQ9B,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC,CAiB/D"}
@@ -1,14 +1,32 @@
1
1
  import { EdrContext, GENERIC_CHAIN_TYPE, genericChainProviderFactory, L1_CHAIN_TYPE, l1ProviderFactory, l1SolidityTestRunnerFactory, OP_CHAIN_TYPE, opProviderFactory, opSolidityTestRunnerFactory, } from "@nomicfoundation/edr";
2
+ // We cache the initialization *promise* (assigned synchronously, before any
3
+ // await) rather than the resolved context. This way concurrent callers share a
4
+ // single in-flight initialization and always receive a fully-registered
5
+ // context, instead of racing on a half-initialized one.
2
6
  let _globalEdrContext;
3
7
  export async function getGlobalEdrContext() {
4
8
  if (_globalEdrContext === undefined) {
5
- _globalEdrContext = new EdrContext();
6
- await _globalEdrContext.registerProviderFactory(GENERIC_CHAIN_TYPE, genericChainProviderFactory());
7
- await _globalEdrContext.registerProviderFactory(L1_CHAIN_TYPE, l1ProviderFactory());
8
- await _globalEdrContext.registerProviderFactory(OP_CHAIN_TYPE, opProviderFactory());
9
- await _globalEdrContext.registerSolidityTestRunnerFactory(L1_CHAIN_TYPE, l1SolidityTestRunnerFactory());
10
- await _globalEdrContext.registerSolidityTestRunnerFactory(OP_CHAIN_TYPE, opSolidityTestRunnerFactory());
9
+ const context = createGlobalEdrContext();
10
+ _globalEdrContext = context;
11
+ // If initialization fails, clear the cached promise so a later call can
12
+ // retry instead of permanently returning a rejected promise. The identity
13
+ // guard prevents a stale rejection from wiping a newer promise created by
14
+ // a retry.
15
+ context.catch(() => {
16
+ if (_globalEdrContext === context) {
17
+ _globalEdrContext = undefined;
18
+ }
19
+ });
11
20
  }
12
- return _globalEdrContext;
21
+ return await _globalEdrContext;
22
+ }
23
+ async function createGlobalEdrContext() {
24
+ const context = new EdrContext();
25
+ await context.registerProviderFactory(GENERIC_CHAIN_TYPE, genericChainProviderFactory());
26
+ await context.registerProviderFactory(L1_CHAIN_TYPE, l1ProviderFactory());
27
+ await context.registerProviderFactory(OP_CHAIN_TYPE, opProviderFactory());
28
+ await context.registerSolidityTestRunnerFactory(L1_CHAIN_TYPE, l1SolidityTestRunnerFactory());
29
+ await context.registerSolidityTestRunnerFactory(OP_CHAIN_TYPE, opSolidityTestRunnerFactory());
30
+ return context;
13
31
  }
14
32
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/internal/edr/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,IAAI,iBAAyC,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,iBAAiB,GAAG,IAAI,UAAU,EAAE,CAAC;QACrC,MAAM,iBAAiB,CAAC,uBAAuB,CAC7C,kBAAkB,EAClB,2BAA2B,EAAE,CAC9B,CAAC;QACF,MAAM,iBAAiB,CAAC,uBAAuB,CAC7C,aAAa,EACb,iBAAiB,EAAE,CACpB,CAAC;QACF,MAAM,iBAAiB,CAAC,uBAAuB,CAC7C,aAAa,EACb,iBAAiB,EAAE,CACpB,CAAC;QACF,MAAM,iBAAiB,CAAC,iCAAiC,CACvD,aAAa,EACb,2BAA2B,EAAE,CAC9B,CAAC;QACF,MAAM,iBAAiB,CAAC,iCAAiC,CACvD,aAAa,EACb,2BAA2B,EAAE,CAC9B,CAAC;IACJ,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/internal/edr/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,4EAA4E;AAC5E,+EAA+E;AAC/E,wEAAwE;AACxE,wDAAwD;AACxD,IAAI,iBAAkD,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,iBAAiB,GAAG,OAAO,CAAC;QAE5B,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,WAAW;QACX,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YACjB,IAAI,iBAAiB,KAAK,OAAO,EAAE,CAAC;gBAClC,iBAAiB,GAAG,SAAS,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,iBAAiB,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,sBAAsB;IACnC,MAAM,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;IAEjC,MAAM,OAAO,CAAC,uBAAuB,CACnC,kBAAkB,EAClB,2BAA2B,EAAE,CAC9B,CAAC;IACF,MAAM,OAAO,CAAC,uBAAuB,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1E,MAAM,OAAO,CAAC,uBAAuB,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1E,MAAM,OAAO,CAAC,iCAAiC,CAC7C,aAAa,EACb,2BAA2B,EAAE,CAC9B,CAAC;IACF,MAAM,OAAO,CAAC,iCAAiC,CAC7C,aAAa,EACb,2BAA2B,EAAE,CAC9B,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -4,4 +4,8 @@
4
4
  * nothing. `exclude` then narrows the included set.
5
5
  */
6
6
  export declare function isPathSelected(path: string, include: string[], exclude: string[]): boolean;
7
+ /**
8
+ * Returns true if `value` matches at least one of the given glob patterns.
9
+ */
10
+ export declare function matchesAnyGlob(value: string, patterns: string[]): boolean;
7
11
  //# sourceMappingURL=glob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/glob.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAcT;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAQzE"}
@@ -9,10 +9,10 @@ export function isPathSelected(path, include, exclude) {
9
9
  if (include.length === 0) {
10
10
  return false;
11
11
  }
12
- if (!matchesAny(path, include)) {
12
+ if (!matchesAnyGlob(path, include)) {
13
13
  return false;
14
14
  }
15
- if (exclude.length > 0 && matchesAny(path, exclude)) {
15
+ if (exclude.length > 0 && matchesAnyGlob(path, exclude)) {
16
16
  return false;
17
17
  }
18
18
  return true;
@@ -20,7 +20,7 @@ export function isPathSelected(path, include, exclude) {
20
20
  /**
21
21
  * Returns true if `value` matches at least one of the given glob patterns.
22
22
  */
23
- function matchesAny(value, patterns) {
23
+ export function matchesAnyGlob(value, patterns) {
24
24
  for (const pattern of patterns) {
25
25
  if (getCompiledGlob(pattern).test(value)) {
26
26
  return true;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../../../src/internal/utils/glob.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat",
3
- "version": "3.8.0",
3
+ "version": "3.9.0",
4
4
  "description": "Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.",
5
5
  "homepage": "https://hardhat.org",
6
6
  "repository": {
@@ -0,0 +1,28 @@
1
+ import type { HardhatUserConfig } from "../../../config.js";
2
+ import type { CoverageConfig } from "../../../types/config.js";
3
+ import type { HardhatUserConfigValidationError } from "../../../types/hooks.js";
4
+
5
+ import { validateUserConfigZodType } from "@nomicfoundation/hardhat-zod-utils";
6
+ import { z } from "zod";
7
+
8
+ const userConfigType = z.object({
9
+ coverage: z
10
+ .object({
11
+ skipFiles: z.array(z.string()).optional(),
12
+ })
13
+ .optional(),
14
+ });
15
+
16
+ export function validateCoverageUserConfig(
17
+ userConfig: unknown,
18
+ ): HardhatUserConfigValidationError[] {
19
+ return validateUserConfigZodType(userConfig, userConfigType);
20
+ }
21
+
22
+ export function resolveCoverageConfig(
23
+ userConfig: HardhatUserConfig,
24
+ ): CoverageConfig {
25
+ return {
26
+ skipFiles: userConfig.coverage?.skipFiles ?? [],
27
+ };
28
+ }
@@ -0,0 +1,30 @@
1
+ import type { ConfigHooks } from "../../../../types/hooks.js";
2
+
3
+ import {
4
+ resolveCoverageConfig,
5
+ validateCoverageUserConfig,
6
+ } from "../config.js";
7
+
8
+ export default async (): Promise<Partial<ConfigHooks>> => {
9
+ const handlers: Partial<ConfigHooks> = {
10
+ validateUserConfig: async (userConfig) =>
11
+ validateCoverageUserConfig(userConfig),
12
+ resolveUserConfig: async (
13
+ userConfig,
14
+ resolveConfigurationVariable,
15
+ next,
16
+ ) => {
17
+ const resolvedConfig = await next(
18
+ userConfig,
19
+ resolveConfigurationVariable,
20
+ );
21
+
22
+ return {
23
+ ...resolvedConfig,
24
+ coverage: resolveCoverageConfig(userConfig),
25
+ };
26
+ },
27
+ };
28
+
29
+ return handlers;
30
+ };
@@ -8,6 +8,8 @@ import { HardhatError } from "@nomicfoundation/hardhat-errors";
8
8
  import { createDebug } from "@nomicfoundation/hardhat-utils/debug";
9
9
  import { ensureError } from "@nomicfoundation/hardhat-utils/error";
10
10
 
11
+ import { matchesAnyGlob } from "../../../utils/glob.js";
12
+ import { toUserSourceName } from "../../solidity/source-names.js";
11
13
  import { getCoverageManager } from "../helpers/accessors.js";
12
14
  import { instrumentSolidityFileForCompilationJob } from "../instrumentation.js";
13
15
 
@@ -22,12 +24,23 @@ export default async (): Promise<Partial<SolidityHooks>> => ({
22
24
  solcVersion,
23
25
  next,
24
26
  ) => {
27
+ // This hook runs on every project file of every build. Coverage is the
28
+ // only reason to preprocess them, so when it is off we pass the file
29
+ // through untouched and keep the common path free of the work below.
30
+ if (!context.globalOptions.coverage) {
31
+ return await next(context, sourceName, fsPath, fileContent, solcVersion);
32
+ }
33
+
25
34
  // NOTE: We do not want to instrument the test project files as we don't
26
35
  // want to report coverage for them.
27
-
28
36
  const isTestSource = (await context.solidity.getScope(fsPath)) === "tests";
29
37
 
30
- if (context.globalOptions.coverage && !isTestSource) {
38
+ const isSkipped = matchesAnyGlob(
39
+ toUserSourceName(sourceName),
40
+ context.config.coverage.skipFiles,
41
+ );
42
+
43
+ if (!isTestSource && !isSkipped) {
31
44
  try {
32
45
  const { source, metadata } = instrumentSolidityFileForCompilationJob({
33
46
  compilationJobSolcVersion: solcVersion,
@@ -16,6 +16,7 @@ const hardhatPlugin: HardhatPlugin = definePlugin({
16
16
  ],
17
17
  hookHandlers: {
18
18
  clean: () => import("./hook-handlers/clean.js"),
19
+ config: () => import("./hook-handlers/config.js"),
19
20
  hre: () => import("./hook-handlers/hre.js"),
20
21
  solidity: () => import("./hook-handlers/solidity.js"),
21
22
  test: () => import("./hook-handlers/test.js"),
@@ -3,3 +3,27 @@ declare module "../../../types/global-options.js" {
3
3
  coverage: boolean;
4
4
  }
5
5
  }
6
+
7
+ declare module "../../../types/config.js" {
8
+ export interface CoverageUserConfig {
9
+ /**
10
+ * Globs of Solidity source files to exclude from coverage instrumentation.
11
+ * A project file whose project-relative source name matches any of these
12
+ * globs is not instrumented during a `--coverage` run, and so does not
13
+ * appear in coverage reports.
14
+ */
15
+ skipFiles?: string[];
16
+ }
17
+
18
+ export interface HardhatUserConfig {
19
+ coverage?: CoverageUserConfig;
20
+ }
21
+
22
+ export interface CoverageConfig {
23
+ skipFiles: string[];
24
+ }
25
+
26
+ export interface HardhatConfig {
27
+ coverage: CoverageConfig;
28
+ }
29
+ }
@@ -12,6 +12,7 @@ import {
12
12
  opHardforkFromString,
13
13
  type AccountOverride,
14
14
  } from "@nomicfoundation/edr";
15
+ import { bytesToHexString } from "@nomicfoundation/hardhat-utils/hex";
15
16
  import { AsyncMutex } from "@nomicfoundation/hardhat-utils/synchronization";
16
17
  import { hexToBytes } from "ethereum-cryptography/utils";
17
18
 
@@ -50,7 +51,7 @@ const genesisStateAndAccountsCache: WeakMap<
50
51
  Map<
51
52
  string,
52
53
  {
53
- genesisState: Map<Uint8Array, AccountOverride>;
54
+ genesisState: Map<string, AccountOverride>;
54
55
  ownedAccounts: Array<{ secretKey: string; balance: bigint }>;
55
56
  }
56
57
  >
@@ -66,7 +67,7 @@ export async function getGenesisStateAndOwnedAccounts(
66
67
  chainType: ChainType,
67
68
  specId: string,
68
69
  ): Promise<{
69
- genesisState: Map<Uint8Array, AccountOverride>;
70
+ genesisState: Map<string, AccountOverride>;
70
71
  ownedAccounts: Array<{ secretKey: string; balance: bigint }>;
71
72
  }> {
72
73
  const cached = genesisStateAndAccountsCache
@@ -131,7 +132,7 @@ async function createGenesisStateAndOwnedAccounts(
131
132
  chainType: ChainType,
132
133
  specId: string,
133
134
  ): Promise<{
134
- genesisState: Map<Uint8Array, AccountOverride>;
135
+ genesisState: Map<string, AccountOverride>;
135
136
  ownedAccounts: Array<{ secretKey: string; balance: bigint }>;
136
137
  }> {
137
138
  if (microEthSignerAddress === undefined) {
@@ -142,7 +143,7 @@ async function createGenesisStateAndOwnedAccounts(
142
143
 
143
144
  const ownedAccounts = await hardhatAccountsToEdrOwnedAccounts(accountsConfig);
144
145
 
145
- const genesisState: Map<Uint8Array, AccountOverride> = new Map(
146
+ const genesisState: Map<string, AccountOverride> = new Map(
146
147
  ownedAccounts.map(({ secretKey, balance }) => {
147
148
  const address = hexToBytes(addr.fromPrivateKey(secretKey));
148
149
  const accountOverride: AccountOverride = {
@@ -151,7 +152,7 @@ async function createGenesisStateAndOwnedAccounts(
151
152
  code: new Uint8Array(), // Empty account code, removing potential delegation code when forking
152
153
  };
153
154
 
154
- return [address, accountOverride];
155
+ return [bytesToHexString(address), accountOverride];
155
156
  }),
156
157
  );
157
158
 
@@ -162,18 +163,25 @@ async function createGenesisStateAndOwnedAccounts(
162
163
  ? opGenesisState(opHardforkFromString(specId))
163
164
  : l1GenesisState(l1HardforkFromString(specId));
164
165
 
166
+ mergeGenesisState(genesisState, chainGenesisState);
167
+
168
+ return { genesisState, ownedAccounts };
169
+ }
170
+
171
+ export function mergeGenesisState(
172
+ genesisState: Map<string, AccountOverride>,
173
+ chainGenesisState: readonly AccountOverride[],
174
+ ): void {
165
175
  for (const account of chainGenesisState) {
166
- const existingOverride = genesisState.get(account.address);
176
+ const addressKey = bytesToHexString(account.address);
177
+ const existingOverride = genesisState.get(addressKey);
167
178
  if (existingOverride !== undefined) {
168
179
  // Favor the genesis state specified by the user
169
- account.balance = account.balance ?? existingOverride.balance;
170
- account.nonce = account.nonce ?? existingOverride.nonce;
171
- account.code = account.code ?? existingOverride.code;
172
- account.storage = account.storage ?? existingOverride.storage;
173
- } else {
174
- genesisState.set(account.address, account);
180
+ account.balance = existingOverride.balance ?? account.balance;
181
+ account.nonce = existingOverride.nonce ?? account.nonce;
182
+ account.code = existingOverride.code ?? account.code;
183
+ account.storage = existingOverride.storage ?? account.storage;
175
184
  }
185
+ genesisState.set(addressKey, account);
176
186
  }
177
-
178
- return { genesisState, ownedAccounts };
179
187
  }
@@ -322,7 +322,20 @@ const edrNetworkUserConfigSchema = z.object({
322
322
  hardfork: z.optional(z.string()),
323
323
  initialBaseFeePerGas: z.optional(gasUnitUserConfigSchema),
324
324
  initialDate: z.optional(
325
- unionType([z.string(), z.instanceof(Date)], "Expected a string or a Date"),
325
+ unionType(
326
+ [z.string(), z.instanceof(Date)],
327
+ "Expected a string or a Date",
328
+ ).refine(
329
+ (val) => {
330
+ if (typeof val === "string") return !Number.isNaN(Date.parse(val));
331
+ if (val instanceof Date) return !Number.isNaN(val.getTime());
332
+ // already union of string/Date, all types are exhausted
333
+ return true;
334
+ },
335
+ {
336
+ message: "initialDate must be a parseable date string or a valid Date",
337
+ },
338
+ ),
326
339
  ),
327
340
  loggingEnabled: z.optional(z.boolean()),
328
341
  minGasPrice: z.optional(gasUnitUserConfigSchema),
@@ -8,6 +8,7 @@ export const SPDX_WARNING = "SPDX license identifier not provided";
8
8
  export const PRAGMA_WARNING =
9
9
  "Source file does not specify required compiler version";
10
10
  const CONTRACT_SIZE_WARNING = "Contract code size is";
11
+ const INIT_CODE_SIZE_WARNING = "Contract initcode size is";
11
12
 
12
13
  // Suppression rules are grouped by scope. Each array has its own match logic
13
14
  // in `shouldSuppressWarning` function; add new entries to the array that fits, or add
@@ -32,6 +33,7 @@ const TEST_FILE_WARNING_MESSAGES: readonly string[] = [
32
33
  SPDX_WARNING,
33
34
  PRAGMA_WARNING,
34
35
  CONTRACT_SIZE_WARNING,
36
+ INIT_CODE_SIZE_WARNING,
35
37
  ];
36
38
 
37
39
  // Warnings suppressed only when running with `--coverage`. An entry with no
@@ -44,6 +46,7 @@ const COVERAGE_MODE_RULES: ReadonlyArray<{
44
46
  filePath?: string;
45
47
  }> = [
46
48
  { message: CONTRACT_SIZE_WARNING },
49
+ { message: INIT_CODE_SIZE_WARNING },
47
50
  {
48
51
  message: NATSPEC_MEMORY_SAFE_ASSEMBLY_WARNING,
49
52
  filePath: COVERAGE_LIBRARY_FILE_NAME,
@@ -0,0 +1,19 @@
1
+ import { HARDHAT_PROJECT_INPUT_SOURCE_NAME_ROOT } from "./constants.js";
2
+
3
+ const PROJECT_INPUT_SOURCE_NAME_PREFIX = `${HARDHAT_PROJECT_INPUT_SOURCE_NAME_ROOT}/`;
4
+
5
+ /**
6
+ * Recovers the user-facing source name from a solc input source name by
7
+ * stripping the Hardhat project prefix.
8
+ *
9
+ * Project files have an input source name like `project/contracts/Foo.sol`,
10
+ * whereas the user writes paths — and config globs — against the
11
+ * project-relative `contracts/Foo.sol`. npm package input source names
12
+ * (`npm/<pkg>@<version>/...`) don't carry the project prefix and are returned
13
+ * unchanged.
14
+ */
15
+ export function toUserSourceName(inputSourceName: string): string {
16
+ return inputSourceName.startsWith(PROJECT_INPUT_SOURCE_NAME_PREFIX)
17
+ ? inputSourceName.slice(PROJECT_INPUT_SOURCE_NAME_PREFIX.length)
18
+ : inputSourceName;
19
+ }
@@ -7,25 +7,20 @@ import {
7
7
  bytesToUtf8String,
8
8
  } from "@nomicfoundation/hardhat-utils/bytes";
9
9
 
10
- import { HARDHAT_PROJECT_INPUT_SOURCE_NAME_ROOT } from "../../solidity/constants.js";
10
+ import { isPathSelected } from "../../../utils/glob.js";
11
+ import { toUserSourceName } from "../../solidity/source-names.js";
11
12
 
12
13
  import {
13
14
  buildUserDefinedValueTypeIndex,
14
15
  extractStructsFromAst,
15
16
  } from "./ast-walker.js";
16
17
  import { canonicalizeStructs } from "./canonicalize.js";
17
- import { isPathSelected } from "./glob.js";
18
18
 
19
19
  export interface Eip712TypesConfig {
20
20
  include: string[];
21
21
  exclude: string[];
22
22
  }
23
23
 
24
- // When a transitive project file doesn't produce an artifact — and so is
25
- // missing from `inputToUserSource` — stripping this prefix recovers the
26
- // user-facing path that the user's include/exclude globs are written against.
27
- const PROJECT_INPUT_SOURCE_NAME_PREFIX = `${HARDHAT_PROJECT_INPUT_SOURCE_NAME_ROOT}/`;
28
-
29
24
  /**
30
25
  * Walks every compiled source's AST, extracts every struct definition, and
31
26
  * returns the flat list of canonical EIP-712 type strings expected by EDR's
@@ -89,15 +84,12 @@ export function collectEip712CanonicalTypes(
89
84
  );
90
85
 
91
86
  for (const [inputSourceName, source] of Object.entries(sources)) {
92
- let userSourceName = inputToUserSource.get(inputSourceName);
93
-
94
- if (userSourceName === undefined) {
95
- userSourceName = inputSourceName.startsWith(
96
- PROJECT_INPUT_SOURCE_NAME_PREFIX,
97
- )
98
- ? inputSourceName.slice(PROJECT_INPUT_SOURCE_NAME_PREFIX.length)
99
- : inputSourceName;
100
- }
87
+ // A transitive project file that doesn't produce an artifact is missing
88
+ // from `inputToUserSource`; recovering the user source name from the
89
+ // input source name covers that case.
90
+ const userSourceName =
91
+ inputToUserSource.get(inputSourceName) ??
92
+ toUserSourceName(inputSourceName);
101
93
 
102
94
  // Collect every source so non-selected files can serve as dep targets;
103
95
  // selection is enforced at emit time via `selectedNames`.
@@ -10,32 +10,48 @@ import {
10
10
  opSolidityTestRunnerFactory,
11
11
  } from "@nomicfoundation/edr";
12
12
 
13
- let _globalEdrContext: EdrContext | undefined;
13
+ // We cache the initialization *promise* (assigned synchronously, before any
14
+ // await) rather than the resolved context. This way concurrent callers share a
15
+ // single in-flight initialization and always receive a fully-registered
16
+ // context, instead of racing on a half-initialized one.
17
+ let _globalEdrContext: Promise<EdrContext> | undefined;
14
18
 
15
19
  export async function getGlobalEdrContext(): Promise<EdrContext> {
16
20
  if (_globalEdrContext === undefined) {
17
- _globalEdrContext = new EdrContext();
18
- await _globalEdrContext.registerProviderFactory(
19
- GENERIC_CHAIN_TYPE,
20
- genericChainProviderFactory(),
21
- );
22
- await _globalEdrContext.registerProviderFactory(
23
- L1_CHAIN_TYPE,
24
- l1ProviderFactory(),
25
- );
26
- await _globalEdrContext.registerProviderFactory(
27
- OP_CHAIN_TYPE,
28
- opProviderFactory(),
29
- );
30
- await _globalEdrContext.registerSolidityTestRunnerFactory(
31
- L1_CHAIN_TYPE,
32
- l1SolidityTestRunnerFactory(),
33
- );
34
- await _globalEdrContext.registerSolidityTestRunnerFactory(
35
- OP_CHAIN_TYPE,
36
- opSolidityTestRunnerFactory(),
37
- );
21
+ const context = createGlobalEdrContext();
22
+ _globalEdrContext = context;
23
+
24
+ // If initialization fails, clear the cached promise so a later call can
25
+ // retry instead of permanently returning a rejected promise. The identity
26
+ // guard prevents a stale rejection from wiping a newer promise created by
27
+ // a retry.
28
+ context.catch(() => {
29
+ if (_globalEdrContext === context) {
30
+ _globalEdrContext = undefined;
31
+ }
32
+ });
38
33
  }
39
34
 
40
- return _globalEdrContext;
35
+ return await _globalEdrContext;
36
+ }
37
+
38
+ async function createGlobalEdrContext(): Promise<EdrContext> {
39
+ const context = new EdrContext();
40
+
41
+ await context.registerProviderFactory(
42
+ GENERIC_CHAIN_TYPE,
43
+ genericChainProviderFactory(),
44
+ );
45
+ await context.registerProviderFactory(L1_CHAIN_TYPE, l1ProviderFactory());
46
+ await context.registerProviderFactory(OP_CHAIN_TYPE, opProviderFactory());
47
+ await context.registerSolidityTestRunnerFactory(
48
+ L1_CHAIN_TYPE,
49
+ l1SolidityTestRunnerFactory(),
50
+ );
51
+ await context.registerSolidityTestRunnerFactory(
52
+ OP_CHAIN_TYPE,
53
+ opSolidityTestRunnerFactory(),
54
+ );
55
+
56
+ return context;
41
57
  }
@@ -15,11 +15,11 @@ export function isPathSelected(
15
15
  return false;
16
16
  }
17
17
 
18
- if (!matchesAny(path, include)) {
18
+ if (!matchesAnyGlob(path, include)) {
19
19
  return false;
20
20
  }
21
21
 
22
- if (exclude.length > 0 && matchesAny(path, exclude)) {
22
+ if (exclude.length > 0 && matchesAnyGlob(path, exclude)) {
23
23
  return false;
24
24
  }
25
25
 
@@ -29,7 +29,7 @@ export function isPathSelected(
29
29
  /**
30
30
  * Returns true if `value` matches at least one of the given glob patterns.
31
31
  */
32
- function matchesAny(value: string, patterns: string[]): boolean {
32
+ export function matchesAnyGlob(value: string, patterns: string[]): boolean {
33
33
  for (const pattern of patterns) {
34
34
  if (getCompiledGlob(pattern).test(value)) {
35
35
  return true;
@@ -5,7 +5,7 @@
5
5
  "description": "A TypeScript Hardhat project using Node Test Runner and Viem",
6
6
  "type": "module",
7
7
  "devDependencies": {
8
- "hardhat": "workspace:^3.8.0",
8
+ "hardhat": "workspace:^3.9.0",
9
9
  "@nomicfoundation/hardhat-toolbox-viem": "workspace:^5.0.7",
10
10
  "@nomicfoundation/hardhat-ignition": "workspace:^3.1.7",
11
11
  "@types/node": "^22.8.5",
@@ -20,7 +20,7 @@
20
20
  "@nomicfoundation/hardhat-node-test-runner": "workspace:^3.0.17",
21
21
  "@nomicfoundation/hardhat-viem": "workspace:^3.0.9",
22
22
  "@nomicfoundation/hardhat-viem-assertions": "workspace:^3.1.1",
23
- "@nomicfoundation/hardhat-verify": "workspace:^3.0.19",
23
+ "@nomicfoundation/hardhat-verify": "workspace:^3.0.20",
24
24
  "@nomicfoundation/ignition-core": "workspace:^3.1.7"
25
25
  }
26
26
  }
@@ -5,7 +5,7 @@
5
5
  "description": "A TypeScript Hardhat project using Mocha and Ethers.js",
6
6
  "type": "module",
7
7
  "devDependencies": {
8
- "hardhat": "workspace:^3.8.0",
8
+ "hardhat": "workspace:^3.9.0",
9
9
  "@nomicfoundation/hardhat-toolbox-mocha-ethers": "workspace:^3.0.7",
10
10
  "@nomicfoundation/hardhat-ethers": "workspace:^4.0.13",
11
11
  "@nomicfoundation/hardhat-ignition": "workspace:^3.1.7",
@@ -28,7 +28,7 @@
28
28
  "@nomicfoundation/hardhat-mocha": "workspace:^3.0.21",
29
29
  "@nomicfoundation/hardhat-network-helpers": "workspace:^3.0.10",
30
30
  "@nomicfoundation/hardhat-typechain": "workspace:^3.1.1",
31
- "@nomicfoundation/hardhat-verify": "workspace:^3.0.19",
31
+ "@nomicfoundation/hardhat-verify": "workspace:^3.0.20",
32
32
  "@nomicfoundation/ignition-core": "workspace:^3.1.7"
33
33
  }
34
34
  }
@@ -5,7 +5,7 @@
5
5
  "description": "A minimal Hardhat project",
6
6
  "type": "module",
7
7
  "devDependencies": {
8
- "hardhat": "workspace:^3.8.0",
8
+ "hardhat": "workspace:^3.9.0",
9
9
  "@types/node": "^22.8.5",
10
10
  "typescript": "~6.0.3"
11
11
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/glob.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAcT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/glob.ts"],"names":[],"mappings":"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"}