hardhat 3.15.0 → 3.17.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 (85) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.d.ts.map +1 -1
  3. package/dist/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.js +0 -1
  4. package/dist/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.js.map +1 -1
  5. package/dist/src/internal/builtin-plugins/network-manager/config-resolution.d.ts.map +1 -1
  6. package/dist/src/internal/builtin-plugins/network-manager/config-resolution.js +1 -0
  7. package/dist/src/internal/builtin-plugins/network-manager/config-resolution.js.map +1 -1
  8. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-constants.d.ts +1 -0
  9. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-constants.d.ts.map +1 -1
  10. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-constants.js +2 -0
  11. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-constants.js.map +1 -1
  12. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts +15 -0
  13. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts.map +1 -1
  14. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js +43 -5
  15. package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js.map +1 -1
  16. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js +4 -4
  17. package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js.map +1 -1
  18. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.d.ts +3 -2
  19. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.d.ts.map +1 -1
  20. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js +13 -5
  21. package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js.map +1 -1
  22. package/dist/src/internal/builtin-plugins/network-manager/http-provider.js +1 -1
  23. package/dist/src/internal/builtin-plugins/network-manager/http-provider.js.map +1 -1
  24. package/dist/src/internal/builtin-plugins/network-manager/provider-errors.d.ts +20 -0
  25. package/dist/src/internal/builtin-plugins/network-manager/provider-errors.d.ts.map +1 -1
  26. package/dist/src/internal/builtin-plugins/network-manager/provider-errors.js +24 -0
  27. package/dist/src/internal/builtin-plugins/network-manager/provider-errors.js.map +1 -1
  28. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.d.ts.map +1 -1
  29. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.js +10 -13
  30. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.js.map +1 -1
  31. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.d.ts +1 -1
  32. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.d.ts.map +1 -1
  33. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.js +2 -2
  34. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.js.map +1 -1
  35. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/multiplied-gas-estimation.d.ts +11 -3
  36. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/multiplied-gas-estimation.d.ts.map +1 -1
  37. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/multiplied-gas-estimation.js +53 -13
  38. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/multiplied-gas-estimation.js.map +1 -1
  39. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.d.ts.map +1 -1
  40. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.js +19 -1
  41. package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.js.map +1 -1
  42. package/dist/src/internal/builtin-plugins/network-manager/type-extensions/config.d.ts +2 -0
  43. package/dist/src/internal/builtin-plugins/network-manager/type-extensions/config.d.ts.map +1 -1
  44. package/dist/src/internal/builtin-plugins/network-manager/type-validation.d.ts.map +1 -1
  45. package/dist/src/internal/builtin-plugins/network-manager/type-validation.js +1 -0
  46. package/dist/src/internal/builtin-plugins/network-manager/type-validation.js.map +1 -1
  47. package/dist/src/internal/builtin-plugins/node/json-rpc/handler.js +12 -1
  48. package/dist/src/internal/builtin-plugins/node/json-rpc/handler.js.map +1 -1
  49. package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.d.ts +1 -1
  50. package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.d.ts.map +1 -1
  51. package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.js +13 -11
  52. package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.js.map +1 -1
  53. package/dist/src/internal/builtin-plugins/solidity-test/formatters.js +10 -2
  54. package/dist/src/internal/builtin-plugins/solidity-test/formatters.js.map +1 -1
  55. package/dist/src/internal/core/configuration-variables.d.ts +8 -0
  56. package/dist/src/internal/core/configuration-variables.d.ts.map +1 -1
  57. package/dist/src/internal/core/configuration-variables.js +9 -9
  58. package/dist/src/internal/core/configuration-variables.js.map +1 -1
  59. package/dist/src/internal/edr/exports.d.ts +2 -0
  60. package/dist/src/internal/edr/exports.d.ts.map +1 -0
  61. package/dist/src/internal/edr/exports.js +2 -0
  62. package/dist/src/internal/edr/exports.js.map +1 -0
  63. package/package.json +6 -5
  64. package/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.ts +0 -1
  65. package/src/internal/builtin-plugins/network-manager/config-resolution.ts +1 -0
  66. package/src/internal/builtin-plugins/network-manager/edr/edr-constants.ts +3 -0
  67. package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +52 -1
  68. package/src/internal/builtin-plugins/network-manager/edr/genesis-state.ts +5 -5
  69. package/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.ts +17 -3
  70. package/src/internal/builtin-plugins/network-manager/http-provider.ts +1 -1
  71. package/src/internal/builtin-plugins/network-manager/provider-errors.ts +30 -0
  72. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.ts +10 -26
  73. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.ts +3 -1
  74. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/multiplied-gas-estimation.ts +73 -18
  75. package/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.ts +24 -0
  76. package/src/internal/builtin-plugins/network-manager/type-extensions/config.ts +2 -0
  77. package/src/internal/builtin-plugins/network-manager/type-validation.ts +6 -0
  78. package/src/internal/builtin-plugins/node/json-rpc/handler.ts +15 -1
  79. package/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts +13 -11
  80. package/src/internal/builtin-plugins/solidity-test/formatters.ts +14 -2
  81. package/src/internal/core/configuration-variables.ts +25 -10
  82. package/src/internal/edr/exports.ts +1 -0
  83. package/templates/01-node-test-runner-viem/package.json +1 -1
  84. package/templates/02-mocha-ethers/package.json +2 -2
  85. package/templates/03-minimal/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/node/json-rpc/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/node/json-rpc/handler.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":"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"}
1
+ {"version":3,"file":"canonicalize.js","sourceRoot":"","sources":["../../../../../../src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts"],"names":[],"mappings":"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"}
@@ -13,10 +13,18 @@ export function formatInlineConfigErrors(errors, sourceNameToUserSourceName) {
13
13
  if (error.kind === "source") {
14
14
  return `- ${sourceName}: ${formatInlineConfigSourceProblem(error.problem)}`;
15
15
  }
16
- return `- ${sourceName}:${error.line}: ${error.contract}.${error.function}: ${formatInlineConfigDirectiveProblem(error.problem)}`;
16
+ return `- ${sourceName}:${error.line}: ${formatDirectiveOrigin(error.contract, error.function)}: ${formatInlineConfigDirectiveProblem(error.problem)}`;
17
17
  })
18
18
  .join("\n");
19
19
  }
20
+ /**
21
+ * Names where a directive was found: `Contract.testFn` for a function-level
22
+ * directive, and just `Contract` for a contract-level one, which EDR reports
23
+ * without a function.
24
+ */
25
+ function formatDirectiveOrigin(contract, functionName) {
26
+ return functionName === undefined ? contract : `${contract}.${functionName}`;
27
+ }
20
28
  function formatInlineConfigDirectiveProblem(problem) {
21
29
  switch (problem.kind) {
22
30
  case "InlineConfigInvalidSyntax":
@@ -40,7 +48,7 @@ function formatInlineConfigSourceProblem(problem) {
40
48
  case "InlineConfigSourceFileNotFound":
41
49
  return `the source file could not be read at "${problem.path}": ${problem.reason}`;
42
50
  case "InlineConfigDirectiveLocation":
43
- return `a directive of ${problem.contract}.${problem.function} could not be located: ${problem.reason}`;
51
+ return `a directive of ${formatDirectiveOrigin(problem.contract, problem.function)} could not be located: ${problem.reason}`;
44
52
  }
45
53
  }
46
54
  //# sourceMappingURL=formatters.js.map
@@ -1 +1 @@
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
+ {"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,qBAAqB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,kCAAkC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACzJ,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAC5B,QAAgB,EAChB,YAAgC;IAEhC,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,YAAY,EAAE,CAAC;AAC/E,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,qBAAqB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,0BAA0B,OAAO,CAAC,MAAM,EAAE,CAAC;IACjI,CAAC;AACH,CAAC"}
@@ -7,6 +7,12 @@ declare abstract class BaseResolvedConfigurationVariable implements ResolvedConf
7
7
  readonly format: string;
8
8
  _type: "ResolvedConfigurationVariable";
9
9
  protected abstract _getRawValue(): Promise<string>;
10
+ /**
11
+ * A description of this variable, used to identify it in error messages.
12
+ *
13
+ * Resolved values may be secrets, so they must never be included in errors.
14
+ */
15
+ protected abstract _getDescription(): string;
10
16
  constructor(format: string);
11
17
  get(): Promise<string>;
12
18
  getUrl(): Promise<string>;
@@ -17,11 +23,13 @@ export declare class LazyResolvedConfigurationVariable extends BaseResolvedConfi
17
23
  #private;
18
24
  readonly name: string;
19
25
  constructor(hooks: HookManager, variable: ConfigurationVariable);
26
+ protected _getDescription(): string;
20
27
  protected _getRawValue(): Promise<string>;
21
28
  }
22
29
  export declare class FixedValueConfigurationVariable extends BaseResolvedConfigurationVariable {
23
30
  #private;
24
31
  constructor(value: string);
32
+ protected _getDescription(): string;
25
33
  protected _getRawValue(): Promise<string>;
26
34
  }
27
35
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"configuration-variables.d.ts","sourceRoot":"","sources":["../../../../src/internal/core/configuration-variables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AASxD,eAAO,MAAM,6BAA6B,eAAe,CAAC;AAE1D,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,qBAAqB,GAAG,MAAM,GACvC,6BAA6B,CAM/B;AAED,uBAAe,iCAAkC,YAAW,6BAA6B;;aAQ3D,MAAM,EAAE,MAAM;IAPnC,KAAK,EAAE,+BAA+B,CACX;IAIlC,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;gBAEtB,MAAM,EAAE,MAAM;IAO7B,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IAWtB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAazB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAY5B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAa7C;AAED,qBAAa,iCAAkC,SAAQ,iCAAiC;;IAStF,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,qBAAqB;cAW/C,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAmChD;AAED,qBAAa,+BAAgC,SAAQ,iCAAiC;;gBAGxE,KAAK,EAAE,MAAM;cAKT,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAGhD"}
1
+ {"version":3,"file":"configuration-variables.d.ts","sourceRoot":"","sources":["../../../../src/internal/core/configuration-variables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AASxD,eAAO,MAAM,6BAA6B,eAAe,CAAC;AAE1D,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,qBAAqB,GAAG,MAAM,GACvC,6BAA6B,CAM/B;AAED,uBAAe,iCAAkC,YAAW,6BAA6B;;aAe3D,MAAM,EAAE,MAAM;IAdnC,KAAK,EAAE,+BAA+B,CACX;IAIlC,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAElD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,MAAM;gBAEhB,MAAM,EAAE,MAAM;IAO7B,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IAWtB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAczB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAa5B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAW7C;AAED,qBAAa,iCAAkC,SAAQ,iCAAiC;;IAStF,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,qBAAqB;IAW/D,SAAS,CAAC,eAAe,IAAI,MAAM;cAInB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAmChD;AAED,qBAAa,+BAAgC,SAAQ,iCAAiC;;gBAGxE,KAAK,EAAE,MAAM;IAKzB,SAAS,CAAC,eAAe,IAAI,MAAM;cAInB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAGhD"}
@@ -29,9 +29,7 @@ class BaseResolvedConfigurationVariable {
29
29
  return value;
30
30
  }
31
31
  catch (_error) {
32
- throw new HardhatError(HardhatError.ERRORS.CORE.GENERAL.INVALID_URL, {
33
- url: value,
34
- });
32
+ throw new HardhatError(HardhatError.ERRORS.CORE.GENERAL.INVALID_CONFIG_VARIABLE_URL, { configVariable: this._getDescription() });
35
33
  }
36
34
  }
37
35
  async getBigInt() {
@@ -40,9 +38,7 @@ class BaseResolvedConfigurationVariable {
40
38
  return BigInt(value);
41
39
  }
42
40
  catch (_error) {
43
- throw new HardhatError(HardhatError.ERRORS.CORE.GENERAL.INVALID_BIGINT, {
44
- value,
45
- });
41
+ throw new HardhatError(HardhatError.ERRORS.CORE.GENERAL.INVALID_CONFIG_VARIABLE_BIGINT, { configVariable: this._getDescription() });
46
42
  }
47
43
  }
48
44
  async getHexString() {
@@ -51,9 +47,7 @@ class BaseResolvedConfigurationVariable {
51
47
  return normalizeHexString(value);
52
48
  }
53
49
  catch {
54
- throw new HardhatError(HardhatError.ERRORS.CORE.GENERAL.INVALID_HEX_STRING, {
55
- value,
56
- });
50
+ throw new HardhatError(HardhatError.ERRORS.CORE.GENERAL.INVALID_CONFIG_VARIABLE_HEX_STRING, { configVariable: this._getDescription() });
57
51
  }
58
52
  }
59
53
  }
@@ -74,6 +68,9 @@ export class LazyResolvedConfigurationVariable extends BaseResolvedConfiguration
74
68
  LazyResolvedConfigurationVariable.#mutexes.set(hooks, new AsyncMutex());
75
69
  }
76
70
  }
71
+ _getDescription() {
72
+ return `the configuration variable "${this.name}"`;
73
+ }
77
74
  async _getRawValue() {
78
75
  // Env vars take precedence over every configurationVariables plugin hook
79
76
  // (e.g. keystore). Skip the hook chain entirely when the env var is set so
@@ -101,6 +98,9 @@ export class FixedValueConfigurationVariable extends BaseResolvedConfigurationVa
101
98
  super(CONFIGURATION_VARIABLE_MARKER);
102
99
  this.#value = value;
103
100
  }
101
+ _getDescription() {
102
+ return "an inline configuration value";
103
+ }
104
104
  async _getRawValue() {
105
105
  return this.#value;
106
106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"configuration-variables.js","sourceRoot":"","sources":["../../../../src/internal/core/configuration-variables.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,sBAAsB,EACtB,YAAY,GACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAE5E,MAAM,CAAC,MAAM,6BAA6B,GAAG,YAAY,CAAC;AAE1D,MAAM,UAAU,4BAA4B,CAC1C,KAAkB,EAClB,QAAwC;IAExC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,IAAI,iCAAiC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAChE,CAAC;AAED,MAAe,iCAAiC;IAQlB;IAPrB,KAAK,GACV,+BAA+B,CAAC;IAElC,YAAY,CAAU;IAItB,YAA4B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACxC,sBAAsB,CACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EACnD,6CAA6C,CAC9C,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,GAAG;QACd,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAC3B,6BAA6B,EAC7B,IAAI,CAAC,YAAY,CAClB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBACnE,GAAG,EAAE,KAAK;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,SAAS;QACpB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;gBACtE,KAAK;aACN,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EACnD;gBACE,KAAK;aACN,CACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,iCAAkC,SAAQ,iCAAiC;IACtF,0EAA0E;IAC1E,0EAA0E;IAC1E,oCAAoC;IACpC,MAAM,CAAU,QAAQ,GAAqC,IAAI,OAAO,EAAE,CAAC;IAElE,MAAM,CAAc;IACpB,SAAS,CAAwB;IAE1B,IAAI,CAAS;IAE7B,YAAY,KAAkB,EAAE,QAA+B;QAC7D,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,6BAA6B,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,IAAI,CAAC,iCAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3D,iCAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,UAAU,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAES,KAAK,CAAC,YAAY;QAC1B,yEAAyE;QACzE,2EAA2E;QAC3E,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,iCAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1E,sBAAsB,CAAC,KAAK,KAAK,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAErE,OAAO,MAAM,KAAK,CAAC,YAAY,CAC7B,KAAK,IAAI,EAAE,CACT,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAC/B,wBAAwB,EACxB,YAAY,EACZ,CAAC,IAAI,CAAC,SAAS,CAAC,EAChB,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;YACpB,oEAAoE;YACpE,gCAAgC;YAChC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;YAE/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,YAAY,CACpB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAClD,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CACjB,CAAC;YACJ,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CACF,CACJ,CAAC;IACJ,CAAC;;AAGH,MAAM,OAAO,+BAAgC,SAAQ,iCAAiC;IAC3E,MAAM,CAAS;IAExB,YAAY,KAAa;QACvB,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAES,KAAK,CAAC,YAAY;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"configuration-variables.js","sourceRoot":"","sources":["../../../../src/internal/core/configuration-variables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { keccak256 } from "@nomicfoundation/edr";
2
+ //# sourceMappingURL=exports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../../src/internal/edr/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { keccak256 } from "@nomicfoundation/edr";
2
+ //# sourceMappingURL=exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.js","sourceRoot":"","sources":["../../../../src/internal/edr/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat",
3
- "version": "3.15.0",
3
+ "version": "3.17.0",
4
4
  "description": "Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.",
5
5
  "homepage": "https://hardhat.org",
6
6
  "repository": {
@@ -38,6 +38,7 @@
38
38
  "./types/solidity": "./dist/src/types/solidity.js",
39
39
  "./console.sol": "./console.sol",
40
40
  "./internal/coverage": "./dist/src/internal/builtin-plugins/coverage/exports.js",
41
+ "./internal/native-crypto": "./dist/src/internal/edr/exports.js",
41
42
  "./internal/gas-analytics": "./dist/src/internal/builtin-plugins/gas-analytics/exports.js",
42
43
  "./internal/solidity": "./dist/src/internal/builtin-plugins/solidity/exports.js",
43
44
  "./utils/contract-names": "./dist/src/utils/contract-names.js",
@@ -77,9 +78,9 @@
77
78
  "@nomicfoundation/hardhat-test-utils": "^2.0.3"
78
79
  },
79
80
  "dependencies": {
80
- "@nomicfoundation/edr": "0.19.0",
81
+ "@nomicfoundation/edr": "0.20.0",
81
82
  "@nomicfoundation/hardhat-errors": "^3.0.17",
82
- "@nomicfoundation/hardhat-utils": "^4.1.6",
83
+ "@nomicfoundation/hardhat-utils": "^4.2.0",
83
84
  "@nomicfoundation/hardhat-vendored": "^3.0.4",
84
85
  "@nomicfoundation/hardhat-zod-utils": "^3.0.5",
85
86
  "@nomicfoundation/solidity-analyzer": "^0.1.1",
@@ -87,8 +88,8 @@
87
88
  "adm-zip": "^0.6.0",
88
89
  "chokidar": "^5.0.0",
89
90
  "enquirer": "^2.3.0",
90
- "ethereum-cryptography": "^2.2.1",
91
- "micro-eth-signer": "^0.14.0",
91
+ "ethereum-cryptography": "^3.0.0",
92
+ "micro-eth-signer": "^0.19.0",
92
93
  "p-map": "^7.0.6",
93
94
  "resolve.exports": "^2.0.3",
94
95
  "semver": "^7.8.5",
@@ -40,7 +40,6 @@ export async function derivePrivateKeys(
40
40
 
41
41
  if (privateKey === undefined) {
42
42
  throw new HardhatError(HardhatError.ERRORS.CORE.NETWORK.CANT_DERIVE_KEY, {
43
- mnemonic,
44
43
  path: hdpath,
45
44
  });
46
45
  }
@@ -96,6 +96,7 @@ export function resolveEdrNetwork(
96
96
  cachePath,
97
97
  resolveConfigurationVariable,
98
98
  ),
99
+ gasEstimationMode: networkConfig.gasEstimationMode ?? "noInternalOutOfGas",
99
100
  hardfork: resolveHardfork(
100
101
  networkConfig.hardfork,
101
102
  networkConfig.chainType ?? defaultChainType,
@@ -10,6 +10,9 @@ export const EDR_NETWORK_DEFAULT_COINBASE =
10
10
 
11
11
  export const DEFAULT_EDR_NETWORK_BLOCK_GAS_LIMIT = 60_000_000n;
12
12
 
13
+ // EIP-7825 per-transaction gas cap, enforced from L1's Osaka hardfork onwards
14
+ export const EIP_7825_TRANSACTION_GAS_CAP = 16_777_216n;
15
+
13
16
  interface EdrNetworkDefaultHDAccountsConfigParams extends DefaultHDAccountsConfigParams {
14
17
  mnemonic: string;
15
18
  accountsBalance: bigint;
@@ -40,6 +40,8 @@ import { getGlobalEdrContext } from "../../../edr/context.js";
40
40
  import { BaseProvider } from "../base-provider.js";
41
41
  import { getJsonRpcRequest, isFailedJsonRpcResponse } from "../json-rpc.js";
42
42
  import {
43
+ InternalCallOutOfGasError,
44
+ isInternalCallOutOfGasErrorData,
43
45
  InvalidArgumentsError,
44
46
  ProviderError,
45
47
  UnknownError,
@@ -57,6 +59,7 @@ import {
57
59
  hardhatMempoolOrderToEdrMineOrdering,
58
60
  hardhatHardforkToEdrSpecId,
59
61
  hardhatForkingConfigToEdrForkConfig,
62
+ hardhatGasEstimationModeToEdrGasEstimationMode,
60
63
  resolveDefaultTransactionGasLimit,
61
64
  } from "./utils/convert-to-edr.js";
62
65
  import { warnIfExperimentalHardfork } from "./utils/hardfork.js";
@@ -79,12 +82,33 @@ interface EdrProviderConfig {
79
82
  }
80
83
 
81
84
  export class EdrProvider extends BaseProvider {
85
+ /**
86
+ * The value the underlying EDR provider was configured with, applied to
87
+ * RPC call and transaction requests that omit a `gas` field. Exposed so
88
+ * that the automatic gas handler's estimation fallback can reuse it
89
+ * instead of recomputing it.
90
+ */
91
+ public readonly defaultTransactionGasLimit: bigint;
92
+
82
93
  readonly #jsonRpcRequestWrapper?: JsonRpcRequestWrapperFunction;
83
94
 
95
+ #blockGasLimitEnforced: boolean;
96
+
84
97
  #provider: Provider | undefined;
85
98
  #nextRequestId = 1;
86
99
  readonly #traceOutput: TraceOutputManager | undefined;
87
100
 
101
+ /**
102
+ * Whether the network rejects transactions whose gas limit exceeds the block
103
+ * gas limit. It is false only for networks configured with
104
+ * `blockGasLimit: false`.
105
+ *
106
+ * `evm_setBlockGasLimit` turns this on permanently.
107
+ */
108
+ public get isBlockGasLimitEnforced(): boolean {
109
+ return this.#blockGasLimitEnforced;
110
+ }
111
+
88
112
  public static async createContractDecoder(
89
113
  tracingConfig: TracingConfigWithBuffers,
90
114
  ): Promise<ContractDecoder> {
@@ -179,6 +203,10 @@ export class EdrProvider extends BaseProvider {
179
203
 
180
204
  edrProvider = new EdrProvider(
181
205
  provider,
206
+ providerConfig.defaultTransactionGasLimit,
207
+ // EDR only enforces a block gas limit when it was given a mining one,
208
+ // which `blockGasLimit: false` omits
209
+ providerConfig.mining.blockGasLimit !== undefined,
182
210
  traceOutput,
183
211
  jsonRpcRequestWrapper,
184
212
  );
@@ -202,12 +230,16 @@ export class EdrProvider extends BaseProvider {
202
230
  */
203
231
  private constructor(
204
232
  provider: Provider,
233
+ defaultTransactionGasLimit: bigint,
234
+ blockGasLimitEnforced: boolean,
205
235
  traceOutput: TraceOutputManager | undefined,
206
236
  jsonRpcRequestWrapper?: JsonRpcRequestWrapperFunction,
207
237
  ) {
208
238
  super();
209
239
 
210
240
  this.#provider = provider;
241
+ this.defaultTransactionGasLimit = defaultTransactionGasLimit;
242
+ this.#blockGasLimitEnforced = blockGasLimitEnforced;
211
243
  this.#traceOutput = traceOutput;
212
244
  this.#jsonRpcRequestWrapper = jsonRpcRequestWrapper;
213
245
 
@@ -263,6 +295,11 @@ export class EdrProvider extends BaseProvider {
263
295
  this.emit(EDR_NETWORK_REVERT_SNAPSHOT_EVENT);
264
296
  }
265
297
 
298
+ // This makes even a `blockGasLimit: false` network enforce a limit.
299
+ if (jsonRpcRequest.method === "evm_setBlockGasLimit") {
300
+ this.#blockGasLimitEnforced = true;
301
+ }
302
+
266
303
  // Override EDR version string with Hardhat version string with EDR backend,
267
304
  // e.g. `HardhatNetwork/2.19.0/@nomicfoundation/edr/0.2.0-dev`
268
305
  if (jsonRpcRequest.method === "web3_clientVersion") {
@@ -325,7 +362,18 @@ export class EdrProvider extends BaseProvider {
325
362
 
326
363
  const stackTrace = edrResponse.stackTrace();
327
364
 
328
- if (stackTrace?.kind === "StackTrace") {
365
+ // The InternalCallOutOfGas estimation failure must win over a solidity
366
+ // stack trace: the automatic gas fallback in MultipliedGasEstimation
367
+ // relies on receiving an InternalCallOutOfGasError. It is scoped to
368
+ // eth_estimateGas, the only method the gas estimation mode affects, so
369
+ // that no other method loses its stack trace to this branch.
370
+ if (
371
+ method === "eth_estimateGas" &&
372
+ isInternalCallOutOfGasErrorData(errorData)
373
+ ) {
374
+ error = new InternalCallOutOfGasError();
375
+ error.data = responseError.data;
376
+ } else if (stackTrace?.kind === "StackTrace") {
329
377
  // If we have a stack trace, we know that the json rpc response data
330
378
  // is an object with the data and transactionHash fields
331
379
  assertHardhatInvariant(
@@ -507,6 +555,9 @@ export async function getProviderConfig(
507
555
  chainId: BigInt(networkConfig.chainId),
508
556
  coinbase: networkConfig.coinbase,
509
557
  defaultTransactionGasLimit,
558
+ gasEstimationMode: hardhatGasEstimationModeToEdrGasEstimationMode(
559
+ networkConfig.gasEstimationMode,
560
+ ),
510
561
  genesisState: Array.from(genesisState.values()),
511
562
  hardfork: specId,
512
563
  initialBaseFeePerGas: networkConfig.initialBaseFeePerGas,
@@ -3,7 +3,7 @@ import type {
3
3
  EdrNetworkForkingConfig,
4
4
  } from "../../../../types/config.js";
5
5
  import type { ChainType } from "../../../../types/network.js";
6
- import type * as MicroEthSignerAddressT from "micro-eth-signer/address";
6
+ import type * as MicroEthSignerT from "micro-eth-signer";
7
7
 
8
8
  import {
9
9
  l1GenesisState,
@@ -21,7 +21,7 @@ import { OPTIMISM_CHAIN_TYPE } from "../../../constants.js";
21
21
  import { hardhatAccountsToEdrOwnedAccounts } from "./utils/convert-to-edr.js";
22
22
 
23
23
  // micro-eth-signer is known to be slow to load, so we lazy load it
24
- let microEthSignerAddress: typeof MicroEthSignerAddressT | undefined;
24
+ let microEthSigner: typeof MicroEthSignerT | undefined;
25
25
 
26
26
  const noForkingConfigCacheMarkerObject = {};
27
27
 
@@ -135,11 +135,11 @@ async function createGenesisStateAndOwnedAccounts(
135
135
  genesisState: Map<string, AccountOverride>;
136
136
  ownedAccounts: Array<{ secretKey: string; balance: bigint }>;
137
137
  }> {
138
- if (microEthSignerAddress === undefined) {
139
- microEthSignerAddress = await import("micro-eth-signer/address");
138
+ if (microEthSigner === undefined) {
139
+ microEthSigner = await import("micro-eth-signer");
140
140
  }
141
141
 
142
- const { addr } = microEthSignerAddress;
142
+ const { addr } = microEthSigner;
143
143
 
144
144
  const ownedAccounts = await hardhatAccountsToEdrOwnedAccounts(accountsConfig);
145
145
 
@@ -3,6 +3,7 @@ import type {
3
3
  EdrNetworkAccountConfig,
4
4
  EdrNetworkAccountsConfig,
5
5
  ChainDescriptorsConfig,
6
+ EdrNetworkConfig,
6
7
  EdrNetworkForkingConfig,
7
8
  EdrNetworkMempoolConfig,
8
9
  EdrNetworkMiningConfig,
@@ -17,6 +18,7 @@ import type {
17
18
  } from "@nomicfoundation/edr";
18
19
 
19
20
  import {
21
+ GasEstimationMode,
20
22
  GasReportExecutionStatus,
21
23
  MineOrdering,
22
24
  OpHardfork,
@@ -61,6 +63,7 @@ import { derivePrivateKeys } from "../../accounts/derive-private-keys.js";
61
63
  import {
62
64
  DEFAULT_EDR_NETWORK_BALANCE,
63
65
  EDR_NETWORK_DEFAULT_PRIVATE_KEYS,
66
+ EIP_7825_TRANSACTION_GAS_CAP,
64
67
  isDefaultEdrNetworkHDAccountsConfig,
65
68
  } from "../edr-constants.js";
66
69
  import {
@@ -263,8 +266,8 @@ export function hardhatMiningIntervalToEdrMiningInterval(
263
266
  }
264
267
  } else {
265
268
  return {
266
- min: BigInt(config[0]),
267
- max: BigInt(config[1]),
269
+ min: BigInt(Math.max(1, config[0])),
270
+ max: BigInt(Math.max(1, config[1])),
268
271
  };
269
272
  }
270
273
  }
@@ -280,6 +283,17 @@ export function hardhatMempoolOrderToEdrMineOrdering(
280
283
  }
281
284
  }
282
285
 
286
+ export function hardhatGasEstimationModeToEdrGasEstimationMode(
287
+ gasEstimationMode: EdrNetworkConfig["gasEstimationMode"],
288
+ ): GasEstimationMode {
289
+ switch (gasEstimationMode) {
290
+ case "topLevelSuccess":
291
+ return GasEstimationMode.TopLevelSuccess;
292
+ case "noInternalOutOfGas":
293
+ return GasEstimationMode.NoInternalOutOfGas;
294
+ }
295
+ }
296
+
283
297
  export async function hardhatAccountsToEdrOwnedAccounts(
284
298
  accounts: EdrNetworkAccountsConfig,
285
299
  ): Promise<Array<{ secretKey: string; balance: bigint }>> {
@@ -423,7 +437,7 @@ export function resolveDefaultTransactionGasLimit(params: {
423
437
  }
424
438
 
425
439
  if (hardforkGte(hardfork, L1HardforkName.OSAKA, chainType)) {
426
- return 16_777_216n; // EIP-7825 transaction gas cap
440
+ return EIP_7825_TRANSACTION_GAS_CAP;
427
441
  }
428
442
 
429
443
  return blockGasLimit;
@@ -75,7 +75,7 @@ export class HttpProvider extends BaseProvider {
75
75
  }: HttpProviderConfig): Promise<HttpProvider> {
76
76
  if (!isValidUrl(url)) {
77
77
  throw new HardhatError(HardhatError.ERRORS.CORE.NETWORK.INVALID_URL, {
78
- value: url,
78
+ networkName,
79
79
  });
80
80
  }
81
81