hardhat 3.2.0 → 3.4.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 +88 -0
- package/dist/src/internal/builtin-global-options.d.ts.map +1 -1
- package/dist/src/internal/builtin-global-options.js +14 -1
- package/dist/src/internal/builtin-global-options.js.map +1 -1
- package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.js +5 -13
- package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.js.map +1 -1
- package/dist/src/internal/builtin-plugins/console/task-action.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/console/task-action.js +2 -1
- package/dist/src/internal/builtin-plugins/console/task-action.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/exports.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/exports.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/exports.js +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/exports.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/function-gas-snapshots.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/function-gas-snapshots.js +1 -2
- package/dist/src/internal/builtin-plugins/gas-analytics/function-gas-snapshots.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.d.ts +7 -5
- package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.js +60 -44
- package/dist/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/accessors.d.ts +6 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/accessors.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/accessors.js +14 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/accessors.js.map +1 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/compat.d.ts +4 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/compat.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/compat.js +27 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/compat.js.map +1 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/utils.d.ts +36 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/utils.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/utils.js +86 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers/utils.js.map +1 -0
- package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.js +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.js +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.js.map +1 -1
- 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 +1 -2
- package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/types.d.ts +10 -2
- package/dist/src/internal/builtin-plugins/gas-analytics/types.d.ts.map +1 -1
- 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 +12 -2
- package/dist/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.d.ts +9 -3
- 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 +65 -42
- 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.d.ts +11 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js +104 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js.map +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/solidity-stack-trace.d.ts +4 -4
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/solidity-stack-trace.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/solidity-stack-trace.js +2 -2
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/solidity-stack-trace.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.d.ts +6 -3
- 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 +23 -5
- 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.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.js +2 -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/edr/utils/trace-formatters.d.ts +6 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.js +152 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.js.map +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.d.ts +19 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.js +104 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.js.map +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js +23 -1
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.js +25 -17
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/network.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/http-provider.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/http-provider.js +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/http-provider.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts +12 -2
- 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 +149 -26
- package/dist/src/internal/builtin-plugins/network-manager/network-manager.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/hd-wallet-handler.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/hd-wallet-handler.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.d.ts +1 -0
- 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 +70 -33
- 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/accounts/sender.d.ts +2 -0
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/sender.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/sender.js +19 -12
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/sender.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/chain-id/chain-id-handler.d.ts +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/chain-id/chain-id-handler.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/chain-id/chain-id-handler.js +9 -3
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/chain-id/chain-id-handler.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.d.ts +2 -0
- 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 +5 -1
- 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/automatic-gas-price-handler.d.ts +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-price-handler.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-price-handler.js +5 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-price-handler.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-handler.d.ts +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-handler.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-handler.js +5 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-handler.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-price-handler.d.ts +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-price-handler.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-price-handler.js +5 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-price-handler.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.d.ts +0 -3
- 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 +9 -12
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/types.d.ts +9 -0
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/types.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/revert-error-code.d.ts +2 -0
- package/dist/src/internal/builtin-plugins/network-manager/revert-error-code.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/revert-error-code.js +3 -0
- package/dist/src/internal/builtin-plugins/network-manager/revert-error-code.js.map +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/type-extensions/config.d.ts +1 -1
- 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 +2 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-validation.js.map +1 -1
- package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.js +1 -1
- package/dist/src/internal/builtin-plugins/node/artifacts/build-info-watcher.js.map +1 -1
- package/dist/src/internal/builtin-plugins/node/helpers.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/node/helpers.js +6 -2
- package/dist/src/internal/builtin-plugins/node/helpers.js.map +1 -1
- package/dist/src/internal/builtin-plugins/node/json-rpc/handler.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/node/json-rpc/handler.js +8 -2
- package/dist/src/internal/builtin-plugins/node/json-rpc/handler.js.map +1 -1
- package/dist/src/internal/builtin-plugins/node/task-action.js +2 -2
- package/dist/src/internal/builtin-plugins/node/task-action.js.map +1 -1
- package/dist/src/internal/builtin-plugins/run/task-action.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/run/task-action.js +2 -1
- package/dist/src/internal/builtin-plugins/run/task-action.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/artifacts.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/artifacts.js +7 -0
- package/dist/src/internal/builtin-plugins/solidity/build-system/artifacts.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts +6 -2
- 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 +198 -76
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/cache.d.ts +3 -0
- package/dist/src/internal/builtin-plugins/solidity/build-system/cache.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/cache.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.d.ts +5 -3
- package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.js +35 -7
- package/dist/src/internal/builtin-plugins/solidity/build-system/compilation-job.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.d.ts +16 -0
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph.js +5 -5
- package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.d.ts +2 -2
- package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/solc-info.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/solc-info.js +1 -0
- package/dist/src/internal/builtin-plugins/solidity/build-system/solc-info.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/warning-suppression.js +2 -2
- package/dist/src/internal/builtin-plugins/solidity/build-system/warning-suppression.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/config.d.ts +4 -2
- package/dist/src/internal/builtin-plugins/solidity/config.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/config.js +266 -84
- package/dist/src/internal/builtin-plugins/solidity/config.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/constants.d.ts +3 -0
- package/dist/src/internal/builtin-plugins/solidity/constants.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity/constants.js +19 -0
- package/dist/src/internal/builtin-plugins/solidity/constants.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity/exports.d.ts +3 -0
- package/dist/src/internal/builtin-plugins/solidity/exports.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity/exports.js +3 -0
- package/dist/src/internal/builtin-plugins/solidity/exports.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.js +2 -1
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/solidity.d.ts +4 -0
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/solidity.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/solidity.js +7 -0
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/solidity.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/index.js +1 -0
- package/dist/src/internal/builtin-plugins/solidity/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.d.ts +18 -0
- package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.js +33 -0
- package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity/tasks/build.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/solidity/tasks/build.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/tasks/build.js +225 -55
- package/dist/src/internal/builtin-plugins/solidity/tasks/build.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/type-extensions.d.ts +227 -28
- package/dist/src/internal/builtin-plugins/solidity/type-extensions.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/type-extensions.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/config.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/config.js +5 -3
- package/dist/src/internal/builtin-plugins/solidity-test/config.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.d.ts +12 -6
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js +9 -7
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/formatters.d.ts +1 -12
- package/dist/src/internal/builtin-plugins/solidity-test/formatters.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/formatters.js +0 -150
- package/dist/src/internal/builtin-plugins/solidity-test/formatters.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts +4 -5
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.js +5 -12
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.js.map +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 -7
- 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 +7 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.js +20 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/constants.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.d.ts +24 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.js +68 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/helpers.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.d.ts +13 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.js +136 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/index.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.d.ts +19 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.js +133 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/parsing.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.d.ts +10 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.js +2 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/types.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.d.ts +12 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.js +81 -0
- package/dist/src/internal/builtin-plugins/solidity-test/inline-config/validation.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/reporter.d.ts +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/reporter.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/reporter.js +5 -2
- package/dist/src/internal/builtin-plugins/solidity-test/reporter.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/runner.d.ts +2 -8
- package/dist/src/internal/builtin-plugins/solidity-test/runner.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/runner.js +47 -50
- package/dist/src/internal/builtin-plugins/solidity-test/runner.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/stack-trace-solidity-errors.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/stack-trace-solidity-errors.js +11 -2
- package/dist/src/internal/builtin-plugins/solidity-test/stack-trace-solidity-errors.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.d.ts +0 -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 +122 -39
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/type-extensions.d.ts +1 -2
- package/dist/src/internal/builtin-plugins/solidity-test/type-extensions.d.ts.map +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 -7
- package/dist/src/internal/builtin-plugins/test/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/test/task-action.d.ts +0 -1
- package/dist/src/internal/builtin-plugins/test/task-action.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/test/task-action.js +4 -8
- package/dist/src/internal/builtin-plugins/test/task-action.js.map +1 -1
- package/dist/src/internal/cli/help/get-help-string.d.ts.map +1 -1
- package/dist/src/internal/cli/help/get-help-string.js +1 -1
- package/dist/src/internal/cli/help/get-help-string.js.map +1 -1
- package/dist/src/internal/cli/init/init.d.ts.map +1 -1
- package/dist/src/internal/cli/init/init.js +1 -1
- package/dist/src/internal/cli/init/init.js.map +1 -1
- package/dist/src/internal/cli/init/prompt.d.ts.map +1 -1
- package/dist/src/internal/cli/init/prompt.js +1 -7
- package/dist/src/internal/cli/init/prompt.js.map +1 -1
- package/dist/src/internal/cli/main.d.ts.map +1 -1
- package/dist/src/internal/cli/main.js +8 -0
- package/dist/src/internal/cli/main.js.map +1 -1
- package/dist/src/internal/core/hre.d.ts +2 -1
- package/dist/src/internal/core/hre.d.ts.map +1 -1
- package/dist/src/internal/core/hre.js +18 -0
- package/dist/src/internal/core/hre.js.map +1 -1
- package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.d.ts.map +1 -1
- package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.js +6 -1
- package/dist/src/internal/core/plugins/detect-plugin-npm-dependency-problems.js.map +1 -1
- package/dist/src/internal/core/user-interruptions.d.ts.map +1 -1
- package/dist/src/internal/core/user-interruptions.js +2 -5
- package/dist/src/internal/core/user-interruptions.js.map +1 -1
- package/dist/src/internal/utils/colorizer.d.ts +10 -0
- package/dist/src/internal/utils/colorizer.d.ts.map +1 -0
- package/dist/src/internal/utils/colorizer.js +2 -0
- package/dist/src/internal/utils/colorizer.js.map +1 -0
- package/dist/src/internal/utils/package.d.ts.map +1 -1
- package/dist/src/internal/utils/package.js +1 -1
- package/dist/src/internal/utils/package.js.map +1 -1
- package/dist/src/types/artifacts.d.ts +5 -4
- package/dist/src/types/artifacts.d.ts.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/hooks.d.ts +32 -0
- package/dist/src/types/hooks.d.ts.map +1 -1
- package/dist/src/types/network.d.ts +39 -0
- package/dist/src/types/network.d.ts.map +1 -1
- package/dist/src/types/solidity/build-system.d.ts +66 -3
- package/dist/src/types/solidity/build-system.d.ts.map +1 -1
- package/dist/src/types/solidity/build-system.js.map +1 -1
- package/dist/src/types/solidity/compilation-job.d.ts +11 -5
- package/dist/src/types/solidity/compilation-job.d.ts.map +1 -1
- package/dist/src/types/solidity/solidity-artifacts.d.ts +29 -0
- package/dist/src/types/solidity/solidity-artifacts.d.ts.map +1 -1
- package/package.json +10 -9
- package/src/internal/builtin-global-options.ts +15 -1
- package/src/internal/builtin-plugins/artifacts/artifact-manager.ts +9 -15
- package/src/internal/builtin-plugins/console/task-action.ts +2 -1
- package/src/internal/builtin-plugins/gas-analytics/exports.ts +1 -1
- package/src/internal/builtin-plugins/gas-analytics/function-gas-snapshots.ts +1 -2
- package/src/internal/builtin-plugins/gas-analytics/gas-analytics-manager.ts +100 -61
- package/src/internal/builtin-plugins/gas-analytics/helpers/accessors.ts +31 -0
- package/src/internal/builtin-plugins/gas-analytics/helpers/compat.ts +37 -0
- package/src/internal/builtin-plugins/gas-analytics/helpers/utils.ts +112 -0
- package/src/internal/builtin-plugins/gas-analytics/hook-handlers/hre.ts +1 -1
- package/src/internal/builtin-plugins/gas-analytics/hook-handlers/test.ts +1 -1
- package/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.ts +1 -2
- package/src/internal/builtin-plugins/gas-analytics/types.ts +11 -2
- package/src/internal/builtin-plugins/network-manager/accounts/derive-private-keys.ts +25 -3
- package/src/internal/builtin-plugins/network-manager/edr/edr-provider.ts +107 -56
- package/src/internal/builtin-plugins/network-manager/edr/genesis-state.ts +179 -0
- package/src/internal/builtin-plugins/network-manager/edr/stack-traces/solidity-stack-trace.ts +4 -0
- package/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.ts +28 -4
- package/src/internal/builtin-plugins/network-manager/edr/utils/convert-to-edr.ts +2 -1
- package/src/internal/builtin-plugins/network-manager/edr/utils/trace-formatters.ts +197 -0
- package/src/internal/builtin-plugins/network-manager/edr/utils/trace-output.ts +137 -0
- package/src/internal/builtin-plugins/network-manager/hook-handlers/hre.ts +30 -0
- package/src/internal/builtin-plugins/network-manager/hook-handlers/network.ts +27 -24
- package/src/internal/builtin-plugins/network-manager/http-provider.ts +1 -0
- package/src/internal/builtin-plugins/network-manager/network-manager.ts +213 -37
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/hd-wallet-handler.ts +1 -0
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/local-accounts.ts +115 -34
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/sender.ts +25 -17
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/chain-id/chain-id-handler.ts +13 -5
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-handler.ts +7 -1
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/automatic-gas-price-handler.ts +7 -1
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-handler.ts +7 -1
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/gas/fixed-gas-price-handler.ts +7 -1
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers-array.ts +10 -30
- package/src/internal/builtin-plugins/network-manager/request-handlers/types.ts +10 -0
- package/src/internal/builtin-plugins/network-manager/revert-error-code.ts +2 -0
- package/src/internal/builtin-plugins/network-manager/type-extensions/config.ts +1 -1
- package/src/internal/builtin-plugins/network-manager/type-validation.ts +5 -1
- package/src/internal/builtin-plugins/node/artifacts/build-info-watcher.ts +1 -2
- package/src/internal/builtin-plugins/node/helpers.ts +9 -2
- package/src/internal/builtin-plugins/node/json-rpc/handler.ts +10 -2
- package/src/internal/builtin-plugins/node/task-action.ts +2 -2
- package/src/internal/builtin-plugins/run/task-action.ts +2 -1
- package/src/internal/builtin-plugins/solidity/build-system/artifacts.ts +10 -2
- package/src/internal/builtin-plugins/solidity/build-system/build-system.ts +297 -99
- package/src/internal/builtin-plugins/solidity/build-system/cache.ts +3 -0
- package/src/internal/builtin-plugins/solidity/build-system/compilation-job.ts +49 -16
- package/src/internal/builtin-plugins/solidity/build-system/compiler/compiler.ts +1 -1
- package/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.ts +1 -2
- package/src/internal/builtin-plugins/solidity/build-system/dependency-graph.ts +9 -7
- package/src/internal/builtin-plugins/solidity/build-system/solc-config-selection.ts +4 -2
- package/src/internal/builtin-plugins/solidity/build-system/solc-info.ts +1 -0
- package/src/internal/builtin-plugins/solidity/build-system/warning-suppression.ts +2 -2
- package/src/internal/builtin-plugins/solidity/config.ts +359 -124
- package/src/internal/builtin-plugins/solidity/constants.ts +21 -0
- package/src/internal/builtin-plugins/solidity/exports.ts +2 -0
- package/src/internal/builtin-plugins/solidity/hook-handlers/config.ts +3 -0
- package/src/internal/builtin-plugins/solidity/hook-handlers/solidity.ts +9 -0
- package/src/internal/builtin-plugins/solidity/index.ts +1 -0
- package/src/internal/builtin-plugins/solidity/solidity-hooks.ts +53 -0
- package/src/internal/builtin-plugins/solidity/tasks/build.ts +359 -74
- package/src/internal/builtin-plugins/solidity/type-extensions.ts +289 -32
- package/src/internal/builtin-plugins/solidity-test/config.ts +11 -2
- package/src/internal/builtin-plugins/solidity-test/edr-artifacts.ts +22 -10
- package/src/internal/builtin-plugins/solidity-test/formatters.ts +1 -213
- package/src/internal/builtin-plugins/solidity-test/helpers.ts +8 -15
- package/src/internal/builtin-plugins/solidity-test/index.ts +0 -7
- package/src/internal/builtin-plugins/solidity-test/inline-config/constants.ts +21 -0
- package/src/internal/builtin-plugins/solidity-test/inline-config/helpers.ts +99 -0
- package/src/internal/builtin-plugins/solidity-test/inline-config/index.ts +272 -0
- package/src/internal/builtin-plugins/solidity-test/inline-config/parsing.ts +186 -0
- package/src/internal/builtin-plugins/solidity-test/inline-config/types.ts +9 -0
- package/src/internal/builtin-plugins/solidity-test/inline-config/validation.ts +122 -0
- package/src/internal/builtin-plugins/solidity-test/reporter.ts +6 -6
- package/src/internal/builtin-plugins/solidity-test/runner.ts +64 -83
- package/src/internal/builtin-plugins/solidity-test/stack-trace-solidity-errors.ts +15 -2
- package/src/internal/builtin-plugins/solidity-test/task-action.ts +192 -57
- package/src/internal/builtin-plugins/solidity-test/type-extensions.ts +1 -2
- package/src/internal/builtin-plugins/test/index.ts +0 -7
- package/src/internal/builtin-plugins/test/task-action.ts +4 -10
- package/src/internal/cli/help/get-help-string.ts +2 -2
- package/src/internal/cli/init/init.ts +1 -1
- package/src/internal/cli/init/prompt.ts +1 -14
- package/src/internal/cli/main.ts +14 -0
- package/src/internal/core/hre.ts +33 -0
- package/src/internal/core/plugins/detect-plugin-npm-dependency-problems.ts +8 -1
- package/src/internal/core/user-interruptions.ts +3 -5
- package/src/internal/utils/colorizer.ts +9 -0
- package/src/internal/utils/package.ts +1 -2
- package/src/types/artifacts.ts +5 -4
- package/src/types/global-options.ts +1 -0
- package/src/types/hooks.ts +37 -0
- package/src/types/network.ts +48 -0
- package/src/types/solidity/build-system.ts +66 -3
- package/src/types/solidity/compilation-job.ts +12 -5
- package/src/types/solidity/solidity-artifacts.ts +32 -0
- package/templates/hardhat-2/04-mocha-viem-ts/package.json +1 -1
- package/templates/hardhat-3/01-node-test-runner-viem/gitignore +11 -0
- package/templates/hardhat-3/01-node-test-runner-viem/package.json +12 -12
- package/templates/hardhat-3/01-node-test-runner-viem/scripts/send-op-tx.ts +1 -1
- package/templates/hardhat-3/01-node-test-runner-viem/test/Counter.ts +1 -1
- package/templates/hardhat-3/02-mocha-ethers/gitignore +11 -0
- package/templates/hardhat-3/02-mocha-ethers/package.json +14 -14
- package/templates/hardhat-3/02-mocha-ethers/scripts/send-op-tx.ts +1 -1
- package/templates/hardhat-3/02-mocha-ethers/test/Counter.ts +1 -1
- package/templates/hardhat-3/03-minimal/gitignore +11 -0
- package/templates/hardhat-3/03-minimal/package.json +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts +0 -19
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers.d.ts.map +0 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js +0 -46
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js.map +0 -1
- package/src/internal/builtin-plugins/gas-analytics/helpers.ts +0 -86
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SolidityCompilerConfig } from "../../../types/config.js";
|
|
2
2
|
import type {
|
|
3
3
|
BuildOptions,
|
|
4
4
|
CompilationJobCreationError,
|
|
@@ -13,6 +13,26 @@ import type {
|
|
|
13
13
|
|
|
14
14
|
import "../../../types/config.js";
|
|
15
15
|
declare module "../../../types/config.js" {
|
|
16
|
+
/**
|
|
17
|
+
* An interface with a key per compiler type.
|
|
18
|
+
* The types of the values don't matter; we use `true` as a convention.
|
|
19
|
+
*
|
|
20
|
+
* By default, only "solc" is provided. Plugins can extend this via
|
|
21
|
+
* declaration merging to add new compiler types (e.g. "solx").
|
|
22
|
+
*/
|
|
23
|
+
export interface SolidityCompilerTypeDefinitions {
|
|
24
|
+
solc: true;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* The different Solidity compiler types, derived from
|
|
29
|
+
* SolidityCompilerTypeDefinitions. Extensible via declaration merging.
|
|
30
|
+
*/
|
|
31
|
+
export type SolidityCompilerType = keyof SolidityCompilerTypeDefinitions;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The type of `userConfig.solidity`.
|
|
35
|
+
*/
|
|
16
36
|
export type SolidityUserConfig =
|
|
17
37
|
| string
|
|
18
38
|
| string[]
|
|
@@ -20,68 +40,271 @@ declare module "../../../types/config.js" {
|
|
|
20
40
|
| MultiVersionSolidityUserConfig
|
|
21
41
|
| BuildProfilesSolidityUserConfig;
|
|
22
42
|
|
|
23
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Fields that all the object-typed variants of SolidityUserConfig share.
|
|
45
|
+
*
|
|
46
|
+
* Note: All the variants of SolidityUserConfig except for the string and
|
|
47
|
+
* array of strings MUST extend this interface. For plugins creating their
|
|
48
|
+
* own `SingleVersionSolidityUserConfig` variant, see
|
|
49
|
+
* {@link CommonSingleVersionSolidityUserConfig}.
|
|
50
|
+
*/
|
|
51
|
+
export interface CommonSolidityUserConfig {
|
|
52
|
+
isolated?: boolean;
|
|
53
|
+
npmFilesToBuild?: string[];
|
|
54
|
+
/**
|
|
55
|
+
* Controls whether Solidity test files are compiled in a separate pass
|
|
56
|
+
* from contract files.
|
|
57
|
+
*
|
|
58
|
+
* When `false` (the default), contracts and tests are compiled together
|
|
59
|
+
* in a single pass.
|
|
60
|
+
*
|
|
61
|
+
* When `true`, contracts and tests are compiled separately.
|
|
62
|
+
*/
|
|
63
|
+
splitTestsCompilation?: boolean;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Common fields for every SingleVersionSolidityUserConfig variant.
|
|
68
|
+
*
|
|
69
|
+
* NOTE: All the variants of SingleVersionSolidityUserConfig must extend this
|
|
70
|
+
* interface.
|
|
71
|
+
*/
|
|
72
|
+
export interface CommonSingleVersionSolidityUserConfig
|
|
73
|
+
extends CommonSolidityUserConfig {
|
|
74
|
+
toolVersionsInBuildInfo?: boolean;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Fields that all the SolidityCompilerUserConfig variants share.
|
|
79
|
+
*
|
|
80
|
+
* Note: All the types of SolidityCompilerUserConfig MUST extend this
|
|
81
|
+
* interface. This is especially relevant for plugins creating their own
|
|
82
|
+
* `SolidityCompilerUserConfig` variant.
|
|
83
|
+
*/
|
|
84
|
+
export interface CommonSolidityCompilerUserConfig {
|
|
85
|
+
type?: SolidityCompilerType;
|
|
24
86
|
version: string;
|
|
25
87
|
settings?: any;
|
|
26
88
|
path?: string;
|
|
27
|
-
preferWasm?: boolean;
|
|
28
89
|
}
|
|
29
90
|
|
|
30
|
-
|
|
31
|
-
|
|
91
|
+
/**
|
|
92
|
+
* Deprecated: Use `SolcSolidityCompilerUserConfig` instead.
|
|
93
|
+
* @deprecated
|
|
94
|
+
*/
|
|
95
|
+
export interface SolcUserConfig extends CommonSolidityCompilerUserConfig {
|
|
96
|
+
// Note: This field is optional for backwards compatibility. No `type` means
|
|
97
|
+
// "solc" across all of Hardhat.
|
|
98
|
+
type?: "solc";
|
|
32
99
|
preferWasm?: boolean;
|
|
33
100
|
}
|
|
34
101
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
102
|
+
/**
|
|
103
|
+
* Solc-specific SolidityCompilerUserConfig.
|
|
104
|
+
*/
|
|
105
|
+
/* eslint-disable-next-line @typescript-eslint/no-empty-interface -- Defined
|
|
106
|
+
in SolcUserConfig for backwards compatibility */
|
|
107
|
+
export interface SolcSolidityCompilerUserConfig extends SolcUserConfig {}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* A map from compiler type to its SolidityCompilerUserConfig type.
|
|
111
|
+
*
|
|
112
|
+
* Note: The types MUST extend `CommonSolidityCompilerUserConfig`.
|
|
113
|
+
*/
|
|
114
|
+
export interface SolidityCompilerUserConfigPerType {
|
|
115
|
+
solc: SolcSolidityCompilerUserConfig;
|
|
40
116
|
}
|
|
41
117
|
|
|
42
|
-
|
|
43
|
-
|
|
118
|
+
/**
|
|
119
|
+
* The type of all the compiler user configs.
|
|
120
|
+
*/
|
|
121
|
+
export type SolidityCompilerUserConfig =
|
|
122
|
+
| {
|
|
123
|
+
[type in keyof SolidityCompilerUserConfigPerType]: SolidityCompilerUserConfigPerType[type];
|
|
124
|
+
}[keyof SolidityCompilerUserConfigPerType]
|
|
125
|
+
// SolcSolidityCompilerUserConfig when the type isn't present
|
|
126
|
+
| (Omit<SolcSolidityCompilerUserConfig, "type"> &
|
|
127
|
+
Partial<Pick<SolcSolidityCompilerUserConfig, "type">>);
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Deprecated: Use `SolcSingleVersionSolidityUserConfig` instead.
|
|
131
|
+
* @deprecated
|
|
132
|
+
*/
|
|
133
|
+
export interface SingleVersionSolcUserConfig
|
|
134
|
+
extends SolcSolidityCompilerUserConfig,
|
|
135
|
+
CommonSingleVersionSolidityUserConfig {}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Solc-specific SingleVersionSolidityUserConfig.
|
|
139
|
+
*/
|
|
140
|
+
/* eslint-disable-next-line @typescript-eslint/no-empty-interface -- Defined
|
|
141
|
+
in SingleVersionSolcUserConfig for backwards compatibility */
|
|
142
|
+
export interface SolcSingleVersionSolidityUserConfig
|
|
143
|
+
extends SingleVersionSolcUserConfig {}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* A map from compiler type to its SingleVersionSolidityUserConfig type.
|
|
147
|
+
*
|
|
148
|
+
* Note: The types MUST extend `CommonSingleVersionSolidityUserConfig`.
|
|
149
|
+
*/
|
|
150
|
+
export interface SingleVersionSolidityUserConfigPerType {
|
|
151
|
+
solc: SolcSingleVersionSolidityUserConfig;
|
|
44
152
|
}
|
|
45
153
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
154
|
+
/**
|
|
155
|
+
* The type of all the single version user configs.
|
|
156
|
+
*/
|
|
157
|
+
export type SingleVersionSolidityUserConfig =
|
|
158
|
+
| {
|
|
159
|
+
[type in keyof SingleVersionSolidityUserConfigPerType]: SingleVersionSolidityUserConfigPerType[type];
|
|
160
|
+
}[keyof SingleVersionSolidityUserConfigPerType]
|
|
161
|
+
// SolcSingleVersionSolidityUserConfig when the type isn't present
|
|
162
|
+
| (Omit<SolcSingleVersionSolidityUserConfig, "type"> &
|
|
163
|
+
Partial<Pick<SolcSingleVersionSolidityUserConfig, "type">>);
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Deprecated: Use `MultiVersionSolidityUserConfig` or
|
|
167
|
+
* `MultiVersionBuildProfileUserConfig` instead.
|
|
168
|
+
* @deprecated
|
|
169
|
+
*/
|
|
170
|
+
export interface MultiVersionSolcUserConfig {
|
|
171
|
+
// Note: preferWasm is here for backwards compatibility. It can't be
|
|
172
|
+
// defined or not dependent on the type, as there isn't a top-level type.
|
|
173
|
+
// Instead, we post-validate the resolved config to make sure that it's
|
|
174
|
+
// only `true` if all the `compilers` and `overrides` have type `solc`.
|
|
175
|
+
preferWasm?: boolean;
|
|
176
|
+
// Note: Duplicated wrt CommonSolidityUserConfig for backwards compatibility
|
|
177
|
+
isolated?: boolean;
|
|
178
|
+
compilers: SolidityCompilerUserConfig[];
|
|
179
|
+
overrides?: Record<string, SolidityCompilerUserConfig>;
|
|
180
|
+
}
|
|
49
181
|
|
|
182
|
+
/**
|
|
183
|
+
* The type of a multi-version SolidityUserConfig.
|
|
184
|
+
*
|
|
185
|
+
* Partially defined in `MultiVersionSolcUserConfig` for backwards
|
|
186
|
+
* compatibility.
|
|
187
|
+
*/
|
|
50
188
|
export interface MultiVersionSolidityUserConfig
|
|
51
189
|
extends MultiVersionSolcUserConfig,
|
|
52
|
-
CommonSolidityUserConfig {
|
|
190
|
+
CommonSolidityUserConfig {
|
|
191
|
+
toolVersionsInBuildInfo?: boolean;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* The type of a single-version build profile user config.
|
|
196
|
+
*/
|
|
197
|
+
export type SingleVersionBuildProfileUserConfig =
|
|
198
|
+
SolidityCompilerUserConfig & {
|
|
199
|
+
isolated?: boolean;
|
|
200
|
+
toolVersionsInBuildInfo?: boolean;
|
|
201
|
+
};
|
|
53
202
|
|
|
203
|
+
/**
|
|
204
|
+
* The type of a multi-version build profile user config.
|
|
205
|
+
* Mostly defined in `MultiVersionSolcUserConfig` for backwards compatibility
|
|
206
|
+
*/
|
|
207
|
+
export interface MultiVersionBuildProfileUserConfig
|
|
208
|
+
extends MultiVersionSolcUserConfig {
|
|
209
|
+
toolVersionsInBuildInfo?: boolean;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* The type of the build profile version of the SolidityUserConfig.
|
|
214
|
+
*/
|
|
54
215
|
export interface BuildProfilesSolidityUserConfig
|
|
55
216
|
extends CommonSolidityUserConfig {
|
|
56
217
|
profiles: Record<
|
|
57
218
|
string,
|
|
58
|
-
|
|
219
|
+
SingleVersionBuildProfileUserConfig | MultiVersionBuildProfileUserConfig
|
|
59
220
|
>;
|
|
60
221
|
}
|
|
61
222
|
|
|
223
|
+
/**
|
|
224
|
+
* Extension of HardhatUserConfig with the `solidity` property.
|
|
225
|
+
*/
|
|
62
226
|
export interface HardhatUserConfig {
|
|
63
227
|
solidity?: SolidityUserConfig;
|
|
64
228
|
}
|
|
65
229
|
|
|
66
|
-
|
|
230
|
+
/**
|
|
231
|
+
* Common fields of a SolidityCompilerConfig.
|
|
232
|
+
*
|
|
233
|
+
* Note: All the types of SolidityCompiler config MUST extend this interface.
|
|
234
|
+
* This is especially relevant for plugins creating their own
|
|
235
|
+
* `SolidityCompilerConfig` variant.
|
|
236
|
+
*/
|
|
237
|
+
export interface CommonSolidityCompilerConfig {
|
|
238
|
+
type?: SolidityCompilerType;
|
|
67
239
|
version: string;
|
|
68
240
|
settings: any;
|
|
69
241
|
path?: string;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Deprecated: Use `SolcSolidityCompilerConfig` instead.
|
|
246
|
+
* @deprecated
|
|
247
|
+
*/
|
|
248
|
+
export interface SolcConfig extends CommonSolidityCompilerConfig {
|
|
249
|
+
// Note: This field is optional for backwards compatibility. No `type` means
|
|
250
|
+
// "solc" across all of Hardhat.
|
|
251
|
+
type?: "solc";
|
|
70
252
|
preferWasm?: boolean;
|
|
71
253
|
}
|
|
72
254
|
|
|
255
|
+
/**
|
|
256
|
+
* The type of a solc-specific SolidityCompilerConfig.
|
|
257
|
+
*/
|
|
258
|
+
/* eslint-disable-next-line @typescript-eslint/no-empty-interface -- Defined
|
|
259
|
+
in SolcConfig for backwards compatibility */
|
|
260
|
+
export interface SolcSolidityCompilerConfig extends SolcConfig {}
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* A map from compiler type to its `SolidityCompilerConfig` type. Note that
|
|
264
|
+
* the types MUST extend `CommonSolidityCompilerConfig`.
|
|
265
|
+
*/
|
|
266
|
+
export interface SolidityCompilerConfigPerType {
|
|
267
|
+
solc: SolcSolidityCompilerConfig;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
/**
|
|
271
|
+
* The type of all the compiler configs.
|
|
272
|
+
*/
|
|
273
|
+
export type SolidityCompilerConfig =
|
|
274
|
+
| {
|
|
275
|
+
[type in keyof SolidityCompilerConfigPerType]: SolidityCompilerConfigPerType[type] & {
|
|
276
|
+
type: type;
|
|
277
|
+
};
|
|
278
|
+
}[keyof SolidityCompilerConfigPerType]
|
|
279
|
+
| (Omit<SolcSolidityCompilerConfig, "type"> &
|
|
280
|
+
Partial<Pick<SolcSolidityCompilerConfig, "type">>);
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* The type of a resolved build profile config.
|
|
284
|
+
*/
|
|
73
285
|
export interface SolidityBuildProfileConfig {
|
|
74
286
|
isolated: boolean;
|
|
75
287
|
preferWasm: boolean;
|
|
76
|
-
|
|
77
|
-
|
|
288
|
+
// Note: This is optional for backwards compatibility.
|
|
289
|
+
// If `undefined` is present, it's equivalent to `false`.
|
|
290
|
+
toolVersionsInBuildInfo?: boolean;
|
|
291
|
+
compilers: SolidityCompilerConfig[];
|
|
292
|
+
overrides: Record<string, SolidityCompilerConfig>;
|
|
78
293
|
}
|
|
79
294
|
|
|
295
|
+
/**
|
|
296
|
+
* Resolved Solidity config.
|
|
297
|
+
*/
|
|
80
298
|
export interface SolidityConfig {
|
|
81
299
|
profiles: Record<string, SolidityBuildProfileConfig>;
|
|
82
300
|
npmFilesToBuild: string[];
|
|
301
|
+
registeredCompilerTypes: SolidityCompilerType[];
|
|
302
|
+
splitTestsCompilation: boolean;
|
|
83
303
|
}
|
|
84
304
|
|
|
305
|
+
/**
|
|
306
|
+
* An extension of HardhatConfig with the `solidity` property.
|
|
307
|
+
*/
|
|
85
308
|
export interface HardhatConfig {
|
|
86
309
|
solidity: SolidityConfig;
|
|
87
310
|
}
|
|
@@ -116,6 +339,40 @@ declare module "../../../types/hooks.js" {
|
|
|
116
339
|
}
|
|
117
340
|
|
|
118
341
|
export interface SolidityHooks {
|
|
342
|
+
/**
|
|
343
|
+
* Hook triggered to download compilers needed for compilation.
|
|
344
|
+
* Each handler should download compilers it is responsible for.
|
|
345
|
+
* Runs in parallel — all registered handlers execute concurrently.
|
|
346
|
+
*
|
|
347
|
+
* @param context The hook context.
|
|
348
|
+
* @param compilerConfigs All compiler configurations from all build profiles.
|
|
349
|
+
* @param quiet Whether to suppress download progress output.
|
|
350
|
+
*/
|
|
351
|
+
downloadCompilers: (
|
|
352
|
+
context: HookContext,
|
|
353
|
+
compilerConfigs: SolidityCompilerConfig[],
|
|
354
|
+
quiet: boolean,
|
|
355
|
+
) => Promise<void>;
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Hook to obtain a Compiler instance for a given compiler configuration.
|
|
359
|
+
* The default handler returns a solc compiler. Plugins can intercept to
|
|
360
|
+
* return their own compiler (e.g. SolxCompiler for type: "solx").
|
|
361
|
+
*
|
|
362
|
+
* @param context The hook context.
|
|
363
|
+
* @param compilerConfig The compiler configuration to get a compiler for.
|
|
364
|
+
* @param next A function to call the next handler for this hook.
|
|
365
|
+
* @returns A Compiler instance.
|
|
366
|
+
*/
|
|
367
|
+
getCompiler: (
|
|
368
|
+
context: HookContext,
|
|
369
|
+
compilerConfig: SolidityCompilerConfig,
|
|
370
|
+
next: (
|
|
371
|
+
nextContext: HookContext,
|
|
372
|
+
nextCompilerConfig: SolidityCompilerConfig,
|
|
373
|
+
) => Promise<Compiler>,
|
|
374
|
+
) => Promise<Compiler>;
|
|
375
|
+
|
|
119
376
|
/**
|
|
120
377
|
* Hook triggered during the cleanup process of Solidity compilation artifacts.
|
|
121
378
|
* This hook runs after unused artifacts and build-info files have been removed.
|
|
@@ -166,7 +423,7 @@ declare module "../../../types/hooks.js" {
|
|
|
166
423
|
): Promise<string>;
|
|
167
424
|
|
|
168
425
|
/**
|
|
169
|
-
* Hook triggered within the compilation job when its
|
|
426
|
+
* Hook triggered within the compilation job when its solc input is first constructed.
|
|
170
427
|
*
|
|
171
428
|
* @param context The hook context.
|
|
172
429
|
* @param solcInput The solc input that will be passed to solc.
|
|
@@ -215,18 +472,18 @@ declare module "../../../types/hooks.js" {
|
|
|
215
472
|
) => Promise<CompilationJobCreationError | Map<string, FileBuildResult>>;
|
|
216
473
|
|
|
217
474
|
/**
|
|
218
|
-
* Hook triggered to invoke a
|
|
219
|
-
*
|
|
220
|
-
* This hook allows for manipulating the
|
|
221
|
-
*
|
|
222
|
-
* manipulate the
|
|
475
|
+
* Hook triggered to invoke a compiler on the standard-json input
|
|
476
|
+
* generated for a given compilation job.
|
|
477
|
+
* This hook allows for manipulating the input passed into the compiler
|
|
478
|
+
* Hardhat has selected for the compilation job, and similarly to
|
|
479
|
+
* manipulate the output.
|
|
223
480
|
*
|
|
224
481
|
* @param context The hook context.
|
|
225
|
-
* @param
|
|
226
|
-
* job.
|
|
227
|
-
* @param solcInput The solc input json constructed from the compilation
|
|
482
|
+
* @param compiler The compiler selected by Hardhat for this compilation
|
|
228
483
|
* job.
|
|
229
|
-
* @param
|
|
484
|
+
* @param solcInput The standard-json input constructed from the
|
|
485
|
+
* compilation job.
|
|
486
|
+
* @param solcConfig The compiler configuration (version, type, etc.).
|
|
230
487
|
* @param next A function to call the next handler for this hook, or the
|
|
231
488
|
* default implementation if no more handlers exist.
|
|
232
489
|
*/
|
|
@@ -234,12 +491,12 @@ declare module "../../../types/hooks.js" {
|
|
|
234
491
|
context: HookContext,
|
|
235
492
|
compiler: Compiler,
|
|
236
493
|
solcInput: CompilerInput,
|
|
237
|
-
solcConfig:
|
|
494
|
+
solcConfig: SolidityCompilerConfig,
|
|
238
495
|
next: (
|
|
239
496
|
nextContext: HookContext,
|
|
240
497
|
nextCompiler: Compiler,
|
|
241
498
|
nextSolcInput: CompilerInput,
|
|
242
|
-
nextSolcConfig:
|
|
499
|
+
nextSolcConfig: SolidityCompilerConfig,
|
|
243
500
|
) => Promise<CompilerOutput>,
|
|
244
501
|
): Promise<CompilerOutput>;
|
|
245
502
|
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
conditionalUnionType,
|
|
20
20
|
sensitiveStringSchema,
|
|
21
21
|
sensitiveUrlSchema,
|
|
22
|
+
unionType,
|
|
22
23
|
validateUserConfigZodType,
|
|
23
24
|
} from "@nomicfoundation/hardhat-zod-utils";
|
|
24
25
|
import { z } from "zod";
|
|
@@ -28,7 +29,6 @@ export const DEFAULT_FUZZ_SEED =
|
|
|
28
29
|
"0x7727ea51af0441c20da14dcd68a15dac8c9ebd589c5be8fa8c87c1d3720450bc";
|
|
29
30
|
|
|
30
31
|
const solidityTestUserConfigType = z.object({
|
|
31
|
-
timeout: z.number().optional(),
|
|
32
32
|
fsPermissions: z
|
|
33
33
|
.object({
|
|
34
34
|
readWriteFile: z.array(z.string()).optional(),
|
|
@@ -66,7 +66,12 @@ const solidityTestUserConfigType = z.object({
|
|
|
66
66
|
forking: z
|
|
67
67
|
.object({
|
|
68
68
|
url: z.optional(sensitiveUrlSchema),
|
|
69
|
-
blockNumber: z.
|
|
69
|
+
blockNumber: z.optional(
|
|
70
|
+
unionType(
|
|
71
|
+
[z.number().int().nonnegative().safe(), z.bigint().nonnegative()],
|
|
72
|
+
"Expected a nonnegative safe int or a nonnegative bigint",
|
|
73
|
+
),
|
|
74
|
+
),
|
|
70
75
|
rpcEndpoints: z.record(sensitiveStringSchema).optional(),
|
|
71
76
|
})
|
|
72
77
|
.optional(),
|
|
@@ -122,6 +127,10 @@ export function resolveSolidityTestForkingConfig(
|
|
|
122
127
|
|
|
123
128
|
return {
|
|
124
129
|
...forkingUserConfig,
|
|
130
|
+
blockNumber:
|
|
131
|
+
forkingUserConfig.blockNumber !== undefined
|
|
132
|
+
? BigInt(forkingUserConfig.blockNumber)
|
|
133
|
+
: undefined,
|
|
125
134
|
url:
|
|
126
135
|
forkingUserConfig.url !== undefined
|
|
127
136
|
? resolveConfigurationVariable(forkingUserConfig.url)
|
|
@@ -1,14 +1,24 @@
|
|
|
1
1
|
import type { Artifact, ArtifactManager } from "../../../types/artifacts.js";
|
|
2
2
|
import type {
|
|
3
|
-
BuildInfoAndOutput,
|
|
3
|
+
BuildInfoAndOutput as EdrBuildInfoAndOutput,
|
|
4
4
|
Artifact as EdrArtifact,
|
|
5
5
|
} from "@nomicfoundation/edr";
|
|
6
6
|
|
|
7
7
|
import { assertHardhatInvariant } from "@nomicfoundation/hardhat-errors";
|
|
8
8
|
import { readBinaryFile } from "@nomicfoundation/hardhat-utils/fs";
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
export interface BuildInfoAndOutput extends EdrBuildInfoAndOutput {
|
|
11
|
+
buildInfoId: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface EdrArtifactWithMetadata {
|
|
15
|
+
edrArtifact: EdrArtifact;
|
|
16
|
+
userSourceName: string;
|
|
17
|
+
buildInfoId: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const BUILD_INFO_FORMAT: RegExp =
|
|
21
|
+
/^solc-(?<major>\d+)_(?<minor>\d+)_(?<patch>\d+)(?:-(?<compilerType>[a-zA-Z][a-zA-Z0-9]*))?-[0-9a-fA-F]*$/;
|
|
12
22
|
|
|
13
23
|
/**
|
|
14
24
|
* This function returns all the build infos and associated outputs.
|
|
@@ -16,16 +26,16 @@ const BUILD_INFO_FORMAT =
|
|
|
16
26
|
* @param artifactManager The artifact manager.
|
|
17
27
|
* @returns The build infos in the Hardhat v3 format as expected by the EDR.
|
|
18
28
|
*/
|
|
19
|
-
export async function
|
|
29
|
+
export async function getBuildInfosAndOutputs(
|
|
20
30
|
artifactManager: ArtifactManager,
|
|
21
31
|
): Promise<BuildInfoAndOutput[]> {
|
|
22
|
-
const
|
|
32
|
+
const buildInfoIds = await artifactManager.getAllBuildInfoIds();
|
|
23
33
|
|
|
24
34
|
return Promise.all(
|
|
25
|
-
Array.from(
|
|
26
|
-
const buildInfoPath = await artifactManager.getBuildInfoPath(
|
|
35
|
+
Array.from(buildInfoIds).map(async (buildInfoId) => {
|
|
36
|
+
const buildInfoPath = await artifactManager.getBuildInfoPath(buildInfoId);
|
|
27
37
|
const buildInfoOutputPath =
|
|
28
|
-
await artifactManager.getBuildInfoOutputPath(
|
|
38
|
+
await artifactManager.getBuildInfoOutputPath(buildInfoId);
|
|
29
39
|
|
|
30
40
|
// This is only safe because of how we currently interact with getBuildInfos
|
|
31
41
|
// i.e. we call it immediately after a build which should ensure both
|
|
@@ -45,6 +55,7 @@ export async function getBuildInfos(
|
|
|
45
55
|
const output = await readBinaryFile(buildInfoOutputPath);
|
|
46
56
|
|
|
47
57
|
return {
|
|
58
|
+
buildInfoId,
|
|
48
59
|
buildInfo,
|
|
49
60
|
output,
|
|
50
61
|
};
|
|
@@ -58,9 +69,9 @@ export async function getBuildInfos(
|
|
|
58
69
|
* @param artifactManager The artifact manager.
|
|
59
70
|
* @returns The artifacts in the format expected by the EDR.
|
|
60
71
|
*/
|
|
61
|
-
export async function
|
|
72
|
+
export async function buildEdrArtifactsWithMetadata(
|
|
62
73
|
artifactManager: ArtifactManager,
|
|
63
|
-
): Promise<
|
|
74
|
+
): Promise<EdrArtifactWithMetadata[]> {
|
|
64
75
|
const fullyQualifiedNames = await artifactManager.getAllFullyQualifiedNames();
|
|
65
76
|
|
|
66
77
|
const artifacts = await Promise.all(
|
|
@@ -145,6 +156,7 @@ export async function getEdrArtifacts(
|
|
|
145
156
|
contract,
|
|
146
157
|
},
|
|
147
158
|
userSourceName: artifact.sourceName,
|
|
159
|
+
buildInfoId: artifact.buildInfoId,
|
|
148
160
|
};
|
|
149
161
|
});
|
|
150
162
|
}
|