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.
- package/CHANGELOG.md +27 -0
- package/dist/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.js +0 -1
- package/dist/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/config-resolution.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/config-resolution.js +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/config-resolution.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-constants.d.ts +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-constants.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-constants.js +2 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-constants.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts +15 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js +43 -5
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js +4 -4
- package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.d.ts +3 -2
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js +13 -5
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/http-provider.js +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/http-provider.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/provider-errors.d.ts +20 -0
- package/dist/src/internal/builtin-plugins/network-manager/provider-errors.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/provider-errors.js +24 -0
- package/dist/src/internal/builtin-plugins/network-manager/provider-errors.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.js +10 -13
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.js +2 -2
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/multiplied-gas-estimation.d.ts +11 -3
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/multiplied-gas-estimation.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/multiplied-gas-estimation.js +53 -13
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/multiplied-gas-estimation.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.js +19 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/config.d.ts +2 -0
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/config.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-validation.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-validation.js +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/type-validation.js.map +1 -1
- package/dist/src/internal/builtin-plugins/node/json-rpc/handler.js +12 -1
- package/dist/src/internal/builtin-plugins/node/json-rpc/handler.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.js +13 -11
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/formatters.js +10 -2
- package/dist/src/internal/builtin-plugins/solidity-test/formatters.js.map +1 -1
- package/dist/src/internal/core/configuration-variables.d.ts +8 -0
- package/dist/src/internal/core/configuration-variables.d.ts.map +1 -1
- package/dist/src/internal/core/configuration-variables.js +9 -9
- package/dist/src/internal/core/configuration-variables.js.map +1 -1
- package/dist/src/internal/edr/exports.d.ts +2 -0
- package/dist/src/internal/edr/exports.d.ts.map +1 -0
- package/dist/src/internal/edr/exports.js +2 -0
- package/dist/src/internal/edr/exports.js.map +1 -0
- package/package.json +6 -5
- package/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.ts +0 -1
- package/src/internal/builtin-plugins/network-manager/config-resolution.ts +1 -0
- package/src/internal/builtin-plugins/network-manager/edr/edr-constants.ts +3 -0
- package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +52 -1
- package/src/internal/builtin-plugins/network-manager/edr/genesis-state.ts +5 -5
- package/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.ts +17 -3
- package/src/internal/builtin-plugins/network-manager/http-provider.ts +1 -1
- package/src/internal/builtin-plugins/network-manager/provider-errors.ts +30 -0
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.ts +10 -26
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.ts +3 -1
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/multiplied-gas-estimation.ts +73 -18
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.ts +24 -0
- package/src/internal/builtin-plugins/network-manager/type-extensions/config.ts +2 -0
- package/src/internal/builtin-plugins/network-manager/type-validation.ts +6 -0
- package/src/internal/builtin-plugins/node/json-rpc/handler.ts +15 -1
- package/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts +13 -11
- package/src/internal/builtin-plugins/solidity-test/formatters.ts +14 -2
- package/src/internal/core/configuration-variables.ts +25 -10
- package/src/internal/edr/exports.ts +1 -0
- package/templates/01-node-test-runner-viem/package.json +1 -1
- package/templates/02-mocha-ethers/package.json +2 -2
- 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":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,aAAa,GACd,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAE/E,MAAM,OAAO,cAAc;IAChB,SAAS,CAAmB;IAErC,YAAY,QAA0B;QACpC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAEM,UAAU,GAAG,KAAK,EACvB,GAAoB,EACpB,GAAmB,EACJ,EAAE;QACjB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,eAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,eAAe,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,yEAAyE;QACzE,oDAAoD;QACpD,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAkB,EAAE,EAAE,CACzC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAC/B,CACF,CAAC;YAEF,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QAE3D,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC;IAEK,QAAQ,GAAG,KAAK,EAAE,EAAa,EAAiB,EAAE;QACvD,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,MAAM,QAAQ,GAAG,CAAC,OAA8C,EAAE,EAAE;YAClE,oFAAoF;YACpF,uFAAuF;YACvF,IAAI,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9D,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC;oBACb,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,kBAAkB;oBAC1B,MAAM,EAAE,OAAO;iBAChB,CAAC,CACH,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnB,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;QAEF,sCAAsC;QACtC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAErD,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;YACrC,IAAI,MAAyC,CAAC;YAC9C,IAAI,OAA4C,CAAC;YAEjD,IAAI,CAAC;gBACH,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBAE7B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC7B,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAC/D;oBACH,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnB,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YAED,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,iCAAiC;YACjC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAExD,sEAAsE;YACtE,QAAQ,GAAG,IAAI,CAAC;YAChB,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE;gBAC7C,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;oBAC3B,MAAM,EAAE,iBAAiB;oBACzB,MAAM,EAAE,CAAC,cAAc,CAAC;iBACzB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,kBAAkB,CAAC,GAAmB;QACpC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IAED,eAAe,CAAC,GAAmB;QACjC,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;QACpD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;QAC9D,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IAED,aAAa,CACX,GAAmB,EACnB,OAA4C;QAE5C,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAgB;QACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG;YACf,GAAG,OAAO;YACV,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;QAEF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,OAAO,YAAY,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,MAAM,GAAmB,QAAQ,CAAC;QACxC,IAAI,OAAoC,CAAC;QAEzC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC1C,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;YAEH,OAAO,GAAG;gBACR,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,MAAM;aACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,oFAAoF;YACpF,OAAO,GAAG,YAAY,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAExD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAsB,EAAE,aAAuB;QACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAElD,sEAAsE;QACtE,wCAAwC;QACxC,IACE,MAAM,CAAC,MAAM,KAAK,eAAe;YACjC,2BAA2B,CAAC,OAAO,CAAC;YACpC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAClC,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,MAAM,oBAAoB,GAAG,KAAK,EAAE,GAAoB,EAAoB,EAAE;IAC5E,IAAI,IAAa,CAAC;IAElB,IAAI,CAAC;QACH,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAEpE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,8HAA8H;YAC9H,MAAM,IAAI,qBAAqB,CAAC,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,GAAW,EAAqC,EAAE;IACxE,IAAI,IAAS,CAAC;IACd,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,8HAA8H;YAC9H,MAAM,IAAI,qBAAqB,CAAC,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAY,EAAmB,EAAE;IACrD,8EAA8E;IAC9E,iFAAiF;IACjF,0DAA0D;IAC1D,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
178
|
-
* transitive deps), since then which copy got
|
|
179
|
-
* iteration order.
|
|
180
|
-
*
|
|
181
|
-
*
|
|
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
|
|
218
|
-
// name with a selected
|
|
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,
|
|
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
|
|
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
|
|
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,
|
|
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;;
|
|
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.
|
|
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.
|
|
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.
|
|
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;
|
|
1
|
+
{"version":3,"file":"configuration-variables.js","sourceRoot":"","sources":["../../../../src/internal/core/configuration-variables.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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.
|
|
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.
|
|
81
|
+
"@nomicfoundation/edr": "0.20.0",
|
|
81
82
|
"@nomicfoundation/hardhat-errors": "^3.0.17",
|
|
82
|
-
"@nomicfoundation/hardhat-utils": "^4.
|
|
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": "^
|
|
91
|
-
"micro-eth-signer": "^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",
|
|
@@ -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
|
-
|
|
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
|
|
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
|
|
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 (
|
|
139
|
-
|
|
138
|
+
if (microEthSigner === undefined) {
|
|
139
|
+
microEthSigner = await import("micro-eth-signer");
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
const { addr } =
|
|
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
|
|
440
|
+
return EIP_7825_TRANSACTION_GAS_CAP;
|
|
427
441
|
}
|
|
428
442
|
|
|
429
443
|
return blockGasLimit;
|