hardhat 3.3.0 → 3.4.1
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 +69 -0
- package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.js +6 -14
- package/dist/src/internal/builtin-plugins/artifacts/artifact-manager.js.map +1 -1
- package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.js +10 -10
- package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.js.map +1 -1
- package/dist/src/internal/builtin-plugins/clean/index.js +1 -1
- package/dist/src/internal/builtin-plugins/clean/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/console/index.js +1 -1
- package/dist/src/internal/builtin-plugins/console/index.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/coverage/hook-handlers/solidity.js +2 -2
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js.map +1 -1
- package/dist/src/internal/builtin-plugins/flatten/index.js +1 -1
- package/dist/src/internal/builtin-plugins/flatten/index.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/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/index.js +2 -2
- package/dist/src/internal/builtin-plugins/gas-analytics/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.d.ts.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/edr/edr-provider.js +4 -4
- package/dist/src/internal/builtin-plugins/network-manager/edr/edr-provider.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js.map +1 -1
- 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 +3 -2
- 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/hook-handlers/hre.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/hook-handlers/hre.js +24 -2
- 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 +19 -11
- 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 +2 -2
- 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 +11 -1
- package/dist/src/internal/builtin-plugins/network-manager/network-manager.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/network-manager.js +91 -24
- 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 +22 -8
- 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/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/helpers.js +1 -1
- package/dist/src/internal/builtin-plugins/node/helpers.js.map +1 -1
- package/dist/src/internal/builtin-plugins/node/index.js +1 -1
- package/dist/src/internal/builtin-plugins/node/index.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/index.js +1 -1
- package/dist/src/internal/builtin-plugins/run/index.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 +3 -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 +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/build-system.js +125 -39
- 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 +2 -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 +3 -1
- 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 +12 -4
- 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/downloader.js +4 -4
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/index.js +2 -2
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/solcjs-runner.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/compiler/solcjs-runner.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph-building.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/dependency-graph-building.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/read-source-file.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/read-source-file.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.js +10 -10
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/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.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/config.js +19 -16
- 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/hook-handlers/config.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/config.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.js +10 -10
- package/dist/src/internal/builtin-plugins/solidity/hook-handlers/hre.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/index.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity/solidity-hooks.js.map +1 -1
- 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 +30 -4
- package/dist/src/internal/builtin-plugins/solidity/type-extensions.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/type-extensions.js.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.js +2 -2
- package/dist/src/internal/builtin-plugins/solidity-test/edr-artifacts.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts +0 -2
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.js +0 -3
- package/dist/src/internal/builtin-plugins/solidity-test/helpers.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/config.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/config.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/test.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/hook-handlers/test.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/index.js +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/reporter.js +1 -1
- 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.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/task-action.js +108 -32
- 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/telemetry/index.js +1 -1
- package/dist/src/internal/builtin-plugins/telemetry/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/test/hook-handlers/config.js +1 -1
- package/dist/src/internal/builtin-plugins/test/hook-handlers/config.js.map +1 -1
- package/dist/src/internal/builtin-plugins/test/index.js +1 -1
- package/dist/src/internal/builtin-plugins/test/index.js.map +1 -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 +3 -4
- package/dist/src/internal/builtin-plugins/test/task-action.js.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/main.d.ts.map +1 -1
- package/dist/src/internal/cli/main.js +12 -2
- package/dist/src/internal/cli/main.js.map +1 -1
- package/dist/src/internal/cli/node-version.d.ts.map +1 -1
- package/dist/src/internal/cli/node-version.js +3 -0
- package/dist/src/internal/cli/node-version.js.map +1 -1
- package/dist/src/internal/cli/telemetry/analytics/analytics.js +2 -2
- package/dist/src/internal/cli/telemetry/analytics/analytics.js.map +1 -1
- package/dist/src/internal/cli/telemetry/error-reporter/global-error-handlers.d.ts +6 -0
- package/dist/src/internal/cli/telemetry/error-reporter/global-error-handlers.d.ts.map +1 -0
- package/dist/src/internal/cli/telemetry/error-reporter/global-error-handlers.js +47 -0
- package/dist/src/internal/cli/telemetry/error-reporter/global-error-handlers.js.map +1 -0
- package/dist/src/internal/cli/telemetry/error-reporter/reporter.d.ts +27 -0
- package/dist/src/internal/cli/telemetry/error-reporter/reporter.d.ts.map +1 -0
- package/dist/src/internal/cli/telemetry/error-reporter/reporter.js +40 -0
- package/dist/src/internal/cli/telemetry/error-reporter/reporter.js.map +1 -0
- package/dist/src/internal/cli/telemetry/sentry/anonymizer.js +1 -1
- package/dist/src/internal/cli/telemetry/sentry/anonymizer.js.map +1 -1
- package/dist/src/internal/cli/telemetry/sentry/init.d.ts +0 -8
- package/dist/src/internal/cli/telemetry/sentry/init.d.ts.map +1 -1
- package/dist/src/internal/cli/telemetry/sentry/init.js +1 -37
- package/dist/src/internal/cli/telemetry/sentry/init.js.map +1 -1
- package/dist/src/internal/cli/telemetry/sentry/reporter.d.ts +8 -2
- package/dist/src/internal/cli/telemetry/sentry/reporter.d.ts.map +1 -1
- package/dist/src/internal/cli/telemetry/sentry/reporter.js +18 -12
- package/dist/src/internal/cli/telemetry/sentry/reporter.js.map +1 -1
- package/dist/src/internal/cli/telemetry/sentry/transport.js +1 -1
- package/dist/src/internal/cli/telemetry/sentry/transport.js.map +1 -1
- package/dist/src/internal/cli/telemetry/telemetry-permissions.js +1 -1
- package/dist/src/internal/cli/telemetry/telemetry-permissions.js.map +1 -1
- package/dist/src/internal/config-loading.js +3 -3
- package/dist/src/internal/config-loading.js.map +1 -1
- package/dist/src/internal/core/configuration-variables.d.ts.map +1 -1
- package/dist/src/internal/core/configuration-variables.js +1 -1
- package/dist/src/internal/core/configuration-variables.js.map +1 -1
- package/dist/src/internal/core/hook-manager.js +3 -3
- package/dist/src/internal/core/hook-manager.js.map +1 -1
- package/dist/src/internal/core/hre.d.ts.map +1 -1
- package/dist/src/internal/core/hre.js +3 -3
- package/dist/src/internal/core/hre.js.map +1 -1
- package/dist/src/internal/core/plugins/resolve-plugin-list.js +1 -1
- package/dist/src/internal/core/plugins/resolve-plugin-list.js.map +1 -1
- package/dist/src/internal/core/tasks/resolved-task.js +4 -4
- package/dist/src/internal/core/tasks/resolved-task.js.map +1 -1
- package/dist/src/internal/core/user-interruptions.js +9 -9
- package/dist/src/internal/core/user-interruptions.js.map +1 -1
- package/dist/src/internal/hre-initialization.js +1 -1
- package/dist/src/internal/hre-initialization.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/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 +6 -0
- package/dist/src/types/solidity/compilation-job.d.ts.map +1 -1
- package/dist/src/types/solidity/solidity-artifacts.d.ts +14 -0
- package/dist/src/types/solidity/solidity-artifacts.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/internal/builtin-plugins/artifacts/artifact-manager.ts +10 -16
- package/src/internal/builtin-plugins/artifacts/hook-handlers/hre.ts +16 -10
- package/src/internal/builtin-plugins/clean/index.ts +1 -1
- package/src/internal/builtin-plugins/console/index.ts +1 -1
- package/src/internal/builtin-plugins/console/task-action.ts +2 -1
- package/src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts +2 -2
- package/src/internal/builtin-plugins/flatten/index.ts +1 -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/index.ts +4 -2
- 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/edr/edr-provider.ts +4 -4
- package/src/internal/builtin-plugins/network-manager/edr/genesis-state.ts +1 -1
- 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 +3 -2
- package/src/internal/builtin-plugins/network-manager/hook-handlers/hre.ts +31 -2
- package/src/internal/builtin-plugins/network-manager/hook-handlers/network.ts +22 -16
- package/src/internal/builtin-plugins/network-manager/http-provider.ts +6 -2
- package/src/internal/builtin-plugins/network-manager/network-manager.ts +139 -32
- 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 +30 -13
- 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/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/helpers.ts +1 -1
- package/src/internal/builtin-plugins/node/index.ts +1 -1
- 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/index.ts +1 -1
- package/src/internal/builtin-plugins/run/task-action.ts +2 -1
- package/src/internal/builtin-plugins/solidity/build-system/artifacts.ts +3 -0
- package/src/internal/builtin-plugins/solidity/build-system/build-system.ts +176 -45
- package/src/internal/builtin-plugins/solidity/build-system/cache.ts +2 -0
- package/src/internal/builtin-plugins/solidity/build-system/compilation-job.ts +16 -10
- package/src/internal/builtin-plugins/solidity/build-system/compiler/downloader.ts +4 -4
- package/src/internal/builtin-plugins/solidity/build-system/compiler/index.ts +2 -2
- package/src/internal/builtin-plugins/solidity/build-system/compiler/solcjs-runner.ts +1 -1
- package/src/internal/builtin-plugins/solidity/build-system/dependency-graph-building.ts +1 -1
- package/src/internal/builtin-plugins/solidity/build-system/dependency-graph.ts +9 -7
- package/src/internal/builtin-plugins/solidity/build-system/read-source-file.ts +2 -2
- package/src/internal/builtin-plugins/solidity/build-system/resolver/dependency-resolver.ts +11 -11
- package/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.ts +1 -1
- 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 +23 -13
- package/src/internal/builtin-plugins/solidity/constants.ts +21 -0
- package/src/internal/builtin-plugins/solidity/hook-handlers/config.ts +1 -1
- package/src/internal/builtin-plugins/solidity/hook-handlers/hre.ts +14 -10
- package/src/internal/builtin-plugins/solidity/index.ts +1 -1
- package/src/internal/builtin-plugins/solidity/solidity-hooks.ts +1 -1
- package/src/internal/builtin-plugins/solidity/tasks/build.ts +359 -74
- package/src/internal/builtin-plugins/solidity/type-extensions.ts +38 -8
- package/src/internal/builtin-plugins/solidity-test/config.ts +11 -2
- package/src/internal/builtin-plugins/solidity-test/edr-artifacts.ts +2 -2
- package/src/internal/builtin-plugins/solidity-test/helpers.ts +0 -7
- package/src/internal/builtin-plugins/solidity-test/hook-handlers/config.ts +1 -1
- package/src/internal/builtin-plugins/solidity-test/hook-handlers/test.ts +1 -1
- package/src/internal/builtin-plugins/solidity-test/index.ts +1 -1
- package/src/internal/builtin-plugins/solidity-test/reporter.ts +1 -1
- 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 +161 -43
- package/src/internal/builtin-plugins/solidity-test/type-extensions.ts +1 -2
- package/src/internal/builtin-plugins/telemetry/index.ts +1 -1
- package/src/internal/builtin-plugins/test/hook-handlers/config.ts +1 -1
- package/src/internal/builtin-plugins/test/index.ts +1 -1
- package/src/internal/builtin-plugins/test/task-action.ts +3 -4
- package/src/internal/cli/init/init.ts +1 -1
- package/src/internal/cli/main.ts +19 -3
- package/src/internal/cli/node-version.ts +3 -0
- package/src/internal/cli/telemetry/analytics/analytics.ts +2 -2
- package/src/internal/cli/telemetry/error-reporter/global-error-handlers.ts +64 -0
- package/src/internal/cli/telemetry/error-reporter/reporter.ts +49 -0
- package/src/internal/cli/telemetry/sentry/anonymizer.ts +1 -1
- package/src/internal/cli/telemetry/sentry/init.ts +2 -62
- package/src/internal/cli/telemetry/sentry/reporter.ts +27 -15
- package/src/internal/cli/telemetry/sentry/transport.ts +1 -1
- package/src/internal/cli/telemetry/telemetry-permissions.ts +1 -1
- package/src/internal/config-loading.ts +3 -3
- package/src/internal/core/configuration-variables.ts +19 -18
- package/src/internal/core/hook-manager.ts +3 -3
- package/src/internal/core/hre.ts +5 -3
- package/src/internal/core/plugins/resolve-plugin-list.ts +1 -1
- package/src/internal/core/tasks/resolved-task.ts +4 -4
- package/src/internal/core/user-interruptions.ts +9 -9
- package/src/internal/hre-initialization.ts +1 -1
- package/src/types/artifacts.ts +5 -4
- package/src/types/network.ts +48 -0
- package/src/types/solidity/build-system.ts +66 -3
- package/src/types/solidity/compilation-job.ts +7 -0
- package/src/types/solidity/solidity-artifacts.ts +16 -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 -14
- 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 -55
- package/dist/src/internal/builtin-plugins/gas-analytics/helpers.js.map +0 -1
- package/src/internal/builtin-plugins/gas-analytics/helpers.ts +0 -96
|
@@ -5,6 +5,7 @@ import type { HookManager } from "../../../../types/hooks.js";
|
|
|
5
5
|
import type { CompilationJob } from "../../../../types/solidity/compilation-job.js";
|
|
6
6
|
import type { CompilerInput } from "../../../../types/solidity/compiler-io.js";
|
|
7
7
|
import type { DependencyGraph } from "../../../../types/solidity/dependency-graph.js";
|
|
8
|
+
import type { ToolVersions } from "../../../../types/solidity/solidity-artifacts.js";
|
|
8
9
|
|
|
9
10
|
import { createHash } from "node:crypto";
|
|
10
11
|
|
|
@@ -16,6 +17,7 @@ import {
|
|
|
16
17
|
ResolvedFileType,
|
|
17
18
|
type ResolvedFile,
|
|
18
19
|
} from "../../../../types/solidity.js";
|
|
20
|
+
import { DEFAULT_OUTPUT_SELECTION } from "../constants.js";
|
|
19
21
|
|
|
20
22
|
import { getEvmVersionFromSolcVersion } from "./solc-info.js";
|
|
21
23
|
|
|
@@ -23,6 +25,7 @@ export class CompilationJobImplementation implements CompilationJob {
|
|
|
23
25
|
public readonly dependencyGraph: DependencyGraph;
|
|
24
26
|
public readonly solcConfig: SolidityCompilerConfig;
|
|
25
27
|
public readonly solcLongVersion: string;
|
|
28
|
+
public readonly toolVersions?: ToolVersions;
|
|
26
29
|
|
|
27
30
|
readonly #hooks: HookManager;
|
|
28
31
|
// This map is shared across compilation jobs and is meant to store content hashes of source files
|
|
@@ -38,12 +41,14 @@ export class CompilationJobImplementation implements CompilationJob {
|
|
|
38
41
|
solcLongVersion: string,
|
|
39
42
|
hooks: HookManager,
|
|
40
43
|
sharedContentHashes: Map<string, string> = new Map(),
|
|
44
|
+
toolVersions?: ToolVersions,
|
|
41
45
|
) {
|
|
42
46
|
this.dependencyGraph = dependencyGraph;
|
|
43
47
|
this.solcConfig = solcConfig;
|
|
44
48
|
this.solcLongVersion = solcLongVersion;
|
|
45
49
|
this.#hooks = hooks;
|
|
46
50
|
this.#sharedContentHashes = sharedContentHashes;
|
|
51
|
+
this.toolVersions = toolVersions;
|
|
47
52
|
}
|
|
48
53
|
|
|
49
54
|
public async getSolcInput(): Promise<CompilerInput> {
|
|
@@ -87,7 +92,7 @@ export class CompilationJobImplementation implements CompilationJob {
|
|
|
87
92
|
// instrument the project file content when coverage feature is enabled.
|
|
88
93
|
// We pass some additional data via the chain - i.e. the input source name and solc
|
|
89
94
|
// version - but we expect any handlers to pass them on as-is without modification.
|
|
90
|
-
return this.#hooks.runHandlerChain(
|
|
95
|
+
return await this.#hooks.runHandlerChain(
|
|
91
96
|
"solidity",
|
|
92
97
|
"preprocessProjectFileBeforeBuilding",
|
|
93
98
|
[file.inputSourceName, file.fsPath, file.content.text, solcVersion],
|
|
@@ -130,19 +135,14 @@ export class CompilationJobImplementation implements CompilationJob {
|
|
|
130
135
|
// from other files (e.g. new Foo()), and it won't output its bytecode if
|
|
131
136
|
// it's not asked for. This would prevent EDR from doing any runtime
|
|
132
137
|
// analysis.
|
|
133
|
-
const outputSelection
|
|
138
|
+
const outputSelection: CompilerInput["settings"]["outputSelection"] =
|
|
139
|
+
await deepClone(settings.outputSelection ?? {});
|
|
134
140
|
outputSelection["*"] ??= {};
|
|
135
141
|
outputSelection["*"][""] ??= [];
|
|
136
142
|
outputSelection["*"]["*"] ??= [];
|
|
137
143
|
|
|
138
|
-
outputSelection["*"][""].push("
|
|
139
|
-
outputSelection["*"]["*"].push(
|
|
140
|
-
"abi",
|
|
141
|
-
"evm.bytecode",
|
|
142
|
-
"evm.deployedBytecode",
|
|
143
|
-
"evm.methodIdentifiers",
|
|
144
|
-
"metadata",
|
|
145
|
-
);
|
|
144
|
+
outputSelection["*"][""].push(...DEFAULT_OUTPUT_SELECTION["*"][""]);
|
|
145
|
+
outputSelection["*"]["*"].push(...DEFAULT_OUTPUT_SELECTION["*"]["*"]);
|
|
146
146
|
|
|
147
147
|
const sources: { [sourceName: string]: { content: string } } = {};
|
|
148
148
|
|
|
@@ -257,6 +257,12 @@ export class CompilationJobImplementation implements CompilationJob {
|
|
|
257
257
|
preimageObject.compilerType = compilerType;
|
|
258
258
|
}
|
|
259
259
|
|
|
260
|
+
// Include tool versions in the preimage when present, so that
|
|
261
|
+
// different tool versions produce different build IDs.
|
|
262
|
+
if (this.toolVersions !== undefined) {
|
|
263
|
+
preimageObject.toolVersions = this.toolVersions;
|
|
264
|
+
}
|
|
265
|
+
|
|
260
266
|
const preimage = JSON.stringify(preimageObject);
|
|
261
267
|
|
|
262
268
|
const jobHash = await createNonCryptographicHashId(preimage);
|
|
@@ -195,7 +195,7 @@ export class CompilerDownloaderImplementation implements CompilerDownloader {
|
|
|
195
195
|
|
|
196
196
|
const downloadPath = this.#getCompilerBinaryPathFromBuild(build);
|
|
197
197
|
|
|
198
|
-
return exists(downloadPath);
|
|
198
|
+
return await exists(downloadPath);
|
|
199
199
|
}
|
|
200
200
|
|
|
201
201
|
public async downloadCompiler(version: string): Promise<boolean> {
|
|
@@ -208,7 +208,7 @@ export class CompilerDownloaderImplementation implements CompilerDownloader {
|
|
|
208
208
|
path.join(this.#compilersDir, `compiler-download-${version}`),
|
|
209
209
|
);
|
|
210
210
|
|
|
211
|
-
return mutex.use(async () => {
|
|
211
|
+
return await mutex.use(async () => {
|
|
212
212
|
const isCompilerDownloaded = await this.isCompilerDownloaded(version);
|
|
213
213
|
|
|
214
214
|
if (isCompilerDownloaded === true) {
|
|
@@ -240,7 +240,7 @@ export class CompilerDownloaderImplementation implements CompilerDownloader {
|
|
|
240
240
|
}
|
|
241
241
|
}
|
|
242
242
|
|
|
243
|
-
return this.#postProcessCompilerDownload(build, downloadPath);
|
|
243
|
+
return await this.#postProcessCompilerDownload(build, downloadPath);
|
|
244
244
|
});
|
|
245
245
|
}
|
|
246
246
|
|
|
@@ -295,7 +295,7 @@ export class CompilerDownloaderImplementation implements CompilerDownloader {
|
|
|
295
295
|
}
|
|
296
296
|
|
|
297
297
|
async #readCompilerList(listPath: string): Promise<CompilerList> {
|
|
298
|
-
return readJsonFile(listPath);
|
|
298
|
+
return await readJsonFile(listPath);
|
|
299
299
|
}
|
|
300
300
|
|
|
301
301
|
#getCompilerDownloadPathFromBuild(build: CompilerBuild): string {
|
|
@@ -124,10 +124,10 @@ export async function getCompiler(
|
|
|
124
124
|
): Promise<Compiler> {
|
|
125
125
|
if (compilerPath !== undefined) {
|
|
126
126
|
// If a compiler path is provided, it means the user is using a custom compiler
|
|
127
|
-
return getCompilerFromPath(version, compilerPath);
|
|
127
|
+
return await getCompilerFromPath(version, compilerPath);
|
|
128
128
|
} else {
|
|
129
129
|
// Otherwise we get or download the compiler for the specific version
|
|
130
|
-
return getCompilerFromVersion(version, { preferWasm });
|
|
130
|
+
return await getCompilerFromVersion(version, { preferWasm });
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
|
|
@@ -6,7 +6,7 @@ async function readStream(
|
|
|
6
6
|
): Promise<string> {
|
|
7
7
|
stream.setEncoding(encoding);
|
|
8
8
|
|
|
9
|
-
return new Promise((resolve, reject) => {
|
|
9
|
+
return await new Promise((resolve, reject) => {
|
|
10
10
|
let data = "";
|
|
11
11
|
|
|
12
12
|
stream.on("data", (chunk) => (data += chunk.toString(encoding)));
|
|
@@ -33,7 +33,7 @@ export async function buildDependencyGraph(
|
|
|
33
33
|
"readNpmPackageRemappings",
|
|
34
34
|
[packageName, packageVersion, packagePath],
|
|
35
35
|
async (_context, name, version, path) =>
|
|
36
|
-
defaultBehavior(name, version, path),
|
|
36
|
+
await defaultBehavior(name, version, path),
|
|
37
37
|
);
|
|
38
38
|
|
|
39
39
|
const resolver = await ResolverImplementation.create(
|
|
@@ -205,13 +205,15 @@ export class DependencyGraphImplementation implements DependencyGraph {
|
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
public getAllRemappings(): readonly string[] {
|
|
208
|
-
return
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
208
|
+
return [
|
|
209
|
+
...new Set(
|
|
210
|
+
this.#dependenciesMap
|
|
211
|
+
.values()
|
|
212
|
+
.flatMap((dependencies) =>
|
|
213
|
+
dependencies.values().flatMap((remappings) => remappings.values()),
|
|
214
|
+
),
|
|
215
|
+
),
|
|
216
|
+
].sort();
|
|
215
217
|
}
|
|
216
218
|
|
|
217
219
|
public toJSON(): DependencyGraphImplementationJson {
|
|
@@ -6,11 +6,11 @@ export function readSourceFileFactory(
|
|
|
6
6
|
hooks: HookManager,
|
|
7
7
|
): (absPath: string) => Promise<string> {
|
|
8
8
|
return async (factoryAbsPath: string) => {
|
|
9
|
-
return hooks.runHandlerChain(
|
|
9
|
+
return await hooks.runHandlerChain(
|
|
10
10
|
"solidity",
|
|
11
11
|
"readSourceFile",
|
|
12
12
|
[factoryAbsPath],
|
|
13
|
-
async (_context, absPath) => readUtf8File(absPath),
|
|
13
|
+
async (_context, absPath) => await readUtf8File(absPath),
|
|
14
14
|
);
|
|
15
15
|
};
|
|
16
16
|
}
|
|
@@ -133,8 +133,8 @@ export class ResolverImplementation implements Resolver {
|
|
|
133
133
|
public async resolveProjectFile(
|
|
134
134
|
absoluteFilePath: string,
|
|
135
135
|
): Promise<Result<ProjectResolvedFile, ProjectRootResolutionError>> {
|
|
136
|
-
return this.#mutex.exclusiveRun(async () => {
|
|
137
|
-
return this.#resolveProjectFile(absoluteFilePath);
|
|
136
|
+
return await this.#mutex.exclusiveRun(async () => {
|
|
137
|
+
return await this.#resolveProjectFile(absoluteFilePath);
|
|
138
138
|
});
|
|
139
139
|
}
|
|
140
140
|
|
|
@@ -146,8 +146,8 @@ export class ResolverImplementation implements Resolver {
|
|
|
146
146
|
NpmRootResolutionError
|
|
147
147
|
>
|
|
148
148
|
> {
|
|
149
|
-
return this.#mutex.exclusiveRun(async () => {
|
|
150
|
-
return this.#resolveNpmDependencyFileAsRoot(npmModule);
|
|
149
|
+
return await this.#mutex.exclusiveRun(async () => {
|
|
150
|
+
return await this.#resolveNpmDependencyFileAsRoot(npmModule);
|
|
151
151
|
});
|
|
152
152
|
}
|
|
153
153
|
|
|
@@ -160,8 +160,8 @@ export class ResolverImplementation implements Resolver {
|
|
|
160
160
|
ImportResolutionError
|
|
161
161
|
>
|
|
162
162
|
> {
|
|
163
|
-
return this.#mutex.exclusiveRun(
|
|
164
|
-
this.#resolveImport(from, importPath),
|
|
163
|
+
return await this.#mutex.exclusiveRun(
|
|
164
|
+
async () => await this.#resolveImport(from, importPath),
|
|
165
165
|
);
|
|
166
166
|
}
|
|
167
167
|
|
|
@@ -495,7 +495,7 @@ export class ResolverImplementation implements Resolver {
|
|
|
495
495
|
};
|
|
496
496
|
}
|
|
497
497
|
|
|
498
|
-
return this.#resolveRelativeImport({
|
|
498
|
+
return await this.#resolveRelativeImport({
|
|
499
499
|
from,
|
|
500
500
|
importPath,
|
|
501
501
|
directImport,
|
|
@@ -504,7 +504,7 @@ export class ResolverImplementation implements Resolver {
|
|
|
504
504
|
if (bestUserRemapping !== undefined) {
|
|
505
505
|
// If the import isn't relative, and there's a user remapping, we
|
|
506
506
|
// prioritize that.
|
|
507
|
-
return this.#resolveUserRemappedImport({
|
|
507
|
+
return await this.#resolveUserRemappedImport({
|
|
508
508
|
from,
|
|
509
509
|
importPath,
|
|
510
510
|
directImport,
|
|
@@ -576,7 +576,7 @@ export class ResolverImplementation implements Resolver {
|
|
|
576
576
|
|
|
577
577
|
const relativeFsPath = sourceNamePathToFsPath(relativeSourceNamePath);
|
|
578
578
|
|
|
579
|
-
return this.#commonImportResolution({
|
|
579
|
+
return await this.#commonImportResolution({
|
|
580
580
|
from,
|
|
581
581
|
importPath,
|
|
582
582
|
npmPackage: from.package,
|
|
@@ -639,7 +639,7 @@ export class ResolverImplementation implements Resolver {
|
|
|
639
639
|
|
|
640
640
|
const relativeFsPath = sourceNamePathToFsPath(relativeSourceNamePath);
|
|
641
641
|
|
|
642
|
-
return this.#commonImportResolution({
|
|
642
|
+
return await this.#commonImportResolution({
|
|
643
643
|
from,
|
|
644
644
|
importPath,
|
|
645
645
|
npmPackage: targetNpmPackage,
|
|
@@ -796,7 +796,7 @@ export class ResolverImplementation implements Resolver {
|
|
|
796
796
|
const relativePath = resolvedSubpath ?? subpath;
|
|
797
797
|
const relativeFsPathWithinPackage = sourceNamePathToFsPath(relativePath);
|
|
798
798
|
|
|
799
|
-
return this.#commonImportResolution({
|
|
799
|
+
return await this.#commonImportResolution({
|
|
800
800
|
from,
|
|
801
801
|
importPath,
|
|
802
802
|
npmPackage: dependency,
|
package/src/internal/builtin-plugins/solidity/build-system/resolver/remapped-npm-packages-graph.ts
CHANGED
|
@@ -457,7 +457,7 @@ export class RemappedNpmPackagesGraphImplementation
|
|
|
457
457
|
npmPackage.version,
|
|
458
458
|
npmPackage.rootFsPath,
|
|
459
459
|
async (_packageName, _packageVersion, packagePath) =>
|
|
460
|
-
this.#defaultReadPackageRemappings(packagePath),
|
|
460
|
+
await this.#defaultReadPackageRemappings(packagePath),
|
|
461
461
|
);
|
|
462
462
|
|
|
463
463
|
return this.#parseAndDeduplicateRemappings(npmPackage, allRemappings);
|
|
@@ -57,8 +57,8 @@ export function shouldSuppressWarning(
|
|
|
57
57
|
): boolean {
|
|
58
58
|
// Compute relative path from project root to test directory.
|
|
59
59
|
// Example:
|
|
60
|
-
// absoluteSolidityTestsPath: /workspaces/hardhat-4/
|
|
61
|
-
// absoluteProjectRoot: /workspaces/hardhat-4/
|
|
60
|
+
// absoluteSolidityTestsPath: /workspaces/hardhat-4/packages/example-project/test/contracts
|
|
61
|
+
// absoluteProjectRoot: /workspaces/hardhat-4/packages/example-project
|
|
62
62
|
// relativeTestPath: test/contracts/ - note the addition of the `/`
|
|
63
63
|
// to avoid partial matches, e.g.: test/contractsUtils/
|
|
64
64
|
const relativeTestPath = path.join(
|
|
@@ -32,6 +32,7 @@ import {
|
|
|
32
32
|
hasOfficialArm64Build,
|
|
33
33
|
missesSomeOfficialNativeBuilds,
|
|
34
34
|
} from "./build-system/solc-info.js";
|
|
35
|
+
import { DEFAULT_OUTPUT_SELECTION } from "./constants.js";
|
|
35
36
|
|
|
36
37
|
/**
|
|
37
38
|
* The top-level type SolidityUserConfig is a union type too complex for
|
|
@@ -80,6 +81,7 @@ const incompatibleCompilerFields = {
|
|
|
80
81
|
const commonSolidityUserConfigFields = {
|
|
81
82
|
isolated: z.boolean().optional(),
|
|
82
83
|
npmFilesToBuild: z.array(z.string()).optional(),
|
|
84
|
+
splitTestsCompilation: z.boolean().optional(),
|
|
83
85
|
};
|
|
84
86
|
|
|
85
87
|
const commonSolidityCompilerUserConfigFields = {
|
|
@@ -119,12 +121,14 @@ const solidityCompilerUserConfigType = conditionalUnionType(
|
|
|
119
121
|
const solcSingleVersionSolidityUserConfigType =
|
|
120
122
|
solcSolidityCompilerUserConfigType.extend({
|
|
121
123
|
...commonSolidityUserConfigFields,
|
|
124
|
+
toolVersionsInBuildInfo: z.boolean().optional(),
|
|
122
125
|
...incompatibleVersionFields,
|
|
123
126
|
});
|
|
124
127
|
|
|
125
128
|
const otherSingleVersionSolidityUserConfigType =
|
|
126
129
|
otherSolidityCompilerUserConfigType.extend({
|
|
127
130
|
...commonSolidityUserConfigFields,
|
|
131
|
+
toolVersionsInBuildInfo: z.boolean().optional(),
|
|
128
132
|
...incompatibleVersionFields,
|
|
129
133
|
});
|
|
130
134
|
|
|
@@ -149,6 +153,7 @@ const multiVersionSolidityUserConfigType = z.object({
|
|
|
149
153
|
compilers: z.array(solidityCompilerUserConfigType).nonempty(),
|
|
150
154
|
overrides: z.record(z.string(), solidityCompilerUserConfigType).optional(),
|
|
151
155
|
...commonSolidityUserConfigFields,
|
|
156
|
+
toolVersionsInBuildInfo: z.boolean().optional(),
|
|
152
157
|
...incompatibleCompilerFields,
|
|
153
158
|
});
|
|
154
159
|
|
|
@@ -163,6 +168,7 @@ const singleVersionBuildProfileUserConfigType = conditionalUnionType(
|
|
|
163
168
|
(!("type" in data) || data.type === undefined || data.type === "solc"),
|
|
164
169
|
solcSolidityCompilerUserConfigType.extend({
|
|
165
170
|
isolated: z.boolean().optional(),
|
|
171
|
+
toolVersionsInBuildInfo: z.boolean().optional(),
|
|
166
172
|
...incompatibleVersionFields,
|
|
167
173
|
}),
|
|
168
174
|
],
|
|
@@ -170,6 +176,7 @@ const singleVersionBuildProfileUserConfigType = conditionalUnionType(
|
|
|
170
176
|
(data) => isObject(data) && "type" in data && data.type !== "solc",
|
|
171
177
|
otherSolidityCompilerUserConfigType.extend({
|
|
172
178
|
isolated: z.boolean().optional(),
|
|
179
|
+
toolVersionsInBuildInfo: z.boolean().optional(),
|
|
173
180
|
...incompatibleVersionFields,
|
|
174
181
|
}),
|
|
175
182
|
],
|
|
@@ -182,6 +189,7 @@ const multiVersionBuildProfileUserConfigType = z.object({
|
|
|
182
189
|
compilers: z.array(solidityCompilerUserConfigType).nonempty(),
|
|
183
190
|
overrides: z.record(z.string(), solidityCompilerUserConfigType).optional(),
|
|
184
191
|
isolated: z.boolean().optional(),
|
|
192
|
+
toolVersionsInBuildInfo: z.boolean().optional(),
|
|
185
193
|
...incompatibleCompilerFields,
|
|
186
194
|
});
|
|
187
195
|
|
|
@@ -202,6 +210,7 @@ const buildProfilesSolidityUserConfigType = z.object({
|
|
|
202
210
|
"Expected an object configuring one or more versions of Solidity",
|
|
203
211
|
),
|
|
204
212
|
),
|
|
213
|
+
...commonSolidityUserConfigFields,
|
|
205
214
|
...incompatibleProfileFields,
|
|
206
215
|
});
|
|
207
216
|
|
|
@@ -430,6 +439,7 @@ function resolveSolidityConfig(
|
|
|
430
439
|
},
|
|
431
440
|
npmFilesToBuild: [],
|
|
432
441
|
registeredCompilerTypes: ["solc"],
|
|
442
|
+
splitTestsCompilation: false,
|
|
433
443
|
};
|
|
434
444
|
}
|
|
435
445
|
|
|
@@ -437,14 +447,20 @@ function resolveSolidityConfig(
|
|
|
437
447
|
if ("version" in solidityConfig || "compilers" in solidityConfig) {
|
|
438
448
|
return {
|
|
439
449
|
profiles: {
|
|
440
|
-
default: resolveBuildProfileConfig(
|
|
450
|
+
default: resolveBuildProfileConfig(
|
|
451
|
+
solidityConfig,
|
|
452
|
+
false,
|
|
453
|
+
solidityConfig.toolVersionsInBuildInfo,
|
|
454
|
+
),
|
|
441
455
|
production: resolveBuildProfileConfig(
|
|
442
456
|
copyFromDefault(solidityConfig),
|
|
443
457
|
true,
|
|
458
|
+
solidityConfig.toolVersionsInBuildInfo,
|
|
444
459
|
),
|
|
445
460
|
},
|
|
446
461
|
npmFilesToBuild: solidityConfig.npmFilesToBuild ?? [],
|
|
447
462
|
registeredCompilerTypes: ["solc"],
|
|
463
|
+
splitTestsCompilation: solidityConfig.splitTestsCompilation ?? false,
|
|
448
464
|
};
|
|
449
465
|
}
|
|
450
466
|
|
|
@@ -457,6 +473,7 @@ function resolveSolidityConfig(
|
|
|
457
473
|
profiles[profileName] = resolveBuildProfileConfig(
|
|
458
474
|
profile,
|
|
459
475
|
profileName === "production",
|
|
476
|
+
profile.toolVersionsInBuildInfo,
|
|
460
477
|
);
|
|
461
478
|
}
|
|
462
479
|
|
|
@@ -475,6 +492,7 @@ function resolveSolidityConfig(
|
|
|
475
492
|
profiles,
|
|
476
493
|
npmFilesToBuild: solidityConfig.npmFilesToBuild ?? [],
|
|
477
494
|
registeredCompilerTypes: ["solc"],
|
|
495
|
+
splitTestsCompilation: solidityConfig.splitTestsCompilation ?? false,
|
|
478
496
|
};
|
|
479
497
|
}
|
|
480
498
|
|
|
@@ -483,6 +501,7 @@ function resolveBuildProfileConfig(
|
|
|
483
501
|
| SingleVersionSolidityUserConfig
|
|
484
502
|
| MultiVersionSolidityUserConfig,
|
|
485
503
|
production: boolean = false,
|
|
504
|
+
toolVersionsInBuildInfo?: boolean,
|
|
486
505
|
): SolidityBuildProfileConfig {
|
|
487
506
|
if ("version" in solidityConfig) {
|
|
488
507
|
return {
|
|
@@ -490,6 +509,7 @@ function resolveBuildProfileConfig(
|
|
|
490
509
|
overrides: {},
|
|
491
510
|
isolated: solidityConfig.isolated ?? production,
|
|
492
511
|
preferWasm: solidityConfig.preferWasm ?? false,
|
|
512
|
+
toolVersionsInBuildInfo: toolVersionsInBuildInfo ?? production,
|
|
493
513
|
};
|
|
494
514
|
}
|
|
495
515
|
|
|
@@ -507,6 +527,7 @@ function resolveBuildProfileConfig(
|
|
|
507
527
|
),
|
|
508
528
|
isolated: solidityConfig.isolated ?? production,
|
|
509
529
|
preferWasm: solidityConfig.preferWasm ?? false,
|
|
530
|
+
toolVersionsInBuildInfo: toolVersionsInBuildInfo ?? production,
|
|
510
531
|
};
|
|
511
532
|
}
|
|
512
533
|
|
|
@@ -515,18 +536,7 @@ function resolveSolidityCompilerConfig(
|
|
|
515
536
|
production: boolean = false,
|
|
516
537
|
): SolidityCompilerConfig {
|
|
517
538
|
const defaultSettings: SolidityCompilerConfig["settings"] = {
|
|
518
|
-
outputSelection:
|
|
519
|
-
"*": {
|
|
520
|
-
"": ["ast"],
|
|
521
|
-
"*": [
|
|
522
|
-
"abi",
|
|
523
|
-
"evm.bytecode",
|
|
524
|
-
"evm.deployedBytecode",
|
|
525
|
-
"evm.methodIdentifiers",
|
|
526
|
-
"metadata",
|
|
527
|
-
],
|
|
528
|
-
},
|
|
529
|
-
},
|
|
539
|
+
outputSelection: DEFAULT_OUTPUT_SELECTION,
|
|
530
540
|
};
|
|
531
541
|
|
|
532
542
|
if (production && isSolcSolidityCompilerUserConfig(compilerConfig)) {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { CompilerInput } from "../../../types/solidity.js";
|
|
2
|
+
|
|
3
|
+
export const DEFAULT_OUTPUT_SELECTION: CompilerInput["settings"]["outputSelection"] =
|
|
4
|
+
{
|
|
5
|
+
"*": {
|
|
6
|
+
"": ["ast"],
|
|
7
|
+
"*": [
|
|
8
|
+
"abi",
|
|
9
|
+
"evm.bytecode.linkReferences",
|
|
10
|
+
"evm.bytecode.object",
|
|
11
|
+
"evm.bytecode.opcodes",
|
|
12
|
+
"evm.bytecode.sourceMap",
|
|
13
|
+
"evm.deployedBytecode.immutableReferences",
|
|
14
|
+
"evm.deployedBytecode.linkReferences",
|
|
15
|
+
"evm.deployedBytecode.object",
|
|
16
|
+
"evm.deployedBytecode.opcodes",
|
|
17
|
+
"evm.deployedBytecode.sourceMap",
|
|
18
|
+
"evm.methodIdentifiers",
|
|
19
|
+
],
|
|
20
|
+
},
|
|
21
|
+
};
|
|
@@ -20,7 +20,7 @@ export default async (): Promise<Partial<ConfigHooks>> => {
|
|
|
20
20
|
resolveConfigurationVariable,
|
|
21
21
|
);
|
|
22
22
|
|
|
23
|
-
return resolveSolidityUserConfig(userConfig, resolvedConfig);
|
|
23
|
+
return await resolveSolidityUserConfig(userConfig, resolvedConfig);
|
|
24
24
|
},
|
|
25
25
|
validateResolvedConfig: async (resolvedConfig) =>
|
|
26
26
|
validateSolidityConfig(resolvedConfig),
|
|
@@ -38,12 +38,12 @@ class LazySolidityBuildSystem implements SolidityBuildSystem {
|
|
|
38
38
|
options: { scope?: BuildScope } = {},
|
|
39
39
|
): Promise<string[]> {
|
|
40
40
|
const buildSystem = await this.#getBuildSystem();
|
|
41
|
-
return buildSystem.getRootFilePaths(options);
|
|
41
|
+
return await buildSystem.getRootFilePaths(options);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
public async getScope(fsPath: string): Promise<BuildScope> {
|
|
45
45
|
const buildSystem = await this.#getBuildSystem();
|
|
46
|
-
return buildSystem.getScope(fsPath);
|
|
46
|
+
return await buildSystem.getScope(fsPath);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
public isSuccessfulBuildResult(
|
|
@@ -59,7 +59,7 @@ class LazySolidityBuildSystem implements SolidityBuildSystem {
|
|
|
59
59
|
options?: BuildOptions,
|
|
60
60
|
): Promise<CompilationJobCreationError | Map<string, FileBuildResult>> {
|
|
61
61
|
const buildSystem = await this.#getBuildSystem();
|
|
62
|
-
return buildSystem.build(rootFiles, options);
|
|
62
|
+
return await buildSystem.build(rootFiles, options);
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
public async getCompilationJobs(
|
|
@@ -67,7 +67,7 @@ class LazySolidityBuildSystem implements SolidityBuildSystem {
|
|
|
67
67
|
options?: GetCompilationJobsOptions,
|
|
68
68
|
): Promise<CompilationJobCreationError | GetCompilationJobsResult> {
|
|
69
69
|
const buildSystem = await this.#getBuildSystem();
|
|
70
|
-
return buildSystem.getCompilationJobs(rootFiles, options);
|
|
70
|
+
return await buildSystem.getCompilationJobs(rootFiles, options);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
public async runCompilationJob(
|
|
@@ -75,7 +75,7 @@ class LazySolidityBuildSystem implements SolidityBuildSystem {
|
|
|
75
75
|
options?: RunCompilationJobOptions,
|
|
76
76
|
): Promise<RunCompilationJobResult> {
|
|
77
77
|
const buildSystem = await this.#getBuildSystem();
|
|
78
|
-
return buildSystem.runCompilationJob(compilationJob, options);
|
|
78
|
+
return await buildSystem.runCompilationJob(compilationJob, options);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
public async remapCompilerError(
|
|
@@ -84,7 +84,7 @@ class LazySolidityBuildSystem implements SolidityBuildSystem {
|
|
|
84
84
|
shouldShortenPaths?: boolean,
|
|
85
85
|
): Promise<CompilerOutputError> {
|
|
86
86
|
const buildSystem = await this.#getBuildSystem();
|
|
87
|
-
return buildSystem.remapCompilerError(
|
|
87
|
+
return await buildSystem.remapCompilerError(
|
|
88
88
|
compilationJob,
|
|
89
89
|
error,
|
|
90
90
|
shouldShortenPaths,
|
|
@@ -97,7 +97,11 @@ class LazySolidityBuildSystem implements SolidityBuildSystem {
|
|
|
97
97
|
options: { scope?: BuildScope } = {},
|
|
98
98
|
): Promise<EmitArtifactsResult> {
|
|
99
99
|
const buildSystem = await this.#getBuildSystem();
|
|
100
|
-
return buildSystem.emitArtifacts(
|
|
100
|
+
return await buildSystem.emitArtifacts(
|
|
101
|
+
compilationJob,
|
|
102
|
+
compilerOutput,
|
|
103
|
+
options,
|
|
104
|
+
);
|
|
101
105
|
}
|
|
102
106
|
|
|
103
107
|
public async cleanupArtifacts(
|
|
@@ -105,7 +109,7 @@ class LazySolidityBuildSystem implements SolidityBuildSystem {
|
|
|
105
109
|
options: { scope?: BuildScope } = {},
|
|
106
110
|
): Promise<void> {
|
|
107
111
|
const buildSystem = await this.#getBuildSystem();
|
|
108
|
-
return buildSystem.cleanupArtifacts(rootFilePaths, options);
|
|
112
|
+
return await buildSystem.cleanupArtifacts(rootFilePaths, options);
|
|
109
113
|
}
|
|
110
114
|
|
|
111
115
|
public async compileBuildInfo(
|
|
@@ -113,12 +117,12 @@ class LazySolidityBuildSystem implements SolidityBuildSystem {
|
|
|
113
117
|
options?: CompileBuildInfoOptions,
|
|
114
118
|
): Promise<CompilerOutput> {
|
|
115
119
|
const buildSystem = await this.#getBuildSystem();
|
|
116
|
-
return buildSystem.compileBuildInfo(buildInfo, options);
|
|
120
|
+
return await buildSystem.compileBuildInfo(buildInfo, options);
|
|
117
121
|
}
|
|
118
122
|
|
|
119
123
|
public async getArtifactsDirectory(scope: BuildScope): Promise<string> {
|
|
120
124
|
const buildSystem = await this.#getBuildSystem();
|
|
121
|
-
return buildSystem.getArtifactsDirectory(scope);
|
|
125
|
+
return await buildSystem.getArtifactsDirectory(scope);
|
|
122
126
|
}
|
|
123
127
|
|
|
124
128
|
async #getBuildSystem(): Promise<SolidityBuildSystem> {
|
|
@@ -32,7 +32,7 @@ const buildTask = task("build", "Build project")
|
|
|
32
32
|
name: "noContracts",
|
|
33
33
|
description: "Skip solidity contracts compilation",
|
|
34
34
|
})
|
|
35
|
-
.setAction(async () => import("./tasks/build.js"))
|
|
35
|
+
.setAction(async () => await import("./tasks/build.js"))
|
|
36
36
|
.build();
|
|
37
37
|
|
|
38
38
|
const hardhatPlugin: HardhatPlugin = {
|
|
@@ -46,7 +46,7 @@ export async function getSolcCompilerForConfig(
|
|
|
46
46
|
compilerConfig: SolidityCompilerConfig,
|
|
47
47
|
buildProfilePreferWasm: boolean,
|
|
48
48
|
): Promise<Compiler> {
|
|
49
|
-
return getCompiler(compilerConfig.version, {
|
|
49
|
+
return await getCompiler(compilerConfig.version, {
|
|
50
50
|
preferWasm: resolvePreferWasm(compilerConfig, buildProfilePreferWasm),
|
|
51
51
|
compilerPath: compilerConfig.path,
|
|
52
52
|
});
|