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
@@ -1,6 +1,7 @@
1
1
  import { HardhatError } from "@nomicfoundation/hardhat-errors";
2
2
  import { findClosestPackageRoot } from "@nomicfoundation/hardhat-utils/package";
3
3
  import { resolveFromRoot } from "@nomicfoundation/hardhat-utils/path";
4
+ import { getEdrVersion, getHardhatVersion } from "../utils/package.js";
4
5
  import { validateUserConfig } from "./config-validation.js";
5
6
  import { resolveConfigurationVariable } from "./configuration-variables.js";
6
7
  import { buildGlobalOptionDefinitions, resolveGlobalOptions, } from "./global-options.js";
@@ -14,6 +15,7 @@ export class HardhatRuntimeEnvironmentImplementation {
14
15
  hooks;
15
16
  interruptions;
16
17
  globalOptions;
18
+ versions;
17
19
  // NOTE: This is a small architectural violation, as these shouldn't be needed
18
20
  // here, because they are added by plugins. But as those plugins are builtin,
19
21
  // their type extensions also affect this module.
@@ -27,37 +29,31 @@ export class HardhatRuntimeEnvironmentImplementation {
27
29
  const resolvedProjectRoot = await resolveProjectRoot(projectRoot);
28
30
  const resolvedPlugins = unsafeOptions?.resolvedPlugins ??
29
31
  (await resolvePluginList(resolvedProjectRoot, inputUserConfig.plugins));
32
+ const [hardhatVersion, edrVersion] = await Promise.all([
33
+ getHardhatVersion(),
34
+ getEdrVersion(),
35
+ ]);
36
+ const versions = {
37
+ hardhat: hardhatVersion,
38
+ edr: edrVersion,
39
+ };
30
40
  const hooks = new HookManagerImplementation(resolvedProjectRoot, resolvedPlugins);
31
- // extend user config:
32
- const extendedUserConfig = await runUserConfigExtensions(hooks, inputUserConfig);
33
- // validate config
34
- const userConfigValidationErrors = await validateUserConfig(hooks, extendedUserConfig);
35
- if (userConfigValidationErrors.length > 0) {
41
+ const configResolutionResult = await resolveUserConfigToHardhatConfig(inputUserConfig, hooks, resolvedProjectRoot, userProvidedGlobalOptions.config, resolvedPlugins);
42
+ if (!configResolutionResult.success) {
36
43
  throw new HardhatError(HardhatError.ERRORS.CORE.GENERAL.INVALID_CONFIG, {
37
- errors: `\t${userConfigValidationErrors
44
+ errors: `\t${configResolutionResult.userConfigValidationErrors
38
45
  .map((error) => `* Config error in config.${error.path.join(".")}: ${error.message}`)
39
46
  .join("\n\t")}`,
40
47
  });
41
48
  }
42
- // Resolve config
43
- const resolvedConfig = await resolveUserConfig(resolvedProjectRoot, userProvidedGlobalOptions.config, hooks, resolvedPlugins, extendedUserConfig);
44
- // We override the plugins and the project root, as we want to prevent
45
- // the plugins from changing them
46
- const config = {
47
- ...resolvedConfig,
48
- paths: {
49
- ...resolvedConfig.paths,
50
- root: resolvedProjectRoot,
51
- },
52
- plugins: resolvedPlugins,
53
- };
49
+ const { config, extendedUserConfig } = configResolutionResult;
54
50
  const globalOptionDefinitions = unsafeOptions?.globalOptionDefinitions ??
55
51
  buildGlobalOptionDefinitions(resolvedPlugins);
56
52
  const globalOptions = resolveGlobalOptions(userProvidedGlobalOptions, globalOptionDefinitions);
57
53
  // Set the HookContext in the hook manager so that non-config hooks can
58
54
  // use it
59
55
  const interruptions = new UserInterruptionManagerImplementation(hooks);
60
- const hre = new HardhatRuntimeEnvironmentImplementation(extendedUserConfig, config, hooks, interruptions, globalOptions, globalOptionDefinitions);
56
+ const hre = new HardhatRuntimeEnvironmentImplementation(extendedUserConfig, config, hooks, interruptions, globalOptions, versions, globalOptionDefinitions);
61
57
  // We create an object with the HRE as its prototype, and overwrite the
62
58
  // tasks property with undefined, so that hooks don't have access to the
63
59
  // task runner.
@@ -73,12 +69,13 @@ export class HardhatRuntimeEnvironmentImplementation {
73
69
  return hre;
74
70
  }
75
71
  tasks;
76
- constructor(userConfig, config, hooks, interruptions, globalOptions, globalOptionDefinitions) {
72
+ constructor(userConfig, config, hooks, interruptions, globalOptions, versions, globalOptionDefinitions) {
77
73
  this.userConfig = userConfig;
78
74
  this.config = config;
79
75
  this.hooks = hooks;
80
76
  this.interruptions = interruptions;
81
77
  this.globalOptions = globalOptions;
78
+ this.versions = versions;
82
79
  this.tasks = new TaskManagerImplementation(this, globalOptionDefinitions);
83
80
  }
84
81
  }
@@ -93,6 +90,46 @@ export class HardhatRuntimeEnvironmentImplementation {
93
90
  export async function resolveProjectRoot(absolutePathWithinProject) {
94
91
  return findClosestPackageRoot(absolutePathWithinProject ?? process.cwd());
95
92
  }
93
+ /**
94
+ * Runs the provided Hardhat user config through the resolution process,
95
+ * invoking relevant plugin hooks (both internal and external) to extend
96
+ * and transform the config into a full HardhatConfig.
97
+ *
98
+ * @param hooks - The HookManager used to run config extension and validation
99
+ * hooks.
100
+ * @param inputUserConfig - The initial user provided Hardhat config object.
101
+ * @param resolvedProjectRoot - The project root path.
102
+ * @param userProvidedConfigPath - The user provided Hardhat config file path.
103
+ * @param resolvedPlugins - The list of plugins, we do not want the plugins
104
+ * overwriting them so we re-add them to the final HardhatConfig.
105
+ * @returns Either an object containing the resolved HardhatConfig and the
106
+ * extended version of the user config, or a list of validation errors.
107
+ */
108
+ export async function resolveUserConfigToHardhatConfig(inputUserConfig, hooks, resolvedProjectRoot, userProvidedConfigPath, resolvedPlugins) {
109
+ // extend user config:
110
+ const extendedUserConfig = await runUserConfigExtensions(hooks, inputUserConfig);
111
+ // validate config
112
+ const userConfigValidationErrors = await validateUserConfig(hooks, extendedUserConfig);
113
+ if (userConfigValidationErrors.length > 0) {
114
+ return {
115
+ success: false,
116
+ userConfigValidationErrors,
117
+ };
118
+ }
119
+ // Resolve config
120
+ const resolvedConfig = await resolveUserConfig(resolvedProjectRoot, userProvidedConfigPath, hooks, resolvedPlugins, extendedUserConfig);
121
+ // We override the plugins and the project root, as we want to prevent
122
+ // the plugins from changing them
123
+ const config = {
124
+ ...resolvedConfig,
125
+ paths: {
126
+ ...resolvedConfig.paths,
127
+ root: resolvedProjectRoot,
128
+ },
129
+ plugins: resolvedPlugins,
130
+ };
131
+ return { success: true, config, extendedUserConfig };
132
+ }
96
133
  async function runUserConfigExtensions(hooks, config) {
97
134
  return hooks.runHandlerChain("config", "extendUserConfig", [config], async (c) => {
98
135
  return c;
@@ -1 +1 @@
1
- {"version":3,"file":"hre.js","sourceRoot":"","sources":["../../../../src/internal/core/hre.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,qCAAqC,EAAE,MAAM,yBAAyB,CAAC;AAEhF,MAAM,OAAO,uCAAuC;IAuHhC;IACA;IACA;IACA;IACA;IAxHlB,8EAA8E;IAC9E,6EAA6E;IAC7E,iDAAiD;IAC1C,OAAO,CAAkB;IACzB,SAAS,CAAmB;IAC5B,QAAQ,CAAuB;IAEtC,4EAA4E;IAC5E,gFAAgF;IACzE,SAAS,CAAmB;IAE5B,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,eAAkC,EAClC,yBAAiD,EACjD,WAAoB,EACpB,aAAsD;QAEtD,MAAM,mBAAmB,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAElE,MAAM,eAAe,GACnB,aAAa,EAAE,eAAe;YAC9B,CAAC,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QAE1E,MAAM,KAAK,GAAG,IAAI,yBAAyB,CACzC,mBAAmB,EACnB,eAAe,CAChB,CAAC;QAEF,sBAAsB;QACtB,MAAM,kBAAkB,GAAG,MAAM,uBAAuB,CACtD,KAAK,EACL,eAAe,CAChB,CAAC;QAEF,kBAAkB;QAClB,MAAM,0BAA0B,GAAG,MAAM,kBAAkB,CACzD,KAAK,EACL,kBAAkB,CACnB,CAAC;QAEF,IAAI,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBACtE,MAAM,EAAE,KAAK,0BAA0B;qBACpC,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CACR,4BAA4B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CACvE;qBACA,IAAI,CAAC,MAAM,CAAC,EAAE;aAClB,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB;QAEjB,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAC5C,mBAAmB,EACnB,yBAAyB,CAAC,MAAM,EAChC,KAAK,EACL,eAAe,EACf,kBAAkB,CACnB,CAAC;QAEF,sEAAsE;QACtE,iCAAiC;QACjC,MAAM,MAAM,GAAkB;YAC5B,GAAG,cAAc;YACjB,KAAK,EAAE;gBACL,GAAG,cAAc,CAAC,KAAK;gBACvB,IAAI,EAAE,mBAAmB;aAC1B;YACD,OAAO,EAAE,eAAe;SACzB,CAAC;QAEF,MAAM,uBAAuB,GAC3B,aAAa,EAAE,uBAAuB;YACtC,4BAA4B,CAAC,eAAe,CAAC,CAAC;QAEhD,MAAM,aAAa,GAAG,oBAAoB,CACxC,yBAAyB,EACzB,uBAAuB,CACxB,CAAC;QAEF,uEAAuE;QACvE,SAAS;QAET,MAAM,aAAa,GAAG,IAAI,qCAAqC,CAAC,KAAK,CAAC,CAAC;QAEvE,MAAM,GAAG,GAAG,IAAI,uCAAuC,CACrD,kBAAkB,EAClB,MAAM,EACN,KAAK,EACL,aAAa,EACb,aAAa,EACb,uBAAuB,CACxB,CAAC;QAEF,uEAAuE;QACvE,wEAAwE;QACxE,eAAe;QACf,EAAE;QACF,2EAA2E;QAC3E,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,WAAW,GAAgB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YAClD,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;SAC5B,CAAC,CAAC;QAEH,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAE9B,MAAM,KAAK,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAE3D,OAAO,GAAG,CAAC;IACb,CAAC;IAEe,KAAK,CAAc;IAEnC,YACkB,UAA6B,EAC7B,MAAqB,EACrB,KAAkB,EAClB,aAAsC,EACtC,aAA4B,EAC5C,uBAAgD;QALhC,eAAU,GAAV,UAAU,CAAmB;QAC7B,WAAM,GAAN,MAAM,CAAe;QACrB,UAAK,GAAL,KAAK,CAAa;QAClB,kBAAa,GAAb,aAAa,CAAyB;QACtC,kBAAa,GAAb,aAAa,CAAe;QAG5C,IAAI,CAAC,KAAK,GAAG,IAAI,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;IAC5E,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,yBAA6C;IAE7C,OAAO,sBAAsB,CAAC,yBAAyB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,KAAkB,EAClB,MAAyB;IAEzB,OAAO,KAAK,CAAC,eAAe,CAC1B,QAAQ,EACR,kBAAkB,EAClB,CAAC,MAAM,CAAC,EACR,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,OAAO,CAAC,CAAC;IACX,CAAC,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,WAAmB,EACnB,UAA8B,EAC9B,KAAkB,EAClB,aAA8B,EAC9B,MAAyB;IAEzB;;;;+DAI2D;IAC3D,MAAM,qBAAqB,GAAG;QAC5B,OAAO,EAAE,aAAa;QACtB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;QACzB,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC;KAC1C,CAAC;IAEnB,OAAO,KAAK,CAAC,eAAe,CAC1B,QAAQ,EACR,mBAAmB,EACnB,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,4BAA4B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EACrE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;QACd,OAAO,qBAAqB,CAAC;IAC/B,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,WAAmB,EACnB,UAA8B,EAC9B,oBAA4C,EAAE;IAE9C,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,MAAM,EACJ,UAAU,KAAK,SAAS;YACtB,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,CAAC;YAC1C,CAAC,CAAC,SAAS;QACf,KAAK,EAAE,eAAe,CAAC,WAAW,EAAE,iBAAiB,CAAC,KAAK,IAAI,OAAO,CAAC;QACvE,SAAS,EAAE,eAAe,CACxB,WAAW,EACX,iBAAiB,CAAC,SAAS,IAAI,WAAW,CAC3C;QACD;;;8BAGsB;QACtB,KAAK,EAAE,EAAqB;QAC5B;oCAC4B;QAC5B,OAAO,EAAE,EAAuB;KACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"hre.js","sourceRoot":"","sources":["../../../../src/internal/core/hre.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { HardhatPlugin } from "../../../types/plugins.js";
5
5
  *
6
6
  * @param basePathForNpmResolution the dir path for node module resolution
7
7
  * @param plugin the plugin to be validated
8
+ * @param originalError the original error why we are running this function
8
9
  * @throws {HardhatError} with descriptor:
9
10
  * - {@link HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_NOT_INSTALLED} if the plugin is
10
11
  * not installed as an npm package
@@ -13,5 +14,5 @@ import type { HardhatPlugin } from "../../../types/plugins.js";
13
14
  * - {@link HardhatError.ERRORS.CORE.PLUGINS.DEPENDENCY_VERSION_MISMATCH} if the
14
15
  * plugin's package peer dependency is installed but has the wrong version
15
16
  */
16
- export declare function detectPluginNpmDependencyProblems(basePathForNpmResolution: string, plugin: HardhatPlugin): Promise<void>;
17
+ export declare function detectPluginNpmDependencyProblems(basePathForNpmResolution: string, plugin: HardhatPlugin, originalError: Error): Promise<void>;
17
18
  //# sourceMappingURL=detect-plugin-npm-dependency-problems.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect-plugin-npm-dependency-problems.d.ts","sourceRoot":"","sources":["../../../../../src/internal/core/plugins/detect-plugin-npm-dependency-problems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAW/D;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iCAAiC,CACrD,wBAAwB,EAAE,MAAM,EAChC,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC,CAoEf"}
1
+ {"version":3,"file":"detect-plugin-npm-dependency-problems.d.ts","sourceRoot":"","sources":["../../../../../src/internal/core/plugins/detect-plugin-npm-dependency-problems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAW/D;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iCAAiC,CACrD,wBAAwB,EAAE,MAAM,EAChC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,KAAK,GACnB,OAAO,CAAC,IAAI,CAAC,CAuEf"}
@@ -8,6 +8,7 @@ import { findDependencyPackageJson, } from "@nomicfoundation/hardhat-utils/packa
8
8
  *
9
9
  * @param basePathForNpmResolution the dir path for node module resolution
10
10
  * @param plugin the plugin to be validated
11
+ * @param originalError the original error why we are running this function
11
12
  * @throws {HardhatError} with descriptor:
12
13
  * - {@link HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_NOT_INSTALLED} if the plugin is
13
14
  * not installed as an npm package
@@ -16,7 +17,7 @@ import { findDependencyPackageJson, } from "@nomicfoundation/hardhat-utils/packa
16
17
  * - {@link HardhatError.ERRORS.CORE.PLUGINS.DEPENDENCY_VERSION_MISMATCH} if the
17
18
  * plugin's package peer dependency is installed but has the wrong version
18
19
  */
19
- export async function detectPluginNpmDependencyProblems(basePathForNpmResolution, plugin) {
20
+ export async function detectPluginNpmDependencyProblems(basePathForNpmResolution, plugin, originalError) {
20
21
  if (plugin.npmPackage === null) {
21
22
  return;
22
23
  }
@@ -26,7 +27,7 @@ export async function detectPluginNpmDependencyProblems(basePathForNpmResolution
26
27
  if (pluginPackageJsonPath === undefined) {
27
28
  throw new HardhatError(HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_NOT_INSTALLED, {
28
29
  pluginId: plugin.id,
29
- });
30
+ }, originalError);
30
31
  }
31
32
  const pluginPackageJson = await readJsonFile(pluginPackageJsonPath);
32
33
  if (pluginPackageJson.peerDependencies === undefined) {
@@ -39,7 +40,7 @@ export async function detectPluginNpmDependencyProblems(basePathForNpmResolution
39
40
  throw new HardhatError(HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_MISSING_DEPENDENCY, {
40
41
  pluginId: plugin.id,
41
42
  peerDependencyName: dependencyName,
42
- });
43
+ }, originalError);
43
44
  }
44
45
  const dependencyPackageJson = await readJsonFile(dependencyPackageJsonPath);
45
46
  const installedVersion = dependencyPackageJson.version;
@@ -50,7 +51,7 @@ export async function detectPluginNpmDependencyProblems(basePathForNpmResolution
50
51
  peerDependencyName: dependencyName,
51
52
  installedVersion,
52
53
  expectedVersion: versionSpec,
53
- });
54
+ }, originalError);
54
55
  }
55
56
  }
56
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"detect-plugin-npm-dependency-problems.js","sourceRoot":"","sources":["../../../../../src/internal/core/plugins/detect-plugin-npm-dependency-problems.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EACL,yBAAyB,GAE1B,MAAM,wCAAwC,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,wBAAgC,EAChC,MAAqB;IAErB,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,qBAAqB,GAAG,MAAM,yBAAyB,CAC3D,wBAAwB;IACxB,0EAA0E;IAC1E,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE,CAC/B,CAAC;IAEF,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EACrD;YACE,QAAQ,EAAE,MAAM,CAAC,EAAE;SACpB,CACF,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAC1C,qBAAqB,CACtB,CAAC;IAEF,IAAI,iBAAiB,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE9D,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CACxD,iBAAiB,CAAC,gBAAgB,CACnC,EAAE,CAAC;QACF,MAAM,yBAAyB,GAAG,MAAM,yBAAyB,CAC/D,iBAAiB,EACjB,cAAc,CACf,CAAC;QAEF,IAAI,yBAAyB,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAC1D;gBACE,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,kBAAkB,EAAE,cAAc;aACnC,CACF,CAAC;QACJ,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAM,YAAY,CAC9C,yBAAyB,CAC1B,CAAC;QAEF,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,CAAC;QAEvD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAC5D;gBACE,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,kBAAkB,EAAE,cAAc;gBAClC,gBAAgB;gBAChB,eAAe,EAAE,WAAW;aAC7B,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"detect-plugin-npm-dependency-problems.js","sourceRoot":"","sources":["../../../../../src/internal/core/plugins/detect-plugin-npm-dependency-problems.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EACL,yBAAyB,GAE1B,MAAM,wCAAwC,CAAC;AAEhD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,wBAAgC,EAChC,MAAqB,EACrB,aAAoB;IAEpB,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,qBAAqB,GAAG,MAAM,yBAAyB,CAC3D,wBAAwB;IACxB,0EAA0E;IAC1E,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE,CAC/B,CAAC;IAEF,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EACrD;YACE,QAAQ,EAAE,MAAM,CAAC,EAAE;SACpB,EACD,aAAa,CACd,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM,YAAY,CAC1C,qBAAqB,CACtB,CAAC;IAEF,IAAI,iBAAiB,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO;IACT,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE9D,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CACxD,iBAAiB,CAAC,gBAAgB,CACnC,EAAE,CAAC;QACF,MAAM,yBAAyB,GAAG,MAAM,yBAAyB,CAC/D,iBAAiB,EACjB,cAAc,CACf,CAAC;QAEF,IAAI,yBAAyB,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAC1D;gBACE,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,kBAAkB,EAAE,cAAc;aACnC,EACD,aAAa,CACd,CAAC;QACJ,CAAC;QAED,MAAM,qBAAqB,GAAG,MAAM,YAAY,CAC9C,yBAAyB,CAC1B,CAAC;QAEF,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,CAAC;QAEvD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAC5D;gBACE,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,kBAAkB,EAAE,cAAc;gBAClC,gBAAgB;gBAChB,eAAe,EAAE,WAAW;aAC7B,EACD,aAAa,CACd,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -17,7 +17,7 @@ export async function resolvePluginList(projectRoot, userConfigPluginList = [])
17
17
  */
18
18
  async function reverseTopologicalSort(projectRoot, plugins) {
19
19
  const visitedPlugins = new Map();
20
- const result = [];
20
+ const resolvedPlugins = [];
21
21
  async function dfs(plugin) {
22
22
  const visited = visitedPlugins.get(plugin.id);
23
23
  if (visited !== undefined) {
@@ -34,7 +34,7 @@ async function reverseTopologicalSort(projectRoot, plugins) {
34
34
  }
35
35
  catch (error) {
36
36
  ensureError(error);
37
- await detectPluginNpmDependencyProblems(projectRoot, plugin);
37
+ await detectPluginNpmDependencyProblems(projectRoot, plugin, error);
38
38
  throw new HardhatError(HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_DEPENDENCY_FAILED_LOAD, {
39
39
  pluginId: plugin.id,
40
40
  }, error);
@@ -43,11 +43,48 @@ async function reverseTopologicalSort(projectRoot, plugins) {
43
43
  await dfs(dependencyModule.default);
44
44
  }
45
45
  }
46
- result.push(plugin);
46
+ resolvedPlugins.push(plugin);
47
47
  }
48
48
  for (const plugin of plugins) {
49
49
  await dfs(plugin);
50
50
  }
51
- return result;
51
+ // Resolve conditional dependencies iteratively
52
+ let lastResolvedCount = -1;
53
+ while (resolvedPlugins.length !== lastResolvedCount) {
54
+ lastResolvedCount = resolvedPlugins.length;
55
+ for (const plugin of resolvedPlugins) {
56
+ if (plugin.conditionalDependencies === undefined) {
57
+ continue;
58
+ }
59
+ for (const conditionalDependency of plugin.conditionalDependencies) {
60
+ // Check all condition plugins are installed
61
+ let conditionModules;
62
+ try {
63
+ conditionModules = await Promise.all(conditionalDependency.condition());
64
+ }
65
+ catch (_error) {
66
+ continue;
67
+ }
68
+ // Check all condition plugins are loaded
69
+ if (conditionModules.some((conditionPlugin) => !resolvedPlugins.includes(conditionPlugin.default))) {
70
+ continue;
71
+ }
72
+ // Load the conditional dependency
73
+ let pluginModule;
74
+ try {
75
+ pluginModule = await conditionalDependency.plugin();
76
+ }
77
+ catch (error) {
78
+ ensureError(error);
79
+ await detectPluginNpmDependencyProblems(projectRoot, plugin, error);
80
+ throw new HardhatError(HardhatError.ERRORS.CORE.PLUGINS.PLUGIN_DEPENDENCY_FAILED_LOAD, {
81
+ pluginId: plugin.id,
82
+ }, error);
83
+ }
84
+ await dfs(pluginModule.default);
85
+ }
86
+ }
87
+ }
88
+ return resolvedPlugins;
52
89
  }
53
90
  //# sourceMappingURL=resolve-plugin-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-plugin-list.js","sourceRoot":"","sources":["../../../../../src/internal/core/plugins/resolve-plugin-list.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAE/F;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,WAAmB,EACnB,uBAAwC,EAAE;IAE1C,OAAO,sBAAsB,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CACnC,WAAmB,EACnB,OAAwB;IAExB,MAAM,cAAc,GAA+B,IAAI,GAAG,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,KAAK,UAAU,GAAG,CAAC,MAAqB;QACtC,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE9C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EACrD,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAClB,CAAC;YACJ,CAAC;YAED,OAAO;QACT,CAAC;QAED,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,iBAAoD,CAAC;YAEzD,IAAI,CAAC;gBACH,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnB,MAAM,iCAAiC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAE7D,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAC9D;oBACE,QAAQ,EAAE,MAAM,CAAC,EAAE;iBACpB,EACD,KAAK,CACN,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;gBACjD,MAAM,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"resolve-plugin-list.js","sourceRoot":"","sources":["../../../../../src/internal/core/plugins/resolve-plugin-list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolved-task.d.ts","sourceRoot":"","sources":["../../../../../src/internal/core/tasks/resolved-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,4BAA4B,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,IAAI,EACJ,WAAW,EACX,aAAa,EAEd,MAAM,yBAAyB,CAAC;AAajC,qBAAa,YAAa,YAAW,IAAI;;aA2CrB,EAAE,EAAE,MAAM,EAAE;aACZ,WAAW,EAAE,MAAM;aACnB,OAAO,EAAE,WAAW;aACpB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;aACtC,mBAAmB,EAAE,4BAA4B,EAAE;aACnD,QAAQ,EAAE,MAAM,GAAG,SAAS;aAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;WA9C/B,eAAe,CAC3B,GAAG,EAAE,yBAAyB,EAC9B,EAAE,EAAE,MAAM,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY;WAaD,aAAa,CACzB,GAAG,EAAE,yBAAyB,EAC9B,EAAE,EAAE,MAAM,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,EAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACzC,mBAAmB,EAAE,4BAA4B,EAAE,EACnD,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY;gBAcG,EAAE,EAAE,MAAM,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACtC,mBAAmB,EAAE,4BAA4B,EAAE,EACnD,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAC3C,GAAG,EAAE,yBAAyB;IAKhC,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;;;;;;;;OASG;IACU,GAAG,CAAC,aAAa,GAAE,aAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;CA8KlE"}
1
+ {"version":3,"file":"resolved-task.d.ts","sourceRoot":"","sources":["../../../../../src/internal/core/tasks/resolved-task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,4BAA4B,EAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,IAAI,EACJ,WAAW,EACX,aAAa,EAEd,MAAM,yBAAyB,CAAC;AAajC,qBAAa,YAAa,YAAW,IAAI;;aA2CrB,EAAE,EAAE,MAAM,EAAE;aACZ,WAAW,EAAE,MAAM;aACnB,OAAO,EAAE,WAAW;aACpB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;aACtC,mBAAmB,EAAE,4BAA4B,EAAE;aACnD,QAAQ,EAAE,MAAM,GAAG,SAAS;aAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;WA9C/B,eAAe,CAC3B,GAAG,EAAE,yBAAyB,EAC9B,EAAE,EAAE,MAAM,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY;WAaD,aAAa,CACzB,GAAG,EAAE,yBAAyB,EAC9B,EAAE,EAAE,MAAM,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,EAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACzC,mBAAmB,EAAE,4BAA4B,EAAE,EACnD,QAAQ,CAAC,EAAE,MAAM,GAChB,YAAY;gBAcG,EAAE,EAAE,MAAM,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACtC,mBAAmB,EAAE,4BAA4B,EAAE,EACnD,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAC3C,GAAG,EAAE,yBAAyB;IAKhC,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;;;;;;;;OASG;IACU,GAAG,CAAC,aAAa,GAAE,aAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;CA+KlE"}
@@ -133,7 +133,7 @@ export class ResolvedTask {
133
133
  if (actionPluginId !== undefined) {
134
134
  const plugin = this.#hre.config.plugins.find((p) => p.id === actionPluginId);
135
135
  assertHardhatInvariant(plugin !== undefined, `Plugin with id ${actionPluginId} not found.`);
136
- await detectPluginNpmDependencyProblems(this.#hre.config.paths.root, plugin);
136
+ await detectPluginNpmDependencyProblems(this.#hre.config.paths.root, plugin, error);
137
137
  }
138
138
  throw new HardhatError(HardhatError.ERRORS.CORE.TASK_DEFINITIONS.INVALID_ACTION_IMPORT, {
139
139
  task: formatTaskId(this.id),
@@ -1 +1 @@
1
- {"version":3,"file":"resolved-task.js","sourceRoot":"","sources":["../../../../../src/internal/core/tasks/resolved-task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolved-task.js","sourceRoot":"","sources":["../../../../../src/internal/core/tasks/resolved-task.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export declare function getHardhatVersion(): Promise<string>;
2
+ export declare function getEdrVersion(): Promise<string>;
2
3
  export declare function getLatestHardhatVersion(): Promise<string>;
3
4
  //# sourceMappingURL=package.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/package.ts"],"names":[],"mappings":"AAOA,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAYzD;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAwB/D"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/package.ts"],"names":[],"mappings":"AAcA,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAYzD;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAqBrD;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAwB/D"}
@@ -1,6 +1,8 @@
1
- import { readClosestPackageJson } from "@nomicfoundation/hardhat-utils/package";
1
+ import { readFile } from "node:fs/promises";
2
+ import { findClosestPackageRoot, findDependencyPackageJson, readClosestPackageJson, } from "@nomicfoundation/hardhat-utils/package";
2
3
  let cachedHardhatVersion;
3
4
  let cachedLatestHardhatVersion;
5
+ let cachedEdrVersion;
4
6
  export async function getHardhatVersion() {
5
7
  if (cachedHardhatVersion !== undefined) {
6
8
  return cachedHardhatVersion;
@@ -9,6 +11,20 @@ export async function getHardhatVersion() {
9
11
  cachedHardhatVersion = packageJson.version;
10
12
  return packageJson.version;
11
13
  }
14
+ export async function getEdrVersion() {
15
+ if (cachedEdrVersion !== undefined) {
16
+ return cachedEdrVersion;
17
+ }
18
+ const hardhatRoot = await findClosestPackageRoot(import.meta.url);
19
+ const edrPackageJsonPath = await findDependencyPackageJson(hardhatRoot, "@nomicfoundation/edr");
20
+ if (edrPackageJsonPath === undefined) {
21
+ return "";
22
+ }
23
+ const rawPackageJson = await readFile(edrPackageJsonPath, "utf-8");
24
+ const edrPackageJson = JSON.parse(rawPackageJson);
25
+ cachedEdrVersion = edrPackageJson.version;
26
+ return cachedEdrVersion;
27
+ }
12
28
  export async function getLatestHardhatVersion() {
13
29
  const { getRequest } = await import("@nomicfoundation/hardhat-utils/request");
14
30
  if (cachedLatestHardhatVersion !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../../src/internal/utils/package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,IAAI,oBAAwC,CAAC;AAC7C,IAAI,0BAA8C,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,MAAM,WAAW,GAAgB,MAAM,sBAAsB,CAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;IAEF,oBAAoB,GAAG,WAAW,CAAC,OAAO,CAAC;IAE3C,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;IAE9E,IAAI,0BAA0B,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAED,MAAM,WAAW,GAAgB,MAAM,sBAAsB,CAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;IAErC,MAAM,aAAa,GAAG,MAAM,UAAU,CACpC,8BAA8B,WAAW,SAAS,CACnD,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QAClB;iFACyE;QACzE,OAAO,IAAI,CAAC,IAAI,EAA0B,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,0BAA0B,GAAG,aAAa,CAAC,OAAO,CAAC;IAEnD,OAAO,0BAA0B,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../../src/internal/utils/package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAEhD,IAAI,oBAAwC,CAAC;AAC7C,IAAI,0BAA8C,CAAC;AACnD,IAAI,gBAAoC,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,MAAM,WAAW,GAAgB,MAAM,sBAAsB,CAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;IAEF,oBAAoB,GAAG,WAAW,CAAC,OAAO,CAAC;IAE3C,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAElE,MAAM,kBAAkB,GAAG,MAAM,yBAAyB,CACxD,WAAW,EACX,sBAAsB,CACvB,CAAC;IAEF,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,cAAc,GAAgB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAC/D,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC;IAE1C,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;IAE9E,IAAI,0BAA0B,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAED,MAAM,WAAW,GAAgB,MAAM,sBAAsB,CAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;IAErC,MAAM,aAAa,GAAG,MAAM,UAAU,CACpC,8BAA8B,WAAW,SAAS,CACnD,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QAClB;iFACyE;QACzE,OAAO,IAAI,CAAC,IAAI,EAA0B,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,0BAA0B,GAAG,aAAa,CAAC,OAAO,CAAC;IAEnD,OAAO,0BAA0B,CAAC;AACpC,CAAC"}
@@ -10,5 +10,9 @@ export interface HardhatRuntimeEnvironment {
10
10
  readonly userConfig: HardhatUserConfig;
11
11
  readonly globalOptions: GlobalOptions;
12
12
  readonly interruptions: UserInterruptionManager;
13
+ readonly versions: {
14
+ readonly hardhat: string;
15
+ readonly edr: string;
16
+ };
13
17
  }
14
18
  //# sourceMappingURL=hre.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hre.d.ts","sourceRoot":"","sources":["../../../src/types/hre.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE3E;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;CAKjD"}
1
+ {"version":3,"file":"hre.d.ts","sourceRoot":"","sources":["../../../src/types/hre.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE3E;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;IAChD,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB,CAAC;CAKH"}
@@ -37,6 +37,16 @@ export interface NetworkConnectionParams<ChainTypeT extends ChainType | string =
37
37
  }
38
38
  export interface NetworkManager {
39
39
  connect<ChainTypeT extends ChainType | string = DefaultChainType>(networkOrParams?: NetworkConnectionParams<ChainTypeT> | string): Promise<NetworkConnection<ChainTypeT>>;
40
+ /**
41
+ * Spawns an Ethereum JSON-RPC server listening on HTTP and Websocket.
42
+ *
43
+ * @param networkOrParams The network name or connection parameters.
44
+ * @param hostname Hostname to bind the server to. Defaults to localhost or 0.0.0.0 on docker.
45
+ * @param port Port to listen on. Defaults to a random available port.
46
+ *
47
+ * @return A `JsonRpcServer` instance that can be started with {@link JsonRpcServer.listen}.
48
+ */
49
+ createServer(networkOrParams?: NetworkConnectionParams | string, hostname?: string, port?: number): Promise<JsonRpcServer>;
40
50
  }
41
51
  export interface NetworkConnection<ChainTypeT extends ChainType | string = DefaultChainType> {
42
52
  readonly id: number;
@@ -46,4 +56,34 @@ export interface NetworkConnection<ChainTypeT extends ChainType | string = Defau
46
56
  readonly provider: EthereumProvider;
47
57
  close(): Promise<void>;
48
58
  }
59
+ /**
60
+ * An Ethereum JSON-RPC server that accepts connections via HTTP and websocket.
61
+ */
62
+ export interface JsonRpcServer {
63
+ /**
64
+ * Starts the Ethereum JSON-RPC server.
65
+ *
66
+ * @returns returns the address and port the server is listening on.
67
+ */
68
+ listen(): Promise<{
69
+ address: string;
70
+ port: number;
71
+ }>;
72
+ /**
73
+ * Closes the Ethereum JSON-RPC server.
74
+ *
75
+ * @returns A promise that resolves once shutdown is finished.
76
+ */
77
+ close(): Promise<void>;
78
+ /**
79
+ * Resolves once the Ethereum JSON-RPC server has been
80
+ * closed, including its underlying HTTP and Websocket sockets.
81
+ *
82
+ * Useful for awaiting a shutdown that was initiated elsewhere.
83
+ *
84
+ * @returns A promise that resolves once the server and
85
+ * its sockets have been closed.
86
+ */
87
+ afterClosed(): Promise<void>;
88
+ }
49
89
  //# sourceMappingURL=network.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/types/network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,SAAS;IACrD,gBAAgB,EAAE,MAAM,CAAC,CAAC;CAC3B,GACG,CAAC,SAAS,SAAS,GACjB,CAAC,GACD,gBAAgB,GAClB,gBAAgB,CAAC;AAIrB,MAAM,WAAW,eAAe;CAAG;AAEnC,MAAM,WAAW,uBAAuB,CACtC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB;IAExD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB,EAC9D,eAAe,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,GAAG,MAAM,GAC7D,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB,CAChC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB;IAExD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAEpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/types/network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GAAG,eAAe,SAAS;IACrD,gBAAgB,EAAE,MAAM,CAAC,CAAC;CAC3B,GACG,CAAC,SAAS,SAAS,GACjB,CAAC,GACD,gBAAgB,GAClB,gBAAgB,CAAC;AAIrB,MAAM,WAAW,eAAe;CAAG;AAEnC,MAAM,WAAW,uBAAuB,CACtC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB;IAExD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB,EAC9D,eAAe,CAAC,EAAE,uBAAuB,CAAC,UAAU,CAAC,GAAG,MAAM,GAC7D,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;IAE1C;;;;;;;;OAQG;IACH,YAAY,CACV,eAAe,CAAC,EAAE,uBAAuB,GAAG,MAAM,EAClD,QAAQ,CAAC,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB,CAChC,UAAU,SAAS,SAAS,GAAG,MAAM,GAAG,gBAAgB;IAExD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAEpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAErD;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;;;;;;OAQG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B"}
@@ -28,6 +28,14 @@ export interface HardhatPlugin {
28
28
  dependencies?: () => Array<Promise<{
29
29
  default: HardhatPlugin;
30
30
  }>>;
31
+ conditionalDependencies?: Array<{
32
+ condition: () => Array<Promise<{
33
+ default: HardhatPlugin;
34
+ }>>;
35
+ plugin: () => Promise<{
36
+ default: HardhatPlugin;
37
+ }>;
38
+ }>;
31
39
  /**
32
40
  * An object with the different hook handlers that this plugin defines.
33
41
  *
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/types/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,OAAO,sCAAsC,CAAC;AAK9C,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAiB,iBAAiB;QAChC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;KAC3B;IAED,UAAiB,aAAa;QAE5B,OAAO,EAAE,aAAa,EAAE,CAAC;KAC1B;CACF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC,CAAC;IAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,YAAY,CAAC,EAAE,4BAA4B,CAAC;IAE5C;;OAEG;IACH,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEnC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG;KACxC,iBAAiB,IAAI,MAAM,YAAY,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC;QACxD,OAAO,EAAE,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;KACxD,CAAC;CACH,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,CACpC,aAAa,SAAS,MAAM,YAAY,IACtC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../src/types/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,OAAO,sCAAsC,CAAC;AAK9C,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAiB,iBAAiB;QAChC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;KAC3B;IAED,UAAiB,aAAa;QAE5B,OAAO,EAAE,aAAa,EAAE,CAAC;KAC1B;CACF;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC,CAAC;IAEhE,uBAAuB,CAAC,EAAE,KAAK,CAAC;QAC9B,SAAS,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,aAAa,CAAA;SAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,EAAE,MAAM,OAAO,CAAC;YAAE,OAAO,EAAE,aAAa,CAAA;SAAE,CAAC,CAAC;KACnD,CAAC,CAAC;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,YAAY,CAAC,EAAE,4BAA4B,CAAC;IAE5C;;OAEG;IACH,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEnC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG;KACxC,iBAAiB,IAAI,MAAM,YAAY,CAAC,CAAC,EAAE,MAAM,OAAO,CAAC;QACxD,OAAO,EAAE,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;KACxD,CAAC;CACH,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,CACpC,aAAa,SAAS,MAAM,YAAY,IACtC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC"}
@@ -32,17 +32,17 @@ export interface BuildOptions {
32
32
  * Default: The number of CPU cores - 1.
33
33
  */
34
34
  concurrency?: number;
35
- /**
36
- * An array of remappings provided by the user.
37
- */
38
- userProvidedRemappings?: string[];
39
35
  /**
40
36
  * If `true`, the build process doesn't print any output.
41
37
  */
42
38
  quiet?: boolean;
39
+ /**
40
+ * Whether to compile contracts or tests. Defaults to contracts
41
+ */
42
+ scope?: BuildScope;
43
43
  }
44
44
  /**
45
- * The options of the `getBuildInfos` method.
45
+ * The options of the `getCompilationJobs` method.
46
46
  *
47
47
  * Note that this option object includes a `quiet` property, as this process
48
48
  * may require downloading compilers, and potentially printing some output.
@@ -149,7 +149,13 @@ export interface SolidityBuildSystem {
149
149
  *
150
150
  * @returns An array of root file paths.
151
151
  */
152
- getRootFilePaths(): Promise<string[]>;
152
+ getRootFilePaths(options?: {
153
+ scope?: BuildScope;
154
+ }): Promise<string[]>;
155
+ /**
156
+ * Given the filesystem path for a source file, returns the build scope
157
+ */
158
+ getScope(fsPath: string): Promise<BuildScope>;
153
159
  /**
154
160
  * Builds the provided files, generating their compilation artifacts.
155
161
  *
@@ -204,7 +210,9 @@ export interface SolidityBuildSystem {
204
210
  * @returns A map from user source name to the absolute paths of the
205
211
  * artifacts that were emitted for it.
206
212
  */
207
- emitArtifacts(compilationJob: CompilationJob, compilerOutput: CompilerOutput): Promise<EmitArtifactsResult>;
213
+ emitArtifacts(compilationJob: CompilationJob, compilerOutput: CompilerOutput, options?: {
214
+ scope?: BuildScope;
215
+ }): Promise<EmitArtifactsResult>;
208
216
  /**
209
217
  * Analyzes the project and cleans up the artifacts by:
210
218
  * - Removing any existing artifact of non-existent contracts.
@@ -218,7 +226,9 @@ export interface SolidityBuildSystem {
218
226
 
219
227
  * @param rootFilePaths All the root files of the project.
220
228
  */
221
- cleanupArtifacts(rootFilePaths: string[]): Promise<void>;
229
+ cleanupArtifacts(rootFilePaths: string[], options?: {
230
+ scope?: BuildScope;
231
+ }): Promise<void>;
222
232
  /**
223
233
  * Compiles a build info, returning the output of the compilation, verbatim,
224
234
  * as `solc` returns it.
@@ -228,5 +238,10 @@ export interface SolidityBuildSystem {
228
238
  * @returns The output of the compilation.
229
239
  */
230
240
  compileBuildInfo(buildInfo: SolidityBuildInfo, options?: CompileBuildInfoOptions): Promise<CompilerOutput>;
241
+ /**
242
+ * Gets the artifacts directory for a given target (contracts/tests)
243
+ */
244
+ getArtifactsDirectory(scope: BuildScope): Promise<string>;
231
245
  }
246
+ export type BuildScope = "contracts" | "tests";
232
247
  //# sourceMappingURL=build-system.d.ts.map
@@ -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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"}