hardhat 3.1.10 → 3.1.11

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 (186) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.d.ts +2 -2
  3. package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.d.ts.map +1 -1
  4. package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.js.map +1 -1
  5. package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.d.ts.map +1 -1
  6. package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.js.map +1 -1
  7. package/dist/src/internal/builtin-plugins/coverage/helpers.d.ts +3 -5
  8. package/dist/src/internal/builtin-plugins/coverage/helpers.d.ts.map +1 -1
  9. package/dist/src/internal/builtin-plugins/coverage/helpers.js +7 -19
  10. package/dist/src/internal/builtin-plugins/coverage/helpers.js.map +1 -1
  11. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/test.d.ts +7 -0
  12. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/test.d.ts.map +1 -0
  13. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/test.js +42 -0
  14. package/dist/src/internal/builtin-plugins/coverage/hook-handlers/test.js.map +1 -0
  15. package/dist/src/internal/builtin-plugins/coverage/index.d.ts.map +1 -1
  16. package/dist/src/internal/builtin-plugins/coverage/index.js +1 -0
  17. package/dist/src/internal/builtin-plugins/coverage/index.js.map +1 -1
  18. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts +3 -5
  19. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts.map +1 -1
  20. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js +7 -19
  21. package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js.map +1 -1
  22. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.d.ts +7 -0
  23. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.d.ts.map +1 -0
  24. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.js +42 -0
  25. package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.js.map +1 -0
  26. package/dist/src/internal/builtin-plugins/gas-analytics/index.d.ts.map +1 -1
  27. package/dist/src/internal/builtin-plugins/gas-analytics/index.js +1 -0
  28. package/dist/src/internal/builtin-plugins/gas-analytics/index.js.map +1 -1
  29. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts.map +1 -1
  30. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js +17 -20
  31. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js.map +1 -1
  32. package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-generation-errors.d.ts +1 -1
  33. package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-generation-errors.d.ts.map +1 -1
  34. package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-generation-errors.js +2 -2
  35. package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-generation-errors.js.map +1 -1
  36. package/dist/src/internal/builtin-plugins/network-manager/edr/type-validation.d.ts +0 -2
  37. package/dist/src/internal/builtin-plugins/network-manager/edr/type-validation.d.ts.map +1 -1
  38. package/dist/src/internal/builtin-plugins/network-manager/edr/type-validation.js +0 -6
  39. package/dist/src/internal/builtin-plugins/network-manager/edr/type-validation.js.map +1 -1
  40. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.d.ts +1 -3
  41. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.d.ts.map +1 -1
  42. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js +0 -49
  43. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js.map +1 -1
  44. package/dist/src/internal/builtin-plugins/solidity/build-results.d.ts +2 -2
  45. package/dist/src/internal/builtin-plugins/solidity/build-results.d.ts.map +1 -1
  46. package/dist/src/internal/builtin-plugins/solidity/build-results.js +2 -2
  47. package/dist/src/internal/builtin-plugins/solidity/build-results.js.map +1 -1
  48. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts +1 -0
  49. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts.map +1 -1
  50. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js +13 -5
  51. package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js.map +1 -1
  52. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.js +1 -1
  53. package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.js.map +1 -1
  54. package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph.d.ts +1 -1
  55. package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph.js +1 -1
  56. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.d.ts +2 -1
  57. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.d.ts.map +1 -1
  58. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.d.ts +13 -1
  59. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.d.ts.map +1 -1
  60. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.js +30 -5
  61. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.js.map +1 -1
  62. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/types.d.ts +3 -12
  63. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/types.d.ts.map +1 -1
  64. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/types.js.map +1 -1
  65. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/utils.d.ts +1 -1
  66. package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/utils.d.ts.map +1 -1
  67. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.d.ts +8 -6
  68. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.d.ts.map +1 -1
  69. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.js +103 -27
  70. package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.js.map +1 -1
  71. package/dist/src/internal/builtin-plugins/solidity/config.js +2 -2
  72. package/dist/src/internal/builtin-plugins/solidity/config.js.map +1 -1
  73. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.d.ts.map +1 -1
  74. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.js +5 -0
  75. package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.js.map +1 -1
  76. package/dist/src/internal/builtin-plugins/solidity/tasks/build.js +1 -1
  77. package/dist/src/internal/builtin-plugins/solidity/tasks/build.js.map +1 -1
  78. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.d.ts +1 -1
  79. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.d.ts.map +1 -1
  80. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js +1 -1
  81. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js.map +1 -1
  82. package/dist/src/internal/builtin-plugins/solidity-test/runner.d.ts +1 -1
  83. package/dist/src/internal/builtin-plugins/solidity-test/runner.js +1 -1
  84. package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts.map +1 -1
  85. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +16 -27
  86. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
  87. package/dist/src/internal/builtin-plugins/telemetry/task-action.d.ts.map +1 -1
  88. package/dist/src/internal/builtin-plugins/telemetry/task-action.js +3 -2
  89. package/dist/src/internal/builtin-plugins/telemetry/task-action.js.map +1 -1
  90. package/dist/src/internal/builtin-plugins/test/task-action.d.ts.map +1 -1
  91. package/dist/src/internal/builtin-plugins/test/task-action.js +40 -13
  92. package/dist/src/internal/builtin-plugins/test/task-action.js.map +1 -1
  93. package/dist/src/internal/builtin-plugins/test/type-extensions.d.ts +27 -0
  94. package/dist/src/internal/builtin-plugins/test/type-extensions.d.ts.map +1 -1
  95. package/dist/src/internal/cli/banner-manager.d.ts +26 -0
  96. package/dist/src/internal/cli/banner-manager.d.ts.map +1 -0
  97. package/dist/src/internal/cli/banner-manager.js +146 -0
  98. package/dist/src/internal/cli/banner-manager.js.map +1 -0
  99. package/dist/src/internal/cli/init/init.d.ts.map +1 -1
  100. package/dist/src/internal/cli/init/init.js +8 -0
  101. package/dist/src/internal/cli/init/init.js.map +1 -1
  102. package/dist/src/internal/cli/main.d.ts.map +1 -1
  103. package/dist/src/internal/cli/main.js +18 -1
  104. package/dist/src/internal/cli/main.js.map +1 -1
  105. package/dist/src/internal/cli/telemetry/analytics/subprocess.js +2 -0
  106. package/dist/src/internal/cli/telemetry/analytics/subprocess.js.map +1 -1
  107. package/dist/src/internal/cli/telemetry/sentry/anonymize-paths.js +1 -1
  108. package/dist/src/internal/cli/telemetry/sentry/vendor/integrations/contextlines.d.ts +1 -1
  109. package/dist/src/internal/cli/telemetry/sentry/vendor/integrations/contextlines.d.ts.map +1 -1
  110. package/dist/src/internal/cli/telemetry/sentry/vendor/integrations/contextlines.js +47 -38
  111. package/dist/src/internal/cli/telemetry/sentry/vendor/integrations/contextlines.js.map +1 -1
  112. package/dist/src/internal/core/user-interruptions.js +1 -1
  113. package/dist/src/types/artifacts.d.ts +32 -3
  114. package/dist/src/types/artifacts.d.ts.map +1 -1
  115. package/dist/src/types/network.d.ts +1 -1
  116. package/dist/src/types/solidity/build-system.d.ts +56 -10
  117. package/dist/src/types/solidity/build-system.d.ts.map +1 -1
  118. package/dist/src/types/solidity/build-system.js +26 -2
  119. package/dist/src/types/solidity/build-system.js.map +1 -1
  120. package/dist/src/types/solidity/resolved-file.d.ts +2 -2
  121. package/dist/src/types/tasks.d.ts +8 -0
  122. package/dist/src/types/tasks.d.ts.map +1 -1
  123. package/dist/src/types/tasks.js.map +1 -1
  124. package/dist/src/types/test.d.ts +11 -0
  125. package/dist/src/types/test.d.ts.map +1 -1
  126. package/dist/src/types/utils.d.ts +16 -0
  127. package/dist/src/types/utils.d.ts.map +1 -1
  128. package/dist/src/utils/result.d.ts +33 -0
  129. package/dist/src/utils/result.d.ts.map +1 -0
  130. package/dist/src/utils/result.js +43 -0
  131. package/dist/src/utils/result.js.map +1 -0
  132. package/package.json +4 -3
  133. package/src/internal/builtin-plugins/artifacts/artifact-manager.ts +4 -1
  134. package/src/internal/builtin-plugins/artifacts/hook-handlers/hre.ts +4 -1
  135. package/src/internal/builtin-plugins/coverage/helpers.ts +11 -29
  136. package/src/internal/builtin-plugins/coverage/hook-handlers/test.ts +68 -0
  137. package/src/internal/builtin-plugins/coverage/index.ts +1 -0
  138. package/src/internal/builtin-plugins/gas-analytics/helpers.ts +11 -29
  139. package/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.ts +68 -0
  140. package/src/internal/builtin-plugins/gas-analytics/index.ts +1 -0
  141. package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +21 -28
  142. package/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-generation-errors.ts +5 -2
  143. package/src/internal/builtin-plugins/network-manager/edr/type-validation.ts +0 -13
  144. package/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.ts +0 -64
  145. package/src/internal/builtin-plugins/solidity/build-results.ts +3 -1
  146. package/src/internal/builtin-plugins/solidity/build-system/build-system.ts +15 -5
  147. package/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.ts +1 -1
  148. package/src/internal/builtin-plugins/solidity/build-system/dependency-graph.ts +1 -1
  149. package/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.ts +1 -1
  150. package/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.ts +36 -6
  151. package/src/internal/builtin-plugins/solidity/build-system/resolver/types.ts +3 -9
  152. package/src/internal/builtin-plugins/solidity/build-system/resolver/utils.ts +1 -1
  153. package/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.ts +125 -28
  154. package/src/internal/builtin-plugins/solidity/config.ts +2 -2
  155. package/src/internal/builtin-plugins/solidity/hook-handlers/hre.ts +8 -0
  156. package/src/internal/builtin-plugins/solidity/tasks/build.ts +1 -1
  157. package/src/internal/builtin-plugins/solidity-test/edr-artifacts.ts +2 -2
  158. package/src/internal/builtin-plugins/solidity-test/runner.ts +1 -1
  159. package/src/internal/builtin-plugins/solidity-test/task-action.ts +36 -38
  160. package/src/internal/builtin-plugins/telemetry/task-action.ts +4 -2
  161. package/src/internal/builtin-plugins/test/task-action.ts +71 -25
  162. package/src/internal/builtin-plugins/test/type-extensions.ts +42 -0
  163. package/src/internal/cli/banner-manager.ts +234 -0
  164. package/src/internal/cli/init/init.ts +8 -0
  165. package/src/internal/cli/main.ts +19 -1
  166. package/src/internal/cli/telemetry/analytics/subprocess.ts +2 -0
  167. package/src/internal/cli/telemetry/sentry/anonymize-paths.ts +1 -1
  168. package/src/internal/cli/telemetry/sentry/vendor/integrations/contextlines.ts +98 -50
  169. package/src/internal/core/user-interruptions.ts +1 -1
  170. package/src/types/artifacts.ts +40 -3
  171. package/src/types/hre.ts +1 -1
  172. package/src/types/network.ts +1 -1
  173. package/src/types/solidity/build-system.ts +75 -14
  174. package/src/types/solidity/resolved-file.ts +2 -2
  175. package/src/types/tasks.ts +10 -0
  176. package/src/types/test.ts +12 -0
  177. package/src/types/utils.ts +14 -0
  178. package/src/utils/result.ts +57 -0
  179. package/templates/hardhat-3/01-node-test-runner-viem/package.json +9 -9
  180. package/templates/hardhat-3/02-mocha-ethers/package.json +10 -10
  181. package/templates/hardhat-3/03-minimal/package.json +1 -1
  182. package/dist/src/internal/builtin-plugins/network-manager/edr/types/output.d.ts +0 -19
  183. package/dist/src/internal/builtin-plugins/network-manager/edr/types/output.d.ts.map +0 -1
  184. package/dist/src/internal/builtin-plugins/network-manager/edr/types/output.js +0 -2
  185. package/dist/src/internal/builtin-plugins/network-manager/edr/types/output.js.map +0 -1
  186. package/src/internal/builtin-plugins/network-manager/edr/types/output.ts +0 -19
@@ -57,7 +57,7 @@ export type RunCompilationJobOptions = Pick<BuildOptions, "quiet" | "buildProfil
57
57
  */
58
58
  export interface CompileBuildInfoOptions {
59
59
  /**
60
- * If `true`, this option foces the build system to recompile the build info,
60
+ * If `true`, this option forces the build system to recompile the build info,
61
61
  * even if its output is cached.
62
62
  */
63
63
  force?: boolean;
@@ -67,33 +67,67 @@ export interface CompileBuildInfoOptions {
67
67
  quiet?: boolean;
68
68
  }
69
69
  export declare enum CompilationJobCreationErrorReason {
70
- NO_COMPATIBLE_SOLC_VERSION_FOUND = "NO_COMPATIBLE_SOLC_VERSION_FOUND",
70
+ /**
71
+ * The root file's own pragmas are incompatible with all configured compilers.
72
+ */
71
73
  NO_COMPATIBLE_SOLC_VERSION_WITH_ROOT = "NO_COMPATIBLE_SOLC_VERSION_WITH_ROOT",
74
+ /**
75
+ * A dependency's own pragmas are incompatible with all configured compilers.
76
+ */
77
+ NO_COMPATIBLE_SOLC_VERSION_WITH_DEPENDENCY = "NO_COMPATIBLE_SOLC_VERSION_WITH_DEPENDENCY",
78
+ /**
79
+ * Root and a transitive import path have contradictory pragmas (invalid range / empty intersection).
80
+ */
81
+ IMPORT_OF_INCOMPATIBLE_FILE = "IMPORT_OF_INCOMPATIBLE_FILE",
82
+ /**
83
+ * Root and a transitive import path have a valid range but no configured compiler satisfies it.
84
+ */
85
+ NO_COMPATIBLE_SOLC_VERSION_FOR_TRANSITIVE_IMPORT_PATH = "NO_COMPATIBLE_SOLC_VERSION_FOR_TRANSITIVE_IMPORT_PATH",
86
+ /**
87
+ * The override version doesn't satisfy the root file's own pragmas.
88
+ */
72
89
  INCOMPATIBLE_OVERRIDDEN_SOLC_VERSION = "INCOMPATIBLE_OVERRIDDEN_SOLC_VERSION",
73
- IMPORT_OF_INCOMPATIBLE_FILE = "IMPORT_OF_INCOMPATIBLE_FILE"
90
+ /**
91
+ * A dependency's pragmas are incompatible with the override version.
92
+ */
93
+ OVERRIDDEN_SOLC_VERSION_INCOMPATIBLE_WITH_DEPENDENCY = "OVERRIDDEN_SOLC_VERSION_INCOMPATIBLE_WITH_DEPENDENCY",
94
+ /**
95
+ * Generic fallback — no single compiler works for root + all dependencies.
96
+ */
97
+ NO_COMPATIBLE_SOLC_VERSION_FOUND = "NO_COMPATIBLE_SOLC_VERSION_FOUND"
74
98
  }
75
99
  export interface BaseCompilationJobCreationError {
100
+ success: false;
76
101
  buildProfile: string;
77
102
  rootFilePath: string;
78
103
  formattedReason: string;
79
104
  }
80
- export interface CompilationJobCreationErrorNoCompatibleSolcVersionFound extends BaseCompilationJobCreationError {
105
+ export interface CompilationJobCreationErrorNoCompatibleSolcVersionWithRoot extends BaseCompilationJobCreationError {
81
106
  reason: CompilationJobCreationErrorReason.NO_COMPATIBLE_SOLC_VERSION_WITH_ROOT;
82
107
  }
83
- export interface CompilationJobCreationErrorIncompatibleOverriddenSolcVersion extends BaseCompilationJobCreationError {
84
- reason: CompilationJobCreationErrorReason.INCOMPATIBLE_OVERRIDDEN_SOLC_VERSION;
108
+ export interface CompilationJobCreationErrorNoCompatibleSolcVersionWithDependency extends BaseCompilationJobCreationError {
109
+ reason: CompilationJobCreationErrorReason.NO_COMPATIBLE_SOLC_VERSION_WITH_DEPENDENCY;
110
+ incompatibleImportPath: string[];
111
+ }
112
+ export interface CompilationJobCreationErrorImportOfIncompatibleFile extends BaseCompilationJobCreationError {
113
+ reason: CompilationJobCreationErrorReason.IMPORT_OF_INCOMPATIBLE_FILE;
114
+ incompatibleImportPath: string[];
115
+ }
116
+ export interface CompilationJobCreationErrorNoCompatibleSolcVersionForTransitiveImportPath extends BaseCompilationJobCreationError {
117
+ reason: CompilationJobCreationErrorReason.NO_COMPATIBLE_SOLC_VERSION_FOR_TRANSITIVE_IMPORT_PATH;
118
+ incompatibleImportPath: string[];
85
119
  }
86
120
  export interface CompilationJobCreationErrorIncompatibleOverriddenSolcVersion extends BaseCompilationJobCreationError {
87
121
  reason: CompilationJobCreationErrorReason.INCOMPATIBLE_OVERRIDDEN_SOLC_VERSION;
88
122
  }
89
- export interface CompilationJobCreationErrorIportOfIncompatibleFile extends BaseCompilationJobCreationError {
90
- reason: CompilationJobCreationErrorReason.IMPORT_OF_INCOMPATIBLE_FILE;
123
+ export interface CompilationJobCreationErrorOverriddenSolcVersionIncompatibleWithDependency extends BaseCompilationJobCreationError {
124
+ reason: CompilationJobCreationErrorReason.OVERRIDDEN_SOLC_VERSION_INCOMPATIBLE_WITH_DEPENDENCY;
91
125
  incompatibleImportPath: string[];
92
126
  }
93
- export interface NoCompatibleSolcVersionFound extends BaseCompilationJobCreationError {
127
+ export interface CompilationJobCreationErrorNoCompatibleSolcVersionFound extends BaseCompilationJobCreationError {
94
128
  reason: CompilationJobCreationErrorReason.NO_COMPATIBLE_SOLC_VERSION_FOUND;
95
129
  }
96
- export type CompilationJobCreationError = CompilationJobCreationErrorNoCompatibleSolcVersionFound | CompilationJobCreationErrorIportOfIncompatibleFile | CompilationJobCreationErrorIncompatibleOverriddenSolcVersion | NoCompatibleSolcVersionFound;
130
+ export type CompilationJobCreationError = CompilationJobCreationErrorNoCompatibleSolcVersionWithRoot | CompilationJobCreationErrorNoCompatibleSolcVersionWithDependency | CompilationJobCreationErrorImportOfIncompatibleFile | CompilationJobCreationErrorNoCompatibleSolcVersionForTransitiveImportPath | CompilationJobCreationErrorIncompatibleOverriddenSolcVersion | CompilationJobCreationErrorOverriddenSolcVersionIncompatibleWithDependency | CompilationJobCreationErrorNoCompatibleSolcVersionFound;
97
131
  /**
98
132
  * The restult of building a file.
99
133
  */
@@ -129,6 +163,10 @@ export interface CacheHitInfo {
129
163
  * The keys in the maps of this interface are Root File Paths, which means either absolute paths or `npm:<package>/<file>` URIs.
130
164
  */
131
165
  export interface GetCompilationJobsResult {
166
+ /**
167
+ * A flag to distinguish between a successful and a failed result.
168
+ */
169
+ success: true;
132
170
  /**
133
171
  * Map from root file path to compilation job for files that need compilation.
134
172
  */
@@ -191,8 +229,16 @@ export interface SolidityBuildSystem {
191
229
  * @param options The options to use when building the files.
192
230
  * @returns An `Map` of the files to their build results, or an error if
193
231
  * there was a problem when trying to create the necessary compilation jobs.
232
+ * @see `isSuccessfulBuildResult` to check if the build result is successful.
194
233
  */
195
234
  build(rootFilePaths: string[], options?: BuildOptions): Promise<CompilationJobCreationError | Map<string, FileBuildResult>>;
235
+ /**
236
+ * Returns true if the given build result is successful.
237
+ *
238
+ * @param buildResult Result of the `build` method.
239
+ * @returns True if the build result is successful.
240
+ */
241
+ isSuccessfulBuildResult(buildResult: CompilationJobCreationError | Map<string, FileBuildResult>): buildResult is Map<string, FileBuildResult>;
196
242
  /**
197
243
  * Returns the CompilationJobs that would be used to build the provided files.
198
244
  *
@@ -1 +1 @@
1
- {"version":3,"file":"build-system.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-system.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,33 @@
1
1
  export var CompilationJobCreationErrorReason;
2
2
  (function (CompilationJobCreationErrorReason) {
3
- CompilationJobCreationErrorReason["NO_COMPATIBLE_SOLC_VERSION_FOUND"] = "NO_COMPATIBLE_SOLC_VERSION_FOUND";
3
+ /**
4
+ * The root file's own pragmas are incompatible with all configured compilers.
5
+ */
4
6
  CompilationJobCreationErrorReason["NO_COMPATIBLE_SOLC_VERSION_WITH_ROOT"] = "NO_COMPATIBLE_SOLC_VERSION_WITH_ROOT";
5
- CompilationJobCreationErrorReason["INCOMPATIBLE_OVERRIDDEN_SOLC_VERSION"] = "INCOMPATIBLE_OVERRIDDEN_SOLC_VERSION";
7
+ /**
8
+ * A dependency's own pragmas are incompatible with all configured compilers.
9
+ */
10
+ CompilationJobCreationErrorReason["NO_COMPATIBLE_SOLC_VERSION_WITH_DEPENDENCY"] = "NO_COMPATIBLE_SOLC_VERSION_WITH_DEPENDENCY";
11
+ /**
12
+ * Root and a transitive import path have contradictory pragmas (invalid range / empty intersection).
13
+ */
6
14
  CompilationJobCreationErrorReason["IMPORT_OF_INCOMPATIBLE_FILE"] = "IMPORT_OF_INCOMPATIBLE_FILE";
15
+ /**
16
+ * Root and a transitive import path have a valid range but no configured compiler satisfies it.
17
+ */
18
+ CompilationJobCreationErrorReason["NO_COMPATIBLE_SOLC_VERSION_FOR_TRANSITIVE_IMPORT_PATH"] = "NO_COMPATIBLE_SOLC_VERSION_FOR_TRANSITIVE_IMPORT_PATH";
19
+ /**
20
+ * The override version doesn't satisfy the root file's own pragmas.
21
+ */
22
+ CompilationJobCreationErrorReason["INCOMPATIBLE_OVERRIDDEN_SOLC_VERSION"] = "INCOMPATIBLE_OVERRIDDEN_SOLC_VERSION";
23
+ /**
24
+ * A dependency's pragmas are incompatible with the override version.
25
+ */
26
+ CompilationJobCreationErrorReason["OVERRIDDEN_SOLC_VERSION_INCOMPATIBLE_WITH_DEPENDENCY"] = "OVERRIDDEN_SOLC_VERSION_INCOMPATIBLE_WITH_DEPENDENCY";
27
+ /**
28
+ * Generic fallback — no single compiler works for root + all dependencies.
29
+ */
30
+ CompilationJobCreationErrorReason["NO_COMPATIBLE_SOLC_VERSION_FOUND"] = "NO_COMPATIBLE_SOLC_VERSION_FOUND";
7
31
  })(CompilationJobCreationErrorReason || (CompilationJobCreationErrorReason = {}));
8
32
  /**
9
33
  * The restult of building a file.
@@ -1 +1 @@
1
- {"version":3,"file":"build-system.js","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"AAqFA,MAAM,CAAN,IAAY,iCAKX;AALD,WAAY,iCAAiC;IAC3C,0GAAqE,CAAA;IACrE,kHAA6E,CAAA;IAC7E,kHAA6E,CAAA;IAC7E,gGAA2D,CAAA;AAC7D,CAAC,EALW,iCAAiC,KAAjC,iCAAiC,QAK5C;AA0CD;;GAEG;AACH,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,8CAAuB,CAAA;IACvB,sDAA+B,CAAA;IAC/B,sDAA+B,CAAA;AACjC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B"}
1
+ {"version":3,"file":"build-system.js","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"AAqFA,MAAM,CAAN,IAAY,iCAmCX;AAnCD,WAAY,iCAAiC;IAC3C;;OAEG;IACH,kHAA6E,CAAA;IAE7E;;OAEG;IACH,8HAAyF,CAAA;IAEzF;;OAEG;IACH,gGAA2D,CAAA;IAE3D;;OAEG;IACH,oJAA+G,CAAA;IAE/G;;OAEG;IACH,kHAA6E,CAAA;IAE7E;;OAEG;IACH,kJAA6G,CAAA;IAE7G;;OAEG;IACH,0GAAqE,CAAA;AACvE,CAAC,EAnCW,iCAAiC,KAAjC,iCAAiC,QAmC5C;AAyDD;;GAEG;AACH,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,8CAAuB,CAAA;IACvB,sDAA+B,CAAA;IAC/B,sDAA+B,CAAA;AACjC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export interface ResolvedNpmPackage {
5
5
  /**
6
- * The name of the package, potentially scopde.
6
+ * The name of the package, potentially scoped.
7
7
  */
8
8
  name: string;
9
9
  /**
@@ -87,7 +87,7 @@ export interface NpmPackageResolvedFile {
87
87
  package: ResolvedNpmPackage;
88
88
  }
89
89
  /**
90
- * The resolult of resolving a file or import using a Resolver.
90
+ * The result of resolving a file or import using a Resolver.
91
91
  */
92
92
  export type ResolvedFile = ProjectResolvedFile | NpmPackageResolvedFile;
93
93
  /**
@@ -147,6 +147,10 @@ export interface NewTaskDefinitionBuilder<TaskArgumentsT extends TaskArguments =
147
147
  *
148
148
  * This method cannot be used together with {@link setInlineAction} on the same
149
149
  * task. Use one or the other.
150
+ *
151
+ * Task actions may return a {@link Result} to signal success or failure.
152
+ * If a task returns a failed `Result`, the CLI will set the process exit code
153
+ * to 1.
150
154
  */
151
155
  setAction(action: LazyActionObject<NewTaskActionFunction<TaskArgumentsT>>): NewTaskDefinitionBuilder<TaskArgumentsT, "LAZY_ACTION">;
152
156
  /**
@@ -160,6 +164,10 @@ export interface NewTaskDefinitionBuilder<TaskArgumentsT extends TaskArguments =
160
164
  *
161
165
  * This method cannot be used together with {@link setAction} on the same
162
166
  * task. Use one or the other.
167
+ *
168
+ * Task actions may return a {@link Result} to signal success or failure.
169
+ * If a task returns a failed `Result`, the CLI will set the process exit code
170
+ * to 1.
163
171
  */
164
172
  setInlineAction(inlineAction: NewTaskActionFunction<TaskArgumentsT>): NewTaskDefinitionBuilder<TaskArgumentsT, "INLINE_ACTION">;
165
173
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../src/types/tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../src/types/tasks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/types/tasks.ts"],"names":[],"mappings":"AAoEA;;GAEG;AACH,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,2CAAqB,CAAA;IACrB,qDAA+B,CAAA;AACjC,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../src/types/tasks.ts"],"names":[],"mappings":"AAsEA;;GAEG;AACH,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,2CAAqB,CAAA;IACrB,qDAA+B,CAAA;AACjC,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B"}
@@ -2,4 +2,15 @@ export interface HardhatTestUserConfig {
2
2
  }
3
3
  export interface HardhatTestConfig {
4
4
  }
5
+ /**
6
+ * Summary of a test run, containing counts of test outcomes and optional
7
+ * failure output.
8
+ */
9
+ export interface TestSummary {
10
+ failed: number;
11
+ passed: number;
12
+ skipped: number;
13
+ todo: number;
14
+ failureOutput?: string;
15
+ }
5
16
  //# sourceMappingURL=test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/types/test.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;CAAG;AAIzC,MAAM,WAAW,iBAAiB;CAAG"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/types/test.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;CAAG;AAIzC,MAAM,WAAW,iBAAiB;CAAG;AAErC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -28,4 +28,20 @@ export type Return<T> = T extends (...args: any[]) => infer Ret ? Ret : never;
28
28
  export type RequireField<T, K extends keyof T> = T & {
29
29
  [P in K]-?: T[P];
30
30
  };
31
+ /**
32
+ * A result that can either have a value or an error.
33
+ */
34
+ export type Result<ValueT, ErrorT> = {
35
+ readonly success: true;
36
+ readonly value: ValueT;
37
+ } | {
38
+ readonly success: false;
39
+ readonly error: ErrorT;
40
+ };
41
+ /**
42
+ * Returns the keys of T tht don't map to never.
43
+ */
44
+ export type NonNeverKeys<T> = {
45
+ [K in keyof T]: T[K] extends never ? never : K;
46
+ }[keyof T];
31
47
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/types/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,CAC/C,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,KACvB,GAAG,GACJ,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS,CAC9C,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,KACvB,GAAG,GACJ,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,4BAA4B,CAAC,CAAC,IAAI,CAAC,SAAS,CACtD,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,KAC5B,GAAG,GACJ,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CACvC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,MAAM,IAAI,CAAC,KAC/B,GAAG,GACJ,IAAI,GACJ,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG;KAClD,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACjB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/types/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS,CAC/C,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,KACvB,GAAG,GACJ,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS,CAC9C,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,KACvB,GAAG,GACJ,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,4BAA4B,CAAC,CAAC,IAAI,CAAC,SAAS,CACtD,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,KAC5B,GAAG,GACJ,CAAC,GACD,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CACvC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,MAAM,IAAI,CAAC,KAC/B,GAAG,GACJ,IAAI,GACJ,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG;KAClD,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,IAC7B;IAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC;CAC/C,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { Result } from "../types/utils.js";
2
+ /**
3
+ * Creates a successful Result with the given value.
4
+ *
5
+ * @param value The value to include in the result.
6
+ * @returns A Result with success: true and the given value.
7
+ */
8
+ export declare function successfulResult<ValueT = undefined>(...args: ValueT extends undefined | void ? [] : [value: ValueT]): {
9
+ success: true;
10
+ value: ValueT;
11
+ };
12
+ /**
13
+ * Creates a failed Result with the given error.
14
+ *
15
+ * @param error The error to include in the result.
16
+ * @returns A Result with success: false and the given error.
17
+ */
18
+ export declare function errorResult<ErrorT = undefined>(...args: ErrorT extends undefined | void ? [] : [error: ErrorT]): {
19
+ success: false;
20
+ error: ErrorT;
21
+ };
22
+ /**
23
+ * A type guard that checks if a value is a Result.
24
+ *
25
+ * Optionally validates the value and error fields using type guard functions.
26
+ *
27
+ * @param value The value to check.
28
+ * @param isValue Optional type guard for the value field.
29
+ * @param isError Optional type guard for the error field.
30
+ * @returns true if the value is a Result.
31
+ */
32
+ export declare function isResult<ValueT = unknown, ErrorT = unknown>(value: unknown, isValue?: (v: unknown) => v is ValueT, isError?: (e: unknown) => e is ErrorT): value is Result<ValueT, ErrorT>;
33
+ //# sourceMappingURL=result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/utils/result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIhD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,GAAG,SAAS,EACjD,GAAG,IAAI,EAAE,MAAM,SAAS,SAAS,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAC9D;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAIlC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,GAAG,SAAS,EAC5C,GAAG,IAAI,EAAE,MAAM,SAAS,SAAS,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAC9D;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAInC;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,GAAG,OAAO,EACzD,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,IAAI,MAAM,EACrC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,IAAI,MAAM,GACpC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUjC"}
@@ -0,0 +1,43 @@
1
+ import { isObject } from "@nomicfoundation/hardhat-utils/lang";
2
+ /**
3
+ * Creates a successful Result with the given value.
4
+ *
5
+ * @param value The value to include in the result.
6
+ * @returns A Result with success: true and the given value.
7
+ */
8
+ export function successfulResult(...args) {
9
+ /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions
10
+ -- Cast needed because TS loses the conditional rest parameter context */
11
+ return { success: true, value: args[0] };
12
+ }
13
+ /**
14
+ * Creates a failed Result with the given error.
15
+ *
16
+ * @param error The error to include in the result.
17
+ * @returns A Result with success: false and the given error.
18
+ */
19
+ export function errorResult(...args) {
20
+ /* eslint-disable-next-line @typescript-eslint/consistent-type-assertions
21
+ -- Cast needed because TS loses the conditional rest parameter context */
22
+ return { success: false, error: args[0] };
23
+ }
24
+ /**
25
+ * A type guard that checks if a value is a Result.
26
+ *
27
+ * Optionally validates the value and error fields using type guard functions.
28
+ *
29
+ * @param value The value to check.
30
+ * @param isValue Optional type guard for the value field.
31
+ * @param isError Optional type guard for the error field.
32
+ * @returns true if the value is a Result.
33
+ */
34
+ export function isResult(value, isValue, isError) {
35
+ if (!isObject(value) || typeof value.success !== "boolean") {
36
+ return false;
37
+ }
38
+ if (value.success === true) {
39
+ return "value" in value && (isValue === undefined || isValue(value.value));
40
+ }
41
+ return "error" in value && (isError === undefined || isError(value.error));
42
+ }
43
+ //# sourceMappingURL=result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/utils/result.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAG,IAA4D;IAE/D;6EACyE;IACzE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAW,EAAE,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,GAAG,IAA4D;IAE/D;6EACyE;IACzE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAW,EAAE,CAAC;AACtD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAc,EACd,OAAqC,EACrC,OAAqC;IAErC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,OAAO,IAAI,KAAK,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,OAAO,IAAI,KAAK,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat",
3
- "version": "3.1.10",
3
+ "version": "3.1.11",
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://github.com/nomicfoundation/hardhat/tree/v-next/v-next/hardhat",
6
6
  "repository": {
@@ -40,6 +40,7 @@
40
40
  "./internal/coverage": "./dist/src/internal/builtin-plugins/coverage/exports.js",
41
41
  "./internal/gas-analytics": "./dist/src/internal/builtin-plugins/gas-analytics/exports.js",
42
42
  "./utils/contract-names": "./dist/src/utils/contract-names.js",
43
+ "./utils/result": "./dist/src/utils/result.js",
43
44
  "./types/runtime": "./dist/src/internal/deprecated-module-imported-from-hardhat2-plugin.js",
44
45
  "./builtin-tasks/task-names": "./dist/src/internal/deprecated-module-imported-from-hardhat2-plugin.js",
45
46
  "./internal/artifacts": "./dist/src/internal/deprecated-module-imported-from-hardhat2-plugin.js"
@@ -75,11 +76,11 @@
75
76
  "@nomicfoundation/hardhat-test-utils": "^2.0.2"
76
77
  },
77
78
  "dependencies": {
78
- "@nomicfoundation/edr": "0.12.0-next.24",
79
+ "@nomicfoundation/edr": "0.12.0-next.27",
79
80
  "@nomicfoundation/hardhat-errors": "^3.0.7",
80
81
  "@nomicfoundation/hardhat-utils": "^4.0.0",
81
82
  "@nomicfoundation/hardhat-vendored": "^3.0.1",
82
- "@nomicfoundation/hardhat-zod-utils": "^3.0.2",
83
+ "@nomicfoundation/hardhat-zod-utils": "^3.0.3",
83
84
  "@nomicfoundation/solidity-analyzer": "^0.1.1",
84
85
  "@sentry/core": "^9.4.0",
85
86
  "adm-zip": "^0.4.16",
@@ -1,6 +1,7 @@
1
1
  import type {
2
2
  ArtifactManager,
3
3
  GetArtifactByName,
4
+ StringWithArtifactContractNamesAutocompletion,
4
5
  } from "../../../types/artifacts.js";
5
6
 
6
7
  import { EOL } from "node:os";
@@ -47,7 +48,9 @@ export class ArtifactManagerImplementation implements ArtifactManager {
47
48
  this.#readFsData = readFsData ?? (() => this.#readFsDataFromFileSystem());
48
49
  }
49
50
 
50
- public async readArtifact<ContractNameT extends string>(
51
+ public async readArtifact<
52
+ ContractNameT extends StringWithArtifactContractNamesAutocompletion,
53
+ >(
51
54
  contractNameOrFullyQualifiedName: ContractNameT,
52
55
  ): Promise<GetArtifactByName<ContractNameT>> {
53
56
  const artifactPath = await this.getArtifactPath(
@@ -1,6 +1,7 @@
1
1
  import type {
2
2
  ArtifactManager,
3
3
  GetArtifactByName,
4
+ StringWithArtifactContractNamesAutocompletion,
4
5
  } from "../../../../types/artifacts.js";
5
6
  import type { HardhatRuntimeEnvironmentHooks } from "../../../../types/hooks.js";
6
7
 
@@ -13,7 +14,9 @@ class LazyArtifactManager implements ArtifactManager {
13
14
  this.#artifactsPath = artifactsPath;
14
15
  }
15
16
 
16
- public async readArtifact<ContractNameT extends string>(
17
+ public async readArtifact<
18
+ ContractNameT extends StringWithArtifactContractNamesAutocompletion,
19
+ >(
17
20
  contractNameOrFullyQualifiedName: ContractNameT,
18
21
  ): Promise<GetArtifactByName<ContractNameT>> {
19
22
  const artifactManager = await this.#getArtifactManager();
@@ -1,50 +1,32 @@
1
1
  import path from "node:path";
2
2
 
3
- import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
4
-
5
- import { HardhatRuntimeEnvironmentImplementation } from "../../core/hre.js";
3
+ import {
4
+ testRunDone,
5
+ testRunStart,
6
+ testWorkerDone,
7
+ } from "./hook-handlers/test.js";
6
8
 
7
9
  export function getCoveragePath(rootPath: string): string {
8
10
  return path.join(rootPath, "coverage");
9
11
  }
10
12
 
11
13
  /**
12
- * NOTE: The following helpers interact with the global HRE instance only;
13
- * This is OK because:
14
- * - They are intended for the internal use only. They are exposed via the
15
- * internal public API only.
16
- * - We know the HRE has been initialized by the time they are used.
14
+ * The following helpers are kept for backward compatibility with older versions
15
+ * of test runner plugins (hardhat-mocha, hardhat-node-test-runner) that import
16
+ * from "hardhat/internal/coverage".
17
17
  */
18
18
 
19
19
  export async function markTestRunStart(id: string): Promise<void> {
20
20
  const { default: hre } = await import("../../../index.js");
21
- if (hre.globalOptions.coverage === true) {
22
- assertHardhatInvariant(
23
- hre instanceof HardhatRuntimeEnvironmentImplementation,
24
- "Expected HRE to be an instance of HardhatRuntimeEnvironmentImplementation",
25
- );
26
- await hre._coverage.clearData(id);
27
- }
21
+ await testRunStart(hre, id);
28
22
  }
29
23
 
30
24
  export async function markTestWorkerDone(id: string): Promise<void> {
31
25
  const { default: hre } = await import("../../../index.js");
32
- if (hre.globalOptions.coverage === true) {
33
- assertHardhatInvariant(
34
- hre instanceof HardhatRuntimeEnvironmentImplementation,
35
- "Expected HRE to be an instance of HardhatRuntimeEnvironmentImplementation",
36
- );
37
- await hre._coverage.saveData(id);
38
- }
26
+ await testWorkerDone(hre, id);
39
27
  }
40
28
 
41
29
  export async function markTestRunDone(id: string): Promise<void> {
42
30
  const { default: hre } = await import("../../../index.js");
43
- if (hre.globalOptions.coverage === true) {
44
- assertHardhatInvariant(
45
- hre instanceof HardhatRuntimeEnvironmentImplementation,
46
- "Expected HRE to be an instance of HardhatRuntimeEnvironmentImplementation",
47
- );
48
- await hre._coverage.report(id);
49
- }
31
+ await testRunDone(hre, id);
50
32
  }
@@ -0,0 +1,68 @@
1
+ import type { HookContext, TestHooks } from "../../../../types/hooks.js";
2
+
3
+ import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
4
+ import { isObject } from "@nomicfoundation/hardhat-utils/lang";
5
+
6
+ import { CoverageManagerImplementation } from "../coverage-manager.js";
7
+
8
+ export default async (): Promise<Partial<TestHooks>> => ({
9
+ onTestRunStart: async (context, id, next) => {
10
+ await next(context, id);
11
+ await testRunStart(context, id);
12
+ },
13
+
14
+ onTestWorkerDone: async (context, id, next) => {
15
+ await next(context, id);
16
+ await testWorkerDone(context, id);
17
+ },
18
+
19
+ onTestRunDone: async (context, id, next) => {
20
+ await next(context, id);
21
+ await testRunDone(context, id);
22
+ },
23
+ });
24
+
25
+ export async function testRunStart(
26
+ context: HookContext,
27
+ id: string,
28
+ ): Promise<void> {
29
+ if (context.globalOptions.coverage === true) {
30
+ assertHardhatInvariant(
31
+ "_coverage" in context &&
32
+ isObject(context._coverage) &&
33
+ context._coverage instanceof CoverageManagerImplementation,
34
+ "Expected HookContext#_coverage to be an instance of CoverageManagerImplementation",
35
+ );
36
+ await context._coverage.clearData(id);
37
+ }
38
+ }
39
+
40
+ export async function testWorkerDone(
41
+ context: HookContext,
42
+ id: string,
43
+ ): Promise<void> {
44
+ if (context.globalOptions.coverage === true) {
45
+ assertHardhatInvariant(
46
+ "_coverage" in context &&
47
+ isObject(context._coverage) &&
48
+ context._coverage instanceof CoverageManagerImplementation,
49
+ "Expected HookContext#_coverage to be an instance of CoverageManagerImplementation",
50
+ );
51
+ await context._coverage.saveData(id);
52
+ }
53
+ }
54
+
55
+ export async function testRunDone(
56
+ context: HookContext,
57
+ id: string,
58
+ ): Promise<void> {
59
+ if (context.globalOptions.coverage === true) {
60
+ assertHardhatInvariant(
61
+ "_coverage" in context &&
62
+ isObject(context._coverage) &&
63
+ context._coverage instanceof CoverageManagerImplementation,
64
+ "Expected HookContext#_coverage to be an instance of CoverageManagerImplementation",
65
+ );
66
+ await context._coverage.report(id);
67
+ }
68
+ }
@@ -17,6 +17,7 @@ const hardhatPlugin: HardhatPlugin = {
17
17
  clean: () => import("./hook-handlers/clean.js"),
18
18
  hre: () => import("./hook-handlers/hre.js"),
19
19
  solidity: () => import("./hook-handlers/solidity.js"),
20
+ test: () => import("./hook-handlers/test.js"),
20
21
  },
21
22
  npmPackage: "hardhat",
22
23
  };