hardhat 3.4.4 → 3.5.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 +61 -0
- package/dist/src/config.d.ts +0 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +0 -3
- package/dist/src/config.js.map +1 -1
- package/dist/src/hre.d.ts +0 -1
- package/dist/src/hre.d.ts.map +1 -1
- package/dist/src/hre.js +0 -3
- package/dist/src/hre.js.map +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +0 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal/builtin-global-options.d.ts.map +1 -1
- package/dist/src/internal/builtin-global-options.js +1 -1
- package/dist/src/internal/builtin-global-options.js.map +1 -1
- package/dist/src/internal/builtin-plugins/artifacts/index.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/artifacts/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/artifacts/index.js +0 -1
- package/dist/src/internal/builtin-plugins/artifacts/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/clean/index.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/clean/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/clean/index.js +0 -1
- package/dist/src/internal/builtin-plugins/clean/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/clean/type-extensions.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/clean/type-extensions.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/clean/type-extensions.js +1 -1
- package/dist/src/internal/builtin-plugins/clean/type-extensions.js.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js +7 -10
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/index.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/coverage/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/index.js +0 -1
- package/dist/src/internal/builtin-plugins/coverage/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/instrumentation.d.ts +1 -4
- package/dist/src/internal/builtin-plugins/coverage/instrumentation.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/instrumentation.js +2 -4
- package/dist/src/internal/builtin-plugins/coverage/instrumentation.js.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/type-extensions.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/coverage/type-extensions.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/type-extensions.js +1 -1
- package/dist/src/internal/builtin-plugins/coverage/type-extensions.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/index.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/index.js +0 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.d.ts +21 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.js +49 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/tasks/solidity-test/task-action.d.ts +2 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/tasks/solidity-test/task-action.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/tasks/solidity-test/task-action.js +12 -2
- package/dist/src/internal/builtin-plugins/gas-analytics/tasks/solidity-test/task-action.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/type-extensions.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/type-extensions.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/type-extensions.js +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/type-extensions.js.map +1 -1
- package/dist/src/internal/builtin-plugins/index.d.ts +8 -8
- package/dist/src/internal/builtin-plugins/index.d.ts.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 +9 -2
- 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 +1 -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.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js +25 -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/stack-traces/stack-trace-solidity-errors.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.js +7 -6
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.d.ts +16 -0
- 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 +28 -1
- 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/index.d.ts +4 -4
- package/dist/src/internal/builtin-plugins/network-manager/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/index.js +0 -4
- package/dist/src/internal/builtin-plugins/network-manager/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/network-manager.js +2 -6
- package/dist/src/internal/builtin-plugins/network-manager/network-manager.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/config.d.ts +5 -4
- 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-extensions/config.js +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/config.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/global-options.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/global-options.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/global-options.js +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/global-options.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/hooks.d.ts +0 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/hooks.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/hooks.js +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/hooks.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/hre.d.ts +0 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/hre.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/hre.js +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/hre.js.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 +3 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-validation.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/utils/apply-coverage-network-overrides.d.ts +18 -0
- package/dist/src/internal/builtin-plugins/network-manager/utils/apply-coverage-network-overrides.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/utils/apply-coverage-network-overrides.js +27 -0
- package/dist/src/internal/builtin-plugins/network-manager/utils/apply-coverage-network-overrides.js.map +1 -0
- package/dist/src/internal/builtin-plugins/node/json-rpc/handler.js +6 -5
- package/dist/src/internal/builtin-plugins/node/json-rpc/handler.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js +22 -9
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.js +7 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/constants.d.ts +10 -0
- package/dist/src/internal/builtin-plugins/solidity/constants.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/constants.js +10 -0
- package/dist/src/internal/builtin-plugins/solidity/constants.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/index.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/solidity/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/index.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/tasks/compile.d.ts +9 -0
- package/dist/src/internal/builtin-plugins/solidity/tasks/compile.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity/tasks/compile.js +10 -0
- package/dist/src/internal/builtin-plugins/solidity/tasks/compile.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity/type-extensions.d.ts +0 -4
- package/dist/src/internal/builtin-plugins/solidity/type-extensions.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/type-extensions.js +1 -4
- package/dist/src/internal/builtin-plugins/solidity/type-extensions.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/config.d.ts +4 -3
- package/dist/src/internal/builtin-plugins/solidity-test/config.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/config.js +55 -8
- package/dist/src/internal/builtin-plugins/solidity-test/config.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/ast-walker.d.ts +58 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/ast-walker.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/ast-walker.js +226 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/ast-walker.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.d.ts +29 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.js +244 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/glob.d.ts +7 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/glob.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/glob.js +204 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/glob.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/index.d.ts +21 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/index.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/index.js +77 -0
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/index.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts +4 -3
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.js +20 -3
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/index.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/index.js +0 -1
- package/dist/src/internal/builtin-plugins/solidity-test/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.d.ts +4 -2
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.js +5 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.js +15 -3
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.d.ts +3 -2
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.js +18 -4
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +5 -1
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/test-profiles.d.ts +2 -0
- package/dist/src/internal/builtin-plugins/solidity-test/test-profiles.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/test-profiles.js +2 -0
- package/dist/src/internal/builtin-plugins/solidity-test/test-profiles.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/type-extensions.d.ts +91 -33
- package/dist/src/internal/builtin-plugins/solidity-test/type-extensions.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/type-extensions.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/type-extensions.js.map +1 -1
- package/dist/src/internal/builtin-plugins/test/index.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/test/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/test/index.js +0 -1
- package/dist/src/internal/builtin-plugins/test/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/test/type-extensions.d.ts +0 -1
- package/dist/src/internal/builtin-plugins/test/type-extensions.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/test/type-extensions.js +1 -1
- package/dist/src/internal/builtin-plugins/test/type-extensions.js.map +1 -1
- package/dist/src/internal/cli/init/init.d.ts +31 -6
- package/dist/src/internal/cli/init/init.d.ts.map +1 -1
- package/dist/src/internal/cli/init/init.js +121 -10
- package/dist/src/internal/cli/init/init.js.map +1 -1
- package/dist/src/internal/cli/main.d.ts.map +1 -1
- package/dist/src/internal/cli/main.js +41 -1
- package/dist/src/internal/cli/main.js.map +1 -1
- package/dist/src/types/arguments.d.ts +1 -0
- package/dist/src/types/arguments.d.ts.map +1 -1
- package/dist/src/types/arguments.js +1 -0
- package/dist/src/types/arguments.js.map +1 -1
- package/dist/src/types/artifacts.d.ts +1 -0
- package/dist/src/types/artifacts.d.ts.map +1 -1
- package/dist/src/types/artifacts.js +1 -1
- package/dist/src/types/artifacts.js.map +1 -1
- package/dist/src/types/builtin-plugin-type-extensions.d.ts +2 -0
- package/dist/src/types/builtin-plugin-type-extensions.d.ts.map +1 -0
- package/dist/src/types/builtin-plugin-type-extensions.js +2 -0
- package/dist/src/types/builtin-plugin-type-extensions.js.map +1 -0
- package/dist/src/types/config.d.ts +1 -1
- package/dist/src/types/config.d.ts.map +1 -1
- package/dist/src/types/config.js +1 -3
- package/dist/src/types/config.js.map +1 -1
- package/dist/src/types/global-options.d.ts +1 -0
- package/dist/src/types/global-options.d.ts.map +1 -1
- package/dist/src/types/global-options.js +1 -1
- package/dist/src/types/global-options.js.map +1 -1
- package/dist/src/types/hooks.d.ts +1 -0
- package/dist/src/types/hooks.d.ts.map +1 -1
- package/dist/src/types/hooks.js +1 -1
- package/dist/src/types/hooks.js.map +1 -1
- package/dist/src/types/hre.d.ts +1 -0
- package/dist/src/types/hre.d.ts.map +1 -1
- package/dist/src/types/hre.js +1 -1
- package/dist/src/types/hre.js.map +1 -1
- package/dist/src/types/index.d.ts +1 -0
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/index.js +1 -0
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/network.d.ts +1 -0
- package/dist/src/types/network.d.ts.map +1 -1
- package/dist/src/types/network.js +1 -1
- package/dist/src/types/network.js.map +1 -1
- package/dist/src/types/plugins.d.ts +1 -1
- package/dist/src/types/plugins.d.ts.map +1 -1
- package/dist/src/types/plugins.js +1 -3
- package/dist/src/types/plugins.js.map +1 -1
- package/dist/src/types/providers.d.ts +1 -0
- package/dist/src/types/providers.d.ts.map +1 -1
- package/dist/src/types/providers.js +1 -1
- package/dist/src/types/providers.js.map +1 -1
- package/dist/src/types/solidity.d.ts +1 -0
- package/dist/src/types/solidity.d.ts.map +1 -1
- package/dist/src/types/solidity.js +1 -0
- package/dist/src/types/solidity.js.map +1 -1
- package/dist/src/types/tasks.d.ts +1 -0
- package/dist/src/types/tasks.d.ts.map +1 -1
- package/dist/src/types/tasks.js +1 -0
- package/dist/src/types/tasks.js.map +1 -1
- package/dist/src/types/test.d.ts +1 -0
- package/dist/src/types/test.d.ts.map +1 -1
- package/dist/src/types/test.js +1 -1
- package/dist/src/types/test.js.map +1 -1
- package/dist/src/types/user-interruptions.d.ts +1 -0
- package/dist/src/types/user-interruptions.d.ts.map +1 -1
- package/dist/src/types/user-interruptions.js +1 -1
- package/dist/src/types/user-interruptions.js.map +1 -1
- package/package.json +12 -12
- package/src/config.ts +0 -3
- package/src/hre.ts +0 -4
- package/src/index.ts +0 -4
- package/src/internal/builtin-global-options.ts +2 -1
- package/src/internal/builtin-plugins/artifacts/index.ts +1 -1
- package/src/internal/builtin-plugins/clean/index.ts +1 -1
- package/src/internal/builtin-plugins/clean/type-extensions.ts +0 -1
- package/src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts +8 -13
- package/src/internal/builtin-plugins/coverage/index.ts +1 -1
- package/src/internal/builtin-plugins/coverage/instrumentation.ts +0 -5
- package/src/internal/builtin-plugins/coverage/type-extensions.ts +0 -1
- package/src/internal/builtin-plugins/gas-analytics/index.ts +1 -1
- package/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.ts +90 -1
- package/src/internal/builtin-plugins/gas-analytics/tasks/solidity-test/task-action.ts +24 -2
- package/src/internal/builtin-plugins/gas-analytics/type-extensions.ts +0 -1
- package/src/internal/builtin-plugins/index.ts +10 -10
- package/src/internal/builtin-plugins/network-manager/config-resolution.ts +11 -3
- package/src/internal/builtin-plugins/network-manager/edr/edr-constants.ts +2 -0
- package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +38 -8
- package/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.ts +10 -11
- package/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.ts +43 -1
- package/src/internal/builtin-plugins/network-manager/index.ts +4 -4
- package/src/internal/builtin-plugins/network-manager/network-manager.ts +5 -6
- package/src/internal/builtin-plugins/network-manager/type-extensions/config.ts +5 -4
- package/src/internal/builtin-plugins/network-manager/type-extensions/global-options.ts +0 -1
- package/src/internal/builtin-plugins/network-manager/type-extensions/hooks.ts +0 -1
- package/src/internal/builtin-plugins/network-manager/type-extensions/hre.ts +0 -1
- package/src/internal/builtin-plugins/network-manager/type-validation.ts +7 -1
- package/src/internal/builtin-plugins/network-manager/utils/apply-coverage-network-overrides.ts +32 -0
- package/src/internal/builtin-plugins/node/json-rpc/handler.ts +7 -5
- package/src/internal/builtin-plugins/solidity/build-system/build-system.ts +32 -16
- package/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.ts +8 -2
- package/src/internal/builtin-plugins/solidity/constants.ts +11 -0
- package/src/internal/builtin-plugins/solidity/index.ts +2 -1
- package/src/internal/builtin-plugins/solidity/tasks/compile.ts +12 -0
- package/src/internal/builtin-plugins/solidity/type-extensions.ts +0 -4
- package/src/internal/builtin-plugins/solidity-test/config.ts +85 -12
- package/src/internal/builtin-plugins/solidity-test/eip712/ast-walker.ts +324 -0
- package/src/internal/builtin-plugins/solidity-test/eip712/canonicalize.ts +317 -0
- package/src/internal/builtin-plugins/solidity-test/eip712/glob.ts +225 -0
- package/src/internal/builtin-plugins/solidity-test/eip712/index.ts +120 -0
- package/src/internal/builtin-plugins/solidity-test/helpers.ts +28 -4
- package/src/internal/builtin-plugins/solidity-test/index.ts +1 -1
- package/src/internal/builtin-plugins/solidity-test/inline-config/constants.ts +6 -2
- package/src/internal/builtin-plugins/solidity-test/inline-config/helpers.ts +15 -4
- package/src/internal/builtin-plugins/solidity-test/inline-config/validation.ts +25 -4
- package/src/internal/builtin-plugins/solidity-test/task-action.ts +12 -1
- package/src/internal/builtin-plugins/solidity-test/test-profiles.ts +1 -0
- package/src/internal/builtin-plugins/solidity-test/type-extensions.ts +100 -34
- package/src/internal/builtin-plugins/test/index.ts +1 -1
- package/src/internal/builtin-plugins/test/type-extensions.ts +0 -1
- package/src/internal/cli/init/init.ts +198 -16
- package/src/internal/cli/main.ts +64 -1
- package/src/types/arguments.ts +2 -0
- package/src/types/artifacts.ts +2 -0
- package/src/types/builtin-plugin-type-extensions.ts +15 -0
- package/src/types/config.ts +1 -3
- package/src/types/global-options.ts +2 -0
- package/src/types/hooks.ts +2 -0
- package/src/types/hre.ts +2 -0
- package/src/types/index.ts +2 -0
- package/src/types/network.ts +2 -0
- package/src/types/plugins.ts +1 -3
- package/src/types/providers.ts +2 -0
- package/src/types/solidity.ts +2 -0
- package/src/types/tasks.ts +2 -0
- package/src/types/test.ts +2 -0
- package/src/types/user-interruptions.ts +2 -0
- package/templates/hardhat-3/01-node-test-runner-viem/package.json +12 -12
- package/templates/hardhat-3/01-node-test-runner-viem/tsconfig.json +4 -7
- package/templates/hardhat-3/02-mocha-ethers/package.json +15 -15
- package/templates/hardhat-3/02-mocha-ethers/tsconfig.json +4 -7
- package/templates/hardhat-3/03-minimal/package.json +2 -2
- package/templates/hardhat-3/03-minimal/tsconfig.json +4 -7
- package/coverage.sol +0 -38
package/src/internal/builtin-plugins/network-manager/utils/apply-coverage-network-overrides.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { EdrNetworkConfig } from "../../../../types/config.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Returns a copy of the resolved EDR network config with coverage-specific
|
|
5
|
+
* overrides applied. When coverage is enabled and the user has not set the
|
|
6
|
+
* field explicitly:
|
|
7
|
+
*
|
|
8
|
+
* - `allowUnlimitedContractSize` defaults to `true`, because coverage
|
|
9
|
+
* instrumentation can push the contract size over the limit.
|
|
10
|
+
* - `blockGasLimit` and `transactionGasCap` default to `false` (disabled),
|
|
11
|
+
* so the added gas of coverage instrumentation does not push tests over
|
|
12
|
+
* the per-block or EIP-7825 transaction caps.
|
|
13
|
+
*
|
|
14
|
+
* Explicit user values are preserved in all three cases.
|
|
15
|
+
*
|
|
16
|
+
* When coverage is disabled, the config is returned unchanged.
|
|
17
|
+
*/
|
|
18
|
+
export function applyCoverageNetworkOverrides(
|
|
19
|
+
config: EdrNetworkConfig,
|
|
20
|
+
shouldEnableCoverage: boolean,
|
|
21
|
+
): EdrNetworkConfig {
|
|
22
|
+
if (!shouldEnableCoverage) {
|
|
23
|
+
return config;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return {
|
|
27
|
+
...config,
|
|
28
|
+
allowUnlimitedContractSize: config.allowUnlimitedContractSize ?? true,
|
|
29
|
+
blockGasLimit: config.blockGasLimit ?? false,
|
|
30
|
+
transactionGasCap: config.transactionGasCap ?? false,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
@@ -269,6 +269,12 @@ const _handleError = (error: Error): JsonRpcResponse => {
|
|
|
269
269
|
error = new InternalError(undefined, error);
|
|
270
270
|
}
|
|
271
271
|
|
|
272
|
+
// Revert errors (code 3): return raw hex to match the geth/anvil convention
|
|
273
|
+
// that viem/ethers/web3.js rely on. Other errors keep the wrapper for diagnostics.
|
|
274
|
+
const data: unknown = isRevertError
|
|
275
|
+
? returnData
|
|
276
|
+
: { message: error.message, txHash, data: returnData };
|
|
277
|
+
|
|
272
278
|
const response: FailedJsonRpcResponse = {
|
|
273
279
|
jsonrpc: "2.0",
|
|
274
280
|
id: null,
|
|
@@ -278,11 +284,7 @@ const _handleError = (error: Error): JsonRpcResponse => {
|
|
|
278
284
|
? error.code
|
|
279
285
|
: InternalError.CODE,
|
|
280
286
|
message: error.message,
|
|
281
|
-
data
|
|
282
|
-
message: error.message,
|
|
283
|
-
txHash,
|
|
284
|
-
data: returnData,
|
|
285
|
-
},
|
|
287
|
+
data,
|
|
286
288
|
},
|
|
287
289
|
};
|
|
288
290
|
|
|
@@ -43,7 +43,6 @@ import { createDebug } from "@nomicfoundation/hardhat-utils/debug";
|
|
|
43
43
|
import {
|
|
44
44
|
exists,
|
|
45
45
|
ensureDir,
|
|
46
|
-
getAllDirectoriesMatching,
|
|
47
46
|
getAllFilesMatching,
|
|
48
47
|
move,
|
|
49
48
|
readJsonFile,
|
|
@@ -1098,29 +1097,46 @@ export class SolidityBuildSystemImplementation implements SolidityBuildSystem {
|
|
|
1098
1097
|
|
|
1099
1098
|
const userSourceNamesSet = new Set(userSourceNames);
|
|
1100
1099
|
|
|
1101
|
-
|
|
1100
|
+
const buildInfosDir = path.join(artifactsDirectory, `build-info`);
|
|
1101
|
+
|
|
1102
|
+
// We accept both `.json` files and per-file `artifacts.d.ts` files:
|
|
1103
|
+
// source files that compile but produce no contracts emit only the
|
|
1104
|
+
// declaration file, but their parent dir still belongs in the cleanup
|
|
1105
|
+
// candidate set.
|
|
1106
|
+
// TODO: This logic is originated with the artifacts manager, but now uses both json files and `artifacts.d.ts` as the test
|
|
1107
|
+
const allArtifactFiles = await getAllFilesMatching(
|
|
1102
1108
|
artifactsDirectory,
|
|
1103
|
-
(
|
|
1104
|
-
|
|
1109
|
+
(p) => {
|
|
1110
|
+
// Ignore top level files (e.g. the project-wide artifacts.d.ts)
|
|
1111
|
+
if (
|
|
1112
|
+
p.indexOf(path.sep, artifactsDirectory.length + path.sep.length) ===
|
|
1113
|
+
-1
|
|
1114
|
+
) {
|
|
1115
|
+
return false;
|
|
1116
|
+
}
|
|
1117
|
+
return p.endsWith(".json") || path.basename(p) === "artifacts.d.ts";
|
|
1118
|
+
},
|
|
1119
|
+
(dir) => dir !== buildInfosDir,
|
|
1120
|
+
);
|
|
1121
|
+
|
|
1122
|
+
const artifactDirs = new Set(
|
|
1123
|
+
allArtifactFiles.map((file) => path.dirname(file)),
|
|
1124
|
+
);
|
|
1125
|
+
const removedDirs = new Set<string>();
|
|
1126
|
+
|
|
1127
|
+
for (const dir of artifactDirs) {
|
|
1105
1128
|
const relativePath = toForwardSlash(
|
|
1106
|
-
path.relative(artifactsDirectory,
|
|
1129
|
+
path.relative(artifactsDirectory, dir),
|
|
1107
1130
|
);
|
|
1108
1131
|
|
|
1109
1132
|
if (!userSourceNamesSet.has(relativePath)) {
|
|
1110
|
-
await remove(
|
|
1133
|
+
await remove(dir);
|
|
1134
|
+
removedDirs.add(dir);
|
|
1111
1135
|
}
|
|
1112
1136
|
}
|
|
1113
1137
|
|
|
1114
|
-
const
|
|
1115
|
-
|
|
1116
|
-
// TODO: This logic is duplicated with respect to the artifacts manager
|
|
1117
|
-
const artifactPaths = await getAllFilesMatching(
|
|
1118
|
-
artifactsDirectory,
|
|
1119
|
-
(p) =>
|
|
1120
|
-
p.endsWith(".json") && // Only consider json files
|
|
1121
|
-
// Ignore top level json files
|
|
1122
|
-
p.indexOf(path.sep, artifactsDirectory.length + path.sep.length) !== -1,
|
|
1123
|
-
(dir) => dir !== buildInfosDir,
|
|
1138
|
+
const artifactPaths = allArtifactFiles.filter(
|
|
1139
|
+
(p) => p.endsWith(".json") && !removedDirs.has(path.dirname(p)),
|
|
1124
1140
|
);
|
|
1125
1141
|
|
|
1126
1142
|
const reachableBuildInfoIds = await Promise.all(
|
package/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.ts
CHANGED
|
@@ -29,14 +29,13 @@ import {
|
|
|
29
29
|
} from "@nomicfoundation/hardhat-utils/package";
|
|
30
30
|
|
|
31
31
|
import { UserRemappingErrorType } from "../../../../../types/solidity.js";
|
|
32
|
+
import { HARDHAT_PROJECT_INPUT_SOURCE_NAME_ROOT } from "../../constants.js";
|
|
32
33
|
|
|
33
34
|
import { getNpmPackageName } from "./npm-module-parsing.js";
|
|
34
35
|
import { parseRemappingString, selectBestRemapping } from "./remappings.js";
|
|
35
36
|
import { sourceNamePathJoin } from "./source-name-utils.js";
|
|
36
37
|
import { UserRemappingType } from "./types.js";
|
|
37
38
|
|
|
38
|
-
const HARDHAT_PROJECT_INPUT_SOURCE_NAME_ROOT = "project";
|
|
39
|
-
|
|
40
39
|
/**
|
|
41
40
|
* Returns a normalized version of the path if it refers to a node_modules in
|
|
42
41
|
* the root directory (i.e. node_modules/...), or a `node_modules` directory
|
|
@@ -478,6 +477,13 @@ export class RemappedNpmPackagesGraphImplementation
|
|
|
478
477
|
(f) => !f.endsWith("node_modules"),
|
|
479
478
|
);
|
|
480
479
|
|
|
480
|
+
// Sort by path so the first-wins dedup downstream is deterministic across
|
|
481
|
+
// filesystems. We sort here (and not after hook composition) so that hooks
|
|
482
|
+
// can rely on the contract that remappings they append after next() come
|
|
483
|
+
// last — e.g. hardhat-foundry appends forge's remappings after the
|
|
484
|
+
// package's own remappings.txt files, expecting remappings.txt to win.
|
|
485
|
+
remappingsTxtFiles.sort();
|
|
486
|
+
|
|
481
487
|
const results: Array<{ remappings: string[]; source: string }> = [];
|
|
482
488
|
for (const file of remappingsTxtFiles) {
|
|
483
489
|
const contents = await readUtf8File(file);
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import type { CompilerInput } from "../../../types/solidity.js";
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* The input source name prefix used for files belonging to the Hardhat
|
|
5
|
+
* project (as opposed to npm packages, which use `npm/<pkg>@<version>`).
|
|
6
|
+
*
|
|
7
|
+
* For example, a project file at `<root>/contracts/Foo.sol` has input
|
|
8
|
+
* source name `project/contracts/Foo.sol`. Part of the build-info format
|
|
9
|
+
* contract: changing this value would require a new build-info format
|
|
10
|
+
* version.
|
|
11
|
+
*/
|
|
12
|
+
export const HARDHAT_PROJECT_INPUT_SOURCE_NAME_ROOT = "project";
|
|
13
|
+
|
|
3
14
|
export const DEFAULT_OUTPUT_SELECTION: CompilerInput["settings"]["outputSelection"] =
|
|
4
15
|
{
|
|
5
16
|
"*": {
|
|
@@ -3,7 +3,7 @@ import type { HardhatPlugin } from "../../../types/plugins.js";
|
|
|
3
3
|
import { ArgumentType } from "../../../types/arguments.js";
|
|
4
4
|
import { globalOption, task } from "../../core/config.js";
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
export type * from "./type-extensions.js";
|
|
7
7
|
|
|
8
8
|
const buildTask = task("build", "Build project")
|
|
9
9
|
.addFlag({
|
|
@@ -53,6 +53,7 @@ const hardhatPlugin: HardhatPlugin = {
|
|
|
53
53
|
...buildTask,
|
|
54
54
|
id: ["compile"],
|
|
55
55
|
description: "Build project (alias for build)",
|
|
56
|
+
action: async () => await import("./tasks/compile.js"),
|
|
56
57
|
},
|
|
57
58
|
],
|
|
58
59
|
globalOptions: [
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { NewTaskActionFunction } from "../../../../types/tasks.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Compile task action is an alias of the build task action, it invokes
|
|
5
|
+
* the build task to ensure any build overrides are properly executed when
|
|
6
|
+
* compile is run.
|
|
7
|
+
*/
|
|
8
|
+
const compileAction: NewTaskActionFunction = async (args, hre) => {
|
|
9
|
+
return await hre.tasks.getTask("build").run(args);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default compileAction;
|
|
@@ -11,7 +11,6 @@ import type {
|
|
|
11
11
|
CompilerOutput,
|
|
12
12
|
} from "../../../types/solidity.js";
|
|
13
13
|
|
|
14
|
-
import "../../../types/config.js";
|
|
15
14
|
declare module "../../../types/config.js" {
|
|
16
15
|
/**
|
|
17
16
|
* An interface with a key per compiler type.
|
|
@@ -318,21 +317,18 @@ declare module "../../../types/config.js" {
|
|
|
318
317
|
}
|
|
319
318
|
}
|
|
320
319
|
|
|
321
|
-
import "../../../types/hre.js";
|
|
322
320
|
declare module "../../../types/hre.js" {
|
|
323
321
|
export interface HardhatRuntimeEnvironment {
|
|
324
322
|
solidity: SolidityBuildSystem;
|
|
325
323
|
}
|
|
326
324
|
}
|
|
327
325
|
|
|
328
|
-
import "../../../types/global-options.js";
|
|
329
326
|
declare module "../../../types/global-options.js" {
|
|
330
327
|
export interface GlobalOptions {
|
|
331
328
|
buildProfile: string;
|
|
332
329
|
}
|
|
333
330
|
}
|
|
334
331
|
|
|
335
|
-
import "../../../types/hooks.js";
|
|
336
332
|
declare module "../../../types/hooks.js" {
|
|
337
333
|
export interface HardhatHooks {
|
|
338
334
|
solidity: SolidityHooks;
|
|
@@ -6,17 +6,19 @@ import type {
|
|
|
6
6
|
} from "../../../types/config.js";
|
|
7
7
|
import type { HardhatUserConfigValidationError } from "../../../types/hooks.js";
|
|
8
8
|
import type {
|
|
9
|
-
SolidityTestConfig,
|
|
10
9
|
SolidityTestForkingConfig,
|
|
11
|
-
|
|
10
|
+
SolidityTestProfileConfig,
|
|
11
|
+
SolidityTestProfileUserConfig,
|
|
12
12
|
} from "../../../types/test.js";
|
|
13
13
|
|
|
14
14
|
import path from "node:path";
|
|
15
15
|
|
|
16
|
+
import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
|
|
16
17
|
import { isObject } from "@nomicfoundation/hardhat-utils/lang";
|
|
17
18
|
import { resolveFromRoot } from "@nomicfoundation/hardhat-utils/path";
|
|
18
19
|
import {
|
|
19
20
|
conditionalUnionType,
|
|
21
|
+
incompatibleFieldType,
|
|
20
22
|
sensitiveStringSchema,
|
|
21
23
|
sensitiveUrlSchema,
|
|
22
24
|
unionType,
|
|
@@ -24,11 +26,13 @@ import {
|
|
|
24
26
|
} from "@nomicfoundation/hardhat-zod-utils";
|
|
25
27
|
import { z } from "zod";
|
|
26
28
|
|
|
29
|
+
import { DEFAULT_TEST_PROFILE } from "./test-profiles.js";
|
|
30
|
+
|
|
27
31
|
// the keccak256 of "built for ethereum"
|
|
28
32
|
export const DEFAULT_FUZZ_SEED =
|
|
29
33
|
"0x7727ea51af0441c20da14dcd68a15dac8c9ebd589c5be8fa8c87c1d3720450bc";
|
|
30
34
|
|
|
31
|
-
const
|
|
35
|
+
const solidityTestProfileUserConfigType = z.object({
|
|
32
36
|
fsPermissions: z
|
|
33
37
|
.object({
|
|
34
38
|
readWriteFile: z.array(z.string()).optional(),
|
|
@@ -50,7 +54,11 @@ const solidityTestUserConfigType = z.object({
|
|
|
50
54
|
blockTimestamp: z.bigint().optional(),
|
|
51
55
|
prevRandao: z.bigint().optional(),
|
|
52
56
|
gasLimit: z.bigint().optional(),
|
|
53
|
-
blockGasLimit: z.bigint().or(z.literal(false)).optional(),
|
|
57
|
+
blockGasLimit: z.number().or(z.bigint()).or(z.literal(false)).optional(),
|
|
58
|
+
// TODO: widen back to .number().or(z.bigint()).or(z.literal(false))
|
|
59
|
+
// once Solidity test runner no longer breaks setUp() when
|
|
60
|
+
// disableTransactionGasCap is false. See PR #8301.
|
|
61
|
+
transactionGasCap: z.literal(false).optional(),
|
|
54
62
|
fuzz: z
|
|
55
63
|
.object({
|
|
56
64
|
failurePersistDir: z.string().optional(),
|
|
@@ -89,8 +97,49 @@ const solidityTestUserConfigType = z.object({
|
|
|
89
97
|
shrinkRunLimit: z.number().optional(),
|
|
90
98
|
})
|
|
91
99
|
.optional(),
|
|
100
|
+
eip712Types: z
|
|
101
|
+
.object({
|
|
102
|
+
include: z.array(z.string()).optional(),
|
|
103
|
+
exclude: z.array(z.string()).optional(),
|
|
104
|
+
})
|
|
105
|
+
.optional(),
|
|
92
106
|
});
|
|
93
107
|
|
|
108
|
+
const solidityTestFlatUserConfigType = solidityTestProfileUserConfigType.extend(
|
|
109
|
+
{
|
|
110
|
+
profiles: incompatibleFieldType(
|
|
111
|
+
"This field is incompatible with the flat solidity test config",
|
|
112
|
+
),
|
|
113
|
+
},
|
|
114
|
+
);
|
|
115
|
+
|
|
116
|
+
const solidityTestProfilesUserConfigType = z.object({
|
|
117
|
+
profiles: z
|
|
118
|
+
.record(z.string(), solidityTestProfileUserConfigType)
|
|
119
|
+
.refine(
|
|
120
|
+
(profiles) => DEFAULT_TEST_PROFILE in profiles,
|
|
121
|
+
"A `default` profile is required when using `profiles`",
|
|
122
|
+
)
|
|
123
|
+
.refine(
|
|
124
|
+
(profiles) =>
|
|
125
|
+
!(DEFAULT_TEST_PROFILE in profiles) ||
|
|
126
|
+
Object.keys(profiles).every((name) => name === DEFAULT_TEST_PROFILE),
|
|
127
|
+
"Only the `default` profile is supported. Other profile names will be supported in a future release.",
|
|
128
|
+
),
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
const solidityTestUserConfigType = conditionalUnionType(
|
|
132
|
+
[
|
|
133
|
+
[
|
|
134
|
+
(data) =>
|
|
135
|
+
isObject(data) && "profiles" in data && Object.keys(data).length === 1,
|
|
136
|
+
solidityTestProfilesUserConfigType,
|
|
137
|
+
],
|
|
138
|
+
[isObject, solidityTestFlatUserConfigType],
|
|
139
|
+
],
|
|
140
|
+
"Expected a Solidity test config or a `{ profiles: { ... } }` wrapper",
|
|
141
|
+
);
|
|
142
|
+
|
|
94
143
|
const userConfigType = z.object({
|
|
95
144
|
paths: z
|
|
96
145
|
.object({
|
|
@@ -111,7 +160,7 @@ const userConfigType = z.object({
|
|
|
111
160
|
});
|
|
112
161
|
|
|
113
162
|
export function resolveSolidityTestForkingConfig(
|
|
114
|
-
forkingUserConfig:
|
|
163
|
+
forkingUserConfig: SolidityTestProfileUserConfig["forking"],
|
|
115
164
|
resolveConfigurationVariable: ConfigurationVariableResolver,
|
|
116
165
|
): SolidityTestForkingConfig | undefined {
|
|
117
166
|
if (forkingUserConfig === undefined) {
|
|
@@ -159,16 +208,29 @@ export async function resolveSolidityTestUserConfig(
|
|
|
159
208
|
|
|
160
209
|
const defaultRpcCachePath = path.join(resolvedConfig.paths.cache, "edr");
|
|
161
210
|
|
|
211
|
+
const solidityUserConfig = userConfig.test?.solidity;
|
|
212
|
+
let profileUserConfig: SolidityTestProfileUserConfig | undefined;
|
|
213
|
+
if (solidityUserConfig !== undefined && "profiles" in solidityUserConfig) {
|
|
214
|
+
profileUserConfig = solidityUserConfig.profiles[DEFAULT_TEST_PROFILE];
|
|
215
|
+
assertHardhatInvariant(
|
|
216
|
+
profileUserConfig !== undefined,
|
|
217
|
+
"default profile must be present when the profiles wrapper user config is supplied",
|
|
218
|
+
);
|
|
219
|
+
} else {
|
|
220
|
+
profileUserConfig = solidityUserConfig;
|
|
221
|
+
}
|
|
222
|
+
|
|
162
223
|
const resolvedForking = resolveSolidityTestForkingConfig(
|
|
163
|
-
|
|
224
|
+
profileUserConfig?.forking,
|
|
164
225
|
resolveConfigurationVariable,
|
|
165
226
|
);
|
|
166
227
|
|
|
167
|
-
const
|
|
228
|
+
const resolvedDefaultProfile = {
|
|
168
229
|
rpcCachePath: defaultRpcCachePath,
|
|
169
|
-
...
|
|
170
|
-
fuzz: resolveFuzzConfig(
|
|
230
|
+
...profileUserConfig,
|
|
231
|
+
fuzz: resolveFuzzConfig(profileUserConfig?.fuzz),
|
|
171
232
|
forking: resolvedForking,
|
|
233
|
+
eip712Types: resolveEip712TypesConfig(profileUserConfig?.eip712Types),
|
|
172
234
|
};
|
|
173
235
|
|
|
174
236
|
return {
|
|
@@ -182,16 +244,27 @@ export async function resolveSolidityTestUserConfig(
|
|
|
182
244
|
},
|
|
183
245
|
test: {
|
|
184
246
|
...resolvedConfig.test,
|
|
185
|
-
solidity:
|
|
247
|
+
solidity: {
|
|
248
|
+
profiles: { [DEFAULT_TEST_PROFILE]: resolvedDefaultProfile },
|
|
249
|
+
},
|
|
186
250
|
},
|
|
187
251
|
};
|
|
188
252
|
}
|
|
189
253
|
|
|
190
254
|
export function resolveFuzzConfig(
|
|
191
|
-
fuzzUserConfig:
|
|
192
|
-
):
|
|
255
|
+
fuzzUserConfig: SolidityTestProfileUserConfig["fuzz"] = {},
|
|
256
|
+
): SolidityTestProfileConfig["fuzz"] {
|
|
193
257
|
return {
|
|
194
258
|
...fuzzUserConfig,
|
|
195
259
|
seed: fuzzUserConfig.seed ?? DEFAULT_FUZZ_SEED,
|
|
196
260
|
};
|
|
197
261
|
}
|
|
262
|
+
|
|
263
|
+
export function resolveEip712TypesConfig(
|
|
264
|
+
eip712TypesUserConfig: SolidityTestProfileUserConfig["eip712Types"] = {},
|
|
265
|
+
): SolidityTestProfileConfig["eip712Types"] {
|
|
266
|
+
return {
|
|
267
|
+
include: eip712TypesUserConfig.include ?? [],
|
|
268
|
+
exclude: eip712TypesUserConfig.exclude ?? [],
|
|
269
|
+
};
|
|
270
|
+
}
|