hardhat 2.6.6 → 2.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +57 -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 +45 -22
- 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 +22 -8
- 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 +29 -8
- 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 +113 -38
- package/internal/core/config/config-validation.js.map +1 -1
- package/internal/core/config/default-config.d.ts +1 -0
- package/internal/core/config/default-config.d.ts.map +1 -1
- package/internal/core/config/default-config.js +12 -5
- package/internal/core/config/default-config.js.map +1 -1
- package/internal/core/errors-list.d.ts +14 -0
- package/internal/core/errors-list.d.ts.map +1 -1
- package/internal/core/errors-list.js +21 -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 +22 -7
- 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 +20 -18
- 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 +3 -0
- package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/hardhat.js +31 -15
- package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
- package/internal/hardhat-network/provider/modules/logger.js +17 -17
- 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.d.ts +9 -0
- package/internal/hardhat-network/provider/modules/personal.d.ts.map +1 -0
- package/internal/hardhat-network/provider/modules/personal.js +31 -0
- package/internal/hardhat-network/provider/modules/personal.js.map +1 -0
- 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 +5 -0
- 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 +4 -1
- package/internal/hardhat-network/provider/node.d.ts.map +1 -1
- package/internal/hardhat-network/provider/node.js +107 -71
- 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 +6 -2
- package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
- package/internal/hardhat-network/provider/provider.js +14 -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.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/error-inferrer.js +42 -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.d.ts +1 -1
- package/internal/hardhat-network/stack-traces/solidityTracer.js +11 -11
- 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 +14 -14
- package/register.js +7 -7
- package/register.js.map +1 -1
- package/src/builtin-tasks/compile.ts +14 -0
- package/src/builtin-tasks/flatten.ts +4 -2
- package/src/builtin-tasks/node.ts +56 -17
- 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 +25 -3
- package/src/internal/core/config/config-resolution.ts +28 -0
- package/src/internal/core/config/config-validation.ts +147 -15
- package/src/internal/core/config/default-config.ts +10 -3
- package/src/internal/core/errors-list.ts +21 -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 +23 -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 +8 -2
- package/src/internal/core/providers/gas-providers.ts +7 -5
- 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 +24 -1
- package/src/internal/hardhat-network/provider/modules/personal.ts +39 -0
- package/src/internal/hardhat-network/provider/node-types.ts +6 -0
- package/src/internal/hardhat-network/provider/node.ts +68 -26
- package/src/internal/hardhat-network/provider/output.ts +9 -9
- package/src/internal/hardhat-network/provider/provider.ts +16 -2
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +19 -0
- package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/solidityTracer.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 +14 -0
- package/src/utils/contract-names.ts +112 -0
- package/src/utils/source-names.ts +14 -12
- package/types/config.d.ts +10 -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 -32
|
@@ -32,6 +32,7 @@ import { EthModule } from "./modules/eth";
|
|
|
32
32
|
import { EvmModule } from "./modules/evm";
|
|
33
33
|
import { HardhatModule } from "./modules/hardhat";
|
|
34
34
|
import { ModulesLogger } from "./modules/logger";
|
|
35
|
+
import { PersonalModule } from "./modules/personal";
|
|
35
36
|
import { NetModule } from "./modules/net";
|
|
36
37
|
import { Web3Module } from "./modules/web3";
|
|
37
38
|
import { HardhatNode } from "./node";
|
|
@@ -39,6 +40,7 @@ import {
|
|
|
39
40
|
ForkConfig,
|
|
40
41
|
GenesisAccount,
|
|
41
42
|
IntervalMiningConfig,
|
|
43
|
+
MempoolOrder,
|
|
42
44
|
NodeConfig,
|
|
43
45
|
TracingConfig,
|
|
44
46
|
} from "./node-types";
|
|
@@ -53,6 +55,8 @@ const PRIVATE_RPC_METHODS = new Set([
|
|
|
53
55
|
|
|
54
56
|
/* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
|
|
55
57
|
|
|
58
|
+
export const DEFAULT_COINBASE = "0xc014ba5ec014ba5ec014ba5ec014ba5ec014ba5e";
|
|
59
|
+
|
|
56
60
|
export class HardhatNetworkProvider
|
|
57
61
|
extends EventEmitter
|
|
58
62
|
implements EIP1193Provider
|
|
@@ -65,6 +69,7 @@ export class HardhatNetworkProvider
|
|
|
65
69
|
private _evmModule?: EvmModule;
|
|
66
70
|
private _hardhatModule?: HardhatModule;
|
|
67
71
|
private _debugModule?: DebugModule;
|
|
72
|
+
private _personalModule?: PersonalModule;
|
|
68
73
|
private readonly _mutex = new Mutex();
|
|
69
74
|
|
|
70
75
|
constructor(
|
|
@@ -79,6 +84,7 @@ export class HardhatNetworkProvider
|
|
|
79
84
|
private readonly _throwOnCallFailures: boolean,
|
|
80
85
|
private readonly _automine: boolean,
|
|
81
86
|
private readonly _intervalMining: IntervalMiningConfig,
|
|
87
|
+
private readonly _mempoolOrder: MempoolOrder,
|
|
82
88
|
private readonly _logger: ModulesLogger,
|
|
83
89
|
private readonly _genesisAccounts: GenesisAccount[] = [],
|
|
84
90
|
private readonly _artifacts?: Artifacts,
|
|
@@ -86,7 +92,8 @@ export class HardhatNetworkProvider
|
|
|
86
92
|
private readonly _initialDate?: Date,
|
|
87
93
|
private readonly _experimentalHardhatNetworkMessageTraceHooks: BoundExperimentalHardhatNetworkMessageTraceHook[] = [],
|
|
88
94
|
private _forkConfig?: ForkConfig,
|
|
89
|
-
private readonly _forkCachePath?: string
|
|
95
|
+
private readonly _forkCachePath?: string,
|
|
96
|
+
private readonly _coinbase = DEFAULT_COINBASE
|
|
90
97
|
) {
|
|
91
98
|
super();
|
|
92
99
|
}
|
|
@@ -157,7 +164,7 @@ export class HardhatNetworkProvider
|
|
|
157
164
|
this._logger.printFailedMethod(method);
|
|
158
165
|
this._logger.printLogs();
|
|
159
166
|
|
|
160
|
-
if (!this._logger.isLoggedError(err)) {
|
|
167
|
+
if (err instanceof Error && !this._logger.isLoggedError(err)) {
|
|
161
168
|
if (ProviderError.isProviderError(err)) {
|
|
162
169
|
this._logger.printEmptyLine();
|
|
163
170
|
this._logger.printErrorMessage(err.message);
|
|
@@ -205,6 +212,10 @@ export class HardhatNetworkProvider
|
|
|
205
212
|
return this._debugModule!.processRequest(method, params);
|
|
206
213
|
}
|
|
207
214
|
|
|
215
|
+
if (method.startsWith("personal_")) {
|
|
216
|
+
return this._personalModule!.processRequest(method, params);
|
|
217
|
+
}
|
|
218
|
+
|
|
208
219
|
throw new MethodNotFoundError(`Method ${method} not found`);
|
|
209
220
|
}
|
|
210
221
|
|
|
@@ -221,6 +232,7 @@ export class HardhatNetworkProvider
|
|
|
221
232
|
allowUnlimitedContractSize: this._allowUnlimitedContractSize,
|
|
222
233
|
tracingConfig: await this._makeTracingConfig(),
|
|
223
234
|
initialBaseFeePerGas: this._initialBaseFeePerGas,
|
|
235
|
+
mempoolOrder: this._mempoolOrder,
|
|
224
236
|
hardfork: this._hardfork,
|
|
225
237
|
networkName: this._networkName,
|
|
226
238
|
chainId: this._chainId,
|
|
@@ -229,6 +241,7 @@ export class HardhatNetworkProvider
|
|
|
229
241
|
forkConfig: this._forkConfig,
|
|
230
242
|
forkCachePath:
|
|
231
243
|
this._forkConfig !== undefined ? this._forkCachePath : undefined,
|
|
244
|
+
coinbase: this._coinbase,
|
|
232
245
|
};
|
|
233
246
|
|
|
234
247
|
const [common, node] = await HardhatNode.create(config);
|
|
@@ -265,6 +278,7 @@ export class HardhatNetworkProvider
|
|
|
265
278
|
this._experimentalHardhatNetworkMessageTraceHooks
|
|
266
279
|
);
|
|
267
280
|
this._debugModule = new DebugModule(node);
|
|
281
|
+
this._personalModule = new PersonalModule(node);
|
|
268
282
|
|
|
269
283
|
this._forwardNodeEvents(node);
|
|
270
284
|
}
|
package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts
CHANGED
|
@@ -57,7 +57,7 @@ export class ReadOnlyValidEIP1559Transaction extends FeeMarketEIP1559Transaction
|
|
|
57
57
|
constructor(sender: Address, data: FeeMarketEIP1559TxData = {}) {
|
|
58
58
|
const fakeCommon = new Common({
|
|
59
59
|
chain: "mainnet",
|
|
60
|
-
hardfork: "london",
|
|
60
|
+
hardfork: "london", // TODO: consider chaning this to ["latest hardfork"]
|
|
61
61
|
});
|
|
62
62
|
|
|
63
63
|
// this class should only be used with txs in a hardfork that
|
|
@@ -191,6 +191,25 @@ export class ErrorInferrer {
|
|
|
191
191
|
return true;
|
|
192
192
|
}
|
|
193
193
|
|
|
194
|
+
// look TWO frames ahead to determine if this is a specific occurrence of
|
|
195
|
+
// a redundant CALLSTACK_ENTRY frame observed when using Solidity 0.8.5:
|
|
196
|
+
if (
|
|
197
|
+
frame.type === StackTraceEntryType.CALLSTACK_ENTRY &&
|
|
198
|
+
i + 2 < stacktrace.length &&
|
|
199
|
+
stacktrace[i + 2].sourceReference !== undefined &&
|
|
200
|
+
stacktrace[i + 2].type === StackTraceEntryType.RETURNDATA_SIZE_ERROR
|
|
201
|
+
) {
|
|
202
|
+
// ! below for tsc. we confirmed existence in the enclosing conditional.
|
|
203
|
+
const thatSrcRef = stacktrace[i + 2].sourceReference!;
|
|
204
|
+
if (
|
|
205
|
+
frame.sourceReference.range[0] === thatSrcRef.range[0] &&
|
|
206
|
+
frame.sourceReference.range[1] === thatSrcRef.range[1] &&
|
|
207
|
+
frame.sourceReference.line === thatSrcRef.line
|
|
208
|
+
) {
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
194
213
|
// constructors contain the whole contract, so we ignore them
|
|
195
214
|
if (
|
|
196
215
|
frame.sourceReference.function === "constructor" &&
|
|
@@ -36,7 +36,7 @@ export async function wrapWithSolidityErrorsCorrection(
|
|
|
36
36
|
|
|
37
37
|
try {
|
|
38
38
|
return await f();
|
|
39
|
-
} catch (error) {
|
|
39
|
+
} catch (error: any) {
|
|
40
40
|
if (error.stackTrace === undefined) {
|
|
41
41
|
// eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
|
|
42
42
|
throw error;
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
StackTraceEntryType,
|
|
32
32
|
} from "./solidity-stack-trace";
|
|
33
33
|
|
|
34
|
-
export const SUPPORTED_SOLIDITY_VERSION_RANGE = "<=0.8.
|
|
34
|
+
export const SUPPORTED_SOLIDITY_VERSION_RANGE = "<=0.8.9";
|
|
35
35
|
export const FIRST_SOLC_VERSION_SUPPORTED = "0.5.1";
|
|
36
36
|
|
|
37
37
|
export class SolidityTracer {
|
|
@@ -160,7 +160,7 @@ export class VMTracer {
|
|
|
160
160
|
if (this._throwErrors) {
|
|
161
161
|
next(error);
|
|
162
162
|
} else {
|
|
163
|
-
this._lastError = error;
|
|
163
|
+
this._lastError = error as Error;
|
|
164
164
|
next();
|
|
165
165
|
}
|
|
166
166
|
}
|
|
@@ -187,7 +187,7 @@ export class VMTracer {
|
|
|
187
187
|
if (this._throwErrors) {
|
|
188
188
|
next(error);
|
|
189
189
|
} else {
|
|
190
|
-
this._lastError = error;
|
|
190
|
+
this._lastError = error as Error;
|
|
191
191
|
next();
|
|
192
192
|
}
|
|
193
193
|
}
|
|
@@ -219,7 +219,7 @@ export class VMTracer {
|
|
|
219
219
|
if (this._throwErrors) {
|
|
220
220
|
next(error);
|
|
221
221
|
} else {
|
|
222
|
-
this._lastError = error;
|
|
222
|
+
this._lastError = error as Error;
|
|
223
223
|
next();
|
|
224
224
|
}
|
|
225
225
|
}
|
package/src/internal/reset.ts
CHANGED
|
@@ -36,7 +36,7 @@ async function main() {
|
|
|
36
36
|
let event: any;
|
|
37
37
|
try {
|
|
38
38
|
event = JSON.parse(serializedEvent);
|
|
39
|
-
} catch
|
|
39
|
+
} catch {
|
|
40
40
|
log(
|
|
41
41
|
"HARDHAT_SENTRY_EVENT env variable doesn't have a valid JSON, exiting: %o",
|
|
42
42
|
serializedEvent
|
|
@@ -62,7 +62,7 @@ async function main() {
|
|
|
62
62
|
`There was an error anonymizing an event: ${anonymizedEvent.value}`
|
|
63
63
|
);
|
|
64
64
|
}
|
|
65
|
-
} catch (error) {
|
|
65
|
+
} catch (error: any) {
|
|
66
66
|
log("Couldn't capture event %o, got error %O", event, error);
|
|
67
67
|
Sentry.captureMessage(
|
|
68
68
|
`There was an error capturing an event: ${error.message}`
|
|
@@ -141,25 +141,40 @@ export class CompilerDownloader {
|
|
|
141
141
|
platform: compilerBuild.platform,
|
|
142
142
|
};
|
|
143
143
|
} catch (e) {
|
|
144
|
-
if (
|
|
145
|
-
|
|
144
|
+
if (e instanceof Error) {
|
|
145
|
+
if (HardhatError.isHardhatError(e)) {
|
|
146
|
+
throw e;
|
|
147
|
+
}
|
|
148
|
+
console.warn(
|
|
149
|
+
chalk.yellow(
|
|
150
|
+
`There was an unexpected problem downloading the compiler: ${e.message}`
|
|
151
|
+
)
|
|
152
|
+
);
|
|
146
153
|
}
|
|
147
|
-
console.warn(
|
|
148
|
-
chalk.yellow(
|
|
149
|
-
`There was an unexpected problem downloading the compiler: ${e.message}`
|
|
150
|
-
)
|
|
151
|
-
);
|
|
152
154
|
}
|
|
153
155
|
}
|
|
154
156
|
|
|
155
157
|
public async getCompilersList(
|
|
156
|
-
platform: CompilerPlatform
|
|
158
|
+
platform: CompilerPlatform,
|
|
159
|
+
pendingRetries: number = 3
|
|
157
160
|
): Promise<CompilersList> {
|
|
158
161
|
if (!(await this.compilersListExists(platform))) {
|
|
159
162
|
await this.downloadCompilersList(platform);
|
|
160
163
|
}
|
|
161
164
|
|
|
162
|
-
|
|
165
|
+
try {
|
|
166
|
+
return await fsExtra.readJSON(this.getCompilersListPath(platform));
|
|
167
|
+
} catch (error) {
|
|
168
|
+
// if parsing throws a syntax error, redownload and parse once more
|
|
169
|
+
if (!(error instanceof SyntaxError) || pendingRetries === 0) {
|
|
170
|
+
// eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
|
|
171
|
+
throw error;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// remove the malformed list and retry
|
|
175
|
+
await fsExtra.remove(this.getCompilersListPath(platform));
|
|
176
|
+
return this.getCompilersList(platform, pendingRetries - 1);
|
|
177
|
+
}
|
|
163
178
|
}
|
|
164
179
|
|
|
165
180
|
public async getCompilerBuild(version: string): Promise<CompilerBuild> {
|
|
@@ -168,7 +183,7 @@ export class CompilerDownloader {
|
|
|
168
183
|
if (await this._versionExists(version, platform)) {
|
|
169
184
|
try {
|
|
170
185
|
return await this._getCompilerBuildByPlatform(version, platform);
|
|
171
|
-
} catch
|
|
186
|
+
} catch {
|
|
172
187
|
log("Couldn't download native compiler, using solcjs instead");
|
|
173
188
|
}
|
|
174
189
|
}
|
|
@@ -182,7 +197,7 @@ export class CompilerDownloader {
|
|
|
182
197
|
getCompilerListURL(platform),
|
|
183
198
|
this.getCompilersListPath(platform)
|
|
184
199
|
);
|
|
185
|
-
} catch (error) {
|
|
200
|
+
} catch (error: any) {
|
|
186
201
|
throw new HardhatError(
|
|
187
202
|
ERRORS.SOLC.VERSION_LIST_DOWNLOAD_FAILED,
|
|
188
203
|
{},
|
|
@@ -212,7 +227,7 @@ export class CompilerDownloader {
|
|
|
212
227
|
{
|
|
213
228
|
remoteVersion: compilerBuild.version,
|
|
214
229
|
},
|
|
215
|
-
error
|
|
230
|
+
error as Error
|
|
216
231
|
);
|
|
217
232
|
}
|
|
218
233
|
}
|
|
@@ -9,6 +9,18 @@ interface FetchOptions {
|
|
|
9
9
|
agent?: undefined | HttpsProxyAgent.HttpsProxyAgent;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
+
const TEMP_FILE_PREFIX = "tmp-";
|
|
13
|
+
|
|
14
|
+
function resolveTempFileName(filePath: string): string {
|
|
15
|
+
const { dir, ext, name } = path.parse(filePath);
|
|
16
|
+
|
|
17
|
+
return path.format({
|
|
18
|
+
dir,
|
|
19
|
+
ext,
|
|
20
|
+
name: `${TEMP_FILE_PREFIX}${name}`,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
12
24
|
export async function download(
|
|
13
25
|
url: string,
|
|
14
26
|
filePath: string,
|
|
@@ -43,8 +55,12 @@ export async function download(
|
|
|
43
55
|
const response = await fetch(url, fetchOptions);
|
|
44
56
|
|
|
45
57
|
if (response.ok && response.body !== null) {
|
|
58
|
+
const tmpFilePath = resolveTempFileName(filePath);
|
|
59
|
+
|
|
46
60
|
await fsExtra.ensureDir(path.dirname(filePath));
|
|
47
|
-
|
|
61
|
+
await streamPipeline(response.body, fs.createWriteStream(tmpFilePath));
|
|
62
|
+
|
|
63
|
+
return fsExtra.move(tmpFilePath, filePath);
|
|
48
64
|
}
|
|
49
65
|
|
|
50
66
|
// Consume the response stream and discard its result
|
|
@@ -13,6 +13,7 @@ export enum HardforkName {
|
|
|
13
13
|
MUIR_GLACIER = "muirGlacier",
|
|
14
14
|
BERLIN = "berlin",
|
|
15
15
|
LONDON = "london",
|
|
16
|
+
ARROW_GLACIER = "arrowGlacier",
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
const HARDFORKS_ORDER: HardforkName[] = [
|
|
@@ -28,6 +29,7 @@ const HARDFORKS_ORDER: HardforkName[] = [
|
|
|
28
29
|
HardforkName.MUIR_GLACIER,
|
|
29
30
|
HardforkName.BERLIN,
|
|
30
31
|
HardforkName.LONDON,
|
|
32
|
+
HardforkName.ARROW_GLACIER,
|
|
31
33
|
];
|
|
32
34
|
|
|
33
35
|
export function getHardforkName(name: string): HardforkName {
|
package/src/register.ts
CHANGED
package/src/types/config.ts
CHANGED
|
@@ -18,6 +18,7 @@ import type { BN } from "ethereumjs-util";
|
|
|
18
18
|
|
|
19
19
|
export interface NetworksUserConfig {
|
|
20
20
|
hardhat?: HardhatNetworkUserConfig;
|
|
21
|
+
|
|
21
22
|
[networkName: string]: NetworkUserConfig | undefined;
|
|
22
23
|
}
|
|
23
24
|
|
|
@@ -43,6 +44,7 @@ export interface HardhatNetworkUserConfig {
|
|
|
43
44
|
initialDate?: string;
|
|
44
45
|
loggingEnabled?: boolean;
|
|
45
46
|
forking?: HardhatNetworkForkingUserConfig;
|
|
47
|
+
coinbase?: string;
|
|
46
48
|
}
|
|
47
49
|
|
|
48
50
|
export type HardhatNetworkAccountsUserConfig =
|
|
@@ -95,6 +97,7 @@ export interface HttpNetworkUserConfig {
|
|
|
95
97
|
export interface NetworksConfig {
|
|
96
98
|
hardhat: HardhatNetworkConfig;
|
|
97
99
|
localhost: HttpNetworkConfig;
|
|
100
|
+
|
|
98
101
|
[networkName: string]: NetworkConfig;
|
|
99
102
|
}
|
|
100
103
|
|
|
@@ -118,6 +121,7 @@ export interface HardhatNetworkConfig {
|
|
|
118
121
|
initialDate: string;
|
|
119
122
|
loggingEnabled: boolean;
|
|
120
123
|
forking?: HardhatNetworkForkingConfig;
|
|
124
|
+
coinbase?: string;
|
|
121
125
|
}
|
|
122
126
|
|
|
123
127
|
export type HardhatNetworkAccountsConfig =
|
|
@@ -170,11 +174,21 @@ export interface HttpNetworkHDAccountsConfig {
|
|
|
170
174
|
export interface HardhatNetworkMiningConfig {
|
|
171
175
|
auto: boolean;
|
|
172
176
|
interval: number | [number, number];
|
|
177
|
+
mempool: HardhatNetworkMempoolConfig;
|
|
173
178
|
}
|
|
174
179
|
|
|
175
180
|
export interface HardhatNetworkMiningUserConfig {
|
|
176
181
|
auto?: boolean;
|
|
177
182
|
interval?: number | [number, number];
|
|
183
|
+
mempool?: HardhatNetworkMempoolUserConfig;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
export interface HardhatNetworkMempoolConfig {
|
|
187
|
+
order: string; // Guaranteed at runtime to be have a valid value
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
export interface HardhatNetworkMempoolUserConfig {
|
|
191
|
+
order?: string;
|
|
178
192
|
}
|
|
179
193
|
|
|
180
194
|
// Project paths config
|
|
@@ -56,3 +56,115 @@ export function parseName(name: string): {
|
|
|
56
56
|
|
|
57
57
|
return { sourceName, contractName };
|
|
58
58
|
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Returns the edit-distance between two given strings using Levenshtein distance.
|
|
62
|
+
*
|
|
63
|
+
* @param a First string being compared
|
|
64
|
+
* @param b Second string being compared
|
|
65
|
+
* @returns distance between the two strings (lower number == more similar)
|
|
66
|
+
* @see https://github.com/gustf/js-levenshtein
|
|
67
|
+
* @license MIT - https://github.com/gustf/js-levenshtein/blob/master/LICENSE
|
|
68
|
+
*/
|
|
69
|
+
export function findDistance(a: string, b: string): number {
|
|
70
|
+
function _min(
|
|
71
|
+
_d0: number,
|
|
72
|
+
_d1: number,
|
|
73
|
+
_d2: number,
|
|
74
|
+
_bx: number,
|
|
75
|
+
_ay: number
|
|
76
|
+
): number {
|
|
77
|
+
return _d0 < _d1 || _d2 < _d1
|
|
78
|
+
? _d0 > _d2
|
|
79
|
+
? _d2 + 1
|
|
80
|
+
: _d0 + 1
|
|
81
|
+
: _bx === _ay
|
|
82
|
+
? _d1
|
|
83
|
+
: _d1 + 1;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (a === b) {
|
|
87
|
+
return 0;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (a.length > b.length) {
|
|
91
|
+
[a, b] = [b, a];
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
let la = a.length;
|
|
95
|
+
let lb = b.length;
|
|
96
|
+
|
|
97
|
+
while (la > 0 && a.charCodeAt(la - 1) === b.charCodeAt(lb - 1)) {
|
|
98
|
+
la--;
|
|
99
|
+
lb--;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
let offset = 0;
|
|
103
|
+
|
|
104
|
+
while (offset < la && a.charCodeAt(offset) === b.charCodeAt(offset)) {
|
|
105
|
+
offset++;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
la -= offset;
|
|
109
|
+
lb -= offset;
|
|
110
|
+
|
|
111
|
+
if (la === 0 || lb < 3) {
|
|
112
|
+
return lb;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
let x = 0;
|
|
116
|
+
let y: number;
|
|
117
|
+
let d0: number;
|
|
118
|
+
let d1: number;
|
|
119
|
+
let d2: number;
|
|
120
|
+
let d3: number;
|
|
121
|
+
let dd: number = 0; // typescript gets angry if we don't assign here
|
|
122
|
+
let dy: number;
|
|
123
|
+
let ay: number;
|
|
124
|
+
let bx0: number;
|
|
125
|
+
let bx1: number;
|
|
126
|
+
let bx2: number;
|
|
127
|
+
let bx3: number;
|
|
128
|
+
|
|
129
|
+
const vector = [];
|
|
130
|
+
|
|
131
|
+
for (y = 0; y < la; y++) {
|
|
132
|
+
vector.push(y + 1);
|
|
133
|
+
vector.push(a.charCodeAt(offset + y));
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
const len = vector.length - 1;
|
|
137
|
+
|
|
138
|
+
for (; x < lb - 3; ) {
|
|
139
|
+
bx0 = b.charCodeAt(offset + (d0 = x));
|
|
140
|
+
bx1 = b.charCodeAt(offset + (d1 = x + 1));
|
|
141
|
+
bx2 = b.charCodeAt(offset + (d2 = x + 2));
|
|
142
|
+
bx3 = b.charCodeAt(offset + (d3 = x + 3));
|
|
143
|
+
dd = x += 4;
|
|
144
|
+
for (y = 0; y < len; y += 2) {
|
|
145
|
+
dy = vector[y];
|
|
146
|
+
ay = vector[y + 1];
|
|
147
|
+
d0 = _min(dy, d0, d1, bx0, ay);
|
|
148
|
+
d1 = _min(d0, d1, d2, bx1, ay);
|
|
149
|
+
d2 = _min(d1, d2, d3, bx2, ay);
|
|
150
|
+
dd = _min(d2, d3, dd, bx3, ay);
|
|
151
|
+
vector[y] = dd;
|
|
152
|
+
d3 = d2;
|
|
153
|
+
d2 = d1;
|
|
154
|
+
d1 = d0;
|
|
155
|
+
d0 = dy;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
for (; x < lb; ) {
|
|
160
|
+
bx0 = b.charCodeAt(offset + (d0 = x));
|
|
161
|
+
dd = ++x;
|
|
162
|
+
for (y = 0; y < len; y += 2) {
|
|
163
|
+
dy = vector[y];
|
|
164
|
+
vector[y] = dd = _min(dy, d0, dd, bx0, vector[y + 1]);
|
|
165
|
+
d0 = dy;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
return dd;
|
|
170
|
+
}
|
|
@@ -179,7 +179,7 @@ function isExplicitRelativePath(sourceName: string): boolean {
|
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
/**
|
|
182
|
-
* This function replaces backslashes (
|
|
182
|
+
* This function replaces backslashes (\\) with slashes (/).
|
|
183
183
|
*
|
|
184
184
|
* Note that a source name must not contain backslashes.
|
|
185
185
|
*/
|
|
@@ -199,17 +199,19 @@ async function getPathTrueCase(fromDir: string, p: string): Promise<string> {
|
|
|
199
199
|
const tcp = await trueCasePath(p, fromDir);
|
|
200
200
|
return normalizeSourceName(path.relative(fromDir, tcp));
|
|
201
201
|
} catch (error) {
|
|
202
|
-
if (
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
202
|
+
if (error instanceof Error) {
|
|
203
|
+
if (
|
|
204
|
+
typeof error.message === "string" &&
|
|
205
|
+
error.message.includes("no matching file exists")
|
|
206
|
+
) {
|
|
207
|
+
throw new HardhatError(
|
|
208
|
+
ERRORS.SOURCE_NAMES.FILE_NOT_FOUND,
|
|
209
|
+
{
|
|
210
|
+
name: p,
|
|
211
|
+
},
|
|
212
|
+
error
|
|
213
|
+
);
|
|
214
|
+
}
|
|
213
215
|
}
|
|
214
216
|
|
|
215
217
|
// eslint-disable-next-line @nomiclabs/hardhat-internal-rules/only-hardhat-error
|
package/types/config.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export interface HardhatNetworkUserConfig {
|
|
|
23
23
|
initialDate?: string;
|
|
24
24
|
loggingEnabled?: boolean;
|
|
25
25
|
forking?: HardhatNetworkForkingUserConfig;
|
|
26
|
+
coinbase?: string;
|
|
26
27
|
}
|
|
27
28
|
export declare type HardhatNetworkAccountsUserConfig = HardhatNetworkAccountUserConfig[] | HardhatNetworkHDAccountsUserConfig;
|
|
28
29
|
export interface HardhatNetworkAccountUserConfig {
|
|
@@ -85,6 +86,7 @@ export interface HardhatNetworkConfig {
|
|
|
85
86
|
initialDate: string;
|
|
86
87
|
loggingEnabled: boolean;
|
|
87
88
|
forking?: HardhatNetworkForkingConfig;
|
|
89
|
+
coinbase?: string;
|
|
88
90
|
}
|
|
89
91
|
export declare type HardhatNetworkAccountsConfig = HardhatNetworkHDAccountsConfig | HardhatNetworkAccountConfig[];
|
|
90
92
|
export interface HardhatNetworkAccountConfig {
|
|
@@ -126,10 +128,18 @@ export interface HttpNetworkHDAccountsConfig {
|
|
|
126
128
|
export interface HardhatNetworkMiningConfig {
|
|
127
129
|
auto: boolean;
|
|
128
130
|
interval: number | [number, number];
|
|
131
|
+
mempool: HardhatNetworkMempoolConfig;
|
|
129
132
|
}
|
|
130
133
|
export interface HardhatNetworkMiningUserConfig {
|
|
131
134
|
auto?: boolean;
|
|
132
135
|
interval?: number | [number, number];
|
|
136
|
+
mempool?: HardhatNetworkMempoolUserConfig;
|
|
137
|
+
}
|
|
138
|
+
export interface HardhatNetworkMempoolConfig {
|
|
139
|
+
order: string;
|
|
140
|
+
}
|
|
141
|
+
export interface HardhatNetworkMempoolUserConfig {
|
|
142
|
+
order?: string;
|
|
133
143
|
}
|
|
134
144
|
export interface ProjectPathsUserConfig {
|
|
135
145
|
root?: string;
|
package/types/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/types/config.ts"],"names":[],"mappings":";AAcA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAI1C,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/types/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,4 +22,14 @@ export declare function parseName(name: string): {
|
|
|
22
22
|
sourceName?: string;
|
|
23
23
|
contractName: string;
|
|
24
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Returns the edit-distance between two given strings using Levenshtein distance.
|
|
27
|
+
*
|
|
28
|
+
* @param a First string being compared
|
|
29
|
+
* @param b Second string being compared
|
|
30
|
+
* @returns distance between the two strings (lower number == more similar)
|
|
31
|
+
* @see https://github.com/gustf/js-levenshtein
|
|
32
|
+
* @license MIT - https://github.com/gustf/js-levenshtein/blob/master/LICENSE
|
|
33
|
+
*/
|
|
34
|
+
export declare function findDistance(a: string, b: string): number;
|
|
25
35
|
//# sourceMappingURL=contract-names.d.ts.map
|