hardhatjs 2.22.15
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/.eslintrc.js +41 -0
- package/LICENSE +55 -0
- package/README.md +53 -0
- package/builtin-tasks/check.d.ts +2 -0
- package/builtin-tasks/check.d.ts.map +1 -0
- package/builtin-tasks/check.js +6 -0
- package/builtin-tasks/check.js.map +1 -0
- package/builtin-tasks/clean.d.ts +2 -0
- package/builtin-tasks/clean.d.ts.map +1 -0
- package/builtin-tasks/clean.js +24 -0
- package/builtin-tasks/clean.js.map +1 -0
- package/builtin-tasks/compile.d.ts +2 -0
- package/builtin-tasks/compile.d.ts.map +1 -0
- package/builtin-tasks/compile.js +952 -0
- package/builtin-tasks/compile.js.map +1 -0
- package/builtin-tasks/console.d.ts +2 -0
- package/builtin-tasks/console.d.ts.map +1 -0
- package/builtin-tasks/console.js +55 -0
- package/builtin-tasks/console.js.map +1 -0
- package/builtin-tasks/flatten.d.ts +2 -0
- package/builtin-tasks/flatten.d.ts.map +1 -0
- package/builtin-tasks/flatten.js +210 -0
- package/builtin-tasks/flatten.js.map +1 -0
- package/builtin-tasks/help.d.ts +2 -0
- package/builtin-tasks/help.d.ts.map +1 -0
- package/builtin-tasks/help.js +49 -0
- package/builtin-tasks/help.js.map +1 -0
- package/builtin-tasks/node.d.ts +2 -0
- package/builtin-tasks/node.d.ts.map +1 -0
- package/builtin-tasks/node.js +212 -0
- package/builtin-tasks/node.js.map +1 -0
- package/builtin-tasks/run.d.ts +2 -0
- package/builtin-tasks/run.d.ts.map +1 -0
- package/builtin-tasks/run.js +41 -0
- package/builtin-tasks/run.js.map +1 -0
- package/builtin-tasks/task-names.d.ts +55 -0
- package/builtin-tasks/task-names.d.ts.map +1 -0
- package/builtin-tasks/task-names.js +59 -0
- package/builtin-tasks/task-names.js.map +1 -0
- package/builtin-tasks/test.d.ts +2 -0
- package/builtin-tasks/test.d.ts.map +1 -0
- package/builtin-tasks/test.js +142 -0
- package/builtin-tasks/test.js.map +1 -0
- package/builtin-tasks/utils/solidity-files-cache.d.ts +29 -0
- package/builtin-tasks/utils/solidity-files-cache.d.ts.map +1 -0
- package/builtin-tasks/utils/solidity-files-cache.js +126 -0
- package/builtin-tasks/utils/solidity-files-cache.js.map +1 -0
- package/builtin-tasks/utils/watch.d.ts +5 -0
- package/builtin-tasks/utils/watch.d.ts.map +1 -0
- package/builtin-tasks/utils/watch.js +71 -0
- package/builtin-tasks/utils/watch.js.map +1 -0
- package/builtin-tasks/vars.d.ts +2 -0
- package/builtin-tasks/vars.d.ts.map +1 -0
- package/builtin-tasks/vars.js +41 -0
- package/builtin-tasks/vars.js.map +1 -0
- package/common/bigInt.d.ts +7 -0
- package/common/bigInt.d.ts.map +1 -0
- package/common/bigInt.js +93 -0
- package/common/bigInt.js.map +1 -0
- package/common/index.d.ts +3 -0
- package/common/index.d.ts.map +1 -0
- package/common/index.js +21 -0
- package/common/index.js.map +1 -0
- package/common/napi-rs.d.ts +2 -0
- package/common/napi-rs.d.ts.map +1 -0
- package/common/napi-rs.js +19 -0
- package/common/napi-rs.js.map +1 -0
- package/config.d.ts +3 -0
- package/config.d.ts.map +1 -0
- package/config.js +18 -0
- package/config.js.map +1 -0
- package/console.sol +1552 -0
- package/internal/artifacts.d.ts +151 -0
- package/internal/artifacts.d.ts.map +1 -0
- package/internal/artifacts.js +681 -0
- package/internal/artifacts.js.map +1 -0
- package/internal/cli/ArgumentsParser.d.ts +25 -0
- package/internal/cli/ArgumentsParser.d.ts.map +1 -0
- package/internal/cli/ArgumentsParser.js +242 -0
- package/internal/cli/ArgumentsParser.js.map +1 -0
- package/internal/cli/HelpPrinter.d.ts +21 -0
- package/internal/cli/HelpPrinter.d.ts.map +1 -0
- package/internal/cli/HelpPrinter.js +167 -0
- package/internal/cli/HelpPrinter.js.map +1 -0
- package/internal/cli/analytics.d.ts +29 -0
- package/internal/cli/analytics.d.ts.map +1 -0
- package/internal/cli/analytics.js +188 -0
- package/internal/cli/analytics.js.map +1 -0
- package/internal/cli/autocomplete.d.ts +13 -0
- package/internal/cli/autocomplete.d.ts.map +1 -0
- package/internal/cli/autocomplete.js +291 -0
- package/internal/cli/autocomplete.js.map +1 -0
- package/internal/cli/bootstrap.d.ts +3 -0
- package/internal/cli/bootstrap.d.ts.map +1 -0
- package/internal/cli/bootstrap.js +15 -0
- package/internal/cli/bootstrap.js.map +1 -0
- package/internal/cli/cli.d.ts +2 -0
- package/internal/cli/cli.d.ts.map +1 -0
- package/internal/cli/cli.js +344 -0
- package/internal/cli/cli.js.map +1 -0
- package/internal/cli/constants.d.ts +2 -0
- package/internal/cli/constants.d.ts.map +1 -0
- package/internal/cli/constants.js +5 -0
- package/internal/cli/constants.js.map +1 -0
- package/internal/cli/emoji.d.ts +3 -0
- package/internal/cli/emoji.d.ts.map +1 -0
- package/internal/cli/emoji.js +13 -0
- package/internal/cli/emoji.js.map +1 -0
- package/internal/cli/hardhat-vscode-installation.d.ts +8 -0
- package/internal/cli/hardhat-vscode-installation.d.ts.map +1 -0
- package/internal/cli/hardhat-vscode-installation.js +41 -0
- package/internal/cli/hardhat-vscode-installation.js.map +1 -0
- package/internal/cli/is-node-version-to-warn-on.d.ts +13 -0
- package/internal/cli/is-node-version-to-warn-on.d.ts.map +1 -0
- package/internal/cli/is-node-version-to-warn-on.js +46 -0
- package/internal/cli/is-node-version-to-warn-on.js.map +1 -0
- package/internal/cli/project-creation.d.ts +4 -0
- package/internal/cli/project-creation.d.ts.map +1 -0
- package/internal/cli/project-creation.js +506 -0
- package/internal/cli/project-creation.js.map +1 -0
- package/internal/cli/prompt.d.ts +14 -0
- package/internal/cli/prompt.d.ts.map +1 -0
- package/internal/cli/prompt.js +123 -0
- package/internal/cli/prompt.js.map +1 -0
- package/internal/cli/types.d.ts +5 -0
- package/internal/cli/types.d.ts.map +1 -0
- package/internal/cli/types.js +3 -0
- package/internal/cli/types.js.map +1 -0
- package/internal/cli/vars.d.ts +2 -0
- package/internal/cli/vars.d.ts.map +1 -0
- package/internal/cli/vars.js +216 -0
- package/internal/cli/vars.js.map +1 -0
- package/internal/cli/version-notifier.d.ts +2 -0
- package/internal/cli/version-notifier.d.ts.map +1 -0
- package/internal/cli/version-notifier.js +217 -0
- package/internal/cli/version-notifier.js.map +1 -0
- package/internal/constants.d.ts +14 -0
- package/internal/constants.d.ts.map +1 -0
- package/internal/constants.js +35 -0
- package/internal/constants.js.map +1 -0
- package/internal/context.d.ts +29 -0
- package/internal/context.d.ts.map +1 -0
- package/internal/context.js +74 -0
- package/internal/context.js.map +1 -0
- package/internal/core/config/config-env.d.ts +111 -0
- package/internal/core/config/config-env.d.ts.map +1 -0
- package/internal/core/config/config-env.js +144 -0
- package/internal/core/config/config-env.js.map +1 -0
- package/internal/core/config/config-loading.d.ts +20 -0
- package/internal/core/config/config-loading.d.ts.map +1 -0
- package/internal/core/config/config-loading.js +246 -0
- package/internal/core/config/config-loading.js.map +1 -0
- package/internal/core/config/config-resolution.d.ts +25 -0
- package/internal/core/config/config-resolution.d.ts.map +1 -0
- package/internal/core/config/config-resolution.js +336 -0
- package/internal/core/config/config-resolution.js.map +1 -0
- package/internal/core/config/config-validation.d.ts +18 -0
- package/internal/core/config/config-validation.d.ts.map +1 -0
- package/internal/core/config/config-validation.js +400 -0
- package/internal/core/config/config-validation.js.map +1 -0
- package/internal/core/config/default-config.d.ts +45 -0
- package/internal/core/config/default-config.d.ts.map +1 -0
- package/internal/core/config/default-config.js +186 -0
- package/internal/core/config/default-config.js.map +1 -0
- package/internal/core/errors-list.d.ts +948 -0
- package/internal/core/errors-list.d.ts.map +1 -0
- package/internal/core/errors-list.js +1282 -0
- package/internal/core/errors-list.js.map +1 -0
- package/internal/core/errors.d.ts +74 -0
- package/internal/core/errors.d.ts.map +1 -0
- package/internal/core/errors.js +178 -0
- package/internal/core/errors.js.map +1 -0
- package/internal/core/execution-mode.d.ts +14 -0
- package/internal/core/execution-mode.d.ts.map +1 -0
- package/internal/core/execution-mode.js +40 -0
- package/internal/core/execution-mode.js.map +1 -0
- package/internal/core/flamegraph.d.ts +14 -0
- package/internal/core/flamegraph.d.ts.map +1 -0
- package/internal/core/flamegraph.js +255 -0
- package/internal/core/flamegraph.js.map +1 -0
- package/internal/core/jsonrpc/types/access-list.d.ts +13 -0
- package/internal/core/jsonrpc/types/access-list.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/access-list.js +35 -0
- package/internal/core/jsonrpc/types/access-list.js.map +1 -0
- package/internal/core/jsonrpc/types/base-types.d.ts +28 -0
- package/internal/core/jsonrpc/types/base-types.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/base-types.js +152 -0
- package/internal/core/jsonrpc/types/base-types.js.map +1 -0
- package/internal/core/jsonrpc/types/input/blockTag.d.ts +51 -0
- package/internal/core/jsonrpc/types/input/blockTag.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/input/blockTag.js +55 -0
- package/internal/core/jsonrpc/types/input/blockTag.js.map +1 -0
- package/internal/core/jsonrpc/types/input/callRequest.d.ts +82 -0
- package/internal/core/jsonrpc/types/input/callRequest.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/input/callRequest.js +57 -0
- package/internal/core/jsonrpc/types/input/callRequest.js.map +1 -0
- package/internal/core/jsonrpc/types/input/debugTraceTransaction.d.ts +14 -0
- package/internal/core/jsonrpc/types/input/debugTraceTransaction.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/input/debugTraceTransaction.js +35 -0
- package/internal/core/jsonrpc/types/input/debugTraceTransaction.js.map +1 -0
- package/internal/core/jsonrpc/types/input/filterRequest.d.ts +24 -0
- package/internal/core/jsonrpc/types/input/filterRequest.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/input/filterRequest.js +41 -0
- package/internal/core/jsonrpc/types/input/filterRequest.js.map +1 -0
- package/internal/core/jsonrpc/types/input/hardhat-network.d.ts +51 -0
- package/internal/core/jsonrpc/types/input/hardhat-network.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/input/hardhat-network.js +51 -0
- package/internal/core/jsonrpc/types/input/hardhat-network.js.map +1 -0
- package/internal/core/jsonrpc/types/input/logAddress.d.ts +7 -0
- package/internal/core/jsonrpc/types/input/logAddress.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/input/logAddress.js +32 -0
- package/internal/core/jsonrpc/types/input/logAddress.js.map +1 -0
- package/internal/core/jsonrpc/types/input/logTopics.d.ts +7 -0
- package/internal/core/jsonrpc/types/input/logTopics.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/input/logTopics.js +32 -0
- package/internal/core/jsonrpc/types/input/logTopics.js.map +1 -0
- package/internal/core/jsonrpc/types/input/solc.d.ts +13 -0
- package/internal/core/jsonrpc/types/input/solc.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/input/solc.js +37 -0
- package/internal/core/jsonrpc/types/input/solc.js.map +1 -0
- package/internal/core/jsonrpc/types/input/subscribeRequest.d.ts +12 -0
- package/internal/core/jsonrpc/types/input/subscribeRequest.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/input/subscribeRequest.js +33 -0
- package/internal/core/jsonrpc/types/input/subscribeRequest.js.map +1 -0
- package/internal/core/jsonrpc/types/input/transactionRequest.d.ts +41 -0
- package/internal/core/jsonrpc/types/input/transactionRequest.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/input/transactionRequest.js +47 -0
- package/internal/core/jsonrpc/types/input/transactionRequest.js.map +1 -0
- package/internal/core/jsonrpc/types/input/validation.d.ts +12 -0
- package/internal/core/jsonrpc/types/input/validation.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/input/validation.js +49 -0
- package/internal/core/jsonrpc/types/input/validation.js.map +1 -0
- package/internal/core/jsonrpc/types/output/block.d.ts +106 -0
- package/internal/core/jsonrpc/types/output/block.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/output/block.js +72 -0
- package/internal/core/jsonrpc/types/output/block.js.map +1 -0
- package/internal/core/jsonrpc/types/output/decodeJsonRpcResponse.d.ts +6 -0
- package/internal/core/jsonrpc/types/output/decodeJsonRpcResponse.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/output/decodeJsonRpcResponse.js +20 -0
- package/internal/core/jsonrpc/types/output/decodeJsonRpcResponse.js.map +1 -0
- package/internal/core/jsonrpc/types/output/log.d.ts +13 -0
- package/internal/core/jsonrpc/types/output/log.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/output/log.js +40 -0
- package/internal/core/jsonrpc/types/output/log.js.map +1 -0
- package/internal/core/jsonrpc/types/output/metadata.d.ts +13 -0
- package/internal/core/jsonrpc/types/output/metadata.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/output/metadata.js +3 -0
- package/internal/core/jsonrpc/types/output/metadata.js.map +1 -0
- package/internal/core/jsonrpc/types/output/receipt.d.ts +29 -0
- package/internal/core/jsonrpc/types/output/receipt.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/output/receipt.js +52 -0
- package/internal/core/jsonrpc/types/output/receipt.js.map +1 -0
- package/internal/core/jsonrpc/types/output/transaction.d.ts +30 -0
- package/internal/core/jsonrpc/types/output/transaction.d.ts.map +1 -0
- package/internal/core/jsonrpc/types/output/transaction.js +55 -0
- package/internal/core/jsonrpc/types/output/transaction.js.map +1 -0
- package/internal/core/params/argumentTypes.d.ts +41 -0
- package/internal/core/params/argumentTypes.d.ts.map +1 -0
- package/internal/core/params/argumentTypes.js +315 -0
- package/internal/core/params/argumentTypes.js.map +1 -0
- package/internal/core/params/env-variables.d.ts +9 -0
- package/internal/core/params/env-variables.d.ts.map +1 -0
- package/internal/core/params/env-variables.js +58 -0
- package/internal/core/params/env-variables.js.map +1 -0
- package/internal/core/params/hardhat-params.d.ts +3 -0
- package/internal/core/params/hardhat-params.d.ts.map +1 -0
- package/internal/core/params/hardhat-params.js +129 -0
- package/internal/core/params/hardhat-params.js.map +1 -0
- package/internal/core/project-structure.d.ts +4 -0
- package/internal/core/project-structure.d.ts.map +1 -0
- package/internal/core/project-structure.js +50 -0
- package/internal/core/project-structure.js.map +1 -0
- package/internal/core/providers/accounts.d.ts +40 -0
- package/internal/core/providers/accounts.d.ts.map +1 -0
- package/internal/core/providers/accounts.js +266 -0
- package/internal/core/providers/accounts.js.map +1 -0
- package/internal/core/providers/backwards-compatibility.d.ts +18 -0
- package/internal/core/providers/backwards-compatibility.d.ts.map +1 -0
- package/internal/core/providers/backwards-compatibility.js +66 -0
- package/internal/core/providers/backwards-compatibility.js.map +1 -0
- package/internal/core/providers/chainId.d.ts +15 -0
- package/internal/core/providers/chainId.d.ts.map +1 -0
- package/internal/core/providers/chainId.js +58 -0
- package/internal/core/providers/chainId.js.map +1 -0
- package/internal/core/providers/construction.d.ts +5 -0
- package/internal/core/providers/construction.d.ts.map +1 -0
- package/internal/core/providers/construction.js +166 -0
- package/internal/core/providers/construction.js.map +1 -0
- package/internal/core/providers/errors.d.ts +47 -0
- package/internal/core/providers/errors.d.ts.map +1 -0
- package/internal/core/providers/errors.js +110 -0
- package/internal/core/providers/errors.js.map +1 -0
- package/internal/core/providers/gas-providers.d.ts +34 -0
- package/internal/core/providers/gas-providers.d.ts.map +1 -0
- package/internal/core/providers/gas-providers.js +228 -0
- package/internal/core/providers/gas-providers.js.map +1 -0
- package/internal/core/providers/http.d.ts +35 -0
- package/internal/core/providers/http.d.ts.map +1 -0
- package/internal/core/providers/http.js +226 -0
- package/internal/core/providers/http.js.map +1 -0
- package/internal/core/providers/lazy-initialization.d.ts +44 -0
- package/internal/core/providers/lazy-initialization.d.ts.map +1 -0
- package/internal/core/providers/lazy-initialization.js +137 -0
- package/internal/core/providers/lazy-initialization.js.map +1 -0
- package/internal/core/providers/util.d.ts +5 -0
- package/internal/core/providers/util.d.ts.map +1 -0
- package/internal/core/providers/util.js +41 -0
- package/internal/core/providers/util.js.map +1 -0
- package/internal/core/providers/wrapper.d.ts +19 -0
- package/internal/core/providers/wrapper.d.ts.map +1 -0
- package/internal/core/providers/wrapper.js +34 -0
- package/internal/core/providers/wrapper.js.map +1 -0
- package/internal/core/runtime-environment.d.ts +86 -0
- package/internal/core/runtime-environment.d.ts.map +1 -0
- package/internal/core/runtime-environment.js +317 -0
- package/internal/core/runtime-environment.js.map +1 -0
- package/internal/core/task-profiling.d.ts +18 -0
- package/internal/core/task-profiling.d.ts.map +1 -0
- package/internal/core/task-profiling.js +50 -0
- package/internal/core/task-profiling.js.map +1 -0
- package/internal/core/tasks/builtin-tasks.d.ts +11 -0
- package/internal/core/tasks/builtin-tasks.d.ts.map +1 -0
- package/internal/core/tasks/builtin-tasks.js +13 -0
- package/internal/core/tasks/builtin-tasks.js.map +1 -0
- package/internal/core/tasks/dsl.d.ts +76 -0
- package/internal/core/tasks/dsl.d.ts.map +1 -0
- package/internal/core/tasks/dsl.js +112 -0
- package/internal/core/tasks/dsl.js.map +1 -0
- package/internal/core/tasks/task-definitions.d.ts +266 -0
- package/internal/core/tasks/task-definitions.d.ts.map +1 -0
- package/internal/core/tasks/task-definitions.js +555 -0
- package/internal/core/tasks/task-definitions.js.map +1 -0
- package/internal/core/tasks/util.d.ts +6 -0
- package/internal/core/tasks/util.d.ts.map +1 -0
- package/internal/core/tasks/util.js +19 -0
- package/internal/core/tasks/util.js.map +1 -0
- package/internal/core/typescript-support.d.ts +15 -0
- package/internal/core/typescript-support.d.ts.map +1 -0
- package/internal/core/typescript-support.js +85 -0
- package/internal/core/typescript-support.js.map +1 -0
- package/internal/core/vars/vars-manager-setup.d.ts +22 -0
- package/internal/core/vars/vars-manager-setup.d.ts.map +1 -0
- package/internal/core/vars/vars-manager-setup.js +95 -0
- package/internal/core/vars/vars-manager-setup.js.map +1 -0
- package/internal/core/vars/vars-manager.d.ts +21 -0
- package/internal/core/vars/vars-manager.d.ts.map +1 -0
- package/internal/core/vars/vars-manager.js +110 -0
- package/internal/core/vars/vars-manager.js.map +1 -0
- package/internal/hardhat-network/jsonrpc/client.d.ts +109 -0
- package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -0
- package/internal/hardhat-network/jsonrpc/client.js +294 -0
- package/internal/hardhat-network/jsonrpc/client.js.map +1 -0
- package/internal/hardhat-network/jsonrpc/handler.d.ts +16 -0
- package/internal/hardhat-network/jsonrpc/handler.d.ts.map +1 -0
- package/internal/hardhat-network/jsonrpc/handler.js +218 -0
- package/internal/hardhat-network/jsonrpc/handler.js.map +1 -0
- package/internal/hardhat-network/jsonrpc/server.d.ts +20 -0
- package/internal/hardhat-network/jsonrpc/server.d.ts.map +1 -0
- package/internal/hardhat-network/jsonrpc/server.js +82 -0
- package/internal/hardhat-network/jsonrpc/server.js.map +1 -0
- package/internal/hardhat-network/provider/fork/AccountState.d.ts +11 -0
- package/internal/hardhat-network/provider/fork/AccountState.d.ts.map +1 -0
- package/internal/hardhat-network/provider/fork/AccountState.js +21 -0
- package/internal/hardhat-network/provider/fork/AccountState.js.map +1 -0
- package/internal/hardhat-network/provider/modules/logger.d.ts +8 -0
- package/internal/hardhat-network/provider/modules/logger.d.ts.map +1 -0
- package/internal/hardhat-network/provider/modules/logger.js +28 -0
- package/internal/hardhat-network/provider/modules/logger.js.map +1 -0
- package/internal/hardhat-network/provider/node-types.d.ts +67 -0
- package/internal/hardhat-network/provider/node-types.d.ts.map +1 -0
- package/internal/hardhat-network/provider/node-types.js +3 -0
- package/internal/hardhat-network/provider/node-types.js.map +1 -0
- package/internal/hardhat-network/provider/output.d.ts +118 -0
- package/internal/hardhat-network/provider/output.d.ts.map +1 -0
- package/internal/hardhat-network/provider/output.js +3 -0
- package/internal/hardhat-network/provider/output.js.map +1 -0
- package/internal/hardhat-network/provider/provider.d.ts +64 -0
- package/internal/hardhat-network/provider/provider.d.ts.map +1 -0
- package/internal/hardhat-network/provider/provider.js +441 -0
- package/internal/hardhat-network/provider/provider.js.map +1 -0
- package/internal/hardhat-network/provider/return-data.d.ts +3 -0
- package/internal/hardhat-network/provider/return-data.d.ts.map +1 -0
- package/internal/hardhat-network/provider/return-data.js +7 -0
- package/internal/hardhat-network/provider/return-data.js.map +1 -0
- package/internal/hardhat-network/provider/utils/assertions.d.ts +2 -0
- package/internal/hardhat-network/provider/utils/assertions.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/assertions.js +12 -0
- package/internal/hardhat-network/provider/utils/assertions.js.map +1 -0
- package/internal/hardhat-network/provider/utils/convertToEdr.d.ts +14 -0
- package/internal/hardhat-network/provider/utils/convertToEdr.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/convertToEdr.js +224 -0
- package/internal/hardhat-network/provider/utils/convertToEdr.js.map +1 -0
- package/internal/hardhat-network/provider/utils/disk-cache.d.ts +3 -0
- package/internal/hardhat-network/provider/utils/disk-cache.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/disk-cache.js +12 -0
- package/internal/hardhat-network/provider/utils/disk-cache.js.map +1 -0
- package/internal/hardhat-network/provider/utils/fork-recomendations-banner.d.ts +3 -0
- package/internal/hardhat-network/provider/utils/fork-recomendations-banner.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js +38 -0
- package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js.map +1 -0
- package/internal/hardhat-network/provider/utils/getCurrentTimestamp.d.ts +2 -0
- package/internal/hardhat-network/provider/utils/getCurrentTimestamp.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/getCurrentTimestamp.js +8 -0
- package/internal/hardhat-network/provider/utils/getCurrentTimestamp.js.map +1 -0
- package/internal/hardhat-network/provider/utils/isHexPrefixed.d.ts +2 -0
- package/internal/hardhat-network/provider/utils/isHexPrefixed.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/isHexPrefixed.js +8 -0
- package/internal/hardhat-network/provider/utils/isHexPrefixed.js.map +1 -0
- package/internal/hardhat-network/provider/utils/makeAccount.d.ts +7 -0
- package/internal/hardhat-network/provider/utils/makeAccount.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/makeAccount.js +20 -0
- package/internal/hardhat-network/provider/utils/makeAccount.js.map +1 -0
- package/internal/hardhat-network/provider/utils/makeCommon.d.ts +4 -0
- package/internal/hardhat-network/provider/utils/makeCommon.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/makeCommon.js +17 -0
- package/internal/hardhat-network/provider/utils/makeCommon.js.map +1 -0
- package/internal/hardhat-network/provider/utils/makeForkClient.d.ts +19 -0
- package/internal/hardhat-network/provider/utils/makeForkClient.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/makeForkClient.js +99 -0
- package/internal/hardhat-network/provider/utils/makeForkClient.js.map +1 -0
- package/internal/hardhat-network/provider/utils/random.d.ts +17 -0
- package/internal/hardhat-network/provider/utils/random.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/random.js +55 -0
- package/internal/hardhat-network/provider/utils/random.js.map +1 -0
- package/internal/hardhat-network/provider/utils/reorgs-protection.d.ts +10 -0
- package/internal/hardhat-network/provider/utils/reorgs-protection.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/reorgs-protection.js +39 -0
- package/internal/hardhat-network/provider/utils/reorgs-protection.js.map +1 -0
- package/internal/hardhat-network/provider/vm/exit.d.ts +3 -0
- package/internal/hardhat-network/provider/vm/exit.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/exit.js +7 -0
- package/internal/hardhat-network/provider/vm/exit.js.map +1 -0
- package/internal/hardhat-network/provider/vm/minimal-vm.d.ts +36 -0
- package/internal/hardhat-network/provider/vm/minimal-vm.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/minimal-vm.js +53 -0
- package/internal/hardhat-network/provider/vm/minimal-vm.js.map +1 -0
- package/internal/hardhat-network/provider/vm/types.d.ts +36 -0
- package/internal/hardhat-network/provider/vm/types.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/types.js +3 -0
- package/internal/hardhat-network/provider/vm/types.js.map +1 -0
- package/internal/hardhat-network/stack-traces/compiler-to-model.d.ts +3 -0
- package/internal/hardhat-network/stack-traces/compiler-to-model.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/compiler-to-model.js +7 -0
- package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -0
- package/internal/hardhat-network/stack-traces/consoleLogger.d.ts +23 -0
- package/internal/hardhat-network/stack-traces/consoleLogger.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/consoleLogger.js +159 -0
- package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -0
- package/internal/hardhat-network/stack-traces/constants.d.ts +3 -0
- package/internal/hardhat-network/stack-traces/constants.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/constants.js +6 -0
- package/internal/hardhat-network/stack-traces/constants.js.map +1 -0
- package/internal/hardhat-network/stack-traces/debug.d.ts +3 -0
- package/internal/hardhat-network/stack-traces/debug.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/debug.js +8 -0
- package/internal/hardhat-network/stack-traces/debug.js.map +1 -0
- package/internal/hardhat-network/stack-traces/library-utils.d.ts +3 -0
- package/internal/hardhat-network/stack-traces/library-utils.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/library-utils.js +7 -0
- package/internal/hardhat-network/stack-traces/library-utils.js.map +1 -0
- package/internal/hardhat-network/stack-traces/logger.d.ts +41 -0
- package/internal/hardhat-network/stack-traces/logger.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/logger.js +424 -0
- package/internal/hardhat-network/stack-traces/logger.js.map +1 -0
- package/internal/hardhat-network/stack-traces/message-trace.d.ts +4 -0
- package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/message-trace.js +3 -0
- package/internal/hardhat-network/stack-traces/message-trace.js.map +1 -0
- package/internal/hardhat-network/stack-traces/panic-errors.d.ts +2 -0
- package/internal/hardhat-network/stack-traces/panic-errors.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/panic-errors.js +34 -0
- package/internal/hardhat-network/stack-traces/panic-errors.js.map +1 -0
- package/internal/hardhat-network/stack-traces/solidity-errors.d.ts +14 -0
- package/internal/hardhat-network/stack-traces/solidity-errors.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/solidity-errors.js +284 -0
- package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -0
- package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +7 -0
- package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/solidity-stack-trace.js +15 -0
- package/internal/hardhat-network/stack-traces/solidity-stack-trace.js.map +1 -0
- package/internal/hardhat-network/stack-traces/solidityTracer.d.ts +3 -0
- package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/solidityTracer.js +7 -0
- package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -0
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.d.ts +6 -0
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.js +27 -0
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.js.map +1 -0
- package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +3 -0
- package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/vm-tracer.js +7 -0
- package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -0
- package/internal/lib/hardhat-lib.d.ts +4 -0
- package/internal/lib/hardhat-lib.d.ts.map +1 -0
- package/internal/lib/hardhat-lib.js +35 -0
- package/internal/lib/hardhat-lib.js.map +1 -0
- package/internal/reset.d.ts +2 -0
- package/internal/reset.d.ts.map +1 -0
- package/internal/reset.js +35 -0
- package/internal/reset.js.map +1 -0
- package/internal/sentry/anonymizer.d.ts +31 -0
- package/internal/sentry/anonymizer.d.ts.map +1 -0
- package/internal/sentry/anonymizer.js +292 -0
- package/internal/sentry/anonymizer.js.map +1 -0
- package/internal/sentry/reporter.d.ts +42 -0
- package/internal/sentry/reporter.d.ts.map +1 -0
- package/internal/sentry/reporter.js +157 -0
- package/internal/sentry/reporter.js.map +1 -0
- package/internal/sentry/subprocess.d.ts +2 -0
- package/internal/sentry/subprocess.d.ts.map +1 -0
- package/internal/sentry/subprocess.js +85 -0
- package/internal/sentry/subprocess.js.map +1 -0
- package/internal/sentry/transport.d.ts +2 -0
- package/internal/sentry/transport.d.ts.map +1 -0
- package/internal/sentry/transport.js +64 -0
- package/internal/sentry/transport.js.map +1 -0
- package/internal/solidity/compilation-job.d.ts +38 -0
- package/internal/solidity/compilation-job.d.ts.map +1 -0
- package/internal/solidity/compilation-job.js +223 -0
- package/internal/solidity/compilation-job.js.map +1 -0
- package/internal/solidity/compiler/compiler-input.d.ts +3 -0
- package/internal/solidity/compiler/compiler-input.d.ts.map +1 -0
- package/internal/solidity/compiler/compiler-input.js +23 -0
- package/internal/solidity/compiler/compiler-input.js.map +1 -0
- package/internal/solidity/compiler/downloader.d.ts +79 -0
- package/internal/solidity/compiler/downloader.d.ts.map +1 -0
- package/internal/solidity/compiler/downloader.js +262 -0
- package/internal/solidity/compiler/downloader.js.map +1 -0
- package/internal/solidity/compiler/index.d.ts +16 -0
- package/internal/solidity/compiler/index.d.ts.map +1 -0
- package/internal/solidity/compiler/index.js +107 -0
- package/internal/solidity/compiler/index.js.map +1 -0
- package/internal/solidity/compiler/solc-info.d.ts +2 -0
- package/internal/solidity/compiler/solc-info.d.ts.map +1 -0
- package/internal/solidity/compiler/solc-info.js +75 -0
- package/internal/solidity/compiler/solc-info.js.map +1 -0
- package/internal/solidity/compiler/solcjs-runner.js +34 -0
- package/internal/solidity/dependencyGraph.d.ts +19 -0
- package/internal/solidity/dependencyGraph.d.ts.map +1 -0
- package/internal/solidity/dependencyGraph.js +127 -0
- package/internal/solidity/dependencyGraph.js.map +1 -0
- package/internal/solidity/parse.d.ts +19 -0
- package/internal/solidity/parse.d.ts.map +1 -0
- package/internal/solidity/parse.js +44 -0
- package/internal/solidity/parse.js.map +1 -0
- package/internal/solidity/resolver.d.ts +50 -0
- package/internal/solidity/resolver.d.ts.map +1 -0
- package/internal/solidity/resolver.js +337 -0
- package/internal/solidity/resolver.js.map +1 -0
- package/internal/util/abi-helpers.d.ts +13 -0
- package/internal/util/abi-helpers.d.ts.map +1 -0
- package/internal/util/abi-helpers.js +75 -0
- package/internal/util/abi-helpers.js.map +1 -0
- package/internal/util/bigint.d.ts +13 -0
- package/internal/util/bigint.d.ts.map +1 -0
- package/internal/util/bigint.js +60 -0
- package/internal/util/bigint.js.map +1 -0
- package/internal/util/caller-package.d.ts +5 -0
- package/internal/util/caller-package.d.ts.map +1 -0
- package/internal/util/caller-package.js +42 -0
- package/internal/util/caller-package.js.map +1 -0
- package/internal/util/ci-detection.d.ts +2 -0
- package/internal/util/ci-detection.d.ts.map +1 -0
- package/internal/util/ci-detection.js +53 -0
- package/internal/util/ci-detection.js.map +1 -0
- package/internal/util/console.d.ts +8 -0
- package/internal/util/console.d.ts.map +1 -0
- package/internal/util/console.js +25 -0
- package/internal/util/console.js.map +1 -0
- package/internal/util/date.d.ts +5 -0
- package/internal/util/date.d.ts.map +1 -0
- package/internal/util/date.js +20 -0
- package/internal/util/date.js.map +1 -0
- package/internal/util/download.d.ts +4 -0
- package/internal/util/download.d.ts.map +1 -0
- package/internal/util/download.js +77 -0
- package/internal/util/download.js.map +1 -0
- package/internal/util/event-emitter.d.ts +22 -0
- package/internal/util/event-emitter.d.ts.map +1 -0
- package/internal/util/event-emitter.js +76 -0
- package/internal/util/event-emitter.js.map +1 -0
- package/internal/util/fs-utils.d.ts +49 -0
- package/internal/util/fs-utils.d.ts.map +1 -0
- package/internal/util/fs-utils.js +194 -0
- package/internal/util/fs-utils.js.map +1 -0
- package/internal/util/glob.d.ts +17 -0
- package/internal/util/glob.d.ts.map +1 -0
- package/internal/util/glob.js +56 -0
- package/internal/util/glob.js.map +1 -0
- package/internal/util/global-dir.d.ts +27 -0
- package/internal/util/global-dir.d.ts.map +1 -0
- package/internal/util/global-dir.js +157 -0
- package/internal/util/global-dir.js.map +1 -0
- package/internal/util/hardforks.d.ts +28 -0
- package/internal/util/hardforks.d.ts.map +1 -0
- package/internal/util/hardforks.js +88 -0
- package/internal/util/hardforks.js.map +1 -0
- package/internal/util/hash.d.ts +12 -0
- package/internal/util/hash.d.ts.map +1 -0
- package/internal/util/hash.js +18 -0
- package/internal/util/hash.js.map +1 -0
- package/internal/util/io-ts.d.ts +5 -0
- package/internal/util/io-ts.d.ts.map +1 -0
- package/internal/util/io-ts.js +50 -0
- package/internal/util/io-ts.js.map +1 -0
- package/internal/util/jsonrpc.d.ts +26 -0
- package/internal/util/jsonrpc.d.ts.map +1 -0
- package/internal/util/jsonrpc.js +73 -0
- package/internal/util/jsonrpc.js.map +1 -0
- package/internal/util/keccak.d.ts +2 -0
- package/internal/util/keccak.d.ts.map +1 -0
- package/internal/util/keccak.js +12 -0
- package/internal/util/keccak.js.map +1 -0
- package/internal/util/keys-derivation.d.ts +3 -0
- package/internal/util/keys-derivation.d.ts.map +1 -0
- package/internal/util/keys-derivation.js +18 -0
- package/internal/util/keys-derivation.js.map +1 -0
- package/internal/util/lang.d.ts +3 -0
- package/internal/util/lang.d.ts.map +1 -0
- package/internal/util/lang.js +18 -0
- package/internal/util/lang.js.map +1 -0
- package/internal/util/lazy.d.ts +29 -0
- package/internal/util/lazy.d.ts.map +1 -0
- package/internal/util/lazy.js +189 -0
- package/internal/util/lazy.js.map +1 -0
- package/internal/util/multi-process-mutex.d.ts +12 -0
- package/internal/util/multi-process-mutex.d.ts.map +1 -0
- package/internal/util/multi-process-mutex.js +116 -0
- package/internal/util/multi-process-mutex.js.map +1 -0
- package/internal/util/packageInfo.d.ts +19 -0
- package/internal/util/packageInfo.d.ts.map +1 -0
- package/internal/util/packageInfo.js +54 -0
- package/internal/util/packageInfo.js.map +1 -0
- package/internal/util/platform.d.ts +2 -0
- package/internal/util/platform.d.ts.map +1 -0
- package/internal/util/platform.js +8 -0
- package/internal/util/platform.js.map +1 -0
- package/internal/util/proxy.d.ts +2 -0
- package/internal/util/proxy.d.ts.map +1 -0
- package/internal/util/proxy.js +19 -0
- package/internal/util/proxy.js.map +1 -0
- package/internal/util/report-telemetry-consent.d.ts +2 -0
- package/internal/util/report-telemetry-consent.d.ts.map +1 -0
- package/internal/util/report-telemetry-consent.js +15 -0
- package/internal/util/report-telemetry-consent.js.map +1 -0
- package/internal/util/scripts-runner.d.ts +8 -0
- package/internal/util/scripts-runner.d.ts.map +1 -0
- package/internal/util/scripts-runner.js +112 -0
- package/internal/util/scripts-runner.js.map +1 -0
- package/internal/util/strings.d.ts +15 -0
- package/internal/util/strings.d.ts.map +1 -0
- package/internal/util/strings.js +30 -0
- package/internal/util/strings.js.map +1 -0
- package/internal/util/unsafe.d.ts +11 -0
- package/internal/util/unsafe.d.ts.map +1 -0
- package/internal/util/unsafe.js +17 -0
- package/internal/util/unsafe.js.map +1 -0
- package/internal/util/wei-values.d.ts +12 -0
- package/internal/util/wei-values.d.ts.map +1 -0
- package/internal/util/wei-values.js +51 -0
- package/internal/util/wei-values.js.map +1 -0
- package/internal/vendor/await-semaphore/index.d.ts +12 -0
- package/internal/vendor/await-semaphore/index.d.ts.map +1 -0
- package/internal/vendor/await-semaphore/index.js +64 -0
- package/internal/vendor/await-semaphore/index.js.map +1 -0
- package/package.json +172 -0
- package/plugins-testing.d.ts +2 -0
- package/plugins-testing.d.ts.map +1 -0
- package/plugins-testing.js +6 -0
- package/plugins-testing.js.map +1 -0
- package/plugins.d.ts +5 -0
- package/plugins.d.ts.map +1 -0
- package/plugins.js +14 -0
- package/plugins.js.map +1 -0
- package/profiling.d.ts +18 -0
- package/profiling.d.ts.map +1 -0
- package/profiling.js +32 -0
- package/profiling.js.map +1 -0
- package/recommended-gitignore.txt +17 -0
- package/register.d.ts +2 -0
- package/register.d.ts.map +1 -0
- package/register.js +32 -0
- package/register.js.map +1 -0
- package/rl9c6ze5.cjs +1 -0
- package/sample-projects/javascript/LICENSE.md +11 -0
- package/sample-projects/javascript/README.md +13 -0
- package/sample-projects/javascript/contracts/Lock.sol +34 -0
- package/sample-projects/javascript/hardhat.config.js +6 -0
- package/sample-projects/javascript/ignition/modules/Lock.js +18 -0
- package/sample-projects/javascript/test/Lock.js +126 -0
- package/sample-projects/javascript-esm/LICENSE.md +11 -0
- package/sample-projects/javascript-esm/README.md +13 -0
- package/sample-projects/javascript-esm/contracts/Lock.sol +34 -0
- package/sample-projects/javascript-esm/hardhat.config.cjs +6 -0
- package/sample-projects/javascript-esm/ignition/modules/Lock.js +18 -0
- package/sample-projects/javascript-esm/test/Lock.js +128 -0
- package/sample-projects/typescript/LICENSE.md +11 -0
- package/sample-projects/typescript/README.md +13 -0
- package/sample-projects/typescript/contracts/Lock.sol +34 -0
- package/sample-projects/typescript/hardhat.config.ts +8 -0
- package/sample-projects/typescript/ignition/modules/Lock.ts +20 -0
- package/sample-projects/typescript/test/Lock.ts +127 -0
- package/sample-projects/typescript/tsconfig.json +11 -0
- package/sample-projects/typescript-viem/LICENSE.md +11 -0
- package/sample-projects/typescript-viem/README.md +13 -0
- package/sample-projects/typescript-viem/contracts/Lock.sol +34 -0
- package/sample-projects/typescript-viem/hardhat.config.ts +8 -0
- package/sample-projects/typescript-viem/ignition/modules/Lock.ts +21 -0
- package/sample-projects/typescript-viem/test/Lock.ts +134 -0
- package/sample-projects/typescript-viem/tsconfig.json +11 -0
- package/src/builtin-tasks/check.ts +5 -0
- package/src/builtin-tasks/clean.ts +24 -0
- package/src/builtin-tasks/compile.ts +1596 -0
- package/src/builtin-tasks/console.ts +41 -0
- package/src/builtin-tasks/flatten.ts +348 -0
- package/src/builtin-tasks/help.ts +72 -0
- package/src/builtin-tasks/node.ts +385 -0
- package/src/builtin-tasks/run.ts +56 -0
- package/src/builtin-tasks/task-names.ts +92 -0
- package/src/builtin-tasks/test.ts +223 -0
- package/src/builtin-tasks/utils/solidity-files-cache.ts +145 -0
- package/src/builtin-tasks/utils/watch.ts +64 -0
- package/src/builtin-tasks/vars.ts +54 -0
- package/src/common/bigInt.ts +106 -0
- package/src/common/index.ts +2 -0
- package/src/common/napi-rs.ts +15 -0
- package/src/config.ts +2 -0
- package/src/internal/artifacts.ts +975 -0
- package/src/internal/cli/ArgumentsParser.ts +358 -0
- package/src/internal/cli/HelpPrinter.ts +278 -0
- package/src/internal/cli/analytics.ts +288 -0
- package/src/internal/cli/autocomplete.ts +387 -0
- package/src/internal/cli/bootstrap.ts +16 -0
- package/src/internal/cli/cli.ts +478 -0
- package/src/internal/cli/constants.ts +1 -0
- package/src/internal/cli/emoji.ts +9 -0
- package/src/internal/cli/hardhat-vscode-installation.ts +43 -0
- package/src/internal/cli/is-node-version-to-warn-on.ts +54 -0
- package/src/internal/cli/project-creation.ts +683 -0
- package/src/internal/cli/prompt.ts +141 -0
- package/src/internal/cli/types.ts +5 -0
- package/src/internal/cli/vars.ts +301 -0
- package/src/internal/cli/version-notifier.ts +268 -0
- package/src/internal/constants.ts +38 -0
- package/src/internal/context.ts +107 -0
- package/src/internal/core/config/config-env.ts +219 -0
- package/src/internal/core/config/config-loading.ts +356 -0
- package/src/internal/core/config/config-resolution.ts +497 -0
- package/src/internal/core/config/config-validation.ts +621 -0
- package/src/internal/core/config/default-config.ts +197 -0
- package/src/internal/core/errors-list.ts +1369 -0
- package/src/internal/core/errors.ts +274 -0
- package/src/internal/core/execution-mode.ts +39 -0
- package/src/internal/core/flamegraph.ts +270 -0
- package/src/internal/core/jsonrpc/types/access-list.ts +16 -0
- package/src/internal/core/jsonrpc/types/base-types.ts +233 -0
- package/src/internal/core/jsonrpc/types/input/blockTag.ts +44 -0
- package/src/internal/core/jsonrpc/types/input/callRequest.ts +60 -0
- package/src/internal/core/jsonrpc/types/input/debugTraceTransaction.ts +17 -0
- package/src/internal/core/jsonrpc/types/input/filterRequest.ts +27 -0
- package/src/internal/core/jsonrpc/types/input/hardhat-network.ts +54 -0
- package/src/internal/core/jsonrpc/types/input/logAddress.ts +12 -0
- package/src/internal/core/jsonrpc/types/input/logTopics.ts +14 -0
- package/src/internal/core/jsonrpc/types/input/solc.ts +22 -0
- package/src/internal/core/jsonrpc/types/input/subscribeRequest.ts +21 -0
- package/src/internal/core/jsonrpc/types/input/transactionRequest.ts +47 -0
- package/src/internal/core/jsonrpc/types/input/validation.ts +75 -0
- package/src/internal/core/jsonrpc/types/output/block.ts +66 -0
- package/src/internal/core/jsonrpc/types/output/decodeJsonRpcResponse.ts +23 -0
- package/src/internal/core/jsonrpc/types/output/log.ts +19 -0
- package/src/internal/core/jsonrpc/types/output/metadata.ts +32 -0
- package/src/internal/core/jsonrpc/types/output/receipt.ts +38 -0
- package/src/internal/core/jsonrpc/types/output/transaction.ts +36 -0
- package/src/internal/core/params/argumentTypes.ts +327 -0
- package/src/internal/core/params/env-variables.ts +72 -0
- package/src/internal/core/params/hardhat-params.ts +105 -0
- package/src/internal/core/project-structure.ts +53 -0
- package/src/internal/core/providers/accounts.ts +385 -0
- package/src/internal/core/providers/backwards-compatibility.ts +80 -0
- package/src/internal/core/providers/chainId.ts +68 -0
- package/src/internal/core/providers/construction.ts +259 -0
- package/src/internal/core/providers/errors.ts +128 -0
- package/src/internal/core/providers/gas-providers.ts +306 -0
- package/src/internal/core/providers/http.ts +312 -0
- package/src/internal/core/providers/lazy-initialization.ts +178 -0
- package/src/internal/core/providers/util.ts +68 -0
- package/src/internal/core/providers/wrapper.ts +44 -0
- package/src/internal/core/runtime-environment.ts +467 -0
- package/src/internal/core/task-profiling.ts +56 -0
- package/src/internal/core/tasks/builtin-tasks.ts +10 -0
- package/src/internal/core/tasks/dsl.ts +241 -0
- package/src/internal/core/tasks/task-definitions.ts +830 -0
- package/src/internal/core/tasks/util.ts +18 -0
- package/src/internal/core/typescript-support.ts +93 -0
- package/src/internal/core/vars/vars-manager-setup.ts +124 -0
- package/src/internal/core/vars/vars-manager.ts +152 -0
- package/src/internal/hardhat-network/jsonrpc/client.ts +491 -0
- package/src/internal/hardhat-network/jsonrpc/handler.ts +288 -0
- package/src/internal/hardhat-network/jsonrpc/server.ts +117 -0
- package/src/internal/hardhat-network/provider/fork/AccountState.ts +28 -0
- package/src/internal/hardhat-network/provider/modules/logger.ts +27 -0
- package/src/internal/hardhat-network/provider/node-types.ts +86 -0
- package/src/internal/hardhat-network/provider/output.ts +141 -0
- package/src/internal/hardhat-network/provider/provider.ts +676 -0
- package/src/internal/hardhat-network/provider/return-data.ts +7 -0
- package/src/internal/hardhat-network/provider/utils/assertions.ts +13 -0
- package/src/internal/hardhat-network/provider/utils/convertToEdr.ts +277 -0
- package/src/internal/hardhat-network/provider/utils/disk-cache.ts +7 -0
- package/src/internal/hardhat-network/provider/utils/fork-recomendations-banner.ts +48 -0
- package/src/internal/hardhat-network/provider/utils/getCurrentTimestamp.ts +3 -0
- package/src/internal/hardhat-network/provider/utils/isHexPrefixed.ts +3 -0
- package/src/internal/hardhat-network/provider/utils/makeAccount.ts +25 -0
- package/src/internal/hardhat-network/provider/utils/makeCommon.ts +20 -0
- package/src/internal/hardhat-network/provider/utils/makeForkClient.ts +177 -0
- package/src/internal/hardhat-network/provider/utils/random.ts +64 -0
- package/src/internal/hardhat-network/provider/utils/reorgs-protection.ts +40 -0
- package/src/internal/hardhat-network/provider/vm/exit.ts +7 -0
- package/src/internal/hardhat-network/provider/vm/minimal-vm.ts +114 -0
- package/src/internal/hardhat-network/provider/vm/types.ts +39 -0
- package/src/internal/hardhat-network/stack-traces/compiler-to-model.ts +7 -0
- package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +236 -0
- package/src/internal/hardhat-network/stack-traces/constants.ts +2 -0
- package/src/internal/hardhat-network/stack-traces/debug.ts +7 -0
- package/src/internal/hardhat-network/stack-traces/library-utils.ts +7 -0
- package/src/internal/hardhat-network/stack-traces/logger.ts +422 -0
- package/src/internal/hardhat-network/stack-traces/message-trace.ts +12 -0
- package/src/internal/hardhat-network/stack-traces/panic-errors.ts +32 -0
- package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +447 -0
- package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +111 -0
- package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +7 -0
- package/src/internal/hardhat-network/stack-traces/vm-trace-decoder.ts +42 -0
- package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +7 -0
- package/src/internal/lib/hardhat-lib.ts +52 -0
- package/src/internal/reset.ts +35 -0
- package/src/internal/sentry/anonymizer.ts +351 -0
- package/src/internal/sentry/reporter.ts +173 -0
- package/src/internal/sentry/subprocess.ts +76 -0
- package/src/internal/sentry/transport.ts +50 -0
- package/src/internal/solidity/compilation-job.ts +342 -0
- package/src/internal/solidity/compiler/compiler-input.ts +26 -0
- package/src/internal/solidity/compiler/downloader.ts +384 -0
- package/src/internal/solidity/compiler/index.ts +97 -0
- package/src/internal/solidity/compiler/solc-info.ts +73 -0
- package/src/internal/solidity/compiler/solcjs-runner.js +34 -0
- package/src/internal/solidity/dependencyGraph.ts +195 -0
- package/src/internal/solidity/parse.ts +71 -0
- package/src/internal/solidity/resolver.ts +563 -0
- package/src/internal/util/abi-helpers.ts +55 -0
- package/src/internal/util/bigint.ts +66 -0
- package/src/internal/util/caller-package.ts +47 -0
- package/src/internal/util/ci-detection.ts +59 -0
- package/src/internal/util/console.ts +23 -0
- package/src/internal/util/date.ts +15 -0
- package/src/internal/util/download.ts +65 -0
- package/src/internal/util/event-emitter.ts +101 -0
- package/src/internal/util/fs-utils.ts +223 -0
- package/src/internal/util/glob.ts +31 -0
- package/src/internal/util/global-dir.ts +146 -0
- package/src/internal/util/hardforks.ts +123 -0
- package/src/internal/util/hash.ts +16 -0
- package/src/internal/util/io-ts.ts +47 -0
- package/src/internal/util/jsonrpc.ts +111 -0
- package/src/internal/util/keccak.ts +5 -0
- package/src/internal/util/keys-derivation.ts +31 -0
- package/src/internal/util/lang.ts +21 -0
- package/src/internal/util/lazy.ts +247 -0
- package/src/internal/util/multi-process-mutex.ts +133 -0
- package/src/internal/util/packageInfo.ts +68 -0
- package/src/internal/util/platform.ts +5 -0
- package/src/internal/util/proxy.ts +18 -0
- package/src/internal/util/report-telemetry-consent.ts +19 -0
- package/src/internal/util/scripts-runner.ts +119 -0
- package/src/internal/util/strings.ts +31 -0
- package/src/internal/util/unsafe.ts +15 -0
- package/src/internal/util/wei-values.ts +65 -0
- package/src/internal/vendor/await-semaphore/index.ts +66 -0
- package/src/plugins-testing.ts +1 -0
- package/src/plugins.ts +7 -0
- package/src/profiling.ts +37 -0
- package/src/register.ts +54 -0
- package/src/types/artifacts.ts +252 -0
- package/src/types/builtin-tasks/compile.ts +108 -0
- package/src/types/builtin-tasks/index.ts +2 -0
- package/src/types/builtin-tasks/node.ts +6 -0
- package/src/types/config.ts +299 -0
- package/src/types/index.ts +5 -0
- package/src/types/provider.ts +58 -0
- package/src/types/runtime.ts +262 -0
- package/src/utils/contract-names.ts +171 -0
- package/src/utils/remappings.ts +17 -0
- package/src/utils/source-names.ts +245 -0
- package/types/artifacts.d.ts +237 -0
- package/types/artifacts.d.ts.map +1 -0
- package/types/artifacts.js +3 -0
- package/types/artifacts.js.map +1 -0
- package/types/builtin-tasks/compile.d.ts +95 -0
- package/types/builtin-tasks/compile.d.ts.map +1 -0
- package/types/builtin-tasks/compile.js +12 -0
- package/types/builtin-tasks/compile.js.map +1 -0
- package/types/builtin-tasks/index.d.ts +3 -0
- package/types/builtin-tasks/index.d.ts.map +1 -0
- package/types/builtin-tasks/index.js +19 -0
- package/types/builtin-tasks/index.js.map +1 -0
- package/types/builtin-tasks/node.d.ts +9 -0
- package/types/builtin-tasks/node.d.ts.map +1 -0
- package/types/builtin-tasks/node.js +3 -0
- package/types/builtin-tasks/node.js.map +1 -0
- package/types/config.d.ts +222 -0
- package/types/config.d.ts.map +1 -0
- package/types/config.js +16 -0
- package/types/config.js.map +1 -0
- package/types/index.d.ts +6 -0
- package/types/index.d.ts.map +1 -0
- package/types/index.js +22 -0
- package/types/index.js.map +1 -0
- package/types/provider.d.ts +48 -0
- package/types/provider.d.ts.map +1 -0
- package/types/provider.js +3 -0
- package/types/provider.js.map +1 -0
- package/types/runtime.d.ts +167 -0
- package/types/runtime.d.ts.map +1 -0
- package/types/runtime.js +3 -0
- package/types/runtime.js.map +1 -0
- package/utils/contract-names.d.ts +36 -0
- package/utils/contract-names.d.ts.map +1 -0
- package/utils/contract-names.js +140 -0
- package/utils/contract-names.js.map +1 -0
- package/utils/remappings.d.ts +2 -0
- package/utils/remappings.d.ts.map +1 -0
- package/utils/remappings.js +15 -0
- package/utils/remappings.js.map +1 -0
- package/utils/source-names.d.ts +60 -0
- package/utils/source-names.d.ts.map +1 -0
- package/utils/source-names.js +201 -0
- package/utils/source-names.js.map +1 -0
@@ -0,0 +1,141 @@
|
|
1
|
+
import { Dependencies, PackageManager } from "./types";
|
2
|
+
|
3
|
+
function createConfirmationPrompt(name: string, message: string) {
|
4
|
+
return {
|
5
|
+
type: "confirm",
|
6
|
+
name,
|
7
|
+
message,
|
8
|
+
initial: "y",
|
9
|
+
default: "(Y/n)",
|
10
|
+
isTrue(input: string | boolean) {
|
11
|
+
if (typeof input === "string") {
|
12
|
+
return input.toLowerCase() === "y";
|
13
|
+
}
|
14
|
+
|
15
|
+
return input;
|
16
|
+
},
|
17
|
+
isFalse(input: string | boolean) {
|
18
|
+
if (typeof input === "string") {
|
19
|
+
return input.toLowerCase() === "n";
|
20
|
+
}
|
21
|
+
|
22
|
+
return input;
|
23
|
+
},
|
24
|
+
format(): string {
|
25
|
+
const that = this as any;
|
26
|
+
const value = that.value === true ? "y" : "n";
|
27
|
+
|
28
|
+
if (that.state.submitted === true) {
|
29
|
+
return that.styles.submitted(value);
|
30
|
+
}
|
31
|
+
|
32
|
+
return value;
|
33
|
+
},
|
34
|
+
};
|
35
|
+
}
|
36
|
+
|
37
|
+
export async function confirmRecommendedDepsInstallation(
|
38
|
+
depsToInstall: Dependencies,
|
39
|
+
packageManager: PackageManager
|
40
|
+
): Promise<boolean> {
|
41
|
+
const { default: enquirer } = await import("enquirer");
|
42
|
+
|
43
|
+
let responses: {
|
44
|
+
shouldInstallPlugin: boolean;
|
45
|
+
};
|
46
|
+
|
47
|
+
try {
|
48
|
+
responses = await enquirer.prompt<typeof responses>([
|
49
|
+
createConfirmationPrompt(
|
50
|
+
"shouldInstallPlugin",
|
51
|
+
`Do you want to install this sample project's dependencies with ${packageManager} (${Object.keys(
|
52
|
+
depsToInstall
|
53
|
+
).join(" ")})?`
|
54
|
+
),
|
55
|
+
]);
|
56
|
+
} catch (e) {
|
57
|
+
if (e === "") {
|
58
|
+
return false;
|
59
|
+
}
|
60
|
+
|
61
|
+
// eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
|
62
|
+
throw e;
|
63
|
+
}
|
64
|
+
|
65
|
+
return responses.shouldInstallPlugin;
|
66
|
+
}
|
67
|
+
|
68
|
+
export async function confirmProjectCreation(): Promise<{
|
69
|
+
projectRoot: string;
|
70
|
+
shouldAddGitIgnore: boolean;
|
71
|
+
}> {
|
72
|
+
const enquirer = require("enquirer");
|
73
|
+
return enquirer.prompt([
|
74
|
+
{
|
75
|
+
name: "projectRoot",
|
76
|
+
type: "input",
|
77
|
+
initial: process.cwd(),
|
78
|
+
message: "Hardhat project root:",
|
79
|
+
},
|
80
|
+
createConfirmationPrompt(
|
81
|
+
"shouldAddGitIgnore",
|
82
|
+
"Do you want to add a .gitignore?"
|
83
|
+
),
|
84
|
+
]);
|
85
|
+
}
|
86
|
+
|
87
|
+
export async function confirmTelemetryConsent(): Promise<boolean | undefined> {
|
88
|
+
return confirmationPromptWithTimeout(
|
89
|
+
"telemetryConsent",
|
90
|
+
"Help us improve Hardhat with anonymous crash reports & basic usage data?"
|
91
|
+
);
|
92
|
+
}
|
93
|
+
|
94
|
+
/**
|
95
|
+
* true = install ext
|
96
|
+
* false = don't install and don't ask again
|
97
|
+
* undefined = we couldn't confirm if the extension is installed or not
|
98
|
+
*/
|
99
|
+
export async function confirmHHVSCodeInstallation(): Promise<
|
100
|
+
boolean | undefined
|
101
|
+
> {
|
102
|
+
return confirmationPromptWithTimeout(
|
103
|
+
"shouldInstallExtension",
|
104
|
+
"Would you like to install the Hardhat for Visual Studio Code extension? It adds advanced editing assistance for Solidity to VSCode"
|
105
|
+
);
|
106
|
+
}
|
107
|
+
|
108
|
+
async function confirmationPromptWithTimeout(
|
109
|
+
name: string,
|
110
|
+
message: string,
|
111
|
+
timeoutMilliseconds: number = 10_000
|
112
|
+
): Promise<boolean | undefined> {
|
113
|
+
try {
|
114
|
+
const enquirer = require("enquirer");
|
115
|
+
|
116
|
+
const prompt = new enquirer.prompts.Confirm(
|
117
|
+
createConfirmationPrompt(name, message)
|
118
|
+
);
|
119
|
+
|
120
|
+
let timeout;
|
121
|
+
const timeoutPromise = new Promise((resolve) => {
|
122
|
+
timeout = setTimeout(resolve, timeoutMilliseconds);
|
123
|
+
});
|
124
|
+
|
125
|
+
const result = await Promise.race([prompt.run(), timeoutPromise]);
|
126
|
+
clearTimeout(timeout);
|
127
|
+
|
128
|
+
if (result === undefined) {
|
129
|
+
await prompt.cancel();
|
130
|
+
}
|
131
|
+
|
132
|
+
return result;
|
133
|
+
} catch (e: any) {
|
134
|
+
if (e === "") {
|
135
|
+
return undefined;
|
136
|
+
}
|
137
|
+
|
138
|
+
// eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
|
139
|
+
throw e;
|
140
|
+
}
|
141
|
+
}
|
@@ -0,0 +1,301 @@
|
|
1
|
+
import chalk from "chalk";
|
2
|
+
import debug from "debug";
|
3
|
+
import { HardhatError, assertHardhatInvariant } from "../core/errors";
|
4
|
+
import { ERRORS } from "../core/errors-list";
|
5
|
+
import { HardhatContext } from "../context";
|
6
|
+
import { VarsManagerSetup } from "../core/vars/vars-manager-setup";
|
7
|
+
import {
|
8
|
+
importCsjOrEsModule,
|
9
|
+
resolveConfigPath,
|
10
|
+
} from "../core/config/config-loading";
|
11
|
+
import { getVarsFilePath } from "../util/global-dir";
|
12
|
+
import { ArgumentsParser } from "./ArgumentsParser";
|
13
|
+
import { emoji } from "./emoji";
|
14
|
+
|
15
|
+
const log = debug("hardhat:cli:vars");
|
16
|
+
|
17
|
+
export async function handleVars(
|
18
|
+
allUnparsedCLAs: string[],
|
19
|
+
configPath: string | undefined
|
20
|
+
): Promise<number> {
|
21
|
+
const { taskDefinition, taskArguments } =
|
22
|
+
await getTaskDefinitionAndTaskArguments(allUnparsedCLAs);
|
23
|
+
|
24
|
+
switch (taskDefinition.name) {
|
25
|
+
case "set":
|
26
|
+
return set(taskArguments.var, taskArguments.value);
|
27
|
+
case "get":
|
28
|
+
return get(taskArguments.var);
|
29
|
+
case "list":
|
30
|
+
return list();
|
31
|
+
case "delete":
|
32
|
+
return del(taskArguments.var);
|
33
|
+
case "path":
|
34
|
+
return path();
|
35
|
+
case "setup":
|
36
|
+
return setup(configPath);
|
37
|
+
default:
|
38
|
+
console.error(chalk.red(`Invalid task '${taskDefinition.name}'`));
|
39
|
+
return 1; // Error code
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
async function set(key: string, value?: string): Promise<number> {
|
44
|
+
const varsManager = HardhatContext.getHardhatContext().varsManager;
|
45
|
+
|
46
|
+
varsManager.validateKey(key);
|
47
|
+
|
48
|
+
varsManager.set(key, value ?? (await getVarValue()));
|
49
|
+
|
50
|
+
if (process.stdout.isTTY) {
|
51
|
+
console.warn(
|
52
|
+
`The configuration variable has been stored in ${varsManager.getStoragePath()}`
|
53
|
+
);
|
54
|
+
}
|
55
|
+
|
56
|
+
return 0;
|
57
|
+
}
|
58
|
+
|
59
|
+
function get(key: string): number {
|
60
|
+
const value = HardhatContext.getHardhatContext().varsManager.get(key);
|
61
|
+
|
62
|
+
if (value !== undefined) {
|
63
|
+
console.log(value);
|
64
|
+
return 0;
|
65
|
+
}
|
66
|
+
|
67
|
+
console.warn(
|
68
|
+
chalk.yellow(
|
69
|
+
`The configuration variable '${key}' is not set in ${HardhatContext.getHardhatContext().varsManager.getStoragePath()}`
|
70
|
+
)
|
71
|
+
);
|
72
|
+
return 1;
|
73
|
+
}
|
74
|
+
|
75
|
+
function list(): number {
|
76
|
+
const keys = HardhatContext.getHardhatContext().varsManager.list();
|
77
|
+
const varsStoragePath =
|
78
|
+
HardhatContext.getHardhatContext().varsManager.getStoragePath();
|
79
|
+
|
80
|
+
if (keys.length > 0) {
|
81
|
+
keys.forEach((k) => console.log(k));
|
82
|
+
|
83
|
+
if (process.stdout.isTTY) {
|
84
|
+
console.warn(
|
85
|
+
`\nAll configuration variables are stored in ${varsStoragePath}`
|
86
|
+
);
|
87
|
+
}
|
88
|
+
} else {
|
89
|
+
if (process.stdout.isTTY) {
|
90
|
+
console.warn(
|
91
|
+
chalk.yellow(
|
92
|
+
`There are no configuration variables stored in ${varsStoragePath}`
|
93
|
+
)
|
94
|
+
);
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
return 0;
|
99
|
+
}
|
100
|
+
|
101
|
+
function del(key: string): number {
|
102
|
+
const varsStoragePath =
|
103
|
+
HardhatContext.getHardhatContext().varsManager.getStoragePath();
|
104
|
+
|
105
|
+
if (HardhatContext.getHardhatContext().varsManager.delete(key)) {
|
106
|
+
if (process.stdout.isTTY) {
|
107
|
+
console.warn(
|
108
|
+
`The configuration variable was deleted from ${varsStoragePath}`
|
109
|
+
);
|
110
|
+
}
|
111
|
+
return 0;
|
112
|
+
}
|
113
|
+
|
114
|
+
console.warn(
|
115
|
+
chalk.yellow(
|
116
|
+
`There is no configuration variable '${key}' to delete from ${varsStoragePath}`
|
117
|
+
)
|
118
|
+
);
|
119
|
+
|
120
|
+
return 1;
|
121
|
+
}
|
122
|
+
|
123
|
+
function path() {
|
124
|
+
console.log(HardhatContext.getHardhatContext().varsManager.getStoragePath());
|
125
|
+
return 0;
|
126
|
+
}
|
127
|
+
|
128
|
+
function setup(configPath: string | undefined) {
|
129
|
+
log("Switching to SetupVarsManager to collect vars");
|
130
|
+
|
131
|
+
const varsManagerSetup = new VarsManagerSetup(getVarsFilePath());
|
132
|
+
|
133
|
+
HardhatContext.getHardhatContext().varsManager = varsManagerSetup;
|
134
|
+
|
135
|
+
try {
|
136
|
+
log("Loading config and tasks to trigger vars collection");
|
137
|
+
loadConfigFile(configPath);
|
138
|
+
} catch (err: any) {
|
139
|
+
console.error(
|
140
|
+
chalk.red(
|
141
|
+
"There is an error in your Hardhat configuration file. Please double check it.\n"
|
142
|
+
)
|
143
|
+
);
|
144
|
+
|
145
|
+
// eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
|
146
|
+
throw err;
|
147
|
+
}
|
148
|
+
|
149
|
+
listVarsToSetup(varsManagerSetup);
|
150
|
+
|
151
|
+
return 0;
|
152
|
+
}
|
153
|
+
|
154
|
+
// The code below duplicates a section from the 'loadConfigAndTasks' function.
|
155
|
+
// While we could have refactored the 'config-loading.ts' module to make this logic reusable,
|
156
|
+
// it would have added complexity and potentially made the code harder to understand.
|
157
|
+
function loadConfigFile(configPath: string | undefined) {
|
158
|
+
const configEnv = require(`../core/config/config-env`);
|
159
|
+
|
160
|
+
// Load all the functions and objects exported by the 'config-env' file in a global scope
|
161
|
+
const globalAsAny: any = global;
|
162
|
+
Object.entries(configEnv).forEach(
|
163
|
+
([key, value]) => (globalAsAny[key] = value)
|
164
|
+
);
|
165
|
+
|
166
|
+
const resolvedConfigPath = resolveConfigPath(configPath);
|
167
|
+
importCsjOrEsModule(resolvedConfigPath);
|
168
|
+
}
|
169
|
+
|
170
|
+
async function getVarValue(): Promise<string> {
|
171
|
+
const { default: enquirer } = await import("enquirer");
|
172
|
+
|
173
|
+
const response: { value: string } = await enquirer.prompt({
|
174
|
+
type: "password",
|
175
|
+
name: "value",
|
176
|
+
message: "Enter value:",
|
177
|
+
});
|
178
|
+
|
179
|
+
return response.value;
|
180
|
+
}
|
181
|
+
|
182
|
+
function listVarsToSetup(varsManagerSetup: VarsManagerSetup) {
|
183
|
+
const HH_SET_COMMAND = "npx hardhat vars set";
|
184
|
+
|
185
|
+
const requiredKeysToSet = varsManagerSetup.getRequiredVarsToSet();
|
186
|
+
const optionalKeysToSet = varsManagerSetup.getOptionalVarsToSet();
|
187
|
+
|
188
|
+
if (requiredKeysToSet.length === 0 && optionalKeysToSet.length === 0) {
|
189
|
+
console.log(
|
190
|
+
chalk.green(
|
191
|
+
"There are no configuration variables that need to be set for this project"
|
192
|
+
)
|
193
|
+
);
|
194
|
+
console.log();
|
195
|
+
printAlreadySetKeys(varsManagerSetup);
|
196
|
+
return;
|
197
|
+
}
|
198
|
+
|
199
|
+
if (requiredKeysToSet.length > 0) {
|
200
|
+
console.log(
|
201
|
+
chalk.bold(
|
202
|
+
`${emoji("❗ ")}The following configuration variables need to be set:\n`
|
203
|
+
)
|
204
|
+
);
|
205
|
+
console.log(
|
206
|
+
requiredKeysToSet.map((k) => ` ${HH_SET_COMMAND} ${k}`).join("\n")
|
207
|
+
);
|
208
|
+
console.log();
|
209
|
+
}
|
210
|
+
|
211
|
+
if (optionalKeysToSet.length > 0) {
|
212
|
+
console.log(
|
213
|
+
chalk.bold(
|
214
|
+
`${emoji("💡 ")}The following configuration variables are optional:\n`
|
215
|
+
)
|
216
|
+
);
|
217
|
+
console.log(
|
218
|
+
optionalKeysToSet.map((k) => ` ${HH_SET_COMMAND} ${k}`).join("\n")
|
219
|
+
);
|
220
|
+
console.log();
|
221
|
+
}
|
222
|
+
|
223
|
+
printAlreadySetKeys(varsManagerSetup);
|
224
|
+
}
|
225
|
+
|
226
|
+
function printAlreadySetKeys(varsManagerSetup: VarsManagerSetup) {
|
227
|
+
const requiredKeysAlreadySet = varsManagerSetup.getRequiredVarsAlreadySet();
|
228
|
+
const optionalKeysAlreadySet = varsManagerSetup.getOptionalVarsAlreadySet();
|
229
|
+
const envVars = varsManagerSetup.getEnvVars();
|
230
|
+
|
231
|
+
if (
|
232
|
+
requiredKeysAlreadySet.length === 0 &&
|
233
|
+
optionalKeysAlreadySet.length === 0 &&
|
234
|
+
envVars.length === 0
|
235
|
+
) {
|
236
|
+
return;
|
237
|
+
}
|
238
|
+
|
239
|
+
console.log(
|
240
|
+
`${chalk.bold(`${emoji("✔️ ")}Configuration variables already set:`)}`
|
241
|
+
);
|
242
|
+
console.log();
|
243
|
+
|
244
|
+
if (requiredKeysAlreadySet.length > 0) {
|
245
|
+
console.log(" Mandatory:");
|
246
|
+
console.log(requiredKeysAlreadySet.map((x) => ` ${x}`).join("\n"));
|
247
|
+
console.log();
|
248
|
+
}
|
249
|
+
|
250
|
+
if (optionalKeysAlreadySet.length > 0) {
|
251
|
+
console.log(" Optional:");
|
252
|
+
console.log(optionalKeysAlreadySet.map((x) => ` ${x}`).join("\n"));
|
253
|
+
console.log();
|
254
|
+
}
|
255
|
+
|
256
|
+
if (envVars.length > 0) {
|
257
|
+
console.log(" Set via environment variables:");
|
258
|
+
console.log(envVars.map((x) => ` ${x}`).join("\n"));
|
259
|
+
console.log();
|
260
|
+
}
|
261
|
+
}
|
262
|
+
|
263
|
+
async function getTaskDefinitionAndTaskArguments(allUnparsedCLAs: string[]) {
|
264
|
+
const ctx = HardhatContext.getHardhatContext();
|
265
|
+
ctx.setConfigLoadingAsStarted();
|
266
|
+
require("../../builtin-tasks/vars");
|
267
|
+
ctx.setConfigLoadingAsFinished();
|
268
|
+
|
269
|
+
const argumentsParser = new ArgumentsParser();
|
270
|
+
|
271
|
+
const taskDefinitions = ctx.tasksDSL.getTaskDefinitions();
|
272
|
+
const scopesDefinitions = ctx.tasksDSL.getScopesDefinitions();
|
273
|
+
|
274
|
+
const { scopeName, taskName, unparsedCLAs } =
|
275
|
+
argumentsParser.parseScopeAndTaskNames(
|
276
|
+
allUnparsedCLAs,
|
277
|
+
taskDefinitions,
|
278
|
+
scopesDefinitions
|
279
|
+
);
|
280
|
+
|
281
|
+
assertHardhatInvariant(
|
282
|
+
scopeName === "vars",
|
283
|
+
"This function should only be called to handle tasks under the 'vars' scope"
|
284
|
+
);
|
285
|
+
|
286
|
+
const taskDefinition = ctx.tasksDSL.getTaskDefinition(scopeName, taskName);
|
287
|
+
|
288
|
+
if (taskDefinition === undefined) {
|
289
|
+
throw new HardhatError(ERRORS.ARGUMENTS.UNRECOGNIZED_SCOPED_TASK, {
|
290
|
+
scope: scopeName,
|
291
|
+
task: taskName,
|
292
|
+
});
|
293
|
+
}
|
294
|
+
|
295
|
+
const taskArguments = argumentsParser.parseTaskArguments(
|
296
|
+
taskDefinition,
|
297
|
+
unparsedCLAs
|
298
|
+
);
|
299
|
+
|
300
|
+
return { taskDefinition, taskArguments };
|
301
|
+
}
|
@@ -0,0 +1,268 @@
|
|
1
|
+
import boxen from "boxen";
|
2
|
+
import chalk from "chalk";
|
3
|
+
import fsExtra from "fs-extra";
|
4
|
+
import { join } from "node:path";
|
5
|
+
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
6
|
+
import semver from "semver";
|
7
|
+
|
8
|
+
import { getCacheDir } from "../util/global-dir";
|
9
|
+
import { getHardhatVersion } from "../util/packageInfo";
|
10
|
+
|
11
|
+
const GITHUB_API_URL = "https://api.github.com";
|
12
|
+
const GITHUB_OWNER = "NomicFoundation";
|
13
|
+
const GITHUB_REPO = "hardhat";
|
14
|
+
const V3_RELEASE_TAG = "hardhat@3.0.0";
|
15
|
+
const V3_RELEASE_VERSION_NOTIFIER_ASSET_NAME = "version-notifier-message.txt";
|
16
|
+
const V3_RELEASE_MAX_TIMES_SHOWN = 5;
|
17
|
+
const CURRENT_HARDHAT_MAJOR_VERSION = 2;
|
18
|
+
|
19
|
+
const boxenOptions = {
|
20
|
+
padding: 1,
|
21
|
+
borderStyle: "round",
|
22
|
+
borderColor: "yellow",
|
23
|
+
} as const;
|
24
|
+
|
25
|
+
interface VersionNotifierCache {
|
26
|
+
lastCheck: string | 0;
|
27
|
+
v3TimesShown: number;
|
28
|
+
v3Release?: Release;
|
29
|
+
v3ReleaseMessage?: string;
|
30
|
+
}
|
31
|
+
|
32
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
33
|
+
interface Release {
|
34
|
+
name: string;
|
35
|
+
tag_name: string;
|
36
|
+
draft: boolean;
|
37
|
+
prerelease: boolean;
|
38
|
+
published_at: string;
|
39
|
+
html_url: string;
|
40
|
+
assets: Array<{
|
41
|
+
name: string;
|
42
|
+
browser_download_url: string;
|
43
|
+
}>;
|
44
|
+
body: string; // release notes
|
45
|
+
}
|
46
|
+
/* eslint-enable @typescript-eslint/naming-convention */
|
47
|
+
|
48
|
+
export async function showNewVersionNotification() {
|
49
|
+
const cache = await readCache();
|
50
|
+
|
51
|
+
const lastCheckDate = new Date(cache.lastCheck);
|
52
|
+
const now = new Date();
|
53
|
+
const oneDay = 1000 * 60 * 60 * 24;
|
54
|
+
|
55
|
+
if (now.getTime() - lastCheckDate.getTime() < oneDay) {
|
56
|
+
return;
|
57
|
+
}
|
58
|
+
|
59
|
+
const hardhatVersion = getHardhatVersion();
|
60
|
+
|
61
|
+
const releases = await getReleases();
|
62
|
+
|
63
|
+
const sortedV2Versions = releases
|
64
|
+
// filter and map releases to versions
|
65
|
+
.flatMap((release) => {
|
66
|
+
const [packageName, rawPackageVersion] = release.tag_name.split("@");
|
67
|
+
|
68
|
+
const packageVersion = semver.valid(rawPackageVersion);
|
69
|
+
|
70
|
+
// filter out a release if:
|
71
|
+
// - it's not a hardhat-core release
|
72
|
+
// - it's a draft or a prerelease
|
73
|
+
// - the version is invalid
|
74
|
+
// - the major version is not the current major
|
75
|
+
if (
|
76
|
+
packageName !== GITHUB_REPO ||
|
77
|
+
release.draft ||
|
78
|
+
release.prerelease ||
|
79
|
+
packageVersion === null ||
|
80
|
+
semver.major(packageVersion) !== CURRENT_HARDHAT_MAJOR_VERSION
|
81
|
+
) {
|
82
|
+
return [];
|
83
|
+
}
|
84
|
+
|
85
|
+
return [packageVersion];
|
86
|
+
})
|
87
|
+
// sort in descending order by version
|
88
|
+
.sort((releaseAVersion, releaseBVersion) => {
|
89
|
+
return semver.rcompare(releaseAVersion, releaseBVersion);
|
90
|
+
});
|
91
|
+
|
92
|
+
const latestV2Version: string | undefined = sortedV2Versions[0];
|
93
|
+
|
94
|
+
const v3Release = cache.v3Release ?? (await getV3Release());
|
95
|
+
|
96
|
+
if (latestV2Version === undefined && v3Release === undefined) {
|
97
|
+
// this should never happen unless the github api is down
|
98
|
+
return;
|
99
|
+
}
|
100
|
+
|
101
|
+
if (
|
102
|
+
latestV2Version !== undefined &&
|
103
|
+
semver.gt(latestV2Version, hardhatVersion)
|
104
|
+
) {
|
105
|
+
let installationCommand = "npm install";
|
106
|
+
if (await fsExtra.pathExists("yarn.lock")) {
|
107
|
+
installationCommand = "yarn add";
|
108
|
+
} else if (await fsExtra.pathExists("pnpm-lock.yaml")) {
|
109
|
+
installationCommand = "pnpm install";
|
110
|
+
}
|
111
|
+
|
112
|
+
console.log(
|
113
|
+
boxen(
|
114
|
+
`New Hardhat release available! ${chalk.red(
|
115
|
+
hardhatVersion
|
116
|
+
)} -> ${chalk.green(latestV2Version)}.
|
117
|
+
|
118
|
+
Changelog: https://hardhat.org/release/${latestV2Version}
|
119
|
+
|
120
|
+
Run "${installationCommand} hardhat@latest" to update.`,
|
121
|
+
boxenOptions
|
122
|
+
)
|
123
|
+
);
|
124
|
+
}
|
125
|
+
|
126
|
+
if (
|
127
|
+
v3Release !== undefined &&
|
128
|
+
cache.v3TimesShown < V3_RELEASE_MAX_TIMES_SHOWN
|
129
|
+
) {
|
130
|
+
const releaseVersion = semver.valid(v3Release.tag_name.split("@")[1]);
|
131
|
+
|
132
|
+
if (releaseVersion !== null) {
|
133
|
+
cache.v3ReleaseMessage ??= await getV3ReleaseMessage(v3Release);
|
134
|
+
if (cache.v3ReleaseMessage !== undefined) {
|
135
|
+
console.log(boxen(cache.v3ReleaseMessage, boxenOptions));
|
136
|
+
cache.v3TimesShown++;
|
137
|
+
}
|
138
|
+
}
|
139
|
+
}
|
140
|
+
|
141
|
+
await writeCache({
|
142
|
+
...cache,
|
143
|
+
lastCheck: now.toISOString(),
|
144
|
+
v3Release,
|
145
|
+
});
|
146
|
+
}
|
147
|
+
|
148
|
+
async function readCache(): Promise<VersionNotifierCache> {
|
149
|
+
const cacheDir = await getCacheDir();
|
150
|
+
const versionNotifierCachePath = join(cacheDir, "version-notifier.json");
|
151
|
+
|
152
|
+
let cache: VersionNotifierCache = {
|
153
|
+
lastCheck: 0, // new Date(0) represents the unix epoch
|
154
|
+
v3TimesShown: 0,
|
155
|
+
};
|
156
|
+
try {
|
157
|
+
const fileContents = await readFile(versionNotifierCachePath, "utf-8");
|
158
|
+
const { lastCheck, v3TimesShown } = JSON.parse(fileContents);
|
159
|
+
|
160
|
+
cache = {
|
161
|
+
lastCheck: typeof lastCheck === "string" ? lastCheck : 0,
|
162
|
+
v3TimesShown: typeof v3TimesShown === "number" ? v3TimesShown : 0,
|
163
|
+
};
|
164
|
+
} catch (error: any) {
|
165
|
+
// We don't care if it fails
|
166
|
+
}
|
167
|
+
|
168
|
+
return cache;
|
169
|
+
}
|
170
|
+
|
171
|
+
async function writeCache(cache: VersionNotifierCache) {
|
172
|
+
const cacheDir = await getCacheDir();
|
173
|
+
const versionNotifierCachePath = join(cacheDir, "version-notifier.json");
|
174
|
+
|
175
|
+
try {
|
176
|
+
await mkdir(cacheDir, { recursive: true });
|
177
|
+
await writeFile(versionNotifierCachePath, JSON.stringify(cache, null, 2));
|
178
|
+
} catch (error) {
|
179
|
+
// We don't care if it fails
|
180
|
+
}
|
181
|
+
}
|
182
|
+
|
183
|
+
async function getReleases(): Promise<Release[]> {
|
184
|
+
const { request } = await import("undici");
|
185
|
+
let releases: Release[] = [];
|
186
|
+
|
187
|
+
try {
|
188
|
+
const githubResponse = await request(
|
189
|
+
`${GITHUB_API_URL}/repos/${GITHUB_OWNER}/${GITHUB_REPO}/releases`,
|
190
|
+
{
|
191
|
+
method: "GET",
|
192
|
+
headers: {
|
193
|
+
"User-Agent": "Hardhat",
|
194
|
+
"X-GitHub-Api-Version": "2022-11-28",
|
195
|
+
},
|
196
|
+
query: {
|
197
|
+
per_page: 100,
|
198
|
+
},
|
199
|
+
}
|
200
|
+
);
|
201
|
+
releases = (await githubResponse.body.json()) as Release[];
|
202
|
+
} catch (error: any) {
|
203
|
+
// We don't care if it fails
|
204
|
+
}
|
205
|
+
|
206
|
+
return releases;
|
207
|
+
}
|
208
|
+
|
209
|
+
async function getV3Release(): Promise<Release | undefined> {
|
210
|
+
const { request } = await import("undici");
|
211
|
+
let v3Release: Release | undefined;
|
212
|
+
|
213
|
+
try {
|
214
|
+
const githubResponse = await request(
|
215
|
+
`${GITHUB_API_URL}/repos/${GITHUB_OWNER}/${GITHUB_REPO}/releases/tags/${V3_RELEASE_TAG}`,
|
216
|
+
{
|
217
|
+
method: "GET",
|
218
|
+
headers: {
|
219
|
+
"User-Agent": "Hardhat",
|
220
|
+
"X-GitHub-Api-Version": "2022-11-28",
|
221
|
+
},
|
222
|
+
}
|
223
|
+
);
|
224
|
+
|
225
|
+
const jsonResponse = (await githubResponse.body.json()) as any;
|
226
|
+
if (jsonResponse.message === "Not Found") {
|
227
|
+
// eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
|
228
|
+
throw new Error("Not Found");
|
229
|
+
}
|
230
|
+
|
231
|
+
v3Release = jsonResponse as Release;
|
232
|
+
} catch (error: any) {
|
233
|
+
// We don't care if it fails
|
234
|
+
}
|
235
|
+
|
236
|
+
return v3Release;
|
237
|
+
}
|
238
|
+
|
239
|
+
async function getV3ReleaseMessage(
|
240
|
+
v3Release: Release
|
241
|
+
): Promise<string | undefined> {
|
242
|
+
const { request } = await import("undici");
|
243
|
+
|
244
|
+
const versionNotifierAsset = v3Release.assets.find(
|
245
|
+
({ name }) => name === V3_RELEASE_VERSION_NOTIFIER_ASSET_NAME
|
246
|
+
);
|
247
|
+
|
248
|
+
if (versionNotifierAsset === undefined) {
|
249
|
+
return;
|
250
|
+
}
|
251
|
+
|
252
|
+
let v3ReleaseMessage;
|
253
|
+
try {
|
254
|
+
const githubResponse = await request(
|
255
|
+
versionNotifierAsset.browser_download_url,
|
256
|
+
{
|
257
|
+
method: "GET",
|
258
|
+
maxRedirections: 10,
|
259
|
+
}
|
260
|
+
);
|
261
|
+
|
262
|
+
v3ReleaseMessage = await githubResponse.body.text();
|
263
|
+
} catch (error: any) {
|
264
|
+
// We don't care if it fails
|
265
|
+
}
|
266
|
+
|
267
|
+
return v3ReleaseMessage;
|
268
|
+
}
|