hardhat 3.0.5 → 3.0.7

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 (114) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.d.ts.map +1 -1
  3. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js +1 -2
  4. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js.map +1 -1
  5. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts +1 -0
  6. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts.map +1 -1
  7. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js +9 -2
  8. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js.map +1 -1
  9. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.d.ts.map +1 -1
  10. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js +13 -5
  11. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js.map +1 -1
  12. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.js +1 -1
  13. package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.js.map +1 -1
  14. package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts +4 -3
  15. package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts.map +1 -1
  16. package/dist/src/internal/builtin-plugins/network-manager/network-manager.js +79 -37
  17. package/dist/src/internal/builtin-plugins/network-manager/network-manager.js.map +1 -1
  18. package/dist/src/internal/builtin-plugins/network-manager/type-validation.js +2 -2
  19. package/dist/src/internal/builtin-plugins/network-manager/type-validation.js.map +1 -1
  20. package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.d.ts +25 -0
  21. package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.d.ts.map +1 -0
  22. package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.js +56 -0
  23. package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.js.map +1 -0
  24. package/dist/src/internal/builtin-plugins/node/helpers.d.ts +12 -0
  25. package/dist/src/internal/builtin-plugins/node/helpers.d.ts.map +1 -1
  26. package/dist/src/internal/builtin-plugins/node/helpers.js +32 -0
  27. package/dist/src/internal/builtin-plugins/node/helpers.js.map +1 -1
  28. package/dist/src/internal/builtin-plugins/node/json-rpc/server.d.ts +3 -10
  29. package/dist/src/internal/builtin-plugins/node/json-rpc/server.d.ts.map +1 -1
  30. package/dist/src/internal/builtin-plugins/node/json-rpc/server.js +1 -1
  31. package/dist/src/internal/builtin-plugins/node/json-rpc/server.js.map +1 -1
  32. package/dist/src/internal/builtin-plugins/node/task-action.d.ts.map +1 -1
  33. package/dist/src/internal/builtin-plugins/node/task-action.js +14 -4
  34. package/dist/src/internal/builtin-plugins/node/task-action.js.map +1 -1
  35. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts +13 -5
  36. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts.map +1 -1
  37. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js +126 -58
  38. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js.map +1 -1
  39. package/dist/src/internal/builtin-plugins/solidity/build-system/cache.d.ts +1 -1
  40. package/dist/src/internal/builtin-plugins/solidity/build-system/cache.d.ts.map +1 -1
  41. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.d.ts.map +1 -1
  42. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.js +14 -6
  43. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.js.map +1 -1
  44. package/dist/src/internal/builtin-plugins/solidity/index.d.ts.map +1 -1
  45. package/dist/src/internal/builtin-plugins/solidity/index.js +8 -0
  46. package/dist/src/internal/builtin-plugins/solidity/index.js.map +1 -1
  47. package/dist/src/internal/builtin-plugins/solidity/tasks/build.d.ts +4 -2
  48. package/dist/src/internal/builtin-plugins/solidity/tasks/build.d.ts.map +1 -1
  49. package/dist/src/internal/builtin-plugins/solidity/tasks/build.js +37 -10
  50. package/dist/src/internal/builtin-plugins/solidity/tasks/build.js.map +1 -1
  51. package/dist/src/internal/builtin-plugins/solidity-test/config.d.ts +4 -2
  52. package/dist/src/internal/builtin-plugins/solidity-test/config.d.ts.map +1 -1
  53. package/dist/src/internal/builtin-plugins/solidity-test/config.js +24 -4
  54. package/dist/src/internal/builtin-plugins/solidity-test/config.js.map +1 -1
  55. package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts +3 -1
  56. package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts.map +1 -1
  57. package/dist/src/internal/builtin-plugins/solidity-test/helpers.js +26 -3
  58. package/dist/src/internal/builtin-plugins/solidity-test/helpers.js.map +1 -1
  59. package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/config.d.ts.map +1 -1
  60. package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/config.js +1 -1
  61. package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/config.js.map +1 -1
  62. package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts.map +1 -1
  63. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +26 -43
  64. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
  65. package/dist/src/internal/builtin-plugins/solidity-test/type-extensions.d.ts +17 -7
  66. package/dist/src/internal/builtin-plugins/solidity-test/type-extensions.d.ts.map +1 -1
  67. package/dist/src/internal/core/hre.d.ts +29 -1
  68. package/dist/src/internal/core/hre.d.ts.map +1 -1
  69. package/dist/src/internal/core/hre.js +57 -20
  70. package/dist/src/internal/core/hre.js.map +1 -1
  71. package/dist/src/internal/core/plugins/resolve-plugin-list.js +40 -3
  72. package/dist/src/internal/core/plugins/resolve-plugin-list.js.map +1 -1
  73. package/dist/src/internal/utils/package.d.ts +1 -0
  74. package/dist/src/internal/utils/package.d.ts.map +1 -1
  75. package/dist/src/internal/utils/package.js +17 -1
  76. package/dist/src/internal/utils/package.js.map +1 -1
  77. package/dist/src/types/hre.d.ts +4 -0
  78. package/dist/src/types/hre.d.ts.map +1 -1
  79. package/dist/src/types/network.d.ts +40 -0
  80. package/dist/src/types/network.d.ts.map +1 -1
  81. package/dist/src/types/plugins.d.ts +8 -0
  82. package/dist/src/types/plugins.d.ts.map +1 -1
  83. package/dist/src/types/solidity/build-system.d.ts +23 -8
  84. package/dist/src/types/solidity/build-system.d.ts.map +1 -1
  85. package/package.json +5 -4
  86. package/src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts +2 -3
  87. package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +20 -1
  88. package/src/internal/builtin-plugins/network-manager/hook-handlers/hre.ts +36 -18
  89. package/src/internal/builtin-plugins/network-manager/hook-handlers/network.ts +1 -1
  90. package/src/internal/builtin-plugins/network-manager/network-manager.ts +137 -60
  91. package/src/internal/builtin-plugins/network-manager/type-validation.ts +2 -2
  92. package/src/internal/builtin-plugins/node/artifacts/build-info-watcher.ts +82 -0
  93. package/src/internal/builtin-plugins/node/helpers.ts +64 -0
  94. package/src/internal/builtin-plugins/node/json-rpc/server.ts +3 -10
  95. package/src/internal/builtin-plugins/node/task-action.ts +31 -5
  96. package/src/internal/builtin-plugins/solidity/build-system/build-system.ts +203 -98
  97. package/src/internal/builtin-plugins/solidity/build-system/cache.ts +1 -1
  98. package/src/internal/builtin-plugins/solidity/hook-handlers/hre.ts +22 -5
  99. package/src/internal/builtin-plugins/solidity/index.ts +8 -0
  100. package/src/internal/builtin-plugins/solidity/tasks/build.ts +59 -16
  101. package/src/internal/builtin-plugins/solidity-test/config.ts +46 -3
  102. package/src/internal/builtin-plugins/solidity-test/helpers.ts +44 -4
  103. package/src/internal/builtin-plugins/solidity-test/hook-handlers/config.ts +5 -1
  104. package/src/internal/builtin-plugins/solidity-test/task-action.ts +39 -54
  105. package/src/internal/builtin-plugins/solidity-test/type-extensions.ts +23 -9
  106. package/src/internal/core/hre.ts +102 -32
  107. package/src/internal/core/plugins/resolve-plugin-list.ts +57 -3
  108. package/src/internal/utils/package.ts +31 -1
  109. package/src/types/hre.ts +4 -0
  110. package/src/types/network.ts +45 -0
  111. package/src/types/plugins.ts +5 -0
  112. package/src/types/solidity/build-system.ts +23 -7
  113. package/templates/hardhat-3/01-node-test-runner-viem/package.json +3 -3
  114. package/templates/hardhat-3/02-mocha-ethers/package.json +4 -4
@@ -1,26 +1,53 @@
1
1
  import { resolveFromRoot } from "@nomicfoundation/hardhat-utils/path";
2
2
  import { throwIfSolidityBuildFailed } from "../build-results.js";
3
3
  import { isNpmRootPath } from "../build-system/root-paths-utils.js";
4
- const buildAction = async ({ force, files, quiet, defaultBuildProfile }, { solidity, globalOptions }) => {
5
- const rootPaths = files.length === 0
6
- ? await solidity.getRootFilePaths()
7
- : files.map((file) => {
4
+ const buildAction = async (args, hre) => {
5
+ const contractRootPaths = [];
6
+ const testRootPaths = [];
7
+ if (args.noContracts === false) {
8
+ contractRootPaths.push(...(await buildForScope("contracts", args, hre)));
9
+ }
10
+ if (args.noTests === false) {
11
+ testRootPaths.push(...(await buildForScope("tests", args, hre)));
12
+ }
13
+ return { contractRootPaths, testRootPaths };
14
+ };
15
+ async function buildForScope(scope, { force, files, quiet, defaultBuildProfile }, { solidity, globalOptions }) {
16
+ // If no specific files are passed, it means a full compilation, i.e. all source files
17
+ const isFullCompilation = files.length === 0;
18
+ const rootPaths = [];
19
+ if (isFullCompilation) {
20
+ rootPaths.push(...(await solidity.getRootFilePaths({ scope })));
21
+ }
22
+ else {
23
+ for (const file of files) {
8
24
  if (isNpmRootPath(file)) {
9
- return file;
25
+ rootPaths.push(file);
10
26
  }
11
- return resolveFromRoot(process.cwd(), file);
12
- });
27
+ const rootPath = resolveFromRoot(process.cwd(), file);
28
+ if ((await solidity.getScope(rootPath)) !== scope) {
29
+ continue;
30
+ }
31
+ rootPaths.push(rootPath);
32
+ }
33
+ // If a file list has been passed but none match this scope, we don't run the build
34
+ if (rootPaths.length === 0) {
35
+ return [];
36
+ }
37
+ }
13
38
  const buildProfile = globalOptions.buildProfile ?? defaultBuildProfile;
14
39
  const results = await solidity.build(rootPaths, {
15
40
  force,
16
41
  buildProfile,
17
42
  quiet,
43
+ scope,
18
44
  });
19
45
  throwIfSolidityBuildFailed(results);
20
46
  // If we recompiled the entire project we cleanup the artifacts
21
- if (files.length === 0) {
22
- await solidity.cleanupArtifacts(rootPaths);
47
+ if (isFullCompilation) {
48
+ await solidity.cleanupArtifacts(rootPaths, { scope });
23
49
  }
24
- };
50
+ return rootPaths;
51
+ }
25
52
  export default buildAction;
26
53
  //# sourceMappingURL=build.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/tasks/build.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAEtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AASpE,MAAM,WAAW,GAAkD,KAAK,EACtE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAC5C,EAAE,QAAQ,EAAE,aAAa,EAAE,EAC3B,EAAE;IACF,MAAM,SAAS,GACb,KAAK,CAAC,MAAM,KAAK,CAAC;QAChB,CAAC,CAAC,MAAM,QAAQ,CAAC,gBAAgB,EAAE;QACnC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IAET,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,IAAI,mBAAmB,CAAC;IAEvE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE;QAC9C,KAAK;QACL,YAAY;QACZ,KAAK;KACN,CAAC,CAAC;IAEH,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAEpC,+DAA+D;IAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity/tasks/build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAEtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAWpE,MAAM,WAAW,GAAgD,KAAK,EACpE,IAA0B,EAC1B,GAAG,EACH,EAAE;IACF,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,EAAE,CAAC;IAEzB,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAC/B,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC3B,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC;AAC9C,CAAC,CAAC;AAEF,KAAK,UAAU,aAAa,CAC1B,KAAiB,EACjB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAwB,EAClE,EAAE,QAAQ,EAAE,aAAa,EAA6B;IAEtD,sFAAsF;IACtF,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,EAAE,CAAC;IAErB,IAAI,iBAAiB,EAAE,CAAC;QACtB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,QAAQ,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YAED,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;YAEtD,IAAI,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;gBAClD,SAAS;YACX,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAED,mFAAmF;QACnF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,IAAI,mBAAmB,CAAC;IAEvE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE;QAC9C,KAAK;QACL,YAAY;QACZ,KAAK;QACL,KAAK;KACN,CAAC,CAAC;IAEH,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAEpC,+DAA+D;IAC/D,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,eAAe,WAAW,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import type { HardhatUserConfig } from "../../../config.js";
2
- import type { HardhatConfig } from "../../../types/config.js";
2
+ import type { ConfigurationVariableResolver, HardhatConfig } from "../../../types/config.js";
3
3
  import type { HardhatUserConfigValidationError } from "../../../types/hooks.js";
4
+ import type { SolidityTestForkingConfig, SolidityTestUserConfig } from "../../../types/test.js";
5
+ export declare function resolveSolidityTestForkingConfig(forkingUserConfig: SolidityTestUserConfig["forking"], resolveConfigurationVariable: ConfigurationVariableResolver): SolidityTestForkingConfig | undefined;
4
6
  export declare function validateSolidityTestUserConfig(userConfig: unknown): HardhatUserConfigValidationError[];
5
- export declare function resolveSolidityTestUserConfig(userConfig: HardhatUserConfig, resolvedConfig: HardhatConfig): Promise<HardhatConfig>;
7
+ export declare function resolveSolidityTestUserConfig(userConfig: HardhatUserConfig, resolvedConfig: HardhatConfig, resolveConfigurationVariable: ConfigurationVariableResolver): Promise<HardhatConfig>;
6
8
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAwFhF,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,OAAO,GAClB,gCAAgC,EAAE,CAEpC;AAED,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,iBAAiB,EAC7B,cAAc,EAAE,aAAa,GAC5B,OAAO,CAAC,aAAa,CAAC,CA4BxB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EACV,6BAA6B,EAC7B,aAAa,EAEd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,KAAK,EACV,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AA0FhC,wBAAgB,gCAAgC,CAC9C,iBAAiB,EAAE,sBAAsB,CAAC,SAAS,CAAC,EACpD,4BAA4B,EAAE,6BAA6B,GAC1D,yBAAyB,GAAG,SAAS,CAqBvC;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,OAAO,GAClB,gCAAgC,EAAE,CAEpC;AAED,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,iBAAiB,EAC7B,cAAc,EAAE,aAAa,EAC7B,4BAA4B,EAAE,6BAA6B,GAC1D,OAAO,CAAC,aAAa,CAAC,CAkCxB"}
@@ -1,7 +1,7 @@
1
1
  import path from "node:path";
2
2
  import { isObject } from "@nomicfoundation/hardhat-utils/lang";
3
3
  import { resolveFromRoot } from "@nomicfoundation/hardhat-utils/path";
4
- import { conditionalUnionType, validateUserConfigZodType, } from "@nomicfoundation/hardhat-zod-utils";
4
+ import { conditionalUnionType, sensitiveStringSchema, sensitiveUrlSchema, validateUserConfigZodType, } from "@nomicfoundation/hardhat-zod-utils";
5
5
  import { z } from "zod";
6
6
  const solidityTestUserConfigType = z.object({
7
7
  timeout: z.number().optional(),
@@ -40,9 +40,9 @@ const solidityTestUserConfigType = z.object({
40
40
  .optional(),
41
41
  forking: z
42
42
  .object({
43
- url: z.string().optional(),
43
+ url: z.optional(sensitiveUrlSchema),
44
44
  blockNumber: z.bigint().optional(),
45
- rpcEndpoints: z.record(z.string()).optional(),
45
+ rpcEndpoints: z.record(sensitiveStringSchema).optional(),
46
46
  })
47
47
  .optional(),
48
48
  invariant: z
@@ -74,18 +74,38 @@ const userConfigType = z.object({
74
74
  })
75
75
  .optional(),
76
76
  });
77
+ export function resolveSolidityTestForkingConfig(forkingUserConfig, resolveConfigurationVariable) {
78
+ if (forkingUserConfig === undefined) {
79
+ return undefined;
80
+ }
81
+ const resolvedRpcEndpoints = {};
82
+ if (forkingUserConfig.rpcEndpoints !== undefined) {
83
+ for (const [name, url] of Object.entries(forkingUserConfig.rpcEndpoints)) {
84
+ resolvedRpcEndpoints[name] = resolveConfigurationVariable(url);
85
+ }
86
+ }
87
+ return {
88
+ ...forkingUserConfig,
89
+ url: forkingUserConfig.url !== undefined
90
+ ? resolveConfigurationVariable(forkingUserConfig.url)
91
+ : undefined,
92
+ rpcEndpoints: resolvedRpcEndpoints,
93
+ };
94
+ }
77
95
  export function validateSolidityTestUserConfig(userConfig) {
78
96
  return validateUserConfigZodType(userConfig, userConfigType);
79
97
  }
80
- export async function resolveSolidityTestUserConfig(userConfig, resolvedConfig) {
98
+ export async function resolveSolidityTestUserConfig(userConfig, resolvedConfig, resolveConfigurationVariable) {
81
99
  let testsPath = userConfig.paths?.tests;
82
100
  // TODO: use isObject when the type narrowing issue is fixed
83
101
  testsPath = typeof testsPath === "object" ? testsPath.solidity : testsPath;
84
102
  testsPath ??= "test";
85
103
  const defaultRpcCachePath = path.join(resolvedConfig.paths.cache, "edr");
104
+ const resolvedForking = resolveSolidityTestForkingConfig(userConfig.test?.solidity?.forking, resolveConfigurationVariable);
86
105
  const solidityTest = {
87
106
  rpcCachePath: defaultRpcCachePath,
88
107
  ...userConfig.test?.solidity,
108
+ forking: resolvedForking,
89
109
  };
90
110
  return {
91
111
  ...resolvedConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/config.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,9 @@ import type { RunOptions } from "./runner.js";
2
2
  import type { ChainType } from "../../../types/network.js";
3
3
  import type { SolidityTestConfig } from "../../../types/test.js";
4
4
  import type { SolidityTestRunnerConfigArgs, Artifact, ObservabilityConfig } from "@nomicfoundation/edr";
5
+ import { type Colorizer } from "./formatters.js";
5
6
  export declare function solidityTestConfigToRunOptions(config: SolidityTestConfig): RunOptions;
6
- export declare function solidityTestConfigToSolidityTestRunnerConfigArgs(chainType: ChainType, projectRoot: string, config: SolidityTestConfig, verbosity: number, observability?: ObservabilityConfig, testPattern?: string): SolidityTestRunnerConfigArgs;
7
+ export declare function solidityTestConfigToSolidityTestRunnerConfigArgs(chainType: ChainType, projectRoot: string, config: SolidityTestConfig, verbosity: number, observability?: ObservabilityConfig, testPattern?: string): Promise<SolidityTestRunnerConfigArgs>;
7
8
  export declare function isTestSuiteArtifact(artifact: Artifact): boolean;
9
+ export declare function warnDeprecatedTestFail(artifact: Artifact, sourceNameToUserSourceName: Map<string, string>, colorizer?: Colorizer): void;
8
10
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EACV,4BAA4B,EAE5B,QAAQ,EACR,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAkB9B,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,kBAAkB,GACzB,UAAU,CAEZ;AAED,wBAAgB,gDAAgD,CAC9D,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,mBAAmB,EACnC,WAAW,CAAC,EAAE,MAAM,GACnB,4BAA4B,CA+E9B;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAQ/D"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EACV,4BAA4B,EAE5B,QAAQ,EACR,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAe9B,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,iBAAiB,CAAC;AAMnE,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,kBAAkB,GACzB,UAAU,CAEZ;AAED,wBAAsB,gDAAgD,CACpE,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,mBAAmB,EACnC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,4BAA4B,CAAC,CA4FvC;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAQ/D;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/C,SAAS,GAAE,SAAiB,GAC3B,IAAI,CAkBN"}
@@ -1,13 +1,15 @@
1
1
  import { opGenesisState, opLatestHardfork, l1GenesisState, l1HardforkLatest, IncludeTraces, FsAccessPermission, } from "@nomicfoundation/edr";
2
2
  import { hexStringToBytes } from "@nomicfoundation/hardhat-utils/hex";
3
+ import chalk from "chalk";
3
4
  import { OPTIMISM_CHAIN_TYPE } from "../../constants.js";
5
+ import { formatArtifactId } from "./formatters.js";
4
6
  function hexStringToBuffer(hexString) {
5
7
  return Buffer.from(hexStringToBytes(hexString));
6
8
  }
7
9
  export function solidityTestConfigToRunOptions(config) {
8
10
  return config;
9
11
  }
10
- export function solidityTestConfigToSolidityTestRunnerConfigArgs(chainType, projectRoot, config, verbosity, observability, testPattern) {
12
+ export async function solidityTestConfigToSolidityTestRunnerConfigArgs(chainType, projectRoot, config, verbosity, observability, testPattern) {
11
13
  const fsPermissions = [
12
14
  config.fsPermissions?.readWriteFile?.map((p) => ({
13
15
  access: FsAccessPermission.ReadWriteFile,
@@ -54,9 +56,18 @@ export function solidityTestConfigToSolidityTestRunnerConfigArgs(chainType, proj
54
56
  const blockGasLimit = config.blockGasLimit === false ? undefined : config.blockGasLimit;
55
57
  const disableBlockGasLimit = config.blockGasLimit === false;
56
58
  const blockDifficulty = config.prevRandao;
57
- const ethRpcUrl = config.forking?.url;
59
+ let ethRpcUrl;
60
+ if (config.forking?.url !== undefined) {
61
+ ethRpcUrl = await config.forking.url.get();
62
+ }
58
63
  const forkBlockNumber = config.forking?.blockNumber;
59
- const rpcEndpoints = config.forking?.rpcEndpoints;
64
+ let rpcEndpoints;
65
+ if (config.forking?.rpcEndpoints !== undefined) {
66
+ rpcEndpoints = {};
67
+ for (const [name, configValue] of Object.entries(config.forking.rpcEndpoints)) {
68
+ rpcEndpoints[name] = await configValue.get();
69
+ }
70
+ }
60
71
  return {
61
72
  projectRoot,
62
73
  ...config,
@@ -85,4 +96,16 @@ export function isTestSuiteArtifact(artifact) {
85
96
  return false;
86
97
  });
87
98
  }
99
+ export function warnDeprecatedTestFail(artifact, sourceNameToUserSourceName, colorizer = chalk) {
100
+ const abi = JSON.parse(artifact.contract.abi);
101
+ abi.forEach(({ type, name }) => {
102
+ if (type === "function" &&
103
+ typeof name === "string" &&
104
+ name.startsWith("testFail")) {
105
+ const formattedLocation = formatArtifactId(artifact.id, sourceNameToUserSourceName);
106
+ const warningMessage = `${colorizer.yellow("Warning")}: ${name} The support for the prefix \`testFail*\` has been removed. Consider using \`vm.expectRevert()\` for testing reverts in ${formattedLocation}\n`;
107
+ console.warn(warningMessage);
108
+ }
109
+ });
110
+ }
88
111
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/hook-handlers/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;8BAOrC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAAtD,wBAmBE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/hook-handlers/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;8BAOrC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAAtD,wBAuBE"}
@@ -4,7 +4,7 @@ export default async () => {
4
4
  validateUserConfig: async (userConfig) => validateSolidityTestUserConfig(userConfig),
5
5
  resolveUserConfig: async (userConfig, resolveConfigurationVariable, next) => {
6
6
  const resolvedConfig = await next(userConfig, resolveConfigurationVariable);
7
- return resolveSolidityTestUserConfig(userConfig, resolvedConfig);
7
+ return resolveSolidityTestUserConfig(userConfig, resolvedConfig, resolveConfigurationVariable);
8
8
  },
9
9
  };
10
10
  return handlers;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/hook-handlers/config.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,cAAc,CAAC;AAEtB,eAAe,KAAK,IAAmC,EAAE;IACvD,MAAM,QAAQ,GAAyB;QACrC,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CACvC,8BAA8B,CAAC,UAAU,CAAC;QAC5C,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,6BAA6B,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/hook-handlers/config.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,cAAc,CAAC;AAEtB,eAAe,KAAK,IAAmC,EAAE;IACvD,MAAM,QAAQ,GAAyB;QACrC,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CACvC,8BAA8B,CAAC,UAAU,CAAC;QAC5C,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,6BAA6B,CAClC,UAAU,EACV,cAAc,EACd,4BAA4B,CAC7B,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-action.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAmCrE,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,QAAA,MAAM,gBAAgB,EAAE,qBAAqB,CAAC,mBAAmB,CA0KhE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"task-action.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAmCrE,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,QAAA,MAAM,gBAAgB,EAAE,qBAAqB,CAAC,mBAAmB,CA4JhE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,18 +1,16 @@
1
1
  import { finished } from "node:stream/promises";
2
2
  import { assertHardhatInvariant, HardhatError, } from "@nomicfoundation/hardhat-errors";
3
- import { getAllFilesMatching } from "@nomicfoundation/hardhat-utils/fs";
4
3
  import { resolveFromRoot } from "@nomicfoundation/hardhat-utils/path";
5
4
  import { createNonClosingWriter } from "@nomicfoundation/hardhat-utils/stream";
6
5
  import { HardhatRuntimeEnvironmentImplementation } from "../../core/hre.js";
7
6
  import { isSupportedChainType } from "../../edr/chain-type.js";
7
+ import { ArtifactManagerImplementation } from "../artifacts/artifact-manager.js";
8
8
  import { markTestRunDone, markTestRunStart, markTestWorkerDone, } from "../coverage/helpers.js";
9
- import { throwIfSolidityBuildFailed } from "../solidity/build-results.js";
10
9
  import { getEdrArtifacts, getBuildInfos } from "./edr-artifacts.js";
11
- import { isTestSuiteArtifact, solidityTestConfigToRunOptions, solidityTestConfigToSolidityTestRunnerConfigArgs, } from "./helpers.js";
10
+ import { isTestSuiteArtifact, warnDeprecatedTestFail, solidityTestConfigToRunOptions, solidityTestConfigToSolidityTestRunnerConfigArgs, } from "./helpers.js";
12
11
  import { testReporter } from "./reporter.js";
13
12
  import { run } from "./runner.js";
14
13
  const runSolidityTests = async ({ testFiles, chainType, grep, noCompile, verbosity }, hre) => {
15
- let rootFilePaths;
16
14
  if (!isSupportedChainType(chainType)) {
17
15
  throw new HardhatError(HardhatError.ERRORS.CORE.ARGUMENTS.INVALID_VALUE_FOR_TYPE, {
18
16
  value: chainType,
@@ -20,42 +18,31 @@ const runSolidityTests = async ({ testFiles, chainType, grep, noCompile, verbosi
20
18
  name: "chainType",
21
19
  });
22
20
  }
23
- // NOTE: We run the compile task first to ensure all the artifacts for them are generated
24
- // Then, we compile just the test sources. We don't do it in one go because the user
25
- // is likely to use different compilation options for the tests and the sources.
26
- if (noCompile === false) {
27
- await hre.tasks.getTask("compile").run();
28
- }
29
- if (testFiles.length > 0) {
30
- rootFilePaths = testFiles.map((f) => resolveFromRoot(hre.config.paths.root, f));
31
- }
32
- else {
33
- // NOTE: A test file is either a file with a `.sol` extension in the `tests.solidity`
34
- // directory or a file with a `.t.sol` extension in the `sources.solidity` directory
35
- rootFilePaths = (await Promise.all([
36
- getAllFilesMatching(hre.config.paths.tests.solidity, (f) => f.endsWith(".sol")),
37
- ...hre.config.paths.sources.solidity.map(async (dir) => {
38
- return getAllFilesMatching(dir, (f) => f.endsWith(".t.sol"));
39
- }),
40
- ])).flat(1);
41
- }
42
- // NOTE: We remove duplicates in case there is an intersection between
43
- // the tests.solidity paths and the sources paths
44
- rootFilePaths = Array.from(new Set(rootFilePaths));
45
- // NOTE: We are not skipping the test compilation even if the noCompile flag is set
46
- // because the user cannot run test compilation outside of the test task yet.
47
- // TODO: Allow users to run test compilation outside of the test task.
48
- const buildOptions = {
49
- force: false,
50
- buildProfile: hre.globalOptions.buildProfile ?? "default",
21
+ // Run the compile task for test files
22
+ const { testRootPaths } = await hre.tasks
23
+ .getTask("compile")
24
+ .run({
51
25
  quiet: true,
52
- };
53
- const results = await hre.solidity.build(rootFilePaths, buildOptions);
54
- throwIfSolidityBuildFailed(results);
55
- const buildInfos = await getBuildInfos(hre.artifacts);
56
- const edrArtifacts = await getEdrArtifacts(hre.artifacts);
26
+ force: false,
27
+ files: testFiles,
28
+ noContracts: noCompile,
29
+ });
30
+ const artifactsDirectory = await hre.solidity.getArtifactsDirectory("tests");
31
+ const artifactsManager = new ArtifactManagerImplementation(artifactsDirectory);
32
+ const buildInfos = await getBuildInfos(artifactsManager);
33
+ const edrArtifacts = await getEdrArtifacts(artifactsManager);
34
+ const sourceNameToUserSourceName = new Map(edrArtifacts.map(({ userSourceName, edrAtifact }) => [
35
+ edrAtifact.id.source,
36
+ userSourceName,
37
+ ]));
38
+ edrArtifacts.forEach(({ userSourceName, edrAtifact }) => {
39
+ if (testRootPaths.includes(resolveFromRoot(hre.config.paths.root, userSourceName)) &&
40
+ isTestSuiteArtifact(edrAtifact)) {
41
+ warnDeprecatedTestFail(edrAtifact, sourceNameToUserSourceName);
42
+ }
43
+ });
57
44
  const testSuiteIds = edrArtifacts
58
- .filter(({ userSourceName }) => rootFilePaths.includes(resolveFromRoot(hre.config.paths.root, userSourceName)))
45
+ .filter(({ userSourceName }) => testRootPaths.includes(resolveFromRoot(hre.config.paths.root, userSourceName)))
59
46
  .filter(({ edrAtifact }) => isTestSuiteArtifact(edrAtifact))
60
47
  .map(({ edrAtifact }) => edrAtifact.id);
61
48
  console.log("Running Solidity tests");
@@ -75,16 +62,12 @@ const runSolidityTests = async ({ testFiles, chainType, grep, noCompile, verbosi
75
62
  },
76
63
  };
77
64
  }
78
- const config = solidityTestConfigToSolidityTestRunnerConfigArgs(chainType, hre.config.paths.root, solidityTestConfig, verbosity, observabilityConfig, grep);
65
+ const config = await solidityTestConfigToSolidityTestRunnerConfigArgs(chainType, hre.config.paths.root, solidityTestConfig, verbosity, observabilityConfig, grep);
79
66
  const tracingConfig = {
80
67
  buildInfos,
81
68
  ignoreContracts: false,
82
69
  };
83
70
  const options = solidityTestConfigToRunOptions(solidityTestConfig);
84
- const sourceNameToUserSourceName = new Map(edrArtifacts.map(({ userSourceName, edrAtifact }) => [
85
- edrAtifact.id.source,
86
- userSourceName,
87
- ]));
88
71
  await markTestRunStart("solidity");
89
72
  const runStream = run(chainType, edrArtifacts.map(({ edrAtifact }) => edrAtifact), testSuiteIds, config, tracingConfig, sourceNameToUserSourceName, options);
90
73
  const testReporterStream = runStream
@@ -1 +1 @@
1
- {"version":3,"file":"task-action.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-action.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import "../../../types/config.js";
2
+ import type { SensitiveString, ResolvedConfigurationVariable } from "../../../types/config.js";
2
3
  declare module "../../../types/config.js" {
3
4
  interface TestPathsUserConfig {
4
5
  solidity?: string;
@@ -8,7 +9,7 @@ declare module "../../../types/config.js" {
8
9
  }
9
10
  }
10
11
  declare module "../../../types/test.js" {
11
- interface SolidityTestUserConfig {
12
+ interface SolidityTestConfigBase {
12
13
  timeout?: number;
13
14
  fsPermissions?: {
14
15
  readWriteFile?: string[];
@@ -29,11 +30,6 @@ declare module "../../../types/test.js" {
29
30
  blockTimestamp?: bigint;
30
31
  prevRandao?: bigint;
31
32
  blockGasLimit?: bigint | false;
32
- forking?: {
33
- url?: string;
34
- blockNumber?: bigint;
35
- rpcEndpoints?: Record<string, string>;
36
- };
37
33
  fuzz?: {
38
34
  failurePersistDir?: string;
39
35
  failurePersistFile?: string;
@@ -56,10 +52,24 @@ declare module "../../../types/test.js" {
56
52
  shrinkRunLimit?: number;
57
53
  };
58
54
  }
55
+ interface SolidityTestForkingUserConfig {
56
+ url?: SensitiveString;
57
+ blockNumber?: bigint;
58
+ rpcEndpoints?: Record<string, SensitiveString>;
59
+ }
60
+ interface SolidityTestUserConfig extends SolidityTestConfigBase {
61
+ forking?: SolidityTestForkingUserConfig;
62
+ }
59
63
  interface HardhatTestUserConfig {
60
64
  solidity?: SolidityTestUserConfig;
61
65
  }
62
- interface SolidityTestConfig extends SolidityTestUserConfig {
66
+ interface SolidityTestForkingConfig {
67
+ url?: ResolvedConfigurationVariable;
68
+ blockNumber?: bigint;
69
+ rpcEndpoints?: Record<string, ResolvedConfigurationVariable>;
70
+ }
71
+ interface SolidityTestConfig extends SolidityTestConfigBase {
72
+ forking?: SolidityTestForkingConfig;
63
73
  }
64
74
  interface HardhatTestConfig {
65
75
  solidity: SolidityTestConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"type-extensions.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/type-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAC;AAElC,OAAO,QAAQ,0BAA0B,CAAC;IACxC,UAAiB,mBAAmB;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAED,UAAiB,eAAe;QAC9B,QAAQ,EAAE,MAAM,CAAC;KAClB;CACF;AAED,OAAO,QAAQ,wBAAwB,CAAC;IACtC,UAAiB,sBAAsB;QACrC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE;YACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;YACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;YACrB,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC;YACzC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;YACzB,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;SACtC,CAAC;QACF,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,yBAAyB,CAAC,EAAE,OAAO,CAAC;QACpC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;QAE/B,OAAO,CAAC,EAAE;YACR,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACvC,CAAC;QAEF,IAAI,CAAC,EAAE;YACL,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;YAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;YACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;SAC5B,CAAC;QACF,SAAS,CAAC,EAAE;YACV,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;YACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;YAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;SACzB,CAAC;KACH;IAED,UAAiB,qBAAqB;QACpC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;KACnC;IAGD,UAAiB,kBAAmB,SAAQ,sBAAsB;KAAG;IAErE,UAAiB,iBAAiB;QAChC,QAAQ,EAAE,kBAAkB,CAAC;KAC9B;CACF"}
1
+ {"version":3,"file":"type-extensions.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/type-extensions.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,10 @@ import type { UnsafeHardhatRuntimeEnvironmentOptions } from "./types.js";
2
2
  import type { ArtifactManager } from "../../types/artifacts.js";
3
3
  import type { HardhatUserConfig, HardhatConfig } from "../../types/config.js";
4
4
  import type { GlobalOptions } from "../../types/global-options.js";
5
- import type { HookManager } from "../../types/hooks.js";
5
+ import type { HardhatUserConfigValidationError, HookManager } from "../../types/hooks.js";
6
6
  import type { HardhatRuntimeEnvironment } from "../../types/hre.js";
7
7
  import type { NetworkManager } from "../../types/network.js";
8
+ import type { HardhatPlugin } from "../../types/plugins.js";
8
9
  import type { SolidityBuildSystem } from "../../types/solidity/build-system.js";
9
10
  import type { TaskManager } from "../../types/tasks.js";
10
11
  import type { UserInterruptionManager } from "../../types/user-interruptions.js";
@@ -15,6 +16,10 @@ export declare class HardhatRuntimeEnvironmentImplementation implements HardhatR
15
16
  readonly hooks: HookManager;
16
17
  readonly interruptions: UserInterruptionManager;
17
18
  readonly globalOptions: GlobalOptions;
19
+ readonly versions: {
20
+ readonly hardhat: string;
21
+ readonly edr: string;
22
+ };
18
23
  network: NetworkManager;
19
24
  artifacts: ArtifactManager;
20
25
  solidity: SolidityBuildSystem;
@@ -32,4 +37,27 @@ export declare class HardhatRuntimeEnvironmentImplementation implements HardhatR
32
37
  * the config file.
33
38
  */
34
39
  export declare function resolveProjectRoot(absolutePathWithinProject: string | undefined): Promise<string>;
40
+ /**
41
+ * Runs the provided Hardhat user config through the resolution process,
42
+ * invoking relevant plugin hooks (both internal and external) to extend
43
+ * and transform the config into a full HardhatConfig.
44
+ *
45
+ * @param hooks - The HookManager used to run config extension and validation
46
+ * hooks.
47
+ * @param inputUserConfig - The initial user provided Hardhat config object.
48
+ * @param resolvedProjectRoot - The project root path.
49
+ * @param userProvidedConfigPath - The user provided Hardhat config file path.
50
+ * @param resolvedPlugins - The list of plugins, we do not want the plugins
51
+ * overwriting them so we re-add them to the final HardhatConfig.
52
+ * @returns Either an object containing the resolved HardhatConfig and the
53
+ * extended version of the user config, or a list of validation errors.
54
+ */
55
+ export declare function resolveUserConfigToHardhatConfig(inputUserConfig: HardhatUserConfig, hooks: HookManager, resolvedProjectRoot: string, userProvidedConfigPath: string | undefined, resolvedPlugins: HardhatPlugin[]): Promise<{
56
+ success: true;
57
+ config: HardhatConfig;
58
+ extendedUserConfig: HardhatUserConfig;
59
+ } | {
60
+ success: false;
61
+ userConfigValidationErrors: HardhatUserConfigValidationError[];
62
+ }>;
35
63
  //# sourceMappingURL=hre.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hre.d.ts","sourceRoot":"","sources":["../../../../src/internal/core/hre.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EAKd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,aAAa,EAEd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAiB5E,qBAAa,uCACX,YAAW,yBAAyB;aAsHlB,UAAU,EAAE,iBAAiB;aAC7B,MAAM,EAAE,aAAa;aACrB,KAAK,EAAE,WAAW;aAClB,aAAa,EAAE,uBAAuB;aACtC,aAAa,EAAE,aAAa;IArHvC,OAAO,EAAG,cAAc,CAAC;IACzB,SAAS,EAAG,eAAe,CAAC;IAC5B,QAAQ,EAAG,mBAAmB,CAAC;IAI/B,SAAS,EAAG,eAAe,CAAC;WAEf,MAAM,CACxB,eAAe,EAAE,iBAAiB,EAClC,yBAAyB,EAAE,OAAO,CAAC,aAAa,CAAC,EACjD,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,sCAAsC,GACrD,OAAO,CAAC,uCAAuC,CAAC;IAiGnD,SAAgB,KAAK,EAAE,WAAW,CAAC;IAEnC,OAAO;CAUR;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,yBAAyB,EAAE,MAAM,GAAG,SAAS,GAC5C,OAAO,CAAC,MAAM,CAAC,CAEjB"}
1
+ {"version":3,"file":"hre.d.ts","sourceRoot":"","sources":["../../../../src/internal/core/hre.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EAKd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,aAAa,EAEd,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,gCAAgC,EAEhC,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAmB5E,qBAAa,uCACX,YAAW,yBAAyB;aAwGlB,UAAU,EAAE,iBAAiB;aAC7B,MAAM,EAAE,aAAa;aACrB,KAAK,EAAE,WAAW;aAClB,aAAa,EAAE,uBAAuB;aACtC,aAAa,EAAE,aAAa;aAC5B,QAAQ,EAAE;QACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB;IA3GI,OAAO,EAAG,cAAc,CAAC;IACzB,SAAS,EAAG,eAAe,CAAC;IAC5B,QAAQ,EAAG,mBAAmB,CAAC;IAI/B,SAAS,EAAG,eAAe,CAAC;WAEf,MAAM,CACxB,eAAe,EAAE,iBAAiB,EAClC,yBAAyB,EAAE,OAAO,CAAC,aAAa,CAAC,EACjD,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,sCAAsC,GACrD,OAAO,CAAC,uCAAuC,CAAC;IAmFnD,SAAgB,KAAK,EAAE,WAAW,CAAC;IAEnC,OAAO;CAcR;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,yBAAyB,EAAE,MAAM,GAAG,SAAS,GAC5C,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,gCAAgC,CACpD,eAAe,EAAE,iBAAiB,EAClC,KAAK,EAAE,WAAW,EAClB,mBAAmB,EAAE,MAAM,EAC3B,sBAAsB,EAAE,MAAM,GAAG,SAAS,EAC1C,eAAe,EAAE,aAAa,EAAE,GAC/B,OAAO,CACN;IACE,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,kBAAkB,EAAE,iBAAiB,CAAC;CACvC,GACD;IACE,OAAO,EAAE,KAAK,CAAC;IACf,0BAA0B,EAAE,gCAAgC,EAAE,CAAC;CAChE,CACJ,CAyCA"}