hardhat 3.14.0 → 3.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/src/internal/builtin-plugins/solidity/type-extensions.d.ts +2 -2
  3. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.d.ts.map +1 -1
  4. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js +1 -1
  5. package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js.map +1 -1
  6. package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.d.ts +1 -1
  7. package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.d.ts.map +1 -1
  8. package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.js +13 -11
  9. package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.js.map +1 -1
  10. package/dist/src/internal/builtin-plugins/solidity-test/formatters.d.ts +6 -1
  11. package/dist/src/internal/builtin-plugins/solidity-test/formatters.d.ts.map +1 -1
  12. package/dist/src/internal/builtin-plugins/solidity-test/formatters.js +41 -0
  13. package/dist/src/internal/builtin-plugins/solidity-test/formatters.js.map +1 -1
  14. package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts +16 -3
  15. package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts.map +1 -1
  16. package/dist/src/internal/builtin-plugins/solidity-test/helpers.js +45 -2
  17. package/dist/src/internal/builtin-plugins/solidity-test/helpers.js.map +1 -1
  18. package/dist/src/internal/builtin-plugins/solidity-test/runner.d.ts.map +1 -1
  19. package/dist/src/internal/builtin-plugins/solidity-test/runner.js +18 -1
  20. package/dist/src/internal/builtin-plugins/solidity-test/runner.js.map +1 -1
  21. package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts.map +1 -1
  22. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +15 -16
  23. package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
  24. package/package.json +2 -2
  25. package/src/internal/builtin-plugins/solidity/type-extensions.ts +2 -2
  26. package/src/internal/builtin-plugins/solidity-test/edr-artifacts.ts +1 -1
  27. package/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts +13 -11
  28. package/src/internal/builtin-plugins/solidity-test/formatters.ts +60 -1
  29. package/src/internal/builtin-plugins/solidity-test/helpers.ts +56 -4
  30. package/src/internal/builtin-plugins/solidity-test/runner.ts +33 -1
  31. package/src/internal/builtin-plugins/solidity-test/task-action.ts +20 -20
  32. package/templates/01-node-test-runner-viem/contracts/Counter.sol +1 -1
  33. package/templates/01-node-test-runner-viem/contracts/Counter.t.sol +1 -1
  34. package/templates/01-node-test-runner-viem/hardhat.config.ts +2 -2
  35. package/templates/01-node-test-runner-viem/package.json +2 -2
  36. package/templates/02-mocha-ethers/contracts/Counter.sol +1 -1
  37. package/templates/02-mocha-ethers/contracts/Counter.t.sol +1 -1
  38. package/templates/02-mocha-ethers/hardhat.config.ts +2 -2
  39. package/templates/02-mocha-ethers/package.json +2 -2
  40. package/templates/03-minimal/hardhat.config.ts +1 -1
  41. package/templates/03-minimal/package.json +1 -1
  42. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.d.ts +0 -9
  43. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.d.ts.map +0 -1
  44. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.js +0 -24
  45. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.js.map +0 -1
  46. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.d.ts +0 -24
  47. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.d.ts.map +0 -1
  48. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.js +0 -80
  49. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.js.map +0 -1
  50. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.d.ts +0 -13
  51. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.d.ts.map +0 -1
  52. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.js +0 -146
  53. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.js.map +0 -1
  54. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.d.ts +0 -19
  55. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.d.ts.map +0 -1
  56. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.js +0 -134
  57. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.js.map +0 -1
  58. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.d.ts +0 -10
  59. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.d.ts.map +0 -1
  60. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.js +0 -2
  61. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.js.map +0 -1
  62. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.d.ts +0 -13
  63. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.d.ts.map +0 -1
  64. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.js +0 -96
  65. package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.js.map +0 -1
  66. package/src/internal/builtin-plugins/solidity-test/inline-config/constants.ts +0 -25
  67. package/src/internal/builtin-plugins/solidity-test/inline-config/helpers.ts +0 -110
  68. package/src/internal/builtin-plugins/solidity-test/inline-config/index.ts +0 -285
  69. package/src/internal/builtin-plugins/solidity-test/inline-config/parsing.ts +0 -187
  70. package/src/internal/builtin-plugins/solidity-test/inline-config/types.ts +0 -9
  71. package/src/internal/builtin-plugins/solidity-test/inline-config/validation.ts +0 -144
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # hardhat
2
2
 
3
+ ## 3.16.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#8597](https://github.com/NomicFoundation/hardhat/pull/8597) [`6684224`](https://github.com/NomicFoundation/hardhat/commit/6684224124c48fe84904797f3c2d0c715014e64c) Thanks [@kanej](https://github.com/kanej)! - Added slang-solx compiler support as a Hardhat plugin.
8
+
9
+ ## 3.15.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#8457](https://github.com/NomicFoundation/hardhat/pull/8457) [`48286e0`](https://github.com/NomicFoundation/hardhat/commit/48286e0a69b49d814689073ce9897ac1b007ac19) Thanks [@ChristopherDedominici](https://github.com/ChristopherDedominici)! - Improve compilation speed for Solidity test runs by porting inline configuration parsing to Rust.
14
+
15
+ - [#8541](https://github.com/NomicFoundation/hardhat/pull/8541) [`ec737a2`](https://github.com/NomicFoundation/hardhat/commit/ec737a2894162b4e59aa22dc95518deba4027003) Thanks [@kanej](https://github.com/kanej)! - The project templates have been updated to Solidity 0.8.34 and forge-std v1.16.2.
16
+
17
+ ### Patch Changes
18
+
19
+ - [#8578](https://github.com/NomicFoundation/hardhat/pull/8578) [`d88f769`](https://github.com/NomicFoundation/hardhat/commit/d88f76989e90987a5e454c23f0c5f3fa2e07af6d) Thanks [@kanej](https://github.com/kanej)! - Support hyphens in compiler type names.
20
+
3
21
  ## 3.14.0
4
22
 
5
23
  ### Minor Changes
@@ -9,7 +9,7 @@ declare module "../../../types/config.js" {
9
9
  * The types of the values don't matter; we use `true` as a convention.
10
10
  *
11
11
  * By default, only "solc" is provided. Plugins can extend this via
12
- * declaration merging to add new compiler types (e.g. "slangSolx").
12
+ * declaration merging to add new compiler types (e.g. "slang-solx").
13
13
  */
14
14
  interface SolidityCompilerTypeDefinitions {
15
15
  solc: true;
@@ -266,7 +266,7 @@ declare module "../../../types/hooks.js" {
266
266
  /**
267
267
  * Hook to obtain a Compiler instance for a given compiler configuration.
268
268
  * The default handler returns a solc compiler. Plugins can intercept to
269
- * return their own compiler (e.g. SlangSolxCompiler for type: "slangSolx").
269
+ * return their own compiler (e.g. SlangSolxCompiler for type: "slang-solx").
270
270
  *
271
271
  * @param context The hook context.
272
272
  * @param compilerConfig The compiler configuration to get a compiler for.
@@ -1 +1 @@
1
- {"version":3,"file":"edr-artifacts.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/edr-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EACV,kBAAkB,IAAI,qBAAqB,EAC3C,QAAQ,IAAI,WAAW,EACxB,MAAM,sBAAsB,CAAC;AAK9B,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,MAC4E,CAAC;AAE7G;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiC/B;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAwFpC"}
1
+ {"version":3,"file":"edr-artifacts.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/edr-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,KAAK,EACV,kBAAkB,IAAI,qBAAqB,EAC3C,QAAQ,IAAI,WAAW,EACxB,MAAM,sBAAsB,CAAC;AAK9B,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,MAC6E,CAAC;AAE9G;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiC/B;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAwFpC"}
@@ -1,6 +1,6 @@
1
1
  import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
2
2
  import { readBinaryFile } from "@nomicfoundation/hardhat-utils/fs";
3
- export const BUILD_INFO_FORMAT = /^solc-(?<major>\d+)_(?<minor>\d+)_(?<patch>\d+)(?:-(?<compilerType>[a-zA-Z][a-zA-Z0-9]*))?-[0-9a-fA-F]*$/;
3
+ export const BUILD_INFO_FORMAT = /^solc-(?<major>\d+)_(?<minor>\d+)_(?<patch>\d+)(?:-(?<compilerType>[a-zA-Z][a-zA-Z0-9-]*))?-[0-9a-fA-F]*$/;
4
4
  /**
5
5
  * This function returns all the build infos and associated outputs.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"edr-artifacts.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/edr-artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edr-artifacts.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/edr-artifacts.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { CollectedStruct } from "./ast-walker.js";
2
2
  export declare const SELECTED_CONFLICT_REMEDIATION = "Rename one of the structs, or scope your `test.solidity.eip712Types.include` / `exclude` globs in `hardhat.config.ts` so that only one of them is selected.";
3
- export declare const DEPENDENCY_CONFLICT_REMEDIATION = "Rename one of the structs so the name has a single definition. The clashing name is pulled in as a dependency of a selected struct, so if you don't need that selected struct, deselecting it with your `test.solidity.eip712Types.include` / `exclude` globs in `hardhat.config.ts` also resolves the conflict.";
3
+ export declare const DEPENDENCY_CONFLICT_REMEDIATION = "Rename one of the structs so the name has a single definition. The clashing name is pulled in as a dependency of a selected struct, but none of its definitions is in a selected source, so you can also resolve the conflict with your `test.solidity.eip712Types.include` / `exclude` globs in `hardhat.config.ts`: include the source containing the canonical definition so it wins the clash, or deselect the struct that depends on it if you don't need it.";
4
4
  /**
5
5
  * Produces the flat list of canonical EIP-712 type strings expected by EDR.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalize.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD,eAAO,MAAM,6BAA6B,gKACqH,CAAC;AAEhK,eAAO,MAAM,+BAA+B,qTACwQ,CAAC;AAErT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,EAAE,EAC1B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,MAAM,EAAE,CAuCV"}
1
+ {"version":3,"file":"canonicalize.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIvD,eAAO,MAAM,6BAA6B,gKACqH,CAAC;AAEhK,eAAO,MAAM,+BAA+B,ucAC0Z,CAAC;AAEvc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,EAAE,EAC1B,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,MAAM,EAAE,CAuCV"}
@@ -1,6 +1,6 @@
1
1
  import { HardhatError } from "@nomicfoundation/hardhat-errors";
2
2
  export const SELECTED_CONFLICT_REMEDIATION = "Rename one of the structs, or scope your `test.solidity.eip712Types.include` / `exclude` globs in `hardhat.config.ts` so that only one of them is selected.";
3
- export const DEPENDENCY_CONFLICT_REMEDIATION = "Rename one of the structs so the name has a single definition. The clashing name is pulled in as a dependency of a selected struct, so if you don't need that selected struct, deselecting it with your `test.solidity.eip712Types.include` / `exclude` globs in `hardhat.config.ts` also resolves the conflict.";
3
+ export const DEPENDENCY_CONFLICT_REMEDIATION = "Rename one of the structs so the name has a single definition. The clashing name is pulled in as a dependency of a selected struct, but none of its definitions is in a selected source, so you can also resolve the conflict with your `test.solidity.eip712Types.include` / `exclude` globs in `hardhat.config.ts`: include the source containing the canonical definition so it wins the clash, or deselect the struct that depends on it if you don't need it.";
4
4
  /**
5
5
  * Produces the flat list of canonical EIP-712 type strings expected by EDR.
6
6
  *
@@ -174,12 +174,14 @@ function transitiveDeps(root, byName) {
174
174
  * - Both sides selected: throw immediately — genuinely ambiguous which to
175
175
  * emit.
176
176
  * - Current side non-selected: defer; the stored definition keeps the name.
177
- * Throw only if the name is reachable from a selected struct (its
178
- * transitive deps), since then which copy got inlined would depend on
179
- * iteration order. Names unreachable from the selected set are silently
180
- * deduped (first wins), so a non-selected struct that merely shares a
181
- * name with a selected root or an unreferenced struct never aborts the
182
- * run.
177
+ * Throw only if the name has no selected definition AND is reachable from
178
+ * a selected struct (its transitive deps), since only then which copy got
179
+ * inlined would depend on iteration order. A name with a selected
180
+ * definition always resolves to it deterministically (selected structs
181
+ * come first), so a non-selected struct that shares a name with a
182
+ * selected one never aborts the run — even when that name is also a
183
+ * dependency of another selected struct. Names unreachable from the
184
+ * selected set are likewise silently deduped (first wins).
183
185
  */
184
186
  function indexByName(structs, selectedSources, selectedNames) {
185
187
  const byName = new Map();
@@ -214,9 +216,9 @@ function indexByName(structs, selectedSources, selectedNames) {
214
216
  }
215
217
  // Non-selected side, so the stored definition (selected if the name has
216
218
  // one, since selected sources come first) keeps the name. Defer: throw
217
- // later only if the name is reachable from a selected struct. Sharing a
218
- // name with a selected root or an unreferenced struct is harmless and
219
- // must not abort.
219
+ // later only if the name has no selected definition and is reachable from
220
+ // a selected struct. Sharing a name with a selected definition or an
221
+ // unreferenced struct is harmless and must not abort.
220
222
  if (!deferredConflicts.has(struct.name)) {
221
223
  deferredConflicts.set(struct.name, {
222
224
  firstSource: sourceByName.get(struct.name) ?? "<unknown>",
@@ -227,7 +229,7 @@ function indexByName(structs, selectedSources, selectedNames) {
227
229
  if (deferredConflicts.size > 0) {
228
230
  const reachable = reachableFromSelected(byName, selectedNames);
229
231
  for (const [name, sources] of deferredConflicts) {
230
- if (reachable.has(name)) {
232
+ if (reachable.has(name) && !selectedNames.has(name)) {
231
233
  throw new HardhatError(HardhatError.ERRORS.CORE.SOLIDITY_TESTS.EIP712_DUPLICATE_STRUCT_NAME, { name, ...sources, remediation: DEPENDENCY_CONFLICT_REMEDIATION });
232
234
  }
233
235
  }
@@ -1 +1 @@
1
- {"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,MAAM,CAAC,MAAM,6BAA6B,GACxC,6JAA6J,CAAC;AAEhK,MAAM,CAAC,MAAM,+BAA+B,GAC1C,kTAAkT,CAAC;AAErT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAA0B,EAC1B,eAA4B;IAE5B,6EAA6E;IAC7E,6EAA6E;IAC7E,kCAAkC;IAClC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,SAAS;QACX,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC;aACxC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACf,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QAE/C,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,MAAoC,EACpC,UAAuB;IAEvB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAEjD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;YACrD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACpC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,OAAO,EAAE,CAAC;QACf,OAAO,GAAG,KAAK,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC5C,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACvB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAuB;IAC/C,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CACvB,MAAuB,EACvB,gBAA6B;IAE7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,gEAAgE;QAChE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvC,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CACrB,IAAqB,EACrB,MAAoC;IAEpC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEjD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAClE,SAAS;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,SAAS,WAAW,CAClB,OAA0B,EAC1B,eAA4B,EAC5B,aAA0B;IAE1B,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAClD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAG9B,CAAC;IAEJ,MAAM,OAAO,GAAG;QACd,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3D,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;KAC7D,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAChD,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACjD,SAAS;QACX,CAAC;QAED,IAAI,mBAAmB,KAAK,WAAW,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QAED,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,yEAAyE;YACzE,2EAA2E;YAC3E,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,4BAA4B,EACpE;gBACE,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW;gBACzD,YAAY,EAAE,MAAM,CAAC,UAAU;gBAC/B,WAAW,EAAE,6BAA6B;aAC3C,CACF,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,uEAAuE;QACvE,wEAAwE;QACxE,sEAAsE;QACtE,kBAAkB;QAClB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;gBACjC,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW;gBACzD,YAAY,EAAE,MAAM,CAAC,UAAU;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC/D,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAChD,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,4BAA4B,EACpE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,+BAA+B,EAAE,CACnE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,MAAoC,EACpC,aAA0B;IAE1B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,SAAS;QACX,CAAC;QAED,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,MAAuB;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,eAAe,IAAI,CAAC,CAAC,IAAI,EAAE,CAChD,CAAC;IAEF,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
- import type { ArtifactId } from "@nomicfoundation/edr";
1
+ import type { ArtifactId, InlineConfigError } from "@nomicfoundation/edr";
2
2
  export declare function formatArtifactId(artifactId: ArtifactId, sourceNameToUserSourceName: Map<string, string>): string;
3
+ /**
4
+ * Formats the inline test configuration problems that EDR reports, one per
5
+ * line, each located at the user-facing path of the source it was found in.
6
+ */
7
+ export declare function formatInlineConfigErrors(errors: InlineConfigError[], sourceNameToUserSourceName: Map<string, string>): string;
3
8
  //# sourceMappingURL=formatters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,UAAU,EACtB,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,MAAM,CAKR"}
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAEV,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAE9B,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,UAAU,EACtB,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,MAAM,CAKR;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,iBAAiB,EAAE,EAC3B,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,MAAM,CAaR"}
@@ -2,4 +2,45 @@ export function formatArtifactId(artifactId, sourceNameToUserSourceName) {
2
2
  const sourceName = sourceNameToUserSourceName.get(artifactId.source) ?? artifactId.source;
3
3
  return `${sourceName}:${artifactId.name}`;
4
4
  }
5
+ /**
6
+ * Formats the inline test configuration problems that EDR reports, one per
7
+ * line, each located at the user-facing path of the source it was found in.
8
+ */
9
+ export function formatInlineConfigErrors(errors, sourceNameToUserSourceName) {
10
+ return errors
11
+ .map((error) => {
12
+ const sourceName = sourceNameToUserSourceName.get(error.sourceName) ?? error.sourceName;
13
+ if (error.kind === "source") {
14
+ return `- ${sourceName}: ${formatInlineConfigSourceProblem(error.problem)}`;
15
+ }
16
+ return `- ${sourceName}:${error.line}: ${error.contract}.${error.function}: ${formatInlineConfigDirectiveProblem(error.problem)}`;
17
+ })
18
+ .join("\n");
19
+ }
20
+ function formatInlineConfigDirectiveProblem(problem) {
21
+ switch (problem.kind) {
22
+ case "InlineConfigInvalidSyntax":
23
+ return `missing "=" in "${problem.directive}"`;
24
+ case "InlineConfigUnsupportedProfile":
25
+ return `unsupported profile "${problem.profile}". Only the "default" profile is supported`;
26
+ case "InlineConfigInvalidKey":
27
+ return `invalid key "${problem.key}"`;
28
+ case "InlineConfigInvalidKeyForTestType":
29
+ return `key "${problem.key}" is not valid for ${problem.testType} tests`;
30
+ case "InlineConfigInvalidValue":
31
+ return `invalid value "${problem.value}" for key "${problem.key}". Expected a ${problem.expected}`;
32
+ case "InlineConfigDuplicateKey":
33
+ return `duplicate key "${problem.key}"`;
34
+ }
35
+ }
36
+ function formatInlineConfigSourceProblem(problem) {
37
+ switch (problem.kind) {
38
+ case "InlineConfigInvalidSolcVersion":
39
+ return "the Solidity version of this source is not supported by the inline configuration parser";
40
+ case "InlineConfigSourceFileNotFound":
41
+ return `the source file could not be read at "${problem.path}": ${problem.reason}`;
42
+ case "InlineConfigDirectiveLocation":
43
+ return `a directive of ${problem.contract}.${problem.function} could not be located: ${problem.reason}`;
44
+ }
45
+ }
5
46
  //# sourceMappingURL=formatters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/formatters.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAC9B,UAAsB,EACtB,0BAA+C;IAE/C,MAAM,UAAU,GACd,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;IAEzE,OAAO,GAAG,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/formatters.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,gBAAgB,CAC9B,UAAsB,EACtB,0BAA+C;IAE/C,MAAM,UAAU,GACd,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;IAEzE,OAAO,GAAG,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAA2B,EAC3B,0BAA+C;IAE/C,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACb,MAAM,UAAU,GACd,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC;QAEvE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,KAAK,UAAU,KAAK,+BAA+B,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9E,CAAC;QAED,OAAO,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,kCAAkC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACpI,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,kCAAkC,CACzC,OAAqC;IAErC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,2BAA2B;YAC9B,OAAO,mBAAmB,OAAO,CAAC,SAAS,GAAG,CAAC;QACjD,KAAK,gCAAgC;YACnC,OAAO,wBAAwB,OAAO,CAAC,OAAO,4CAA4C,CAAC;QAC7F,KAAK,wBAAwB;YAC3B,OAAO,gBAAgB,OAAO,CAAC,GAAG,GAAG,CAAC;QACxC,KAAK,mCAAmC;YACtC,OAAO,QAAQ,OAAO,CAAC,GAAG,sBAAsB,OAAO,CAAC,QAAQ,QAAQ,CAAC;QAC3E,KAAK,0BAA0B;YAC7B,OAAO,kBAAkB,OAAO,CAAC,KAAK,cAAc,OAAO,CAAC,GAAG,iBAAiB,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrG,KAAK,0BAA0B;YAC7B,OAAO,kBAAkB,OAAO,CAAC,GAAG,GAAG,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CACtC,OAAkC;IAElC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,gCAAgC;YACnC,OAAO,yFAAyF,CAAC;QACnG,KAAK,gCAAgC;YACnC,OAAO,yCAAyC,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACrF,KAAK,+BAA+B;YAClC,OAAO,kBAAkB,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,0BAA0B,OAAO,CAAC,MAAM,EAAE,CAAC;IAC5G,CAAC;AACH,CAAC"}
@@ -1,6 +1,8 @@
1
+ import type { TestsStream } from "./types.js";
1
2
  import type { ChainType } from "../../../types/network.js";
2
3
  import type { SolidityTestProfileConfig } from "../../../types/test.js";
3
- import type { SolidityTestRunnerConfigArgs, Artifact, ObservabilityConfig, TestFunctionOverride } from "@nomicfoundation/edr";
4
+ import type { SolidityTestRunnerConfigArgs, Artifact, ObservabilityConfig } from "@nomicfoundation/edr";
5
+ import type { Writable } from "node:stream";
4
6
  interface SolidityTestConfigParams {
5
7
  chainType: ChainType;
6
8
  projectRoot: string;
@@ -11,11 +13,22 @@ interface SolidityTestConfigParams {
11
13
  testPattern?: string;
12
14
  excludeTestPattern?: string;
13
15
  generateGasReport: boolean;
14
- testFunctionOverrides?: TestFunctionOverride[];
15
16
  eip712CanonicalTypes?: string[];
17
+ testSourcePaths?: Record<string, string>;
16
18
  }
17
- export declare function solidityTestConfigToSolidityTestRunnerConfigArgs({ chainType, projectRoot, hardfork, config, verbosity, observability, testPattern, excludeTestPattern, generateGasReport, testFunctionOverrides, eip712CanonicalTypes, }: SolidityTestConfigParams): Promise<SolidityTestRunnerConfigArgs>;
19
+ export declare function solidityTestConfigToSolidityTestRunnerConfigArgs({ chainType, projectRoot, hardfork, config, verbosity, observability, testPattern, excludeTestPattern, generateGasReport, eip712CanonicalTypes, testSourcePaths, }: SolidityTestConfigParams): Promise<SolidityTestRunnerConfigArgs>;
18
20
  export declare function isTestSuiteArtifact(artifact: Artifact): boolean;
21
+ /**
22
+ * Writes the test reporter's output to `output` and waits for the test run to
23
+ * complete, returning the error that failed it, if any.
24
+ *
25
+ * @param runStream The runner's stream of test events.
26
+ * @param reporterStream The reporter's stream of output, composed from
27
+ * `runStream`.
28
+ * @param output Where the reporter's output is written to.
29
+ * @returns The error that failed the run, or `undefined` if it succeeded.
30
+ */
31
+ export declare function writeTestRunOutput(runStream: TestsStream, reporterStream: NodeJS.ReadableStream, output: Writable): Promise<unknown>;
19
32
  export declare function warnDeprecatedTestFail(artifact: Artifact, sourceNameToUserSourceName: Map<string, string>): void;
20
33
  export {};
21
34
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EACV,4BAA4B,EAE5B,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AA0B9B,UAAU,wBAAwB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC/C,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,wBAAsB,gDAAgD,CAAC,EACrE,SAAS,EACT,WAAW,EACX,QAAQ,EACR,MAAM,EACN,SAAS,EACT,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,GACrB,EAAE,wBAAwB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAmHlE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAgB/D;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,IAAI,CAkBN"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EACV,4BAA4B,EAE5B,QAAQ,EACR,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA2B5C,UAAU,wBAAwB;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,IAAI,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,wBAAsB,gDAAgD,CAAC,EACrE,SAAS,EACT,WAAW,EACX,QAAQ,EACR,MAAM,EACN,SAAS,EACT,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,GAChB,EAAE,wBAAwB,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAmHlE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAgB/D;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,WAAW,EACtB,cAAc,EAAE,MAAM,CAAC,cAAc,EACrC,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC,CAkClB;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,IAAI,CAkBN"}
@@ -1,3 +1,4 @@
1
+ import { finished } from "node:stream/promises";
1
2
  import { styleText } from "node:util";
2
3
  import { opGenesisState, l1GenesisState, FsAccessPermission, CollectStackTraces, opHardforkFromString, l1HardforkFromString, } from "@nomicfoundation/edr";
3
4
  import { toBigInt } from "@nomicfoundation/hardhat-utils/bigint";
@@ -8,7 +9,7 @@ import { hardhatHardforkToEdrSpecId } from "../network-manager/edr/utils/convert
8
9
  import { warnIfExperimentalHardfork } from "../network-manager/edr/utils/hardfork.js";
9
10
  import { verbosityToIncludeTraces } from "../network-manager/edr/utils/trace-formatters.js";
10
11
  import { formatArtifactId } from "./formatters.js";
11
- export async function solidityTestConfigToSolidityTestRunnerConfigArgs({ chainType, projectRoot, hardfork, config, verbosity, observability, testPattern, excludeTestPattern, generateGasReport, testFunctionOverrides, eip712CanonicalTypes, }) {
12
+ export async function solidityTestConfigToSolidityTestRunnerConfigArgs({ chainType, projectRoot, hardfork, config, verbosity, observability, testPattern, excludeTestPattern, generateGasReport, eip712CanonicalTypes, testSourcePaths, }) {
12
13
  const fsPermissions = [
13
14
  config.fsPermissions?.readWriteFile?.map((p) => ({
14
15
  access: FsAccessPermission.ReadWriteFile,
@@ -95,8 +96,8 @@ export async function solidityTestConfigToSolidityTestRunnerConfigArgs({ chainTy
95
96
  collectStackTraces: shouldAlwaysCollectStackTraces
96
97
  ? CollectStackTraces.Always
97
98
  : CollectStackTraces.OnFailure,
98
- testFunctionOverrides,
99
99
  eip712CanonicalTypes,
100
+ testSourcePaths,
100
101
  };
101
102
  }
102
103
  export function isTestSuiteArtifact(artifact) {
@@ -113,6 +114,48 @@ export function isTestSuiteArtifact(artifact) {
113
114
  return false;
114
115
  });
115
116
  }
117
+ /**
118
+ * Writes the test reporter's output to `output` and waits for the test run to
119
+ * complete, returning the error that failed it, if any.
120
+ *
121
+ * @param runStream The runner's stream of test events.
122
+ * @param reporterStream The reporter's stream of output, composed from
123
+ * `runStream`.
124
+ * @param output Where the reporter's output is written to.
125
+ * @returns The error that failed the run, or `undefined` if it succeeded.
126
+ */
127
+ export async function writeTestRunOutput(runStream, reporterStream, output) {
128
+ const outputStream = reporterStream.pipe(output);
129
+ // When the runner reports an error it destroys the run stream with it, which
130
+ // also destroys the reporter stream composed from it. `pipe()` neither
131
+ // forwards that error to the output stream nor ends it, so without this
132
+ // listener the reporter stream emits an `error` event with nothing listening,
133
+ // crashing the process, and `finished(outputStream)` below never settles.
134
+ // Attached before any `await` so that it can't miss the event.
135
+ let reporterStreamError;
136
+ reporterStream.on("error", (error) => {
137
+ reporterStreamError = error;
138
+ if (!outputStream.writableEnded) {
139
+ outputStream.end();
140
+ }
141
+ });
142
+ let runError;
143
+ try {
144
+ // NOTE: We're awaiting the original run stream to finish to catch any
145
+ // errors produced by the runner.
146
+ await finished(runStream);
147
+ // We also await the output stream to finish, as we want to wait for it
148
+ // to avoid returning before the whole output was generated.
149
+ await finished(outputStream);
150
+ }
151
+ catch (error) {
152
+ runError = error;
153
+ }
154
+ // Neither await above surfaces an error that reached the reporter stream
155
+ // without failing the run stream, e.g. one thrown by the reporter after the
156
+ // run stream already ended.
157
+ return runError ?? reporterStreamError;
158
+ }
116
159
  export function warnDeprecatedTestFail(artifact, sourceNameToUserSourceName) {
117
160
  const abi = JSON.parse(artifact.contract.abi);
118
161
  abi.forEach(({ type, name }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAY9B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,QAAQ,EAAE,EACrB,YAAY,EAAE,UAAU,EAAE,EAC1B,gBAAgB,EAAE,4BAA4B,EAC9C,aAAa,EAAE,wBAAwB,EACvC,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,WAAW,CAyEb"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EAER,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAY9B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,QAAQ,EAAE,EACrB,YAAY,EAAE,UAAU,EAAE,EAC1B,gBAAgB,EAAE,4BAA4B,EAC9C,aAAa,EAAE,wBAAwB,EACvC,0BAA0B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9C,WAAW,CA2Fb"}
@@ -3,7 +3,7 @@ import { HardhatError } from "@nomicfoundation/hardhat-errors";
3
3
  import { ensureError } from "@nomicfoundation/hardhat-utils/error";
4
4
  import { hardhatChainTypeToEdrChainType } from "../../edr/chain-type.js";
5
5
  import { getGlobalEdrContext } from "../../edr/context.js";
6
- import { formatArtifactId } from "./formatters.js";
6
+ import { formatArtifactId, formatInlineConfigErrors } from "./formatters.js";
7
7
  /**
8
8
  * Run all the given solidity tests and returns the stream of results.
9
9
  *
@@ -64,6 +64,15 @@ export function run(chainType, artifacts, testSuiteIds, testRunnerConfig, tracin
64
64
  }
65
65
  catch (error) {
66
66
  ensureError(error);
67
+ // EDR reports the problems it found in the user's inline test config as
68
+ // an `inlineConfigErrors` property on the error. Report them as a
69
+ // dedicated Hardhat error instead of an unhandled EDR error.
70
+ if (hasInlineConfigErrors(error)) {
71
+ stream.destroy(new HardhatError(HardhatError.ERRORS.CORE.SOLIDITY_TESTS.INVALID_INLINE_CONFIG, {
72
+ errors: formatInlineConfigErrors(error.inlineConfigErrors, sourceNameToUserSourceName),
73
+ }));
74
+ return;
75
+ }
67
76
  stream.destroy(new HardhatError(HardhatError.ERRORS.CORE.SOLIDITY_TESTS
68
77
  .UNHANDLED_EDR_ERROR_SOLIDITY_TESTS, {
69
78
  error: error.message,
@@ -72,4 +81,12 @@ export function run(chainType, artifacts, testSuiteIds, testRunnerConfig, tracin
72
81
  })();
73
82
  return stream;
74
83
  }
84
+ /**
85
+ * EDR attaches the structured inline-config problems to the error that rejects
86
+ * `runSolidityTests`, but as a property of an `Error` rather than a typed
87
+ * error class, so we have to assert their type here.
88
+ */
89
+ function hasInlineConfigErrors(error) {
90
+ return ("inlineConfigErrors" in error && Array.isArray(error.inlineConfigErrors));
91
+ }
75
92
  //# sourceMappingURL=runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/runner.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,GAAG,CACjB,SAAoB,EACpB,SAAqB,EACrB,YAA0B,EAC1B,gBAA8C,EAC9C,aAAuC,EACvC,0BAA+C;IAE/C,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC;QAC1B,UAAU,EAAE,IAAI;QAChB,IAAI,KAAI,CAAC;KACV,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,0BAA0B,CAAC,CAAC,CAC3E,CAAC;IAEF,mEAAmE;IACnE,iEAAiE;IACjE,qEAAqE;IACrE,iEAAiE;IACjE,sEAAsE;IACtE,qEAAqE;IACrE,2DAA2D;IAC3D,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,mBAAmB,EAAE,CAAC;YAC/C,MAAM,kBAAkB,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAC1D,8BAA8B,CAAC,SAAS,CAAC,EACzC,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,CAAC,WAAW,EAAE,EAAE;gBACd,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,WAAW;iBACE,CAAC,CAAC;gBACvB,eAAe,CAAC,MAAM,CACpB,gBAAgB,CAAC,WAAW,CAAC,EAAE,EAAE,0BAA0B,CAAC,CAC7D,CAAC;gBACF,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBAC/B,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC;YACH,CAAC,CACF,CAAC;YACF,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,kBAAkB;aACL,CAAC,CAAC;YACvB,YAAY,GAAG,IAAI,CAAC;YAEpB,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,CAAC;YAEnB,MAAM,CAAC,OAAO,CACZ,IAAI,YAAY,CACd,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc;iBACpC,kCAAkC,EACrC;gBACE,KAAK,EAAE,KAAK,CAAC,OAAO;aACrB,CACF,CACF,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/runner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-action.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAgC9B,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,QAAA,MAAM,gBAAgB,EAAE,qBAAqB,CAAC,mBAAmB,CAkUhE,CAAC;AAqEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"task-action.d.ts","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAGV,WAAW,EACZ,MAAM,sBAAsB,CAAC;AA8B9B,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa;IAC1D,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,QAAA,MAAM,gBAAgB,EAAE,qBAAqB,CAAC,mBAAmB,CAoUhE,CAAC;AAqEF,eAAe,gBAAgB,CAAC"}
@@ -1,4 +1,3 @@
1
- import { finished } from "node:stream/promises";
2
1
  import { HardhatError } from "@nomicfoundation/hardhat-errors";
3
2
  import { exists } from "@nomicfoundation/hardhat-utils/fs";
4
3
  import { resolveFromRoot } from "@nomicfoundation/hardhat-utils/path";
@@ -12,8 +11,7 @@ import { getGasAnalyticsManager } from "../gas-analytics/helpers/accessors.js";
12
11
  import { edrGasReportToHardhatGasMeasurements } from "../network-manager/edr/utils/convert-to-edr.js";
13
12
  import { buildEdrArtifactsWithMetadata, getBuildInfosAndOutputs, } from "./edr-artifacts.js";
14
13
  import { collectEip712CanonicalTypes } from "./eip712/index.js";
15
- import { isTestSuiteArtifact, warnDeprecatedTestFail, solidityTestConfigToSolidityTestRunnerConfigArgs, } from "./helpers.js";
16
- import { getTestFunctionOverrides } from "./inline-config/index.js";
14
+ import { isTestSuiteArtifact, warnDeprecatedTestFail, solidityTestConfigToSolidityTestRunnerConfigArgs, writeTestRunOutput, } from "./helpers.js";
17
15
  import { testReporter } from "./reporter.js";
18
16
  import { run } from "./runner.js";
19
17
  import { DEFAULT_TEST_PROFILE } from "./test-profiles.js";
@@ -113,6 +111,16 @@ const runSolidityTests = async ({ testFiles, chainType, grep, grepExclude, noCom
113
111
  warnDeprecatedTestFail(edrArtifact, sourceNameToUserSourceName);
114
112
  }
115
113
  const testSuiteIds = testSuiteArtifacts.map(({ edrArtifact }) => edrArtifact.id);
114
+ // Maps each test suite's solc source name to its absolute path on disk, so
115
+ // EDR can read the inline test configuration from the sources. A source
116
+ // without an entry has no inline configuration collected.
117
+ //
118
+ // EDR skips every source that carries no inline config directive, so there's
119
+ // no need to filter these paths here.
120
+ const testSourcePaths = Object.fromEntries(testSuiteArtifacts.map(({ userSourceName, edrArtifact }) => [
121
+ edrArtifact.id.source,
122
+ resolveFromRoot(hre.config.paths.root, userSourceName),
123
+ ]));
116
124
  console.log("Running Solidity tests");
117
125
  console.log();
118
126
  let includesFailures = false;
@@ -139,7 +147,6 @@ const runSolidityTests = async ({ testFiles, chainType, grep, grepExclude, noCom
139
147
  hardfork = networkConfig.hardfork;
140
148
  }
141
149
  }
142
- const testFunctionOverrides = await getTestFunctionOverrides(testSuiteArtifacts, allBuildInfosAndOutputs);
143
150
  const eip712CanonicalTypes = await collectEip712CanonicalTypes(allBuildInfosAndOutputs, sourceNameToUserSourceName, eip712Types);
144
151
  const testRunnerConfig = await solidityTestConfigToSolidityTestRunnerConfigArgs({
145
152
  chainType,
@@ -152,8 +159,8 @@ const runSolidityTests = async ({ testFiles, chainType, grep, grepExclude, noCom
152
159
  excludeTestPattern: grepExclude,
153
160
  generateGasReport: hre.globalOptions.gasStats ||
154
161
  hre.globalOptions.gasStatsJson !== undefined,
155
- testFunctionOverrides,
156
162
  eip712CanonicalTypes,
163
+ testSourcePaths,
157
164
  });
158
165
  const tracingConfig = {
159
166
  buildInfos: allBuildInfosAndOutputs.map(({ buildInfo, output }) => ({
@@ -207,17 +214,9 @@ const runSolidityTests = async ({ testFiles, chainType, grep, grepExclude, noCom
207
214
  }
208
215
  }
209
216
  });
210
- const outputStream = testReporterStream.pipe(createNonClosingWriter(process.stdout));
211
- try {
212
- // NOTE: We're awaiting the original run stream to finish to catch any
213
- // errors produced by the runner.
214
- await finished(runStream);
215
- // We also await the output stream to finish, as we want to wait for it
216
- // to avoid returning before the whole output was generated.
217
- await finished(outputStream);
218
- }
219
- catch (error) {
220
- console.error(error);
217
+ const testRunError = await writeTestRunOutput(runStream, testReporterStream, createNonClosingWriter(process.stdout));
218
+ if (testRunError !== undefined) {
219
+ console.error(testRunError);
221
220
  includesErrors = true;
222
221
  }
223
222
  await hre.hooks.runHandlerChain("test", "onTestWorkerDone", ["solidity"], async () => { });
@@ -1 +1 @@
1
- {"version":3,"file":"task-action.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-action.js","sourceRoot":"","sources":["../../../../../src/internal/builtin-plugins/solidity-test/task-action.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,oCAAoC,EAAE,MAAM,gDAAgD,CAAC;AAEtG,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,gDAAgD,EAChD,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAe1D,MAAM,gBAAgB,GAA+C,KAAK,EACxE,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,EACxE,GAAG,EAC4D,EAAE;IACjE,6FAA6F;IAC7F,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC;IAE7B,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC;IAE9C,6EAA6E;IAC7E,4BAA4B;IAC5B,MAAM,yBAAyB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpD,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAClC,CAAC;IAEF,MAAM,iCAAiC,CACrC,GAAG,CAAC,QAAQ,EACZ,SAAS,EACT,yBAAyB,CAC1B,CAAC;IAEF,iGAAiG;IACjG,0DAA0D;IAC1D,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;IAEhC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,EACzD;YACE,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,WAAW;SAClB,CACF,CAAC;IACJ,CAAC;IAED,IAAI,kBAA4B,CAAC;IACjC,IAAI,wBAAmD,CAAC;IACxD,IAAI,uBAA6C,CAAC;IAElD,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;QAC9C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;gBACnC,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC;QAED,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK;aACrD,OAAO,CAAC,OAAO,CAAC;aAChB,GAAG,CAAC;YACH,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC,CAAC;QACN,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,CAAC,EAAE,wBAAwB,EAAE,uBAAuB,EAAE;YACpD,MAAM,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,GAAG,MAAM,GAAG,CAAC,KAAK;iBACrD,OAAO,CAAC,OAAO,CAAC;iBAChB,GAAG,CAAC;gBACH,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC,CAAC;QACR,CAAC;aAAM,CAAC;YACN,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,kBAAkB,GAAG,yBAAyB,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,kBAAkB,GAAG,EAAE,CAAC;gBACxB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;oBACnD,KAAK,EAAE,WAAW;iBACnB,CAAC,CAAC;gBAEH,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;wBACpD,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,CAAC,EAAE,wBAAwB,EAAE,uBAAuB,EAAE;YACpD,MAAM,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEpD,6EAA6E;QAC7E,oEAAoE;QACpE,uEAAuE;QACvE,wBAAwB;QACxB,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,wBAAwB,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAClD,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CACvD,CACF,CAAC;YAEF,MAAM,gBAAgB,GAAa,EAAE,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;gBACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc;qBACpC,gCAAgC,EACnC;oBACE,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;iBACxD,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,0BAA0B,GAAG,IAAI,GAAG,CACxC,wBAAwB,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAChE,WAAW,CAAC,EAAE,CAAC,MAAM;QACrB,cAAc;KACf,CAAC,CACH,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACrD,MAAM,kBAAkB,GAAG,wBAAwB;SAChD,MAAM,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAC7B,gBAAgB,CAAC,GAAG,CAClB,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CACvD,CACF;SACA,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;IAEjE,KAAK,MAAM,EAAE,WAAW,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACjD,sBAAsB,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CACzC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CACpC,CAAC;IAEF,2EAA2E;IAC3E,wEAAwE;IACxE,0DAA0D;IAC1D,EAAE;IACF,6EAA6E;IAC7E,sCAAsC;IACtC,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CACxC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC1D,WAAW,CAAC,EAAE,CAAC,MAAM;QACrB,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC;KACvD,CAAC,CACH,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAE,GAC1C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAE1D,IAAI,mBAAoD,CAAC;IACzD,IAAI,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACzC,mBAAmB,GAAG;YACpB,YAAY,EAAE;gBACZ,2BAA2B,EAAE,KAAK,EAAE,YAA0B,EAAE,EAAE;oBAChE,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACpC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACjC,CAAC;oBAEF,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,IAAI,QAA4B,CAAC;IACjC,IAAI,GAAG,CAAC,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC;QAC9C,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC1E,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;QACpC,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,GAAG,MAAM,2BAA2B,CAC5D,uBAAuB,EACvB,0BAA0B,EAC1B,WAAW,CACZ,CAAC;IAEF,MAAM,gBAAgB,GACpB,MAAM,gDAAgD,CAAC;QACrD,SAAS;QACT,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;QAClC,QAAQ;QACR,MAAM,EAAE,kBAAkB;QAC1B,SAAS;QACT,aAAa,EAAE,mBAAmB;QAClC,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,WAAW;QAC/B,iBAAiB,EACf,GAAG,CAAC,aAAa,CAAC,QAAQ;YAC1B,GAAG,CAAC,aAAa,CAAC,YAAY,KAAK,SAAS;QAC9C,oBAAoB;QACpB,eAAe;KAChB,CAAC,CAAC;IACL,MAAM,aAAa,GAA6B;QAC9C,UAAU,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YAClE,SAAS;YACT,MAAM;SACP,CAAC,CAAC;QACH,eAAe,EAAE,KAAK;KACvB,CAAC;IACF,MAAM,GAAG,CAAC,KAAK,CAAC,eAAe,CAC7B,MAAM,EACN,gBAAgB,EAChB,CAAC,UAAU,CAAC,EACZ,KAAK,IAAI,EAAE,GAAE,CAAC,CACf,CAAC;IAEF,MAAM,SAAS,GAAG,GAAG,CACnB,SAAS,EACT,wBAAwB,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAC9D,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,0BAA0B,CAC3B,CAAC;IAEF,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,MAAM,YAAY,GAAkB,EAAE,CAAC;IACvC,MAAM,kBAAkB,GAAG,SAAS;SACjC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAgB,EAAE,EAAE;QAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;gBACtE,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;YAEjC,2DAA2D;YAC3D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAC7D,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CACpC,CAAC;YAEF,uEAAuE;YACvE,oBAAoB;YACpB,MAAM,eAAe,GAAG,oCAAoC,CAC1D,SAAS,EACT,gBAAgB,CACjB,CAAC;YAEF,MAAM,YAAY,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;YACjD,KAAK,MAAM,WAAW,IAAI,eAAe,EAAE,CAAC;gBAC1C,YAAY,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC,CAAC;SACD,OAAO,CAAC,KAAK,SAAS,CAAC,EAAE,MAAM;QAC9B,MAAM,QAAQ,GAAG,YAAY,CAC3B,MAAM,EACN,0BAA0B,EAC1B,SAAS,EACT,gBAAgB,CACjB,CAAC;QAEF,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,KAAK,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBACtB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBACtB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;gBACxB,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C,SAAS,EACT,kBAAkB,EAClB,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CACvC,CAAC;IAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,MAAM,GAAG,CAAC,KAAK,CAAC,eAAe,CAC7B,MAAM,EACN,kBAAkB,EAClB,CAAC,UAAU,CAAC,EACZ,KAAK,IAAI,EAAE,GAAE,CAAC,CACf,CAAC;IAEF,MAAM,GAAG,CAAC,KAAK,CAAC,eAAe,CAC7B,MAAM,EACN,eAAe,EACf,CAAC,UAAU,CAAC,EACZ,KAAK,IAAI,EAAE,GAAE,CAAC,CACf,CAAC;IAEF,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE;QAC5D,YAAY;KACb,CAAC;IAEF,OAAO,gBAAgB,IAAI,cAAc;QACvC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;QACrB,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,KAAK,UAAU,iCAAiC,CAC9C,QAA6B,EAC7B,SAAmB,EACnB,yBAAmC;IAEnC,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,yBAAyB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAC9D,CAAC;IAEF,MAAM,OAAO,GAAa,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAExE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,gCAAgC,EACxE;YACE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/C,CACF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,yBAAyB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACzE,CAAC;IAEF,MAAM,QAAQ,GAAa,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IAE7E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc;aACpC,qCAAqC,EACxC;YACE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAChD,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,QAA6B,EAC7B,MAAoB;IAKpB,MAAM,wBAAwB,GAA8B,EAAE,CAAC;IAC/D,MAAM,uBAAuB,GAAyB,EAAE,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,eAAe,GAAG,IAAI,6BAA6B,CAAC,YAAY,CAAC,CAAC;QACxE,wBAAwB,CAAC,IAAI,CAC3B,GAAG,CAAC,MAAM,6BAA6B,CAAC,eAAe,CAAC,CAAC,CAC1D,CAAC;QACF,uBAAuB,CAAC,IAAI,CAC1B,GAAG,CAAC,MAAM,uBAAuB,CAAC,eAAe,CAAC,CAAC,CACpD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,CAAC;AAC/D,CAAC;AAED,eAAe,gBAAgB,CAAC"}