hardhat 3.0.6 → 3.0.8

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 (127) 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 +3 -3
  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 +1 -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 +12 -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 +16 -39
  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/hook-manager.d.ts.map +1 -1
  68. package/dist/src/internal/core/hook-manager.js +3 -1
  69. package/dist/src/internal/core/hook-manager.js.map +1 -1
  70. package/dist/src/internal/core/hre.d.ts +29 -1
  71. package/dist/src/internal/core/hre.d.ts.map +1 -1
  72. package/dist/src/internal/core/hre.js +57 -20
  73. package/dist/src/internal/core/hre.js.map +1 -1
  74. package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.d.ts +2 -1
  75. package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.d.ts.map +1 -1
  76. package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.js +5 -4
  77. package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.js.map +1 -1
  78. package/dist/src/internal/core/plugins/resolve-plugin-list.js +41 -4
  79. package/dist/src/internal/core/plugins/resolve-plugin-list.js.map +1 -1
  80. package/dist/src/internal/core/tasks/resolved-task.d.ts.map +1 -1
  81. package/dist/src/internal/core/tasks/resolved-task.js +1 -1
  82. package/dist/src/internal/core/tasks/resolved-task.js.map +1 -1
  83. package/dist/src/internal/utils/package.d.ts +1 -0
  84. package/dist/src/internal/utils/package.d.ts.map +1 -1
  85. package/dist/src/internal/utils/package.js +17 -1
  86. package/dist/src/internal/utils/package.js.map +1 -1
  87. package/dist/src/types/hre.d.ts +4 -0
  88. package/dist/src/types/hre.d.ts.map +1 -1
  89. package/dist/src/types/network.d.ts +40 -0
  90. package/dist/src/types/network.d.ts.map +1 -1
  91. package/dist/src/types/plugins.d.ts +8 -0
  92. package/dist/src/types/plugins.d.ts.map +1 -1
  93. package/dist/src/types/solidity/build-system.d.ts +23 -8
  94. package/dist/src/types/solidity/build-system.d.ts.map +1 -1
  95. package/package.json +5 -4
  96. package/src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts +2 -3
  97. package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +20 -1
  98. package/src/internal/builtin-plugins/network-manager/hook-handlers/hre.ts +36 -18
  99. package/src/internal/builtin-plugins/network-manager/hook-handlers/network.ts +1 -1
  100. package/src/internal/builtin-plugins/network-manager/network-manager.ts +137 -60
  101. package/src/internal/builtin-plugins/network-manager/type-validation.ts +3 -3
  102. package/src/internal/builtin-plugins/node/artifacts/build-info-watcher.ts +82 -0
  103. package/src/internal/builtin-plugins/node/helpers.ts +64 -0
  104. package/src/internal/builtin-plugins/node/json-rpc/server.ts +3 -10
  105. package/src/internal/builtin-plugins/node/task-action.ts +31 -5
  106. package/src/internal/builtin-plugins/solidity/build-system/build-system.ts +203 -98
  107. package/src/internal/builtin-plugins/solidity/build-system/cache.ts +1 -1
  108. package/src/internal/builtin-plugins/solidity/hook-handlers/hre.ts +22 -5
  109. package/src/internal/builtin-plugins/solidity/index.ts +8 -0
  110. package/src/internal/builtin-plugins/solidity/tasks/build.ts +59 -16
  111. package/src/internal/builtin-plugins/solidity-test/config.ts +46 -3
  112. package/src/internal/builtin-plugins/solidity-test/helpers.ts +17 -4
  113. package/src/internal/builtin-plugins/solidity-test/hook-handlers/config.ts +5 -1
  114. package/src/internal/builtin-plugins/solidity-test/task-action.ts +21 -48
  115. package/src/internal/builtin-plugins/solidity-test/type-extensions.ts +23 -9
  116. package/src/internal/core/hook-manager.ts +9 -1
  117. package/src/internal/core/hre.ts +102 -32
  118. package/src/internal/core/plugins/detect-plugin-npm-dependency-problems.ts +5 -0
  119. package/src/internal/core/plugins/resolve-plugin-list.ts +58 -4
  120. package/src/internal/core/tasks/resolved-task.ts +1 -0
  121. package/src/internal/utils/package.ts +31 -1
  122. package/src/types/hre.ts +4 -0
  123. package/src/types/network.ts +45 -0
  124. package/src/types/plugins.ts +5 -0
  125. package/src/types/solidity/build-system.ts +23 -7
  126. package/templates/hardhat-3/01-node-test-runner-viem/package.json +3 -3
  127. package/templates/hardhat-3/02-mocha-ethers/package.json +5 -5
@@ -15,6 +15,7 @@ import {
15
15
  *
16
16
  * @param basePathForNpmResolution the dir path for node module resolution
17
17
  * @param plugin the plugin to be validated
18
+ * @param originalError the original error why we are running this function
18
19
  * @throws {HardhatError} with descriptor:
19
20
  * - {@link HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_NOT_INSTALLED} if the plugin is
20
21
  * not installed as an npm package
@@ -26,6 +27,7 @@ import {
26
27
  export async function detectPluginNpmDependencyProblems(
27
28
  basePathForNpmResolution: string,
28
29
  plugin: HardhatPlugin,
30
+ originalError: Error,
29
31
  ): Promise<void> {
30
32
  if (plugin.npmPackage === null) {
31
33
  return;
@@ -43,6 +45,7 @@ export async function detectPluginNpmDependencyProblems(
43
45
  {
44
46
  pluginId: plugin.id,
45
47
  },
48
+ originalError,
46
49
  );
47
50
  }
48
51
 
@@ -71,6 +74,7 @@ export async function detectPluginNpmDependencyProblems(
71
74
  pluginId: plugin.id,
72
75
  peerDependencyName: dependencyName,
73
76
  },
77
+ originalError,
74
78
  );
75
79
  }
76
80
 
@@ -91,6 +95,7 @@ export async function detectPluginNpmDependencyProblems(
91
95
  installedVersion,
92
96
  expectedVersion: versionSpec,
93
97
  },
98
+ originalError,
94
99
  );
95
100
  }
96
101
  }
@@ -28,7 +28,7 @@ async function reverseTopologicalSort(
28
28
  plugins: HardhatPlugin[],
29
29
  ): Promise<HardhatPlugin[]> {
30
30
  const visitedPlugins: Map<string, HardhatPlugin> = new Map();
31
- const result: HardhatPlugin[] = [];
31
+ const resolvedPlugins: HardhatPlugin[] = [];
32
32
 
33
33
  async function dfs(plugin: HardhatPlugin) {
34
34
  const visited = visitedPlugins.get(plugin.id);
@@ -53,7 +53,7 @@ async function reverseTopologicalSort(
53
53
  dependencyModules = await Promise.all(plugin.dependencies());
54
54
  } catch (error) {
55
55
  ensureError(error);
56
- await detectPluginNpmDependencyProblems(projectRoot, plugin);
56
+ await detectPluginNpmDependencyProblems(projectRoot, plugin, error);
57
57
 
58
58
  throw new HardhatError(
59
59
  HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_DEPENDENCY_FAILED_LOAD,
@@ -69,12 +69,66 @@ async function reverseTopologicalSort(
69
69
  }
70
70
  }
71
71
 
72
- result.push(plugin);
72
+ resolvedPlugins.push(plugin);
73
73
  }
74
74
 
75
75
  for (const plugin of plugins) {
76
76
  await dfs(plugin);
77
77
  }
78
78
 
79
- return result;
79
+ // Resolve conditional dependencies iteratively
80
+ let lastResolvedCount = -1;
81
+
82
+ while (resolvedPlugins.length !== lastResolvedCount) {
83
+ lastResolvedCount = resolvedPlugins.length;
84
+
85
+ for (const plugin of resolvedPlugins) {
86
+ if (plugin.conditionalDependencies === undefined) {
87
+ continue;
88
+ }
89
+
90
+ for (const conditionalDependency of plugin.conditionalDependencies) {
91
+ // Check all condition plugins are installed
92
+ let conditionModules;
93
+ try {
94
+ conditionModules = await Promise.all(
95
+ conditionalDependency.condition(),
96
+ );
97
+ } catch (_error) {
98
+ continue;
99
+ }
100
+
101
+ // Check all condition plugins are loaded
102
+ if (
103
+ conditionModules.some(
104
+ (conditionPlugin) =>
105
+ !resolvedPlugins.includes(conditionPlugin.default),
106
+ )
107
+ ) {
108
+ continue;
109
+ }
110
+
111
+ // Load the conditional dependency
112
+ let pluginModule;
113
+ try {
114
+ pluginModule = await conditionalDependency.plugin();
115
+ } catch (error) {
116
+ ensureError(error);
117
+ await detectPluginNpmDependencyProblems(projectRoot, plugin, error);
118
+
119
+ throw new HardhatError(
120
+ HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_DEPENDENCY_FAILED_LOAD,
121
+ {
122
+ pluginId: plugin.id,
123
+ },
124
+ error,
125
+ );
126
+ }
127
+
128
+ await dfs(pluginModule.default);
129
+ }
130
+ }
131
+ }
132
+
133
+ return resolvedPlugins;
80
134
  }
@@ -244,6 +244,7 @@ export class ResolvedTask implements Task {
244
244
  await detectPluginNpmDependencyProblems(
245
245
  this.#hre.config.paths.root,
246
246
  plugin,
247
+ error,
247
248
  );
248
249
  }
249
250
 
@@ -1,9 +1,16 @@
1
1
  import type { PackageJson } from "@nomicfoundation/hardhat-utils/package";
2
2
 
3
- import { readClosestPackageJson } from "@nomicfoundation/hardhat-utils/package";
3
+ import { readFile } from "node:fs/promises";
4
+
5
+ import {
6
+ findClosestPackageRoot,
7
+ findDependencyPackageJson,
8
+ readClosestPackageJson,
9
+ } from "@nomicfoundation/hardhat-utils/package";
4
10
 
5
11
  let cachedHardhatVersion: string | undefined;
6
12
  let cachedLatestHardhatVersion: string | undefined;
13
+ let cachedEdrVersion: string | undefined;
7
14
 
8
15
  export async function getHardhatVersion(): Promise<string> {
9
16
  if (cachedHardhatVersion !== undefined) {
@@ -19,6 +26,29 @@ export async function getHardhatVersion(): Promise<string> {
19
26
  return packageJson.version;
20
27
  }
21
28
 
29
+ export async function getEdrVersion(): Promise<string> {
30
+ if (cachedEdrVersion !== undefined) {
31
+ return cachedEdrVersion;
32
+ }
33
+
34
+ const hardhatRoot = await findClosestPackageRoot(import.meta.url);
35
+
36
+ const edrPackageJsonPath = await findDependencyPackageJson(
37
+ hardhatRoot,
38
+ "@nomicfoundation/edr",
39
+ );
40
+
41
+ if (edrPackageJsonPath === undefined) {
42
+ return "";
43
+ }
44
+
45
+ const rawPackageJson = await readFile(edrPackageJsonPath, "utf-8");
46
+ const edrPackageJson: PackageJson = JSON.parse(rawPackageJson);
47
+ cachedEdrVersion = edrPackageJson.version;
48
+
49
+ return cachedEdrVersion;
50
+ }
51
+
22
52
  export async function getLatestHardhatVersion(): Promise<string> {
23
53
  const { getRequest } = await import("@nomicfoundation/hardhat-utils/request");
24
54
 
package/src/types/hre.ts CHANGED
@@ -11,6 +11,10 @@ export interface HardhatRuntimeEnvironment {
11
11
  readonly userConfig: HardhatUserConfig;
12
12
  readonly globalOptions: GlobalOptions;
13
13
  readonly interruptions: UserInterruptionManager;
14
+ readonly versions: {
15
+ readonly hardhat: string;
16
+ readonly edr: string;
17
+ };
14
18
  // These fields are defined using module agumentation despite being part of
15
19
  // Hardhat's core:
16
20
  // readonly hooks: HookManager;
@@ -52,6 +52,21 @@ export interface NetworkManager {
52
52
  connect<ChainTypeT extends ChainType | string = DefaultChainType>(
53
53
  networkOrParams?: NetworkConnectionParams<ChainTypeT> | string,
54
54
  ): Promise<NetworkConnection<ChainTypeT>>;
55
+
56
+ /**
57
+ * Spawns an Ethereum JSON-RPC server listening on HTTP and Websocket.
58
+ *
59
+ * @param networkOrParams The network name or connection parameters.
60
+ * @param hostname Hostname to bind the server to. Defaults to localhost or 0.0.0.0 on docker.
61
+ * @param port Port to listen on. Defaults to a random available port.
62
+ *
63
+ * @return A `JsonRpcServer` instance that can be started with {@link JsonRpcServer.listen}.
64
+ */
65
+ createServer(
66
+ networkOrParams?: NetworkConnectionParams | string,
67
+ hostname?: string,
68
+ port?: number,
69
+ ): Promise<JsonRpcServer>;
55
70
  }
56
71
 
57
72
  export interface NetworkConnection<
@@ -65,3 +80,33 @@ export interface NetworkConnection<
65
80
 
66
81
  close(): Promise<void>;
67
82
  }
83
+
84
+ /**
85
+ * An Ethereum JSON-RPC server that accepts connections via HTTP and websocket.
86
+ */
87
+ export interface JsonRpcServer {
88
+ /**
89
+ * Starts the Ethereum JSON-RPC server.
90
+ *
91
+ * @returns returns the address and port the server is listening on.
92
+ */
93
+ listen(): Promise<{ address: string; port: number }>;
94
+
95
+ /**
96
+ * Closes the Ethereum JSON-RPC server.
97
+ *
98
+ * @returns A promise that resolves once shutdown is finished.
99
+ */
100
+ close(): Promise<void>;
101
+
102
+ /**
103
+ * Resolves once the Ethereum JSON-RPC server has been
104
+ * closed, including its underlying HTTP and Websocket sockets.
105
+ *
106
+ * Useful for awaiting a shutdown that was initiated elsewhere.
107
+ *
108
+ * @returns A promise that resolves once the server and
109
+ * its sockets have been closed.
110
+ */
111
+ afterClosed(): Promise<void>;
112
+ }
@@ -39,6 +39,11 @@ export interface HardhatPlugin {
39
39
  */
40
40
  dependencies?: () => Array<Promise<{ default: HardhatPlugin }>>;
41
41
 
42
+ conditionalDependencies?: Array<{
43
+ condition: () => Array<Promise<{ default: HardhatPlugin }>>;
44
+ plugin: () => Promise<{ default: HardhatPlugin }>;
45
+ }>;
46
+
42
47
  /**
43
48
  * An object with the different hook handlers that this plugin defines.
44
49
  *
@@ -38,18 +38,18 @@ export interface BuildOptions {
38
38
  concurrency?: number;
39
39
 
40
40
  /**
41
- * An array of remappings provided by the user.
41
+ * If `true`, the build process doesn't print any output.
42
42
  */
43
- userProvidedRemappings?: string[];
43
+ quiet?: boolean;
44
44
 
45
45
  /**
46
- * If `true`, the build process doesn't print any output.
46
+ * Whether to compile contracts or tests. Defaults to contracts
47
47
  */
48
- quiet?: boolean;
48
+ scope?: BuildScope;
49
49
  }
50
50
 
51
51
  /**
52
- * The options of the `getBuildInfos` method.
52
+ * The options of the `getCompilationJobs` method.
53
53
  *
54
54
  * Note that this option object includes a `quiet` property, as this process
55
55
  * may require downloading compilers, and potentially printing some output.
@@ -196,7 +196,12 @@ export interface SolidityBuildSystem {
196
196
  *
197
197
  * @returns An array of root file paths.
198
198
  */
199
- getRootFilePaths(): Promise<string[]>;
199
+ getRootFilePaths(options?: { scope?: BuildScope }): Promise<string[]>;
200
+
201
+ /**
202
+ * Given the filesystem path for a source file, returns the build scope
203
+ */
204
+ getScope(fsPath: string): Promise<BuildScope>;
200
205
 
201
206
  /**
202
207
  * Builds the provided files, generating their compilation artifacts.
@@ -272,6 +277,7 @@ export interface SolidityBuildSystem {
272
277
  emitArtifacts(
273
278
  compilationJob: CompilationJob,
274
279
  compilerOutput: CompilerOutput,
280
+ options?: { scope?: BuildScope },
275
281
  ): Promise<EmitArtifactsResult>;
276
282
 
277
283
  /**
@@ -287,7 +293,10 @@ export interface SolidityBuildSystem {
287
293
 
288
294
  * @param rootFilePaths All the root files of the project.
289
295
  */
290
- cleanupArtifacts(rootFilePaths: string[]): Promise<void>;
296
+ cleanupArtifacts(
297
+ rootFilePaths: string[],
298
+ options?: { scope?: BuildScope },
299
+ ): Promise<void>;
291
300
 
292
301
  /**
293
302
  * Compiles a build info, returning the output of the compilation, verbatim,
@@ -301,4 +310,11 @@ export interface SolidityBuildSystem {
301
310
  buildInfo: SolidityBuildInfo,
302
311
  options?: CompileBuildInfoOptions,
303
312
  ): Promise<CompilerOutput>;
313
+
314
+ /**
315
+ * Gets the artifacts directory for a given target (contracts/tests)
316
+ */
317
+ getArtifactsDirectory(scope: BuildScope): Promise<string>;
304
318
  }
319
+
320
+ export type BuildScope = "contracts" | "tests";
@@ -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.0.6",
8
+ "hardhat": "workspace:^3.0.8",
9
9
  "@nomicfoundation/hardhat-toolbox-viem": "workspace:^5.0.0",
10
10
  "@nomicfoundation/hardhat-ignition": "workspace:^3.0.0",
11
11
  "@types/node": "^22.8.5",
@@ -16,11 +16,11 @@
16
16
  "peerDependencies": {
17
17
  "@nomicfoundation/hardhat-ignition-viem": "workspace:^3.0.0",
18
18
  "@nomicfoundation/hardhat-keystore": "workspace:^3.0.0",
19
- "@nomicfoundation/hardhat-network-helpers": "workspace:^3.0.0",
19
+ "@nomicfoundation/hardhat-network-helpers": "workspace:^3.0.1",
20
20
  "@nomicfoundation/hardhat-node-test-runner": "workspace:^3.0.0",
21
21
  "@nomicfoundation/hardhat-viem": "workspace:^3.0.0",
22
22
  "@nomicfoundation/hardhat-viem-assertions": "workspace:^3.0.0",
23
- "@nomicfoundation/hardhat-verify": "workspace:^3.0.0",
23
+ "@nomicfoundation/hardhat-verify": "workspace:^3.0.4",
24
24
  "@nomicfoundation/ignition-core": "workspace:^3.0.0"
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.0.6",
8
+ "hardhat": "workspace:^3.0.8",
9
9
  "@nomicfoundation/hardhat-toolbox-mocha-ethers": "workspace:^3.0.0",
10
10
  "@nomicfoundation/hardhat-ignition": "workspace:^3.0.0",
11
11
  "@types/chai": "^4.2.0",
@@ -19,15 +19,15 @@
19
19
  "typescript": "~5.8.0"
20
20
  },
21
21
  "peerDependencies": {
22
- "@nomicfoundation/hardhat-ethers": "workspace:^4.0.0",
22
+ "@nomicfoundation/hardhat-ethers": "workspace:^4.0.2",
23
23
  "@nomicfoundation/hardhat-ethers-chai-matchers": "workspace:^3.0.0",
24
24
  "@nomicfoundation/hardhat-ignition": "workspace:^3.0.0",
25
25
  "@nomicfoundation/hardhat-ignition-ethers": "workspace:^3.0.0",
26
26
  "@nomicfoundation/hardhat-keystore": "workspace:^3.0.0",
27
- "@nomicfoundation/hardhat-mocha": "workspace:^3.0.0",
28
- "@nomicfoundation/hardhat-network-helpers": "workspace:^3.0.0",
27
+ "@nomicfoundation/hardhat-mocha": "workspace:^3.0.3",
28
+ "@nomicfoundation/hardhat-network-helpers": "workspace:^3.0.1",
29
29
  "@nomicfoundation/hardhat-typechain": "workspace:^3.0.0",
30
- "@nomicfoundation/hardhat-verify": "workspace:^3.0.0",
30
+ "@nomicfoundation/hardhat-verify": "workspace:^3.0.4",
31
31
  "@nomicfoundation/ignition-core": "workspace:^3.0.0"
32
32
  }
33
33
  }