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
|
@@ -37,7 +37,13 @@ export interface BuildOptions {
|
|
|
37
37
|
*/
|
|
38
38
|
quiet?: boolean;
|
|
39
39
|
/**
|
|
40
|
-
* Whether to compile contracts or tests. Defaults to contracts
|
|
40
|
+
* Whether to compile contracts or tests. Defaults to contracts.
|
|
41
|
+
*
|
|
42
|
+
* When `solidity.splitTestsCompilation` is `false` (the default), only
|
|
43
|
+
* `"contracts"` is accepted.
|
|
44
|
+
*
|
|
45
|
+
* When `solidity.splitTestsCompilation` is `true`, both scopes are valid
|
|
46
|
+
* and produce separate compilation passes.
|
|
41
47
|
*/
|
|
42
48
|
scope?: BuildScope;
|
|
43
49
|
}
|
|
@@ -212,6 +218,16 @@ export interface SolidityBuildSystem {
|
|
|
212
218
|
* The root files are either absolute paths or
|
|
213
219
|
* `npm:<package-name>/<file-path>` URIs.
|
|
214
220
|
*
|
|
221
|
+
* When `solidity.splitTestsCompilation` is `false`, contracts and tests are
|
|
222
|
+
* compiled together and `scope: "contracts"` returns every build root:
|
|
223
|
+
* contract roots, test roots, and `npmFilesToBuild` roots.
|
|
224
|
+
*
|
|
225
|
+
* Calling this method with `scope: "tests"` in this mode is a logic error and
|
|
226
|
+
* throws a `HardhatError`.
|
|
227
|
+
*
|
|
228
|
+
* When `solidity.splitTestsCompilation` is `true`, `scope: "contracts"`
|
|
229
|
+
* returns only contract roots and `scope: "tests"` returns only test roots.
|
|
230
|
+
*
|
|
215
231
|
* @returns An array of root file paths.
|
|
216
232
|
*/
|
|
217
233
|
getRootFilePaths(options?: {
|
|
@@ -224,6 +240,15 @@ export interface SolidityBuildSystem {
|
|
|
224
240
|
/**
|
|
225
241
|
* Builds the provided files, generating their compilation artifacts.
|
|
226
242
|
*
|
|
243
|
+
* When `solidity.splitTestsCompilation` is `false`, this method rejects
|
|
244
|
+
* `scope: "tests"` as a logic error and throws a `HardhatError`
|
|
245
|
+
*
|
|
246
|
+
* In this mode, callers must use `scope: "contracts"` and contracts and tests
|
|
247
|
+
* are built together, emitting their artifacts into the same directory.
|
|
248
|
+
*
|
|
249
|
+
* When `solidity.splitTestsCompilation` is `true`, both scopes are valid
|
|
250
|
+
* and are built into separate artifact directories.
|
|
251
|
+
*
|
|
227
252
|
* @param rootFilePaths The files to build, which can be either absolute paths
|
|
228
253
|
* or `npm:<package-name>/<file-path>` URIs.
|
|
229
254
|
* @param options The options to use when building the files.
|
|
@@ -246,6 +271,9 @@ export interface SolidityBuildSystem {
|
|
|
246
271
|
* can be returned for multiple files, so you should deduplicate the results
|
|
247
272
|
* before using them.
|
|
248
273
|
*
|
|
274
|
+
* When `solidity.splitTestsCompilation` is `false`, this method rejects
|
|
275
|
+
* `scope: "tests"` as a logic error and throws a `HardhatError`.
|
|
276
|
+
*
|
|
249
277
|
* @param rootFilePaths The files to analyze, which can be either absolute
|
|
250
278
|
* paths or `npm:<package-name>/<file-path>` URIs.
|
|
251
279
|
* @param options The options to use when analyzing the files.
|
|
@@ -278,6 +306,13 @@ export interface SolidityBuildSystem {
|
|
|
278
306
|
/**
|
|
279
307
|
* Emits the artifacts of the given compilation job.
|
|
280
308
|
*
|
|
309
|
+
* When `solidity.splitTestsCompilation` is `false`, this method rejects
|
|
310
|
+
* `scope: "tests"` as a logic error and throws a `HardhatError`
|
|
311
|
+
*
|
|
312
|
+
* Artifacts for both contracts and tests are emitted under the main artifacts
|
|
313
|
+
* directory when built with `scope: "contracts"` and `splitTestsCompilation`
|
|
314
|
+
* `false`.
|
|
315
|
+
*
|
|
281
316
|
* @param compilationJob The compilation job to emit the artifacts of.
|
|
282
317
|
* @param compilerOutput The result of running the compilation job.
|
|
283
318
|
* @returns A map from user source name to the absolute paths of the
|
|
@@ -296,7 +331,25 @@ export interface SolidityBuildSystem {
|
|
|
296
331
|
* This method should only be used after a complete build has succeeded, as
|
|
297
332
|
* it relies on the build system to have generated all the necessary artifact
|
|
298
333
|
* files.
|
|
299
|
-
|
|
334
|
+
*
|
|
335
|
+
* When `solidity.splitTestsCompilation` is `false`, this method rejects
|
|
336
|
+
* `scope: "tests"` as a logic error and throws a `HardhatError`. Cleanup in
|
|
337
|
+
* this mode operates on the main artifacts directory using `scope:
|
|
338
|
+
* "contracts"`.
|
|
339
|
+
*
|
|
340
|
+
* What is considered a complete build changes according to
|
|
341
|
+
* `splitTestsCompilation`:
|
|
342
|
+
* - When it's `true`
|
|
343
|
+
* - A full "contracts" build is run when `--no-contracts` isn't used, and
|
|
344
|
+
* no explicit contract `files` are provided (i.e. you can still provide
|
|
345
|
+
* explicit test `files`).
|
|
346
|
+
* - A full "tests" build is run when `--no-tests` isn't used, and no
|
|
347
|
+
* explicit test files `files` are provided (i.e. you can still provide
|
|
348
|
+
* explicit contract `files`)
|
|
349
|
+
* - When it's `false`
|
|
350
|
+
* - A full build is when `files`, `--no-contracts`, nor `--no-tests` are
|
|
351
|
+
* used.
|
|
352
|
+
*
|
|
300
353
|
* @param rootFilePaths All the root files of the project.
|
|
301
354
|
*/
|
|
302
355
|
cleanupArtifacts(rootFilePaths: string[], options?: {
|
|
@@ -316,7 +369,17 @@ export interface SolidityBuildSystem {
|
|
|
316
369
|
*/
|
|
317
370
|
compileBuildInfo(buildInfo: SolidityBuildInfo, options?: CompileBuildInfoOptions): Promise<CompilerOutput>;
|
|
318
371
|
/**
|
|
319
|
-
* Gets the artifacts directory for a given target (contracts/tests)
|
|
372
|
+
* Gets the artifacts directory for a given target (contracts/tests).
|
|
373
|
+
*
|
|
374
|
+
* When `solidity.splitTestsCompilation` is `false`, both scopes return the
|
|
375
|
+
* main artifacts directory, because contracts and tests share it.
|
|
376
|
+
*
|
|
377
|
+
* Unlike the other scope-aware methods, this one does not throw on that mode,
|
|
378
|
+
* as it's a read-only method that can be helpful for plugins.
|
|
379
|
+
*
|
|
380
|
+
* When `solidity.splitTestsCompilation` is `true`, `scope: "contracts"`
|
|
381
|
+
* returns the main artifacts directory and `scope: "tests"` returns a
|
|
382
|
+
* separate test-artifacts directory under the cache path.
|
|
320
383
|
*/
|
|
321
384
|
getArtifactsDirectory(scope: BuildScope): Promise<string>;
|
|
322
385
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-system.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB
|
|
1
|
+
{"version":3,"file":"build-system.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,YAAY,EACZ,uBAAuB,CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,YAAY,EACZ,OAAO,GAAG,cAAc,CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,oBAAY,iCAAiC;IAC3C;;OAEG;IACH,oCAAoC,yCAAyC;IAE7E;;OAEG;IACH,0CAA0C,+CAA+C;IAEzF;;OAEG;IACH,2BAA2B,gCAAgC;IAE3D;;OAEG;IACH,qDAAqD,0DAA0D;IAE/G;;OAEG;IACH,oCAAoC,yCAAyC;IAE7E;;OAEG;IACH,oDAAoD,yDAAyD;IAE7G;;OAEG;IACH,gCAAgC,qCAAqC;CACtE;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0DACf,SAAQ,+BAA+B;IACvC,MAAM,EAAE,iCAAiC,CAAC,oCAAoC,CAAC;CAChF;AAED,MAAM,WAAW,gEACf,SAAQ,+BAA+B;IACvC,MAAM,EAAE,iCAAiC,CAAC,0CAA0C,CAAC;IACrF,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,mDACf,SAAQ,+BAA+B;IACvC,MAAM,EAAE,iCAAiC,CAAC,2BAA2B,CAAC;IACtE,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,yEACf,SAAQ,+BAA+B;IACvC,MAAM,EAAE,iCAAiC,CAAC,qDAAqD,CAAC;IAChG,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,4DACf,SAAQ,+BAA+B;IACvC,MAAM,EAAE,iCAAiC,CAAC,oCAAoC,CAAC;CAChF;AAED,MAAM,WAAW,0EACf,SAAQ,+BAA+B;IACvC,MAAM,EAAE,iCAAiC,CAAC,oDAAoD,CAAC;IAC/F,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,uDACf,SAAQ,+BAA+B;IACvC,MAAM,EAAE,iCAAiC,CAAC,gCAAgC,CAAC;CAC5E;AAED,MAAM,MAAM,2BAA2B,GACnC,0DAA0D,GAC1D,gEAAgE,GAChE,mDAAmD,GACnD,yEAAyE,GACzE,4DAA4D,GAC5D,0EAA0E,GAC1E,uDAAuD,CAAC;AAE5D;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;CAChC;AAED,MAAM,MAAM,eAAe,GACvB,uBAAuB,GACvB,yBAAyB,GACzB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B,EAAE,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,mBAAmB,CAAC,aAAa,CAAC;IACxC,cAAc,EAAE,cAAc,CAAC;IAC/B,0BAA0B,EAAE,MAAM,EAAE,CAAC;IACrC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAC,aAAa,CAAC;IACxC,cAAc,EAAE,cAAc,CAAC;IAC/B,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,OAAO,EAAE,IAAI,CAAC;IAEd;;OAEG;IACH,sBAAsB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACpD;;OAEG;IACH,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACnD;;OAEG;IACH,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtE;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE9C;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CACH,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,2BAA2B,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IAEvE;;;;;OAKG;IACH,uBAAuB,CACrB,WAAW,EAAE,2BAA2B,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GACtE,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE/C;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAChB,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,2BAA2B,GAAG,wBAAwB,CAAC,CAAC;IAEnE;;;;;;;;;;;OAWG;IACH,iBAAiB,CACf,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEpC;;;;;;;OAOG;IACH,kBAAkB,CAChB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,mBAAmB,EAC1B,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC;;;;;;;;;;;;;;OAcG;IACH,aAAa,CACX,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,gBAAgB,CACd,aAAa,EAAE,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,GAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;;;;OAWG;IACH,gBAAgB,CACd,SAAS,EAAE,iBAAiB,EAC5B,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3B;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3D;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-system.js","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-system.js","sourceRoot":"","sources":["../../../../src/types/solidity/build-system.ts"],"names":[],"mappings":"AA2FA,MAAM,CAAN,IAAY,iCAmCX;AAnCD,WAAY,iCAAiC;IAC3C;;OAEG;IACH,kHAA6E,CAAA;IAE7E;;OAEG;IACH,8HAAyF,CAAA;IAEzF;;OAEG;IACH,gGAA2D,CAAA;IAE3D;;OAEG;IACH,oJAA+G,CAAA;IAE/G;;OAEG;IACH,kHAA6E,CAAA;IAE7E;;OAEG;IACH,kJAA6G,CAAA;IAE7G;;OAEG;IACH,0GAAqE,CAAA;AACvE,CAAC,EAnCW,iCAAiC,KAAjC,iCAAiC,QAmC5C;AAyDD;;GAEG;AACH,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,8CAAuB,CAAA;IACvB,sDAA+B,CAAA;IAC/B,sDAA+B,CAAA;AACjC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { CompilerInput } from "./compiler-io.js";
|
|
2
2
|
import type { DependencyGraph } from "./dependency-graph.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { ToolVersions } from "./solidity-artifacts.js";
|
|
4
|
+
import type { SolidityCompilerConfig } from "../config.js";
|
|
4
5
|
/**
|
|
5
|
-
* A compilation job to be run
|
|
6
|
+
* A compilation job to be run.
|
|
6
7
|
*/
|
|
7
8
|
export interface CompilationJob {
|
|
8
9
|
/**
|
|
@@ -11,13 +12,18 @@ export interface CompilationJob {
|
|
|
11
12
|
*/
|
|
12
13
|
dependencyGraph: DependencyGraph;
|
|
13
14
|
/**
|
|
14
|
-
* The
|
|
15
|
+
* The compiler config to use.
|
|
15
16
|
*/
|
|
16
|
-
solcConfig:
|
|
17
|
+
solcConfig: SolidityCompilerConfig;
|
|
17
18
|
/**
|
|
18
|
-
* The long version of the
|
|
19
|
+
* The long version of the compiler to be used.
|
|
19
20
|
*/
|
|
20
21
|
solcLongVersion: string;
|
|
22
|
+
/**
|
|
23
|
+
* The versions to include in the build info, if any.
|
|
24
|
+
* When present, these versions influence the build id.
|
|
25
|
+
*/
|
|
26
|
+
toolVersions?: ToolVersions;
|
|
21
27
|
/**
|
|
22
28
|
* Returns the solc input to be used.
|
|
23
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compilation-job.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/compilation-job.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"compilation-job.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/compilation-job.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,eAAe,EAAE,eAAe,CAAC;IAEjC;;OAEG;IACH,UAAU,EAAE,sBAAsB,CAAC;IAEnC;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAEvC;;;;;;;;;OASG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { CompilerInput, CompilerOutput } from "./compiler-io.js";
|
|
2
|
+
/**
|
|
3
|
+
* A record with the versions of the different tools used to create a
|
|
4
|
+
* build info.
|
|
5
|
+
*/
|
|
6
|
+
export interface ToolVersions {
|
|
7
|
+
readonly hardhat: string;
|
|
8
|
+
}
|
|
2
9
|
/**
|
|
3
10
|
* A SolidityBuildInfo is a file that contains all the information of a solc
|
|
4
11
|
* run. It includes all the necessary information to recreate that exact same
|
|
@@ -12,6 +19,12 @@ export interface SolidityBuildInfo {
|
|
|
12
19
|
/**
|
|
13
20
|
* The id of the build, which is derived from the rest of the data,
|
|
14
21
|
* guaranteeing that it's unique and deterministic.
|
|
22
|
+
*
|
|
23
|
+
* When `compilerType` is present and is not "solc", the format is:
|
|
24
|
+
* `solc-<major>_<minor>_<patch>-<compiler-type>-<job-hash>`
|
|
25
|
+
*
|
|
26
|
+
* Otherwise (i.e. solc or undefined), the format is:
|
|
27
|
+
* `solc-<major>_<minor>_<patch>-<job-hash>`
|
|
15
28
|
*/
|
|
16
29
|
readonly id: string;
|
|
17
30
|
/**
|
|
@@ -22,6 +35,22 @@ export interface SolidityBuildInfo {
|
|
|
22
35
|
* The long solc version used to compile the build.
|
|
23
36
|
*/
|
|
24
37
|
readonly solcLongVersion: string;
|
|
38
|
+
/**
|
|
39
|
+
* The compiler type used for this build. If absent or undefined, it means
|
|
40
|
+
* "solc" was used.
|
|
41
|
+
*
|
|
42
|
+
* Note: This is typed as `string` rather than `SolidityCompilerType` because
|
|
43
|
+
* the build info may come from a different Hardhat setup where the compiler
|
|
44
|
+
* type may not be registered in the current type definitions.
|
|
45
|
+
*/
|
|
46
|
+
readonly compilerType?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Versions of the different tools used to create this build info.
|
|
49
|
+
*
|
|
50
|
+
* Not present if the build profile used to create this build info
|
|
51
|
+
* had `toolVersionsInBuildInfo` as `false`.
|
|
52
|
+
*/
|
|
53
|
+
readonly toolVersions?: ToolVersions;
|
|
25
54
|
/**
|
|
26
55
|
* A mapping from user source names to input source names, for the root
|
|
27
56
|
* files of the build (i.e. the files whose artifacts where being compiled).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solidity-artifacts.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/solidity-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IAEzC
|
|
1
|
+
{"version":3,"file":"solidity-artifacts.d.ts","sourceRoot":"","sources":["../../../../src/types/solidity/solidity-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IAEzC;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IAErC;;;;;;;OAOG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACjC"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hardhat",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.4.0",
|
|
4
4
|
"description": "Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.",
|
|
5
|
-
"homepage": "https://
|
|
5
|
+
"homepage": "https://hardhat.org",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/NomicFoundation/hardhat",
|
|
9
|
-
"directory": "
|
|
9
|
+
"directory": "packages/hardhat"
|
|
10
10
|
},
|
|
11
11
|
"author": "Nomic Foundation",
|
|
12
12
|
"license": "MIT",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"./console.sol": "./console.sol",
|
|
40
40
|
"./internal/coverage": "./dist/src/internal/builtin-plugins/coverage/exports.js",
|
|
41
41
|
"./internal/gas-analytics": "./dist/src/internal/builtin-plugins/gas-analytics/exports.js",
|
|
42
|
+
"./internal/solidity": "./dist/src/internal/builtin-plugins/solidity/exports.js",
|
|
42
43
|
"./utils/contract-names": "./dist/src/utils/contract-names.js",
|
|
43
44
|
"./utils/result": "./dist/src/utils/result.js",
|
|
44
45
|
"./types/runtime": "./dist/src/internal/deprecated-module-imported-from-hardhat2-plugin.js",
|
|
@@ -61,7 +62,7 @@
|
|
|
61
62
|
"README.md"
|
|
62
63
|
],
|
|
63
64
|
"devDependencies": {
|
|
64
|
-
"@nomicfoundation/hardhat-node-test-reporter": "^3.0.
|
|
65
|
+
"@nomicfoundation/hardhat-node-test-reporter": "^3.0.4",
|
|
65
66
|
"@types/adm-zip": "^0.5.5",
|
|
66
67
|
"@types/debug": "^4.1.7",
|
|
67
68
|
"@types/node": "^22.0.0",
|
|
@@ -76,11 +77,11 @@
|
|
|
76
77
|
"@nomicfoundation/hardhat-test-utils": "^2.0.2"
|
|
77
78
|
},
|
|
78
79
|
"dependencies": {
|
|
79
|
-
"@nomicfoundation/edr": "0.12.0-next.
|
|
80
|
-
"@nomicfoundation/hardhat-errors": "^3.0.
|
|
81
|
-
"@nomicfoundation/hardhat-utils": "^4.0.
|
|
82
|
-
"@nomicfoundation/hardhat-vendored": "^3.0.
|
|
83
|
-
"@nomicfoundation/hardhat-zod-utils": "^3.0.
|
|
80
|
+
"@nomicfoundation/edr": "0.12.0-next.29",
|
|
81
|
+
"@nomicfoundation/hardhat-errors": "^3.0.11",
|
|
82
|
+
"@nomicfoundation/hardhat-utils": "^4.0.3",
|
|
83
|
+
"@nomicfoundation/hardhat-vendored": "^3.0.2",
|
|
84
|
+
"@nomicfoundation/hardhat-zod-utils": "^3.0.4",
|
|
84
85
|
"@nomicfoundation/solidity-analyzer": "^0.1.1",
|
|
85
86
|
"@sentry/core": "^9.4.0",
|
|
86
87
|
"adm-zip": "^0.4.16",
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { GlobalOptionDefinitions } from "../types/global-options.js";
|
|
2
2
|
|
|
3
|
-
import { globalFlag, globalOption } from "../config.js";
|
|
3
|
+
import { globalFlag, globalLevel, globalOption } from "../config.js";
|
|
4
4
|
import { ArgumentType } from "../types/arguments.js";
|
|
5
5
|
|
|
6
|
+
import { DEFAULT_VERBOSITY } from "./constants.js";
|
|
7
|
+
|
|
6
8
|
export const BUILTIN_GLOBAL_OPTIONS_DEFINITIONS: GlobalOptionDefinitions =
|
|
7
9
|
new Map([
|
|
8
10
|
[
|
|
@@ -49,6 +51,18 @@ export const BUILTIN_GLOBAL_OPTIONS_DEFINITIONS: GlobalOptionDefinitions =
|
|
|
49
51
|
}),
|
|
50
52
|
},
|
|
51
53
|
],
|
|
54
|
+
[
|
|
55
|
+
"verbosity",
|
|
56
|
+
{
|
|
57
|
+
pluginId: "builtin",
|
|
58
|
+
option: globalLevel({
|
|
59
|
+
name: "verbosity",
|
|
60
|
+
shortName: "v",
|
|
61
|
+
description: "Verbosity level of the output.",
|
|
62
|
+
defaultValue: DEFAULT_VERBOSITY,
|
|
63
|
+
}),
|
|
64
|
+
},
|
|
65
|
+
],
|
|
52
66
|
[
|
|
53
67
|
"version",
|
|
54
68
|
{
|
|
@@ -81,22 +81,16 @@ export class ArtifactManagerImplementation implements ArtifactManager {
|
|
|
81
81
|
public async artifactExists(
|
|
82
82
|
contractNameOrFullyQualifiedName: string,
|
|
83
83
|
): Promise<boolean> {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
await this.getArtifactPath(contractNameOrFullyQualifiedName);
|
|
87
|
-
|
|
88
|
-
return true;
|
|
89
|
-
} catch (error) {
|
|
90
|
-
if (HardhatError.isHardhatError(error)) {
|
|
91
|
-
if (
|
|
92
|
-
error.number === HardhatError.ERRORS.CORE.ARTIFACTS.NOT_FOUND.number
|
|
93
|
-
) {
|
|
94
|
-
return false;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
84
|
+
const { bareNameToFullyQualifiedNameMap, allFullyQualifiedNames } =
|
|
85
|
+
await this.#getFsData();
|
|
97
86
|
|
|
98
|
-
|
|
87
|
+
if (this.#isFullyQualifiedName(contractNameOrFullyQualifiedName)) {
|
|
88
|
+
return allFullyQualifiedNames.has(contractNameOrFullyQualifiedName);
|
|
99
89
|
}
|
|
90
|
+
|
|
91
|
+
return bareNameToFullyQualifiedNameMap.has(
|
|
92
|
+
contractNameOrFullyQualifiedName,
|
|
93
|
+
);
|
|
100
94
|
}
|
|
101
95
|
|
|
102
96
|
public async getBuildInfoId(
|
|
@@ -191,7 +185,7 @@ export class ArtifactManagerImplementation implements ArtifactManager {
|
|
|
191
185
|
HardhatError.ERRORS.CORE.ARTIFACTS.MULTIPLE_FOUND,
|
|
192
186
|
{
|
|
193
187
|
contractName: contractNameOrFullyQualifiedName,
|
|
194
|
-
candidates: Array.from(fqns).join(EOL),
|
|
188
|
+
candidates: Array.from(fqns).sort().join(EOL),
|
|
195
189
|
},
|
|
196
190
|
);
|
|
197
191
|
}
|
|
@@ -42,7 +42,8 @@ const consoleAction: NewTaskActionFunction<ConsoleActionArguments> = async (
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
if (!noCompile) {
|
|
45
|
-
|
|
45
|
+
const noTests = hre.config.solidity.splitTestsCompilation;
|
|
46
|
+
await hre.tasks.getTask("build").run({ noTests, quiet: true });
|
|
46
47
|
}
|
|
47
48
|
|
|
48
49
|
return await new Promise<REPLServer>(async (resolve) => {
|
|
@@ -17,8 +17,7 @@ import {
|
|
|
17
17
|
parseFullyQualifiedName,
|
|
18
18
|
} from "../../../utils/contract-names.js";
|
|
19
19
|
|
|
20
|
-
import { getUserFqn } from "./
|
|
21
|
-
import { formatSectionHeader } from "./helpers.js";
|
|
20
|
+
import { formatSectionHeader, getUserFqn } from "./helpers/utils.js";
|
|
22
21
|
|
|
23
22
|
export const FUNCTION_GAS_SNAPSHOTS_FILE = ".gas-snapshot";
|
|
24
23
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
ContractGasStatsJson,
|
|
3
|
+
DeploymentGasStatsJsonEntry,
|
|
3
4
|
GasAnalyticsManager,
|
|
4
5
|
GasMeasurement,
|
|
5
6
|
GasStatsJson,
|
|
@@ -10,7 +11,10 @@ import type { TableItem } from "@nomicfoundation/hardhat-utils/format";
|
|
|
10
11
|
import crypto from "node:crypto";
|
|
11
12
|
import path from "node:path";
|
|
12
13
|
|
|
13
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
HardhatError,
|
|
16
|
+
assertHardhatInvariant,
|
|
17
|
+
} from "@nomicfoundation/hardhat-errors";
|
|
14
18
|
import { formatTable } from "@nomicfoundation/hardhat-utils/format";
|
|
15
19
|
import {
|
|
16
20
|
ensureDir,
|
|
@@ -27,12 +31,27 @@ import debug from "debug";
|
|
|
27
31
|
|
|
28
32
|
import { parseFullyQualifiedName } from "../../../utils/contract-names.js";
|
|
29
33
|
|
|
34
|
+
import {
|
|
35
|
+
avg,
|
|
36
|
+
getDisplayKey,
|
|
37
|
+
getFunctionName,
|
|
38
|
+
getProxyLabel,
|
|
39
|
+
getUserFqn,
|
|
40
|
+
makeGroupKey,
|
|
41
|
+
median,
|
|
42
|
+
} from "./helpers/utils.js";
|
|
43
|
+
|
|
30
44
|
const gasStatsLog = debug(
|
|
31
45
|
"hardhat:core:gas-analytics:gas-analytics-manager:gas-stats",
|
|
32
46
|
);
|
|
33
47
|
|
|
48
|
+
interface DeploymentGasStats extends GasStats {
|
|
49
|
+
runtimeSize: number;
|
|
50
|
+
}
|
|
51
|
+
|
|
34
52
|
interface ContractGasStats {
|
|
35
|
-
|
|
53
|
+
proxyChain: string[];
|
|
54
|
+
deployment?: DeploymentGasStats;
|
|
36
55
|
functions: Map<
|
|
37
56
|
string, // function name or signature (if overloaded)
|
|
38
57
|
GasStats
|
|
@@ -52,7 +71,9 @@ interface GasStats {
|
|
|
52
71
|
type GasMeasurementsByContract = Map<string, ContractGasMeasurements>;
|
|
53
72
|
|
|
54
73
|
interface ContractGasMeasurements {
|
|
74
|
+
proxyChain: string[];
|
|
55
75
|
deployments: number[];
|
|
76
|
+
deploymentRuntimeSize?: number;
|
|
56
77
|
functions: Map<
|
|
57
78
|
string, // functionSig
|
|
58
79
|
number[]
|
|
@@ -170,18 +191,25 @@ export class GasAnalyticsManagerImplementation implements GasAnalyticsManager {
|
|
|
170
191
|
const gasStatsByContract: GasStatsByContract = new Map();
|
|
171
192
|
const measurementsByContract = this._aggregateGasMeasurements();
|
|
172
193
|
|
|
173
|
-
for (const [
|
|
194
|
+
for (const [groupKey, measurements] of measurementsByContract) {
|
|
174
195
|
const contractGasStats: ContractGasStats = {
|
|
196
|
+
proxyChain: measurements.proxyChain,
|
|
175
197
|
functions: new Map(),
|
|
176
198
|
};
|
|
177
199
|
|
|
178
200
|
if (measurements.deployments.length > 0) {
|
|
201
|
+
assertHardhatInvariant(
|
|
202
|
+
measurements.deploymentRuntimeSize !== undefined,
|
|
203
|
+
"deploymentRuntimeSize must be set when deployments exist",
|
|
204
|
+
);
|
|
205
|
+
|
|
179
206
|
contractGasStats.deployment = {
|
|
180
207
|
min: Math.min(...measurements.deployments),
|
|
181
208
|
max: Math.max(...measurements.deployments),
|
|
182
209
|
avg: Math.round(avg(measurements.deployments)),
|
|
183
210
|
median: Math.round(median(measurements.deployments)),
|
|
184
211
|
count: measurements.deployments.length,
|
|
212
|
+
runtimeSize: measurements.deploymentRuntimeSize,
|
|
185
213
|
};
|
|
186
214
|
}
|
|
187
215
|
|
|
@@ -207,7 +235,20 @@ export class GasAnalyticsManagerImplementation implements GasAnalyticsManager {
|
|
|
207
235
|
);
|
|
208
236
|
}
|
|
209
237
|
|
|
210
|
-
gasStatsByContract.set(
|
|
238
|
+
gasStatsByContract.set(groupKey, contractGasStats);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// Duplicate deployment stats from direct-call groups to proxied groups
|
|
242
|
+
for (const [groupKey, stats] of gasStatsByContract) {
|
|
243
|
+
if (stats.proxyChain.length > 0 && stats.deployment === undefined) {
|
|
244
|
+
// Extract contractFqn from the groupKey (everything before the first \0)
|
|
245
|
+
const contractFqn = groupKey.split("\0")[0];
|
|
246
|
+
const directKey = makeGroupKey(contractFqn, []);
|
|
247
|
+
const directStats = gasStatsByContract.get(directKey);
|
|
248
|
+
if (directStats?.deployment !== undefined) {
|
|
249
|
+
stats.deployment = directStats.deployment;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
211
252
|
}
|
|
212
253
|
|
|
213
254
|
return gasStatsByContract;
|
|
@@ -220,22 +261,28 @@ export class GasAnalyticsManagerImplementation implements GasAnalyticsManager {
|
|
|
220
261
|
const measurementsByContract: GasMeasurementsByContract = new Map();
|
|
221
262
|
|
|
222
263
|
for (const currentMeasurement of this.gasMeasurements) {
|
|
223
|
-
|
|
224
|
-
currentMeasurement.
|
|
225
|
-
|
|
264
|
+
const proxyChain =
|
|
265
|
+
currentMeasurement.type === "function"
|
|
266
|
+
? currentMeasurement.proxyChain
|
|
267
|
+
: [];
|
|
268
|
+
const groupKey = makeGroupKey(currentMeasurement.contractFqn, proxyChain);
|
|
269
|
+
|
|
270
|
+
let contractMeasurements = measurementsByContract.get(groupKey);
|
|
226
271
|
if (contractMeasurements === undefined) {
|
|
227
272
|
contractMeasurements = {
|
|
273
|
+
proxyChain,
|
|
228
274
|
deployments: [],
|
|
229
275
|
functions: new Map(),
|
|
230
276
|
};
|
|
231
|
-
measurementsByContract.set(
|
|
232
|
-
currentMeasurement.contractFqn,
|
|
233
|
-
contractMeasurements,
|
|
234
|
-
);
|
|
277
|
+
measurementsByContract.set(groupKey, contractMeasurements);
|
|
235
278
|
}
|
|
236
279
|
|
|
237
280
|
if (currentMeasurement.type === "deployment") {
|
|
238
281
|
contractMeasurements.deployments.push(currentMeasurement.gas);
|
|
282
|
+
if (contractMeasurements.deploymentRuntimeSize === undefined) {
|
|
283
|
+
contractMeasurements.deploymentRuntimeSize =
|
|
284
|
+
currentMeasurement.runtimeSize;
|
|
285
|
+
}
|
|
239
286
|
} else {
|
|
240
287
|
let measurements = contractMeasurements.functions.get(
|
|
241
288
|
currentMeasurement.functionSig,
|
|
@@ -267,15 +314,16 @@ export class GasAnalyticsManagerImplementation implements GasAnalyticsManager {
|
|
|
267
314
|
rows.push({ type: "title", text: chalk.bold("Gas Usage Statistics") });
|
|
268
315
|
}
|
|
269
316
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
317
|
+
const sortedContracts = getSortedContractEntries(gasStatsByContract);
|
|
318
|
+
for (const {
|
|
319
|
+
userFqn,
|
|
320
|
+
proxyLabel,
|
|
321
|
+
stats: contractGasStats,
|
|
322
|
+
} of sortedContracts) {
|
|
276
323
|
rows.push({
|
|
277
324
|
type: "section-header",
|
|
278
|
-
text: chalk.cyan.bold(
|
|
325
|
+
text: chalk.cyan.bold(userFqn),
|
|
326
|
+
subtitle: proxyLabel !== undefined ? chalk.cyan(proxyLabel) : undefined,
|
|
279
327
|
});
|
|
280
328
|
|
|
281
329
|
if (contractGasStats.functions.size > 0) {
|
|
@@ -337,6 +385,13 @@ export class GasAnalyticsManagerImplementation implements GasAnalyticsManager {
|
|
|
337
385
|
`${contractGasStats.deployment.count}`,
|
|
338
386
|
],
|
|
339
387
|
});
|
|
388
|
+
rows.push({
|
|
389
|
+
type: "header",
|
|
390
|
+
cells: [
|
|
391
|
+
chalk.yellow("Bytecode size"),
|
|
392
|
+
`${contractGasStats.deployment.runtimeSize}`,
|
|
393
|
+
],
|
|
394
|
+
});
|
|
340
395
|
}
|
|
341
396
|
}
|
|
342
397
|
|
|
@@ -349,19 +404,13 @@ export class GasAnalyticsManagerImplementation implements GasAnalyticsManager {
|
|
|
349
404
|
public _generateGasStatsJson(
|
|
350
405
|
gasStatsByContract: GasStatsByContract,
|
|
351
406
|
): GasStatsJson {
|
|
352
|
-
const sortedContracts =
|
|
353
|
-
.map(([internalFqn, stats]) => ({
|
|
354
|
-
userFqn: getUserFqn(internalFqn),
|
|
355
|
-
stats,
|
|
356
|
-
}))
|
|
357
|
-
.sort((a, b) => a.userFqn.localeCompare(b.userFqn));
|
|
358
|
-
|
|
407
|
+
const sortedContracts = getSortedContractEntries(gasStatsByContract);
|
|
359
408
|
const contracts: Record<string, ContractGasStatsJson> = {};
|
|
360
409
|
|
|
361
|
-
for (const { userFqn, stats } of sortedContracts) {
|
|
410
|
+
for (const { userFqn, displayKey, stats } of sortedContracts) {
|
|
362
411
|
const { sourceName, contractName } = parseFullyQualifiedName(userFqn);
|
|
363
412
|
|
|
364
|
-
const deployment:
|
|
413
|
+
const deployment: DeploymentGasStatsJsonEntry | null =
|
|
365
414
|
stats.deployment !== undefined ? { ...stats.deployment } : null;
|
|
366
415
|
|
|
367
416
|
let functions: Record<string, GasStatsJsonEntry> | null = null;
|
|
@@ -377,44 +426,34 @@ export class GasAnalyticsManagerImplementation implements GasAnalyticsManager {
|
|
|
377
426
|
functions = Object.fromEntries(sortedFunctions);
|
|
378
427
|
}
|
|
379
428
|
|
|
380
|
-
contracts[
|
|
429
|
+
contracts[displayKey] = {
|
|
430
|
+
sourceName,
|
|
431
|
+
contractName,
|
|
432
|
+
proxyChain: stats.proxyChain.map(getUserFqn),
|
|
433
|
+
deployment,
|
|
434
|
+
functions,
|
|
435
|
+
};
|
|
381
436
|
}
|
|
382
437
|
|
|
383
438
|
return { contracts };
|
|
384
439
|
}
|
|
385
440
|
}
|
|
386
441
|
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
return
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
if (inputFqn.startsWith("npm/")) {
|
|
406
|
-
const withoutPrefix = inputFqn.slice("npm/".length);
|
|
407
|
-
// Match "<pkg>@<version>/<rest>", where <pkg> may be scoped (@scope/pkg)
|
|
408
|
-
const match = withoutPrefix.match(/^(@?[^@/]+(?:\/[^@/]+)*)@[^/]+\/(.*)$/);
|
|
409
|
-
if (match !== null) {
|
|
410
|
-
return `${match[1]}/${match[2]}`;
|
|
411
|
-
}
|
|
412
|
-
return withoutPrefix;
|
|
413
|
-
}
|
|
414
|
-
|
|
415
|
-
return inputFqn;
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
export function getFunctionName(signature: string): string {
|
|
419
|
-
return signature.split("(")[0];
|
|
442
|
+
function getSortedContractEntries(
|
|
443
|
+
gasStatsByContract: GasStatsByContract,
|
|
444
|
+
): Array<{
|
|
445
|
+
userFqn: string;
|
|
446
|
+
displayKey: string;
|
|
447
|
+
proxyLabel: string | undefined;
|
|
448
|
+
stats: ContractGasStats;
|
|
449
|
+
}> {
|
|
450
|
+
return [...gasStatsByContract.entries()]
|
|
451
|
+
.map(([groupKey, stats]) => {
|
|
452
|
+
const contractFqn = groupKey.split("\0")[0];
|
|
453
|
+
const userFqn = getUserFqn(contractFqn);
|
|
454
|
+
const displayKey = getDisplayKey(userFqn, stats.proxyChain);
|
|
455
|
+
const proxyLabel = getProxyLabel(stats.proxyChain);
|
|
456
|
+
return { userFqn, displayKey, proxyLabel, stats };
|
|
457
|
+
})
|
|
458
|
+
.sort((a, b) => a.displayKey.localeCompare(b.displayKey));
|
|
420
459
|
}
|