hardhat 2.6.8 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/builtin-tasks/check.js +1 -1
- package/builtin-tasks/check.js.map +1 -1
- package/builtin-tasks/clean.js +3 -3
- package/builtin-tasks/clean.js.map +1 -1
- package/builtin-tasks/compile.js +48 -48
- package/builtin-tasks/compile.js.map +1 -1
- package/builtin-tasks/console.js +3 -3
- package/builtin-tasks/console.js.map +1 -1
- package/builtin-tasks/flatten.js +8 -6
- package/builtin-tasks/flatten.js.map +1 -1
- package/builtin-tasks/help.js +2 -2
- package/builtin-tasks/help.js.map +1 -1
- package/builtin-tasks/node.js +21 -15
- package/builtin-tasks/node.js.map +1 -1
- package/builtin-tasks/run.js +11 -7
- package/builtin-tasks/run.js.map +1 -1
- package/builtin-tasks/test.js +11 -11
- package/builtin-tasks/test.js.map +1 -1
- package/builtin-tasks/utils/solidity-files-cache.js +1 -1
- package/builtin-tasks/utils/solidity-files-cache.js.map +1 -1
- package/builtin-tasks/utils/watch.d.ts.map +1 -1
- package/builtin-tasks/utils/watch.js +4 -2
- package/builtin-tasks/utils/watch.js.map +1 -1
- package/internal/artifacts.d.ts +49 -0
- package/internal/artifacts.d.ts.map +1 -1
- package/internal/artifacts.js +204 -68
- package/internal/artifacts.js.map +1 -1
- package/internal/cli/analytics.js +11 -10
- package/internal/cli/analytics.js.map +1 -1
- package/internal/cli/autocomplete.js +7 -7
- package/internal/cli/autocomplete.js.map +1 -1
- package/internal/cli/bootstrap.js +2 -2
- package/internal/cli/bootstrap.js.map +1 -1
- package/internal/cli/cli.js +16 -16
- package/internal/cli/cli.js.map +1 -1
- package/internal/cli/project-creation.js +13 -13
- package/internal/cli/project-creation.js.map +1 -1
- package/internal/constants.d.ts +2 -0
- package/internal/constants.d.ts.map +1 -1
- package/internal/constants.js +4 -1
- package/internal/constants.js.map +1 -1
- package/internal/context.d.ts +1 -2
- package/internal/context.d.ts.map +1 -1
- package/internal/context.js +3 -3
- package/internal/context.js.map +1 -1
- package/internal/core/config/config-loading.d.ts.map +1 -1
- package/internal/core/config/config-loading.js +21 -7
- package/internal/core/config/config-loading.js.map +1 -1
- package/internal/core/config/config-resolution.d.ts.map +1 -1
- package/internal/core/config/config-resolution.js +50 -12
- package/internal/core/config/config-resolution.js.map +1 -1
- package/internal/core/config/config-validation.d.ts +1 -0
- package/internal/core/config/config-validation.d.ts.map +1 -1
- package/internal/core/config/config-validation.js +151 -38
- package/internal/core/config/config-validation.js.map +1 -1
- package/internal/core/config/default-config.d.ts.map +1 -1
- package/internal/core/config/default-config.js +66 -2
- package/internal/core/config/default-config.js.map +1 -1
- package/internal/core/errors-list.js +2 -2
- package/internal/core/errors-list.js.map +1 -1
- package/internal/core/errors.js +3 -3
- package/internal/core/errors.js.map +1 -1
- package/internal/core/execution-mode.js +2 -2
- package/internal/core/execution-mode.js.map +1 -1
- package/internal/core/jsonrpc/types/access-list.d.ts +0 -1
- package/internal/core/jsonrpc/types/access-list.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/access-list.js +1 -1
- package/internal/core/jsonrpc/types/access-list.js.map +1 -1
- package/internal/core/jsonrpc/types/base-types.js +9 -9
- package/internal/core/jsonrpc/types/base-types.js.map +1 -1
- package/internal/core/jsonrpc/types/input/blockTag.d.ts +3 -4
- package/internal/core/jsonrpc/types/input/blockTag.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/input/blockTag.js +3 -3
- package/internal/core/jsonrpc/types/input/blockTag.js.map +1 -1
- package/internal/core/jsonrpc/types/input/callRequest.d.ts +0 -1
- package/internal/core/jsonrpc/types/input/callRequest.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/input/callRequest.js +9 -9
- package/internal/core/jsonrpc/types/input/callRequest.js.map +1 -1
- package/internal/core/jsonrpc/types/input/debugTraceTransaction.js +4 -4
- package/internal/core/jsonrpc/types/input/debugTraceTransaction.js.map +1 -1
- package/internal/core/jsonrpc/types/input/filterRequest.d.ts +0 -1
- package/internal/core/jsonrpc/types/input/filterRequest.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/input/filterRequest.js +2 -2
- package/internal/core/jsonrpc/types/input/filterRequest.js.map +1 -1
- package/internal/core/jsonrpc/types/input/hardhat-network.js +4 -4
- package/internal/core/jsonrpc/types/input/hardhat-network.js.map +1 -1
- package/internal/core/jsonrpc/types/input/logAddress.js +1 -1
- package/internal/core/jsonrpc/types/input/logAddress.js.map +1 -1
- package/internal/core/jsonrpc/types/input/logTopics.js +1 -1
- package/internal/core/jsonrpc/types/input/logTopics.js.map +1 -1
- package/internal/core/jsonrpc/types/input/transactionRequest.d.ts +0 -1
- package/internal/core/jsonrpc/types/input/transactionRequest.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/input/transactionRequest.js +10 -10
- package/internal/core/jsonrpc/types/input/transactionRequest.js.map +1 -1
- package/internal/core/jsonrpc/types/output/block.d.ts +0 -1
- package/internal/core/jsonrpc/types/output/block.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/output/block.js +5 -5
- package/internal/core/jsonrpc/types/output/block.js.map +1 -1
- package/internal/core/jsonrpc/types/output/log.d.ts +1 -1
- package/internal/core/jsonrpc/types/output/log.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/output/log.js +5 -4
- package/internal/core/jsonrpc/types/output/log.js.map +1 -1
- package/internal/core/jsonrpc/types/output/receipt.d.ts +1 -1
- package/internal/core/jsonrpc/types/output/receipt.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/output/receipt.js +6 -6
- package/internal/core/jsonrpc/types/output/receipt.js.map +1 -1
- package/internal/core/jsonrpc/types/output/transaction.d.ts +0 -1
- package/internal/core/jsonrpc/types/output/transaction.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/output/transaction.js +9 -9
- package/internal/core/jsonrpc/types/output/transaction.js.map +1 -1
- package/internal/core/params/argumentTypes.d.ts.map +1 -1
- package/internal/core/params/argumentTypes.js +25 -13
- package/internal/core/params/argumentTypes.js.map +1 -1
- package/internal/core/params/env-variables.d.ts.map +1 -1
- package/internal/core/params/env-variables.js +9 -5
- package/internal/core/params/env-variables.js.map +1 -1
- package/internal/core/params/hardhat-params.js +2 -2
- package/internal/core/params/hardhat-params.js.map +1 -1
- package/internal/core/project-structure.js +1 -1
- package/internal/core/project-structure.js.map +1 -1
- package/internal/core/providers/accounts.d.ts.map +1 -1
- package/internal/core/providers/accounts.js +9 -8
- package/internal/core/providers/accounts.js.map +1 -1
- package/internal/core/providers/backwards-compatibility.js.map +1 -1
- package/internal/core/providers/chainId.js +3 -3
- package/internal/core/providers/chainId.js.map +1 -1
- package/internal/core/providers/construction.d.ts.map +1 -1
- package/internal/core/providers/construction.js +6 -4
- package/internal/core/providers/construction.js.map +1 -1
- package/internal/core/providers/gas-providers.d.ts.map +1 -1
- package/internal/core/providers/gas-providers.js +19 -17
- package/internal/core/providers/gas-providers.js.map +1 -1
- package/internal/core/providers/http.js +1 -1
- package/internal/core/providers/http.js.map +1 -1
- package/internal/core/providers/util.js +1 -1
- package/internal/core/providers/util.js.map +1 -1
- package/internal/core/providers/wrapper.d.ts.map +1 -1
- package/internal/core/runtime-environment.d.ts.map +1 -1
- package/internal/core/runtime-environment.js +7 -5
- package/internal/core/runtime-environment.js.map +1 -1
- package/internal/core/typescript-support.d.ts +1 -1
- package/internal/core/typescript-support.d.ts.map +1 -1
- package/internal/core/typescript-support.js +8 -5
- package/internal/core/typescript-support.js.map +1 -1
- package/internal/hardhat-network/jsonrpc/client.d.ts +2 -0
- package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
- package/internal/hardhat-network/jsonrpc/client.js +23 -23
- package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
- package/internal/hardhat-network/jsonrpc/handler.js +16 -8
- package/internal/hardhat-network/jsonrpc/handler.js.map +1 -1
- package/internal/hardhat-network/jsonrpc/server.js +1 -1
- package/internal/hardhat-network/jsonrpc/server.js.map +1 -1
- package/internal/hardhat-network/provider/BlockchainData.d.ts +1 -1
- package/internal/hardhat-network/provider/BlockchainData.js +12 -12
- package/internal/hardhat-network/provider/BlockchainData.js.map +1 -1
- package/internal/hardhat-network/provider/HardhatBlockchain.js +2 -2
- package/internal/hardhat-network/provider/HardhatBlockchain.js.map +1 -1
- package/internal/hardhat-network/provider/HardhatStateManager.js +29 -29
- package/internal/hardhat-network/provider/HardhatStateManager.js.map +1 -1
- package/internal/hardhat-network/provider/PoolState.js +6 -6
- package/internal/hardhat-network/provider/PoolState.js.map +1 -1
- package/internal/hardhat-network/provider/TransactionQueue.d.ts +2 -1
- package/internal/hardhat-network/provider/TransactionQueue.d.ts.map +1 -1
- package/internal/hardhat-network/provider/TransactionQueue.js +16 -2
- package/internal/hardhat-network/provider/TransactionQueue.js.map +1 -1
- package/internal/hardhat-network/provider/TxPool.js +19 -19
- package/internal/hardhat-network/provider/TxPool.js.map +1 -1
- package/internal/hardhat-network/provider/filter.js +3 -3
- package/internal/hardhat-network/provider/filter.js.map +1 -1
- package/internal/hardhat-network/provider/fork/AccountState.js +4 -4
- package/internal/hardhat-network/provider/fork/AccountState.js.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkBlockchain.js +8 -10
- package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkStateManager.js +34 -34
- package/internal/hardhat-network/provider/fork/ForkStateManager.js.map +1 -1
- package/internal/hardhat-network/provider/fork/random.d.ts +0 -1
- package/internal/hardhat-network/provider/fork/random.d.ts.map +1 -1
- package/internal/hardhat-network/provider/fork/random.js +13 -8
- package/internal/hardhat-network/provider/fork/random.js.map +1 -1
- package/internal/hardhat-network/provider/fork/rpcToBlockData.js +1 -0
- package/internal/hardhat-network/provider/fork/rpcToBlockData.js.map +1 -1
- package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +1 -1
- package/internal/hardhat-network/provider/modules/debug.js +1 -1
- package/internal/hardhat-network/provider/modules/debug.js.map +1 -1
- package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/eth.js +86 -84
- package/internal/hardhat-network/provider/modules/eth.js.map +1 -1
- package/internal/hardhat-network/provider/modules/evm.js +9 -9
- package/internal/hardhat-network/provider/modules/evm.js.map +1 -1
- package/internal/hardhat-network/provider/modules/hardhat.d.ts +2 -0
- package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/hardhat.js +25 -15
- package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
- package/internal/hardhat-network/provider/modules/logger.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/logger.js +30 -25
- package/internal/hardhat-network/provider/modules/logger.js.map +1 -1
- package/internal/hardhat-network/provider/modules/net.js +2 -2
- package/internal/hardhat-network/provider/modules/net.js.map +1 -1
- package/internal/hardhat-network/provider/modules/personal.js +2 -2
- package/internal/hardhat-network/provider/modules/personal.js.map +1 -1
- package/internal/hardhat-network/provider/modules/web3.js +4 -4
- package/internal/hardhat-network/provider/modules/web3.js.map +1 -1
- package/internal/hardhat-network/provider/node-types.d.ts +7 -1
- package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
- package/internal/hardhat-network/provider/node-types.js.map +1 -1
- package/internal/hardhat-network/provider/node.d.ts +10 -2
- package/internal/hardhat-network/provider/node.d.ts.map +1 -1
- package/internal/hardhat-network/provider/node.js +144 -75
- package/internal/hardhat-network/provider/node.js.map +1 -1
- package/internal/hardhat-network/provider/output.d.ts +1 -1
- package/internal/hardhat-network/provider/output.d.ts.map +1 -1
- package/internal/hardhat-network/provider/output.js +94 -91
- package/internal/hardhat-network/provider/output.js.map +1 -1
- package/internal/hardhat-network/provider/provider.d.ts +7 -3
- package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
- package/internal/hardhat-network/provider/provider.js +11 -4
- package/internal/hardhat-network/provider/provider.js.map +1 -1
- package/internal/hardhat-network/provider/return-data.js +4 -4
- package/internal/hardhat-network/provider/return-data.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/utils/bnToHex.js +1 -1
- package/internal/hardhat-network/provider/utils/bnToHex.js.map +1 -1
- package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js.map +1 -1
- package/internal/hardhat-network/provider/utils/makeAccount.js +4 -4
- package/internal/hardhat-network/provider/utils/makeAccount.js.map +1 -1
- package/internal/hardhat-network/provider/utils/makeCommon.js +3 -3
- package/internal/hardhat-network/provider/utils/makeCommon.js.map +1 -1
- package/internal/hardhat-network/provider/utils/makeForkClient.js +4 -4
- package/internal/hardhat-network/provider/utils/makeForkClient.js.map +1 -1
- package/internal/hardhat-network/provider/utils/makeStateTrie.js +1 -1
- package/internal/hardhat-network/provider/utils/makeStateTrie.js.map +1 -1
- package/internal/hardhat-network/provider/utils/txMapToArray.js +1 -1
- package/internal/hardhat-network/provider/utils/txMapToArray.js.map +1 -1
- package/internal/hardhat-network/stack-traces/compiler-to-model.js +4 -4
- package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -1
- package/internal/hardhat-network/stack-traces/consoleLogger.js +44 -44
- package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
- package/internal/hardhat-network/stack-traces/contracts-identifier.js +6 -6
- package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +1 -1
- package/internal/hardhat-network/stack-traces/debug.js +17 -17
- package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
- package/internal/hardhat-network/stack-traces/error-inferrer.js +28 -28
- package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
- package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.js +3 -3
- package/internal/hardhat-network/stack-traces/mapped-inlined-internal-functions-heuristics.js.map +1 -1
- package/internal/hardhat-network/stack-traces/model.js +5 -5
- package/internal/hardhat-network/stack-traces/model.js.map +1 -1
- package/internal/hardhat-network/stack-traces/solidity-errors.js +3 -3
- package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
- package/internal/hardhat-network/stack-traces/solidityTracer.js +10 -10
- package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
- package/internal/hardhat-network/stack-traces/source-maps.js +7 -7
- package/internal/hardhat-network/stack-traces/source-maps.js.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +5 -5
- package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.js +2 -2
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.js.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-tracer.js +3 -3
- package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
- package/internal/lib/hardhat-lib.js +3 -3
- package/internal/lib/hardhat-lib.js.map +1 -1
- package/internal/reset.js +1 -1
- package/internal/reset.js.map +1 -1
- package/internal/sentry/anonymizer.js.map +1 -1
- package/internal/sentry/reporter.js +5 -5
- package/internal/sentry/reporter.js.map +1 -1
- package/internal/sentry/subprocess.js +2 -2
- package/internal/sentry/subprocess.js.map +1 -1
- package/internal/sentry/transport.js +1 -1
- package/internal/sentry/transport.js.map +1 -1
- package/internal/solidity/compilation-job.js +4 -4
- package/internal/solidity/compilation-job.js.map +1 -1
- package/internal/solidity/compiler/downloader.d.ts +1 -1
- package/internal/solidity/compiler/downloader.d.ts.map +1 -1
- package/internal/solidity/compiler/downloader.js +21 -7
- package/internal/solidity/compiler/downloader.js.map +1 -1
- package/internal/solidity/compiler/index.js +1 -1
- package/internal/solidity/compiler/index.js.map +1 -1
- package/internal/solidity/dependencyGraph.js +2 -1
- package/internal/solidity/dependencyGraph.js.map +1 -1
- package/internal/solidity/parse.js +3 -2
- package/internal/solidity/parse.js.map +1 -1
- package/internal/solidity/resolver.js +10 -10
- package/internal/solidity/resolver.js.map +1 -1
- package/internal/util/abi-helpers.js +1 -1
- package/internal/util/abi-helpers.js.map +1 -1
- package/internal/util/download.d.ts.map +1 -1
- package/internal/util/download.js +12 -1
- package/internal/util/download.js.map +1 -1
- package/internal/util/global-dir.js +1 -1
- package/internal/util/global-dir.js.map +1 -1
- package/internal/util/hardforks.d.ts +2 -1
- package/internal/util/hardforks.d.ts.map +1 -1
- package/internal/util/hardforks.js +3 -1
- package/internal/util/hardforks.js.map +1 -1
- package/internal/util/jsonrpc.js +1 -1
- package/internal/util/jsonrpc.js.map +1 -1
- package/internal/util/packageInfo.js +1 -1
- package/internal/util/packageInfo.js.map +1 -1
- package/internal/util/scripts-runner.js +3 -3
- package/internal/util/scripts-runner.js.map +1 -1
- package/package.json +13 -13
- package/register.js +7 -7
- package/register.js.map +1 -1
- package/src/builtin-tasks/flatten.ts +4 -2
- package/src/builtin-tasks/node.ts +17 -10
- package/src/builtin-tasks/run.ts +13 -8
- package/src/builtin-tasks/utils/watch.ts +3 -1
- package/src/internal/artifacts.ts +269 -72
- package/src/internal/cli/analytics.ts +1 -1
- package/src/internal/cli/autocomplete.ts +3 -3
- package/src/internal/cli/bootstrap.ts +1 -1
- package/src/internal/cli/cli.ts +2 -2
- package/src/internal/cli/project-creation.ts +2 -2
- package/src/internal/constants.ts +4 -0
- package/src/internal/context.ts +1 -1
- package/src/internal/core/config/config-loading.ts +24 -2
- package/src/internal/core/config/config-resolution.ts +61 -3
- package/src/internal/core/config/config-validation.ts +217 -15
- package/src/internal/core/config/default-config.ts +66 -2
- package/src/internal/core/errors-list.ts +2 -2
- package/src/internal/core/execution-mode.ts +1 -1
- package/src/internal/core/jsonrpc/types/output/log.ts +1 -0
- package/src/internal/core/params/argumentTypes.ts +40 -25
- package/src/internal/core/params/env-variables.ts +13 -8
- package/src/internal/core/params/hardhat-params.ts +2 -2
- package/src/internal/core/providers/accounts.ts +4 -3
- package/src/internal/core/providers/backwards-compatibility.ts +1 -1
- package/src/internal/core/providers/chainId.ts +1 -1
- package/src/internal/core/providers/construction.ts +9 -2
- package/src/internal/core/providers/gas-providers.ts +6 -4
- package/src/internal/core/providers/http.ts +1 -1
- package/src/internal/core/providers/wrapper.ts +1 -1
- package/src/internal/core/runtime-environment.ts +3 -1
- package/src/internal/core/typescript-support.ts +7 -3
- package/src/internal/hardhat-network/jsonrpc/client.ts +2 -2
- package/src/internal/hardhat-network/jsonrpc/handler.ts +12 -2
- package/src/internal/hardhat-network/jsonrpc/server.ts +2 -2
- package/src/internal/hardhat-network/provider/TransactionQueue.ts +31 -4
- package/src/internal/hardhat-network/provider/TxPool.ts +1 -1
- package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +2 -4
- package/src/internal/hardhat-network/provider/modules/eth.ts +23 -21
- package/src/internal/hardhat-network/provider/modules/hardhat.ts +15 -1
- package/src/internal/hardhat-network/provider/modules/logger.ts +13 -9
- package/src/internal/hardhat-network/provider/node-types.ts +8 -1
- package/src/internal/hardhat-network/provider/node.ts +156 -29
- package/src/internal/hardhat-network/provider/output.ts +9 -9
- package/src/internal/hardhat-network/provider/provider.ts +12 -2
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +3 -3
- package/src/internal/reset.ts +1 -1
- package/src/internal/sentry/subprocess.ts +2 -2
- package/src/internal/solidity/compiler/downloader.ts +27 -12
- package/src/internal/solidity/resolver.ts +1 -1
- package/src/internal/util/abi-helpers.ts +1 -1
- package/src/internal/util/download.ts +17 -1
- package/src/internal/util/hardforks.ts +2 -0
- package/src/internal/util/jsonrpc.ts +1 -1
- package/src/internal/util/packageInfo.ts +1 -1
- package/src/internal/util/scripts-runner.ts +1 -1
- package/src/register.ts +1 -1
- package/src/types/config.ts +42 -0
- package/src/utils/contract-names.ts +112 -0
- package/src/utils/source-names.ts +14 -12
- package/types/config.d.ts +26 -0
- package/types/config.d.ts.map +1 -1
- package/utils/contract-names.d.ts +10 -0
- package/utils/contract-names.d.ts.map +1 -1
- package/utils/contract-names.js +92 -1
- package/utils/contract-names.js.map +1 -1
- package/utils/source-names.d.ts +1 -1
- package/utils/source-names.js +8 -6
- package/utils/source-names.js.map +1 -1
- package/CHANGELOG.md +0 -54
|
@@ -48,14 +48,19 @@ export function getEnvHardhatArguments(
|
|
|
48
48
|
try {
|
|
49
49
|
envArgs[paramName] = definition.type.parse(paramName, rawValue);
|
|
50
50
|
} catch (error) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
51
|
+
if (error instanceof Error) {
|
|
52
|
+
throw new HardhatError(
|
|
53
|
+
ERRORS.ARGUMENTS.INVALID_ENV_VAR_VALUE,
|
|
54
|
+
{
|
|
55
|
+
varName: envVarName,
|
|
56
|
+
value: rawValue,
|
|
57
|
+
},
|
|
58
|
+
error
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
|
|
63
|
+
throw error;
|
|
59
64
|
}
|
|
60
65
|
} else {
|
|
61
66
|
envArgs[paramName] = definition.defaultValue;
|
|
@@ -78,8 +78,8 @@ export const HARDHAT_PARAM_DEFINITIONS: HardhatParamDefinitions = {
|
|
|
78
78
|
tsconfig: {
|
|
79
79
|
name: "tsconfig",
|
|
80
80
|
defaultValue: undefined,
|
|
81
|
-
description: "
|
|
82
|
-
type: types.
|
|
81
|
+
description: "A TypeScript config file.",
|
|
82
|
+
type: types.inputFile,
|
|
83
83
|
isOptional: true,
|
|
84
84
|
isFlag: false,
|
|
85
85
|
isVariadic: false,
|
|
@@ -104,7 +104,7 @@ export class LocalAccountsProvider extends ProviderWrapperWithChainId {
|
|
|
104
104
|
if (typeof data === "string") {
|
|
105
105
|
try {
|
|
106
106
|
typedMessage = JSON.parse(data);
|
|
107
|
-
} catch
|
|
107
|
+
} catch {
|
|
108
108
|
throw new HardhatError(
|
|
109
109
|
ERRORS.NETWORK.ETHSIGN_TYPED_DATA_V4_INVALID_DATA_PARAM
|
|
110
110
|
);
|
|
@@ -219,7 +219,7 @@ export class LocalAccountsProvider extends ProviderWrapperWithChainId {
|
|
|
219
219
|
private _getPrivateKeyForAddressOrNull(address: Buffer): Buffer | null {
|
|
220
220
|
try {
|
|
221
221
|
return this._getPrivateKeyForAddress(address);
|
|
222
|
-
} catch
|
|
222
|
+
} catch {
|
|
223
223
|
return null;
|
|
224
224
|
}
|
|
225
225
|
}
|
|
@@ -253,6 +253,7 @@ export class LocalAccountsProvider extends ProviderWrapperWithChainId {
|
|
|
253
253
|
gasLimit: transactionRequest.gas,
|
|
254
254
|
};
|
|
255
255
|
|
|
256
|
+
// TODO: consider changing instances of "london" below to ["latest hardfork"]
|
|
256
257
|
const common =
|
|
257
258
|
chains.names[chainId] !== undefined
|
|
258
259
|
? new Common({ chain: chainId, hardfork: "london" })
|
|
@@ -347,7 +348,7 @@ abstract class SenderProvider extends ProviderWrapper {
|
|
|
347
348
|
return this._wrappedProvider.request(args);
|
|
348
349
|
}
|
|
349
350
|
|
|
350
|
-
protected abstract
|
|
351
|
+
protected abstract _getSender(): Promise<string | undefined>;
|
|
351
352
|
}
|
|
352
353
|
|
|
353
354
|
export class AutomaticSenderProvider extends SenderProvider {
|
|
@@ -56,7 +56,7 @@ export class BackwardsCompatibilityProviderAdapter
|
|
|
56
56
|
method: request.method,
|
|
57
57
|
params: request.params,
|
|
58
58
|
});
|
|
59
|
-
} catch (error) {
|
|
59
|
+
} catch (error: any) {
|
|
60
60
|
if (error.code === undefined) {
|
|
61
61
|
// eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
|
|
62
62
|
throw error;
|
|
@@ -12,7 +12,7 @@ export abstract class ProviderWrapperWithChainId extends ProviderWrapper {
|
|
|
12
12
|
if (this._chainId === undefined) {
|
|
13
13
|
try {
|
|
14
14
|
this._chainId = await this._getChainIdFromEthChainId();
|
|
15
|
-
} catch
|
|
15
|
+
} catch {
|
|
16
16
|
// If eth_chainId fails we default to net_version
|
|
17
17
|
this._chainId = await this._getChainIdFromEthNetVersion();
|
|
18
18
|
}
|
|
@@ -13,7 +13,10 @@ import type {
|
|
|
13
13
|
} from "../../../types";
|
|
14
14
|
import { HARDHAT_NETWORK_NAME } from "../../constants";
|
|
15
15
|
import { ModulesLogger } from "../../hardhat-network/provider/modules/logger";
|
|
16
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
ForkConfig,
|
|
18
|
+
MempoolOrder,
|
|
19
|
+
} from "../../hardhat-network/provider/node-types";
|
|
17
20
|
import { getForkCacheDirPath } from "../../hardhat-network/provider/utils/disk-cache";
|
|
18
21
|
import { parseDateString } from "../../util/date";
|
|
19
22
|
|
|
@@ -88,6 +91,9 @@ export function createProvider(
|
|
|
88
91
|
hardhatNetConfig.throwOnCallFailures,
|
|
89
92
|
hardhatNetConfig.mining.auto,
|
|
90
93
|
hardhatNetConfig.mining.interval,
|
|
94
|
+
// This cast is valid because of the config validation and resolution
|
|
95
|
+
hardhatNetConfig.mining.mempool.order as MempoolOrder,
|
|
96
|
+
hardhatNetConfig.chains,
|
|
91
97
|
new ModulesLogger(hardhatNetConfig.loggingEnabled),
|
|
92
98
|
accounts,
|
|
93
99
|
artifacts,
|
|
@@ -97,7 +103,8 @@ export function createProvider(
|
|
|
97
103
|
: undefined,
|
|
98
104
|
experimentalHardhatNetworkMessageTraceHooks,
|
|
99
105
|
forkConfig,
|
|
100
|
-
paths !== undefined ? getForkCacheDirPath(paths) : undefined
|
|
106
|
+
paths !== undefined ? getForkCacheDirPath(paths) : undefined,
|
|
107
|
+
hardhatNetConfig.coinbase
|
|
101
108
|
);
|
|
102
109
|
} else {
|
|
103
110
|
const HttpProvider = importProvider<
|
|
@@ -86,9 +86,11 @@ abstract class MultipliedGasEstimationProvider extends ProviderWrapper {
|
|
|
86
86
|
|
|
87
87
|
return numberToRpcQuantity(gas);
|
|
88
88
|
} catch (error) {
|
|
89
|
-
if (error
|
|
90
|
-
|
|
91
|
-
|
|
89
|
+
if (error instanceof Error) {
|
|
90
|
+
if (error.message.toLowerCase().includes("execution error")) {
|
|
91
|
+
const blockGasLimit = await this._getBlockGasLimit();
|
|
92
|
+
return numberToRpcQuantity(blockGasLimit);
|
|
93
|
+
}
|
|
92
94
|
}
|
|
93
95
|
|
|
94
96
|
// eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
|
|
@@ -277,7 +279,7 @@ export class AutomaticGasPriceProvider extends ProviderWrapper {
|
|
|
277
279
|
|
|
278
280
|
maxPriorityFeePerGas: rpcQuantityToBN(response.reward[0][0]),
|
|
279
281
|
};
|
|
280
|
-
} catch
|
|
282
|
+
} catch {
|
|
281
283
|
this._nodeHasFeeHistory = false;
|
|
282
284
|
|
|
283
285
|
return undefined;
|
|
@@ -171,7 +171,7 @@ export class HttpProvider extends EventEmitter implements EIP1193Provider {
|
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
return parseJsonResponse(await response.text());
|
|
174
|
-
} catch (error) {
|
|
174
|
+
} catch (error: any) {
|
|
175
175
|
if (error.code === "ECONNREFUSED") {
|
|
176
176
|
throw new HardhatError(
|
|
177
177
|
ERRORS.NETWORK.NODE_IS_NOT_RUNNING,
|
|
@@ -11,7 +11,7 @@ export abstract class ProviderWrapper
|
|
|
11
11
|
super(_wrappedProvider);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
public abstract
|
|
14
|
+
public abstract request(args: RequestArguments): Promise<unknown>;
|
|
15
15
|
|
|
16
16
|
protected _getParams<ParamsT extends any[] = any[]>(
|
|
17
17
|
args: RequestArguments
|
|
@@ -266,7 +266,9 @@ export class Environment implements HardhatRuntimeEnvironment {
|
|
|
266
266
|
values[paramName] = resolvedArgumentValue;
|
|
267
267
|
}
|
|
268
268
|
} catch (error) {
|
|
269
|
-
|
|
269
|
+
if (HardhatError.isHardhatError(error)) {
|
|
270
|
+
errors.push(error);
|
|
271
|
+
}
|
|
270
272
|
}
|
|
271
273
|
return { errors, values };
|
|
272
274
|
},
|
|
@@ -38,16 +38,16 @@ export function isTypescriptSupported() {
|
|
|
38
38
|
return cachedIsTypescriptSupported;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
export function loadTsNode() {
|
|
41
|
+
export function loadTsNode(tsConfigPath?: string) {
|
|
42
42
|
try {
|
|
43
43
|
require.resolve("typescript");
|
|
44
|
-
} catch
|
|
44
|
+
} catch {
|
|
45
45
|
throw new HardhatError(ERRORS.GENERAL.TYPESCRIPT_NOT_INSTALLED);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
try {
|
|
49
49
|
require.resolve("ts-node");
|
|
50
|
-
} catch
|
|
50
|
+
} catch {
|
|
51
51
|
throw new HardhatError(ERRORS.GENERAL.TS_NODE_NOT_INSTALLED);
|
|
52
52
|
}
|
|
53
53
|
|
|
@@ -58,6 +58,10 @@ export function loadTsNode() {
|
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
+
if (tsConfigPath !== undefined) {
|
|
62
|
+
process.env.TS_NODE_PROJECT = tsConfigPath;
|
|
63
|
+
}
|
|
64
|
+
|
|
61
65
|
// See: https://github.com/nomiclabs/hardhat/issues/265
|
|
62
66
|
if (process.env.TS_NODE_FILES === undefined) {
|
|
63
67
|
process.env.TS_NODE_FILES = "true";
|
|
@@ -317,7 +317,7 @@ export class JsonRpcClient {
|
|
|
317
317
|
): Promise<any> {
|
|
318
318
|
try {
|
|
319
319
|
return await this._httpProvider.request({ method, params });
|
|
320
|
-
} catch (err) {
|
|
320
|
+
} catch (err: any) {
|
|
321
321
|
if (this._shouldRetry(isRetryCall, err)) {
|
|
322
322
|
return this._send(method, params, true);
|
|
323
323
|
}
|
|
@@ -429,7 +429,7 @@ export class JsonRpcClient {
|
|
|
429
429
|
encoding: "utf8",
|
|
430
430
|
}
|
|
431
431
|
);
|
|
432
|
-
} catch (error) {
|
|
432
|
+
} catch (error: any) {
|
|
433
433
|
if (error.code === "ENOENT") {
|
|
434
434
|
return undefined;
|
|
435
435
|
}
|
|
@@ -207,7 +207,12 @@ const _readJsonHttpRequest = async (req: IncomingMessage): Promise<any> => {
|
|
|
207
207
|
|
|
208
208
|
json = JSON.parse(text);
|
|
209
209
|
} catch (error) {
|
|
210
|
-
|
|
210
|
+
if (error instanceof Error) {
|
|
211
|
+
throw new InvalidJsonInputError(`Parse error: ${error.message}`);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
// eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
|
|
215
|
+
throw error;
|
|
211
216
|
}
|
|
212
217
|
|
|
213
218
|
return json;
|
|
@@ -218,7 +223,12 @@ const _readWsRequest = (msg: string): JsonRpcRequest => {
|
|
|
218
223
|
try {
|
|
219
224
|
json = JSON.parse(msg);
|
|
220
225
|
} catch (error) {
|
|
221
|
-
|
|
226
|
+
if (error instanceof Error) {
|
|
227
|
+
throw new InvalidJsonInputError(`Parse error: ${error.message}`);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
|
|
231
|
+
throw error;
|
|
222
232
|
}
|
|
223
233
|
|
|
224
234
|
return json;
|
|
@@ -72,7 +72,7 @@ export class JsonRpcServer implements IJsonRpcServer {
|
|
|
72
72
|
|
|
73
73
|
public close = async () => {
|
|
74
74
|
await Promise.all([
|
|
75
|
-
new Promise((resolve, reject) => {
|
|
75
|
+
new Promise<void>((resolve, reject) => {
|
|
76
76
|
log("Closing JSON-RPC server");
|
|
77
77
|
this._httpServer.close((err) => {
|
|
78
78
|
if (err !== null && err !== undefined) {
|
|
@@ -85,7 +85,7 @@ export class JsonRpcServer implements IJsonRpcServer {
|
|
|
85
85
|
resolve();
|
|
86
86
|
});
|
|
87
87
|
}),
|
|
88
|
-
new Promise((resolve, reject) => {
|
|
88
|
+
new Promise<void>((resolve, reject) => {
|
|
89
89
|
log("Closing websocket server");
|
|
90
90
|
this._wsServer.close((err) => {
|
|
91
91
|
if (err !== null && err !== undefined) {
|
|
@@ -2,7 +2,8 @@ import { TypedTransaction } from "@ethereumjs/tx";
|
|
|
2
2
|
import { BN } from "ethereumjs-util";
|
|
3
3
|
import Heap from "mnemonist/heap";
|
|
4
4
|
|
|
5
|
-
import { InternalError } from "../../core/providers/errors";
|
|
5
|
+
import { InternalError, InvalidInputError } from "../../core/providers/errors";
|
|
6
|
+
import { MempoolOrder } from "./node-types";
|
|
6
7
|
import { OrderedTransaction } from "./PoolState";
|
|
7
8
|
|
|
8
9
|
function getEffectiveMinerFee(tx: OrderedTransaction, baseFee?: BN): BN {
|
|
@@ -38,6 +39,33 @@ function decreasingOrderEffectiveMinerFeeComparator(
|
|
|
38
39
|
// in increasing order by orderId.
|
|
39
40
|
return left.orderId - right.orderId;
|
|
40
41
|
}
|
|
42
|
+
|
|
43
|
+
function decreasingOrderComparator(
|
|
44
|
+
left: OrderedTransaction,
|
|
45
|
+
right: OrderedTransaction
|
|
46
|
+
) {
|
|
47
|
+
return left.orderId - right.orderId;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function getOrderedTransactionHeap(
|
|
51
|
+
mempoolOrder: MempoolOrder,
|
|
52
|
+
baseFee?: BN
|
|
53
|
+
): Heap<OrderedTransaction> {
|
|
54
|
+
switch (mempoolOrder) {
|
|
55
|
+
case "priority":
|
|
56
|
+
return new Heap<OrderedTransaction>((a, b) =>
|
|
57
|
+
decreasingOrderEffectiveMinerFeeComparator(a, b, baseFee)
|
|
58
|
+
);
|
|
59
|
+
case "fifo":
|
|
60
|
+
return new Heap<OrderedTransaction>((a, b) =>
|
|
61
|
+
decreasingOrderComparator(a, b)
|
|
62
|
+
);
|
|
63
|
+
default:
|
|
64
|
+
// eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
|
|
65
|
+
throw new InvalidInputError(`Invalid mempool order: ${mempoolOrder}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
41
69
|
/**
|
|
42
70
|
* A queue of transactions in the order that they could be mined in the next
|
|
43
71
|
* block.
|
|
@@ -67,11 +95,10 @@ export class TransactionQueue {
|
|
|
67
95
|
*/
|
|
68
96
|
constructor(
|
|
69
97
|
pendingTransactions: Map<string, OrderedTransaction[]>,
|
|
98
|
+
mempoolOrder: MempoolOrder,
|
|
70
99
|
baseFee?: BN
|
|
71
100
|
) {
|
|
72
|
-
this._heap =
|
|
73
|
-
decreasingOrderEffectiveMinerFeeComparator(a, b, baseFee)
|
|
74
|
-
);
|
|
101
|
+
this._heap = getOrderedTransactionHeap(mempoolOrder, baseFee);
|
|
75
102
|
|
|
76
103
|
for (const [address, txList] of pendingTransactions) {
|
|
77
104
|
if (baseFee === undefined && txList.some((tx) => tx.data.type === 2)) {
|
|
@@ -332,7 +332,7 @@ export class TxPool {
|
|
|
332
332
|
private _getSenderAddress(tx: TypedTransaction): Address {
|
|
333
333
|
try {
|
|
334
334
|
return tx.getSenderAddress(); // verifies signature
|
|
335
|
-
} catch (e) {
|
|
335
|
+
} catch (e: any) {
|
|
336
336
|
if (!tx.isSigned()) {
|
|
337
337
|
throw new InvalidInputError("Invalid Signature");
|
|
338
338
|
}
|
|
@@ -215,9 +215,7 @@ export class ForkBlockchain implements HardhatBlockchainInterface {
|
|
|
215
215
|
: filterParams.addresses,
|
|
216
216
|
topics: filterParams.normalizedTopics,
|
|
217
217
|
});
|
|
218
|
-
return remoteLogs
|
|
219
|
-
.map((log, index) => toRpcLogOutput(log, index))
|
|
220
|
-
.concat(localLogs);
|
|
218
|
+
return remoteLogs.map(toRpcLogOutput).concat(localLogs);
|
|
221
219
|
}
|
|
222
220
|
return this._data.getLogs(filterParams);
|
|
223
221
|
}
|
|
@@ -274,7 +272,7 @@ export class ForkBlockchain implements HardhatBlockchainInterface {
|
|
|
274
272
|
// one for London.
|
|
275
273
|
const common = this._common.copy();
|
|
276
274
|
if (rpcBlock.baseFeePerGas !== undefined) {
|
|
277
|
-
common.setHardfork("london");
|
|
275
|
+
common.setHardfork("london"); // TODO: consider changing this to "latest hardfork"
|
|
278
276
|
} else {
|
|
279
277
|
common.setHardfork("berlin");
|
|
280
278
|
}
|
|
@@ -959,29 +959,31 @@ export class EthModule {
|
|
|
959
959
|
// AccessListEIP2930Transaction.fromSerializedTx and Transaction.fromSerializedTx
|
|
960
960
|
// Please keep it updated.
|
|
961
961
|
|
|
962
|
-
if (error
|
|
963
|
-
|
|
964
|
-
|
|
962
|
+
if (error instanceof Error) {
|
|
963
|
+
if (error.message === "invalid remainder") {
|
|
964
|
+
throw new InvalidArgumentsError("Invalid transaction", error);
|
|
965
|
+
}
|
|
965
966
|
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
967
|
+
if (error.message.includes("Incompatible EIP155")) {
|
|
968
|
+
throw new InvalidArgumentsError(
|
|
969
|
+
"Trying to send an incompatible EIP-155 transaction, signed for another chain.",
|
|
970
|
+
error
|
|
971
|
+
);
|
|
972
|
+
}
|
|
972
973
|
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
974
|
+
if (
|
|
975
|
+
error.message.includes("TypedTransaction with ID") &&
|
|
976
|
+
error.message.includes(" unknown")
|
|
977
|
+
) {
|
|
978
|
+
throw new InvalidArgumentsError(`Invalid transaction`, error);
|
|
979
|
+
}
|
|
979
980
|
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
981
|
+
if (error.message.includes("The chain ID does not match")) {
|
|
982
|
+
throw new InvalidArgumentsError(
|
|
983
|
+
`Trying to send a raw transaction with an invalid chainId. The expected chainId is ${this._common.chainIdBN()}`,
|
|
984
|
+
error
|
|
985
|
+
);
|
|
986
|
+
}
|
|
985
987
|
}
|
|
986
988
|
|
|
987
989
|
throw error;
|
|
@@ -1065,7 +1067,7 @@ export class EthModule {
|
|
|
1065
1067
|
if (typeof typedData === "string") {
|
|
1066
1068
|
try {
|
|
1067
1069
|
typedMessage = JSON.parse(typedData);
|
|
1068
|
-
} catch
|
|
1070
|
+
} catch {
|
|
1069
1071
|
throw new InvalidInputError(
|
|
1070
1072
|
`The message parameter is an invalid JSON. Either pass a valid JSON or a plain object conforming to EIP712 TypedData schema.`
|
|
1071
1073
|
);
|
|
@@ -108,6 +108,9 @@ export class HardhatModule {
|
|
|
108
108
|
return this._setNextBlockBaseFeePerGasAction(
|
|
109
109
|
...this._setNextBlockBaseFeePerGasParams(params)
|
|
110
110
|
);
|
|
111
|
+
|
|
112
|
+
case "hardhat_setCoinbase":
|
|
113
|
+
return this._setCoinbaseAction(...this._setCoinbaseParams(params));
|
|
111
114
|
}
|
|
112
115
|
|
|
113
116
|
throw new MethodNotFoundError(`Method ${method} not found`);
|
|
@@ -242,7 +245,7 @@ export class HardhatModule {
|
|
|
242
245
|
|
|
243
246
|
if (this._node.isEip1559Active()) {
|
|
244
247
|
throw new InvalidInputError(
|
|
245
|
-
"hardhat_setMinGasPrice is not
|
|
248
|
+
"hardhat_setMinGasPrice is not supported when EIP-1559 is active"
|
|
246
249
|
);
|
|
247
250
|
}
|
|
248
251
|
|
|
@@ -346,6 +349,17 @@ export class HardhatModule {
|
|
|
346
349
|
return true;
|
|
347
350
|
}
|
|
348
351
|
|
|
352
|
+
// hardhat_setCoinbase
|
|
353
|
+
|
|
354
|
+
private _setCoinbaseParams(params: any[]): [Buffer] {
|
|
355
|
+
return validateParams(params, rpcAddress);
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
private async _setCoinbaseAction(address: Buffer) {
|
|
359
|
+
await this._node.setCoinbase(new Address(address));
|
|
360
|
+
return true;
|
|
361
|
+
}
|
|
362
|
+
|
|
349
363
|
private async _logBlock(result: MineBlockResult) {
|
|
350
364
|
const { block, traces } = result;
|
|
351
365
|
|
|
@@ -35,15 +35,19 @@ function printLine(line: string) {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
function replaceLastLine(newLine: string) {
|
|
38
|
-
process.stdout.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
ansiEscapes.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
38
|
+
if (process.stdout.isTTY === true) {
|
|
39
|
+
process.stdout.write(
|
|
40
|
+
// eslint-disable-next-line prefer-template
|
|
41
|
+
ansiEscapes.cursorHide +
|
|
42
|
+
ansiEscapes.cursorPrevLine +
|
|
43
|
+
newLine +
|
|
44
|
+
ansiEscapes.eraseEndLine +
|
|
45
|
+
"\n" +
|
|
46
|
+
ansiEscapes.cursorShow
|
|
47
|
+
);
|
|
48
|
+
} else {
|
|
49
|
+
process.stdout.write(`${newLine}\n`);
|
|
50
|
+
}
|
|
47
51
|
}
|
|
48
52
|
|
|
49
53
|
/**
|
|
@@ -2,7 +2,8 @@ import { Block } from "@ethereumjs/block";
|
|
|
2
2
|
import { RunBlockResult } from "@ethereumjs/vm/dist/runBlock";
|
|
3
3
|
import { BN } from "ethereumjs-util";
|
|
4
4
|
|
|
5
|
-
import {
|
|
5
|
+
import { HARDHAT_MEMPOOL_SUPPORTED_ORDERS } from "../../constants";
|
|
6
|
+
import { BuildInfo, HardhatNetworkChainsConfig } from "../../../types";
|
|
6
7
|
import { MessageTrace } from "../stack-traces/message-trace";
|
|
7
8
|
|
|
8
9
|
import type { ReturnData } from "./return-data";
|
|
@@ -28,6 +29,9 @@ interface CommonConfig {
|
|
|
28
29
|
initialDate?: Date;
|
|
29
30
|
tracingConfig?: TracingConfig;
|
|
30
31
|
initialBaseFeePerGas?: number;
|
|
32
|
+
mempoolOrder: MempoolOrder;
|
|
33
|
+
coinbase: string;
|
|
34
|
+
chains: HardhatNetworkChainsConfig;
|
|
31
35
|
}
|
|
32
36
|
|
|
33
37
|
export type LocalNodeConfig = CommonConfig;
|
|
@@ -48,6 +52,8 @@ export interface TracingConfig {
|
|
|
48
52
|
|
|
49
53
|
export type IntervalMiningConfig = number | [number, number];
|
|
50
54
|
|
|
55
|
+
export type MempoolOrder = typeof HARDHAT_MEMPOOL_SUPPORTED_ORDERS[number];
|
|
56
|
+
|
|
51
57
|
export interface GenesisAccount {
|
|
52
58
|
privateKey: string;
|
|
53
59
|
balance: string | number | BN;
|
|
@@ -121,6 +127,7 @@ export interface Snapshot {
|
|
|
121
127
|
nextBlockTimestamp: BN;
|
|
122
128
|
irregularStatesByBlockNumber: Map<string, Buffer>;
|
|
123
129
|
userProvidedNextBlockBaseFeePerGas: BN | undefined;
|
|
130
|
+
coinbase: string;
|
|
124
131
|
}
|
|
125
132
|
|
|
126
133
|
export type SendTransactionResult =
|