hardhat 2.11.0-dev.0 → 2.11.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/clean.js +2 -1
- package/builtin-tasks/clean.js.map +1 -1
- package/builtin-tasks/compile.js +52 -95
- package/builtin-tasks/compile.js.map +1 -1
- package/builtin-tasks/flatten.js +2 -21
- package/builtin-tasks/flatten.js.map +1 -1
- package/builtin-tasks/node.js +1 -1
- package/builtin-tasks/node.js.map +1 -1
- package/builtin-tasks/test.js +3 -3
- package/builtin-tasks/test.js.map +1 -1
- package/builtin-tasks/utils/solidity-files-cache.d.ts.map +1 -1
- package/builtin-tasks/utils/solidity-files-cache.js +5 -6
- package/builtin-tasks/utils/solidity-files-cache.js.map +1 -1
- package/internal/artifacts.d.ts +3 -11
- package/internal/artifacts.d.ts.map +1 -1
- package/internal/artifacts.js +266 -133
- package/internal/artifacts.js.map +1 -1
- package/internal/cli/cli.js +26 -12
- package/internal/cli/cli.js.map +1 -1
- package/internal/core/config/config-loading.js +2 -2
- 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 +11 -31
- package/internal/core/config/config-resolution.js.map +1 -1
- package/internal/core/config/default-config.js +1 -1
- package/internal/core/config/default-config.js.map +1 -1
- package/internal/core/errors-list.d.ts +7 -0
- package/internal/core/errors-list.d.ts.map +1 -1
- package/internal/core/errors-list.js +28 -11
- package/internal/core/errors-list.js.map +1 -1
- package/internal/core/errors.d.ts +2 -1
- package/internal/core/errors.d.ts.map +1 -1
- package/internal/core/errors.js +5 -1
- package/internal/core/errors.js.map +1 -1
- package/internal/core/execution-mode.d.ts.map +1 -1
- package/internal/core/execution-mode.js +2 -21
- package/internal/core/execution-mode.js.map +1 -1
- package/internal/core/flamegraph.d.ts +4 -0
- package/internal/core/flamegraph.d.ts.map +1 -1
- package/internal/core/flamegraph.js +13 -3
- package/internal/core/flamegraph.js.map +1 -1
- package/internal/core/jsonrpc/types/base-types.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/base-types.js +12 -12
- package/internal/core/jsonrpc/types/base-types.js.map +1 -1
- package/internal/core/params/hardhat-params.d.ts.map +1 -1
- package/internal/core/params/hardhat-params.js +18 -0
- package/internal/core/params/hardhat-params.js.map +1 -1
- package/internal/core/providers/accounts.js +9 -9
- package/internal/core/providers/accounts.js.map +1 -1
- package/internal/core/providers/construction.d.ts.map +1 -1
- package/internal/core/providers/construction.js +5 -6
- package/internal/core/providers/construction.js.map +1 -1
- package/internal/core/providers/gas-providers.d.ts +2 -2
- package/internal/core/providers/util.js +1 -1
- package/internal/core/providers/util.js.map +1 -1
- package/internal/core/runtime-environment.d.ts +6 -0
- package/internal/core/runtime-environment.d.ts.map +1 -1
- package/internal/core/runtime-environment.js +72 -6
- 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 +6 -2
- package/internal/core/typescript-support.js.map +1 -1
- package/internal/hardhat-network/jsonrpc/client.d.ts +1 -1
- package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
- package/internal/hardhat-network/jsonrpc/client.js +10 -10
- package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
- package/internal/hardhat-network/provider/BlockchainBase.d.ts +4 -4
- package/internal/hardhat-network/provider/BlockchainBase.d.ts.map +1 -1
- package/internal/hardhat-network/provider/BlockchainBase.js +31 -12
- package/internal/hardhat-network/provider/BlockchainBase.js.map +1 -1
- package/internal/hardhat-network/provider/BlockchainData.d.ts +3 -3
- package/internal/hardhat-network/provider/BlockchainData.d.ts.map +1 -1
- package/internal/hardhat-network/provider/BlockchainData.js +15 -15
- package/internal/hardhat-network/provider/BlockchainData.js.map +1 -1
- package/internal/hardhat-network/provider/HardhatBlockchain.d.ts +3 -3
- package/internal/hardhat-network/provider/HardhatBlockchain.d.ts.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/PoolState.d.ts +1 -1
- package/internal/hardhat-network/provider/PoolState.d.ts.map +1 -1
- package/internal/hardhat-network/provider/PoolState.js +21 -2
- package/internal/hardhat-network/provider/PoolState.js.map +1 -1
- package/internal/hardhat-network/provider/TransactionQueue.d.ts +1 -1
- package/internal/hardhat-network/provider/TransactionQueue.d.ts.map +1 -1
- package/internal/hardhat-network/provider/TransactionQueue.js +22 -3
- package/internal/hardhat-network/provider/TransactionQueue.js.map +1 -1
- package/internal/hardhat-network/provider/TxPool.d.ts +4 -4
- package/internal/hardhat-network/provider/TxPool.d.ts.map +1 -1
- package/internal/hardhat-network/provider/TxPool.js +35 -16
- package/internal/hardhat-network/provider/TxPool.js.map +1 -1
- package/internal/hardhat-network/provider/ethereumjs-workarounds.js +4 -4
- package/internal/hardhat-network/provider/ethereumjs-workarounds.js.map +1 -1
- package/internal/hardhat-network/provider/filter.d.ts +1 -1
- package/internal/hardhat-network/provider/filter.d.ts.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/ForkBlockchain.d.ts +3 -3
- package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkBlockchain.js +13 -12
- package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts +3 -5
- package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkStateManager.js +36 -40
- package/internal/hardhat-network/provider/fork/ForkStateManager.js.map +1 -1
- package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts +1 -1
- package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts.map +1 -1
- package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts +2 -2
- package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts.map +1 -1
- package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +1 -1
- package/internal/hardhat-network/provider/modules/eth.d.ts +1 -1
- package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/eth.js +22 -22
- package/internal/hardhat-network/provider/modules/eth.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 +20 -6
- package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
- package/internal/hardhat-network/provider/modules/logger.d.ts +2 -2
- package/internal/hardhat-network/provider/modules/logger.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/logger.js +14 -14
- package/internal/hardhat-network/provider/modules/logger.js.map +1 -1
- package/internal/hardhat-network/provider/modules/net.d.ts +1 -1
- package/internal/hardhat-network/provider/modules/net.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/personal.js +3 -3
- package/internal/hardhat-network/provider/modules/personal.js.map +1 -1
- package/internal/hardhat-network/provider/modules/web3.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/web3.js +4 -5
- package/internal/hardhat-network/provider/modules/web3.js.map +1 -1
- package/internal/hardhat-network/provider/node-types.d.ts +4 -4
- package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
- package/internal/hardhat-network/provider/node.d.ts +5 -4
- package/internal/hardhat-network/provider/node.d.ts.map +1 -1
- package/internal/hardhat-network/provider/node.js +71 -49
- package/internal/hardhat-network/provider/node.js.map +1 -1
- package/internal/hardhat-network/provider/output.d.ts +4 -4
- package/internal/hardhat-network/provider/output.d.ts.map +1 -1
- package/internal/hardhat-network/provider/output.js +24 -5
- package/internal/hardhat-network/provider/output.js.map +1 -1
- package/internal/hardhat-network/provider/provider.d.ts +2 -2
- package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
- package/internal/hardhat-network/provider/provider.js +3 -3
- package/internal/hardhat-network/provider/provider.js.map +1 -1
- package/internal/hardhat-network/provider/return-data.d.ts +1 -1
- package/internal/hardhat-network/provider/return-data.d.ts.map +1 -1
- package/internal/hardhat-network/provider/return-data.js +5 -4
- package/internal/hardhat-network/provider/return-data.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts +4 -4
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +8 -8
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts +3 -3
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +8 -8
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts +3 -3
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +5 -5
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts +4 -4
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js +25 -6
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts +3 -3
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js +25 -6
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts +3 -3
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js +2 -2
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js.map +1 -1
- package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts +2 -2
- package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/makeAccount.d.ts +1 -1
- package/internal/hardhat-network/provider/utils/makeAccount.d.ts.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.d.ts +1 -1
- package/internal/hardhat-network/provider/utils/makeCommon.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/makeCommon.js +2 -2
- package/internal/hardhat-network/provider/utils/makeCommon.js.map +1 -1
- package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts +1 -1
- package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/makeStateTrie.js +4 -4
- package/internal/hardhat-network/provider/utils/makeStateTrie.js.map +1 -1
- package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts +3 -3
- package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/putGenesisBlock.js +4 -4
- package/internal/hardhat-network/provider/utils/putGenesisBlock.js.map +1 -1
- package/internal/hardhat-network/provider/utils/random.d.ts +2 -1
- package/internal/hardhat-network/provider/utils/random.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/random.js +10 -9
- package/internal/hardhat-network/provider/utils/random.js.map +1 -1
- package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js +21 -2
- package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js.map +1 -1
- package/internal/hardhat-network/provider/utils/txMapToArray.d.ts +1 -1
- package/internal/hardhat-network/provider/utils/txMapToArray.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/consoleLogger.js +45 -45
- package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
- package/internal/hardhat-network/stack-traces/constants.d.ts +1 -1
- package/internal/hardhat-network/stack-traces/constants.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/constants.js +1 -1
- package/internal/hardhat-network/stack-traces/constants.js.map +1 -1
- package/internal/hardhat-network/stack-traces/contracts-identifier.js +2 -2
- package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +1 -1
- package/internal/hardhat-network/stack-traces/debug.js +13 -13
- package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
- package/internal/hardhat-network/stack-traces/error-inferrer.js +2 -2
- package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
- package/internal/hardhat-network/stack-traces/message-trace.d.ts +1 -1
- package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/model.js +6 -6
- package/internal/hardhat-network/stack-traces/model.js.map +1 -1
- package/internal/hardhat-network/stack-traces/panic-errors.d.ts +1 -1
- package/internal/hardhat-network/stack-traces/panic-errors.js +9 -9
- package/internal/hardhat-network/stack-traces/panic-errors.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/solidity-stack-trace.d.ts +1 -1
- package/internal/hardhat-network/stack-traces/solidityTracer.d.ts +0 -2
- package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/solidityTracer.js +2 -4
- package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts +1 -1
- package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +27 -25
- package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +2 -2
- package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-tracer.js +15 -12
- package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
- package/internal/lib/hardhat-lib.d.ts.map +1 -1
- package/internal/lib/hardhat-lib.js +0 -2
- package/internal/lib/hardhat-lib.js.map +1 -1
- package/internal/solidity/compilation-job.d.ts.map +1 -1
- package/internal/solidity/compilation-job.js +6 -7
- package/internal/solidity/compilation-job.js.map +1 -1
- package/internal/solidity/compiler/downloader.d.ts +66 -40
- package/internal/solidity/compiler/downloader.d.ts.map +1 -1
- package/internal/solidity/compiler/downloader.js +180 -154
- package/internal/solidity/compiler/downloader.js.map +1 -1
- package/internal/solidity/compiler/index.d.ts +8 -4
- package/internal/solidity/compiler/index.d.ts.map +1 -1
- package/internal/solidity/compiler/index.js +1 -1
- package/internal/solidity/compiler/index.js.map +1 -1
- package/internal/solidity/dependencyGraph.d.ts.map +1 -1
- package/internal/solidity/dependencyGraph.js +3 -5
- package/internal/solidity/dependencyGraph.js.map +1 -1
- package/internal/solidity/parse.d.ts.map +1 -1
- package/internal/solidity/parse.js +2 -58
- package/internal/solidity/parse.js.map +1 -1
- package/internal/solidity/resolver.d.ts +1 -0
- package/internal/solidity/resolver.d.ts.map +1 -1
- package/internal/solidity/resolver.js +33 -8
- package/internal/solidity/resolver.js.map +1 -1
- package/internal/util/bigint.d.ts +13 -24
- package/internal/util/bigint.d.ts.map +1 -1
- package/internal/util/bigint.js +22 -29
- package/internal/util/bigint.js.map +1 -1
- package/internal/util/download.d.ts.map +1 -1
- package/internal/util/download.js +1 -1
- package/internal/util/download.js.map +1 -1
- package/internal/util/fs-utils.d.ts +26 -9
- package/internal/util/fs-utils.d.ts.map +1 -1
- package/internal/util/fs-utils.js +111 -68
- package/internal/util/fs-utils.js.map +1 -1
- package/internal/util/glob.d.ts +13 -0
- package/internal/util/glob.d.ts.map +1 -1
- package/internal/util/glob.js +13 -0
- package/internal/util/glob.js.map +1 -1
- package/internal/util/keccak.d.ts +3 -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/scripts-runner.d.ts.map +1 -1
- package/internal/util/scripts-runner.js +7 -4
- package/internal/util/scripts-runner.js.map +1 -1
- package/package.json +15 -15
- package/register.js +1 -3
- package/register.js.map +1 -1
- package/sample-projects/javascript/contracts/Lock.sol +3 -3
- package/sample-projects/typescript/contracts/Lock.sol +3 -3
- package/src/builtin-tasks/clean.ts +9 -6
- package/src/builtin-tasks/compile.ts +96 -128
- package/src/builtin-tasks/flatten.ts +2 -3
- package/src/builtin-tasks/node.ts +2 -2
- package/src/builtin-tasks/test.ts +7 -3
- package/src/builtin-tasks/utils/solidity-files-cache.ts +9 -8
- package/src/internal/artifacts.ts +392 -182
- package/src/internal/cli/cli.ts +43 -17
- package/src/internal/core/config/config-loading.ts +1 -1
- package/src/internal/core/config/config-resolution.ts +12 -24
- package/src/internal/core/config/default-config.ts +1 -1
- package/src/internal/core/errors-list.ts +29 -13
- package/src/internal/core/errors.ts +10 -2
- package/src/internal/core/execution-mode.ts +2 -3
- package/src/internal/core/flamegraph.ts +270 -0
- package/src/internal/core/jsonrpc/types/base-types.ts +7 -3
- package/src/internal/core/params/hardhat-params.ts +18 -0
- package/src/internal/core/providers/accounts.ts +8 -8
- package/src/internal/core/providers/construction.ts +10 -8
- package/src/internal/core/providers/gas-providers.ts +2 -2
- package/src/internal/core/providers/util.ts +1 -1
- package/src/internal/core/runtime-environment.ts +103 -10
- package/src/internal/core/task-profiling.ts +56 -0
- package/src/internal/core/typescript-support.ts +11 -2
- package/src/internal/hardhat-network/jsonrpc/client.ts +1 -1
- package/src/internal/hardhat-network/provider/BlockchainBase.ts +6 -6
- package/src/internal/hardhat-network/provider/BlockchainData.ts +5 -5
- package/src/internal/hardhat-network/provider/HardhatBlockchain.ts +4 -4
- package/src/internal/hardhat-network/provider/PoolState.ts +2 -2
- package/src/internal/hardhat-network/provider/TransactionQueue.ts +2 -2
- package/src/internal/hardhat-network/provider/TxPool.ts +12 -5
- package/src/internal/hardhat-network/provider/ethereumjs-workarounds.ts +3 -3
- package/src/internal/hardhat-network/provider/filter.ts +2 -2
- package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +10 -10
- package/src/internal/hardhat-network/provider/fork/ForkStateManager.ts +12 -18
- package/src/internal/hardhat-network/provider/fork/rpcToBlockData.ts +1 -1
- package/src/internal/hardhat-network/provider/fork/rpcToTxData.ts +5 -2
- package/src/internal/hardhat-network/provider/modules/eth.ts +10 -6
- package/src/internal/hardhat-network/provider/modules/hardhat.ts +25 -1
- package/src/internal/hardhat-network/provider/modules/logger.ts +3 -3
- package/src/internal/hardhat-network/provider/modules/net.ts +1 -1
- package/src/internal/hardhat-network/provider/modules/personal.ts +1 -1
- package/src/internal/hardhat-network/provider/modules/web3.ts +4 -6
- package/src/internal/hardhat-network/provider/node-types.ts +6 -6
- package/src/internal/hardhat-network/provider/node.ts +25 -12
- package/src/internal/hardhat-network/provider/output.ts +6 -6
- package/src/internal/hardhat-network/provider/provider.ts +7 -6
- package/src/internal/hardhat-network/provider/return-data.ts +9 -5
- package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +9 -5
- package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +8 -4
- package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +4 -4
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +8 -5
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts +4 -4
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts +3 -3
- package/src/internal/hardhat-network/provider/types/HardhatBlockchainInterface.ts +2 -2
- package/src/internal/hardhat-network/provider/utils/makeAccount.ts +6 -1
- package/src/internal/hardhat-network/provider/utils/makeCommon.ts +1 -1
- package/src/internal/hardhat-network/provider/utils/makeStateTrie.ts +7 -3
- package/src/internal/hardhat-network/provider/utils/putGenesisBlock.ts +6 -6
- package/src/internal/hardhat-network/provider/utils/random.ts +17 -14
- package/src/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/constants.ts +2 -0
- package/src/internal/hardhat-network/stack-traces/contracts-identifier.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/debug.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +3 -3
- package/src/internal/hardhat-network/stack-traces/message-trace.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/model.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/panic-errors.ts +11 -11
- package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +1 -4
- package/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts +31 -17
- package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +29 -14
- package/src/internal/lib/hardhat-lib.ts +0 -3
- package/src/internal/solidity/compilation-job.ts +11 -11
- package/src/internal/solidity/compiler/downloader.ts +271 -243
- package/src/internal/solidity/compiler/index.ts +13 -7
- package/src/internal/solidity/dependencyGraph.ts +12 -8
- package/src/internal/solidity/parse.ts +4 -70
- package/src/internal/solidity/resolver.ts +36 -8
- package/src/internal/util/bigint.ts +25 -43
- package/src/internal/util/download.ts +2 -2
- package/src/internal/util/fs-utils.ts +223 -0
- package/src/internal/util/glob.ts +13 -0
- package/src/internal/util/keccak.ts +5 -0
- package/src/internal/util/scripts-runner.ts +13 -4
- package/src/internal/util/wei-values.ts +1 -1
- package/src/internal/{hardhat-network/vendor → vendor}/await-semaphore/index.ts +0 -0
- package/src/profiling.ts +37 -0
- package/src/register.ts +1 -4
- package/src/types/artifacts.ts +21 -0
- package/src/types/config.ts +7 -7
- package/src/types/runtime.ts +2 -0
- package/src/utils/source-names.ts +36 -26
- package/types/artifacts.d.ts +19 -0
- package/types/artifacts.d.ts.map +1 -1
- package/types/config.d.ts +7 -7
- package/types/runtime.d.ts +2 -0
- package/types/runtime.d.ts.map +1 -1
- package/utils/source-names.d.ts.map +1 -1
- package/utils/source-names.js +25 -36
- package/utils/source-names.js.map +1 -1
- package/internal/hardhat-network/provider/fork/random.d.ts +0 -7
- package/internal/hardhat-network/provider/fork/random.d.ts.map +0 -1
- package/internal/hardhat-network/provider/fork/random.js +0 -32
- package/internal/hardhat-network/provider/fork/random.js.map +0 -1
- package/internal/hardhat-network/provider/utils/bnToHex.d.ts +0 -3
- package/internal/hardhat-network/provider/utils/bnToHex.d.ts.map +0 -1
- package/internal/hardhat-network/provider/utils/bnToHex.js +0 -9
- package/internal/hardhat-network/provider/utils/bnToHex.js.map +0 -1
- package/internal/hardhat-network/provider/utils/makeForkCommon.d.ts +0 -4
- package/internal/hardhat-network/provider/utils/makeForkCommon.d.ts.map +0 -1
- package/internal/hardhat-network/provider/utils/makeForkCommon.js +0 -16
- package/internal/hardhat-network/provider/utils/makeForkCommon.js.map +0 -1
- package/internal/hardhat-network/vendor/await-semaphore/index.d.ts +0 -12
- package/internal/hardhat-network/vendor/await-semaphore/index.d.ts.map +0 -1
- package/internal/hardhat-network/vendor/await-semaphore/index.js +0 -64
- package/internal/hardhat-network/vendor/await-semaphore/index.js.map +0 -1
- package/internal/util/antlr-prototype-pollution-workaround.d.ts +0 -16
- package/internal/util/antlr-prototype-pollution-workaround.d.ts.map +0 -1
- package/internal/util/antlr-prototype-pollution-workaround.js +0 -22
- package/internal/util/antlr-prototype-pollution-workaround.js.map +0 -1
- package/src/internal/util/antlr-prototype-pollution-workaround.ts +0 -17
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import os from "os";
|
|
2
2
|
import chalk from "chalk";
|
|
3
|
-
import { exec } from "child_process";
|
|
4
3
|
import debug from "debug";
|
|
5
4
|
import fsExtra from "fs-extra";
|
|
6
|
-
import path from "path";
|
|
7
5
|
import semver from "semver";
|
|
8
6
|
import AggregateError from "aggregate-error";
|
|
9
7
|
|
|
@@ -28,7 +26,6 @@ import {
|
|
|
28
26
|
import { DependencyGraph } from "../internal/solidity/dependencyGraph";
|
|
29
27
|
import { Parser } from "../internal/solidity/parse";
|
|
30
28
|
import { ResolvedFile, Resolver } from "../internal/solidity/resolver";
|
|
31
|
-
import { glob } from "../internal/util/glob";
|
|
32
29
|
import { getCompilersDir } from "../internal/util/global-dir";
|
|
33
30
|
import { pluralize } from "../internal/util/strings";
|
|
34
31
|
import { Artifacts, CompilerInput, CompilerOutput, SolcBuild } from "../types";
|
|
@@ -42,6 +39,7 @@ import {
|
|
|
42
39
|
import { getFullyQualifiedName } from "../utils/contract-names";
|
|
43
40
|
import { localPathToSourceName } from "../utils/source-names";
|
|
44
41
|
|
|
42
|
+
import { getAllFilesMatching } from "../internal/util/fs-utils";
|
|
45
43
|
import {
|
|
46
44
|
TASK_COMPILE,
|
|
47
45
|
TASK_COMPILE_GET_COMPILATION_TASKS,
|
|
@@ -117,7 +115,9 @@ const DEFAULT_CONCURRENCY_LEVEL = Math.max(os.cpus().length - 1, 1);
|
|
|
117
115
|
subtask(
|
|
118
116
|
TASK_COMPILE_SOLIDITY_GET_SOURCE_PATHS,
|
|
119
117
|
async (_, { config }): Promise<string[]> => {
|
|
120
|
-
const paths = await
|
|
118
|
+
const paths = await getAllFilesMatching(config.paths.sources, (f) =>
|
|
119
|
+
f.endsWith(".sol")
|
|
120
|
+
);
|
|
121
121
|
|
|
122
122
|
return paths;
|
|
123
123
|
}
|
|
@@ -412,20 +412,6 @@ subtask(TASK_COMPILE_SOLIDITY_COMPILE_JOBS)
|
|
|
412
412
|
}
|
|
413
413
|
}
|
|
414
414
|
|
|
415
|
-
/**
|
|
416
|
-
* Downloading the same version of a compiler in parallel can cause an
|
|
417
|
-
* error. When compilation jobs are executed in parallel, there's a chance
|
|
418
|
-
* that both use the same solc version and trigger this problem. To
|
|
419
|
-
* prevent that, we pre-download all the necessary compilers before
|
|
420
|
-
* running the compilation jobs.
|
|
421
|
-
*/
|
|
422
|
-
for (const solcVersion of versionList) {
|
|
423
|
-
await run(TASK_COMPILE_SOLIDITY_GET_SOLC_BUILD, {
|
|
424
|
-
solcVersion,
|
|
425
|
-
quiet: false,
|
|
426
|
-
});
|
|
427
|
-
}
|
|
428
|
-
|
|
429
415
|
const { default: pMap } = await import("p-map");
|
|
430
416
|
const pMapOptions = { concurrency, stopOnError: false };
|
|
431
417
|
try {
|
|
@@ -544,91 +530,75 @@ subtask(TASK_COMPILE_SOLIDITY_GET_SOLC_BUILD)
|
|
|
544
530
|
{ run }
|
|
545
531
|
): Promise<SolcBuild> => {
|
|
546
532
|
const compilersCache = await getCompilersDir();
|
|
547
|
-
|
|
533
|
+
|
|
534
|
+
const compilerPlatform = CompilerDownloader.getCompilerPlatform();
|
|
535
|
+
const downloader = CompilerDownloader.getConcurrencySafeDownloader(
|
|
536
|
+
compilerPlatform,
|
|
537
|
+
compilersCache
|
|
538
|
+
);
|
|
548
539
|
|
|
549
540
|
const isCompilerDownloaded = await downloader.isCompilerDownloaded(
|
|
550
541
|
solcVersion
|
|
551
542
|
);
|
|
552
543
|
|
|
553
|
-
|
|
554
|
-
await
|
|
544
|
+
if (!isCompilerDownloaded) {
|
|
545
|
+
await run(TASK_COMPILE_SOLIDITY_LOG_DOWNLOAD_COMPILER_START, {
|
|
546
|
+
solcVersion,
|
|
547
|
+
isCompilerDownloaded,
|
|
548
|
+
quiet,
|
|
549
|
+
});
|
|
555
550
|
|
|
556
|
-
|
|
557
|
-
solcVersion,
|
|
558
|
-
isCompilerDownloaded,
|
|
559
|
-
quiet,
|
|
560
|
-
});
|
|
551
|
+
await downloader.downloadCompiler(solcVersion);
|
|
561
552
|
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
553
|
+
await run(TASK_COMPILE_SOLIDITY_LOG_DOWNLOAD_COMPILER_END, {
|
|
554
|
+
solcVersion,
|
|
555
|
+
isCompilerDownloaded,
|
|
556
|
+
quiet,
|
|
557
|
+
});
|
|
558
|
+
}
|
|
565
559
|
|
|
566
|
-
const
|
|
567
|
-
solcVersion
|
|
568
|
-
);
|
|
560
|
+
const compiler = await downloader.getCompiler(solcVersion);
|
|
569
561
|
|
|
570
|
-
if (
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
// we can do
|
|
574
|
-
throw new HardhatError(ERRORS.SOLC.CANT_GET_COMPILER, {
|
|
575
|
-
version: solcVersion,
|
|
576
|
-
});
|
|
577
|
-
}
|
|
562
|
+
if (compiler !== undefined) {
|
|
563
|
+
return compiler;
|
|
564
|
+
}
|
|
578
565
|
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
566
|
+
log(
|
|
567
|
+
"Native solc binary doesn't work, using solcjs instead. Try running npx hardhat clean --global"
|
|
568
|
+
);
|
|
582
569
|
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
570
|
+
const wasmDownloader = CompilerDownloader.getConcurrencySafeDownloader(
|
|
571
|
+
CompilerPlatform.WASM,
|
|
572
|
+
compilersCache
|
|
573
|
+
);
|
|
587
574
|
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
);
|
|
591
|
-
if (!solcBinaryWorks) {
|
|
592
|
-
log("Native solc binary doesn't work, using solcjs instead");
|
|
593
|
-
nativeBinaryFailed = true;
|
|
594
|
-
}
|
|
595
|
-
} else {
|
|
596
|
-
platform = CompilerPlatform.WASM;
|
|
597
|
-
}
|
|
598
|
-
}
|
|
575
|
+
const isWasmCompilerDownloader =
|
|
576
|
+
await wasmDownloader.isCompilerDownloaded(solcVersion);
|
|
599
577
|
|
|
600
|
-
if (
|
|
601
|
-
|
|
602
|
-
|
|
578
|
+
if (!isWasmCompilerDownloader) {
|
|
579
|
+
await run(TASK_COMPILE_SOLIDITY_LOG_DOWNLOAD_COMPILER_START, {
|
|
580
|
+
solcVersion,
|
|
581
|
+
isCompilerDownloaded,
|
|
582
|
+
quiet,
|
|
603
583
|
});
|
|
604
584
|
|
|
605
|
-
|
|
606
|
-
await solcJsDownloader.getDownloadedCompilerPath(solcVersion);
|
|
607
|
-
|
|
608
|
-
if (solcjsCompilerPath === undefined) {
|
|
609
|
-
throw new HardhatError(ERRORS.SOLC.CANT_GET_COMPILER, {
|
|
610
|
-
version: solcVersion,
|
|
611
|
-
});
|
|
612
|
-
}
|
|
585
|
+
await wasmDownloader.downloadCompiler(solcVersion);
|
|
613
586
|
|
|
614
|
-
|
|
615
|
-
|
|
587
|
+
await run(TASK_COMPILE_SOLIDITY_LOG_DOWNLOAD_COMPILER_END, {
|
|
588
|
+
solcVersion,
|
|
589
|
+
isCompilerDownloaded,
|
|
590
|
+
quiet,
|
|
591
|
+
});
|
|
616
592
|
}
|
|
617
593
|
|
|
618
|
-
await
|
|
619
|
-
solcVersion,
|
|
620
|
-
isCompilerDownloaded,
|
|
621
|
-
quiet,
|
|
622
|
-
});
|
|
623
|
-
|
|
624
|
-
const isSolcJs = platform === CompilerPlatform.WASM;
|
|
594
|
+
const wasmCompiler = await downloader.getCompiler(solcVersion);
|
|
625
595
|
|
|
626
596
|
assertHardhatInvariant(
|
|
627
|
-
|
|
628
|
-
|
|
597
|
+
wasmCompiler !== undefined,
|
|
598
|
+
`WASM build of solc ${solcVersion} isn't working`
|
|
629
599
|
);
|
|
630
600
|
|
|
631
|
-
return
|
|
601
|
+
return wasmCompiler;
|
|
632
602
|
}
|
|
633
603
|
);
|
|
634
604
|
|
|
@@ -845,38 +815,41 @@ subtask(TASK_COMPILE_SOLIDITY_EMIT_ARTIFACTS)
|
|
|
845
815
|
output
|
|
846
816
|
);
|
|
847
817
|
|
|
848
|
-
const artifactsEmittedPerFile: ArtifactsEmittedPerFile =
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
818
|
+
const artifactsEmittedPerFile: ArtifactsEmittedPerFile =
|
|
819
|
+
await Promise.all(
|
|
820
|
+
compilationJob
|
|
821
|
+
.getResolvedFiles()
|
|
822
|
+
.filter((f) => compilationJob.emitsArtifacts(f))
|
|
823
|
+
.map(async (file) => {
|
|
824
|
+
const artifactsEmitted = await Promise.all(
|
|
825
|
+
Object.entries(output.contracts?.[file.sourceName] ?? {}).map(
|
|
826
|
+
async ([contractName, contractOutput]) => {
|
|
827
|
+
log(`Emitting artifact for contract '${contractName}'`);
|
|
828
|
+
const artifact = await run(
|
|
829
|
+
TASK_COMPILE_SOLIDITY_GET_ARTIFACT_FROM_COMPILATION_OUTPUT,
|
|
830
|
+
{
|
|
831
|
+
sourceName: file.sourceName,
|
|
832
|
+
contractName,
|
|
833
|
+
contractOutput,
|
|
834
|
+
}
|
|
835
|
+
);
|
|
836
|
+
|
|
837
|
+
await artifacts.saveArtifactAndDebugFile(
|
|
838
|
+
artifact,
|
|
839
|
+
pathToBuildInfo
|
|
840
|
+
);
|
|
841
|
+
|
|
842
|
+
return artifact.contractName;
|
|
843
|
+
}
|
|
844
|
+
)
|
|
845
|
+
);
|
|
846
|
+
|
|
847
|
+
return {
|
|
848
|
+
file,
|
|
849
|
+
artifactsEmitted,
|
|
850
|
+
};
|
|
851
|
+
})
|
|
852
|
+
);
|
|
880
853
|
|
|
881
854
|
return { artifactsEmittedPerFile };
|
|
882
855
|
}
|
|
@@ -1450,6 +1423,8 @@ async function invalidateCacheMissingArtifacts(
|
|
|
1450
1423
|
artifacts: Artifacts,
|
|
1451
1424
|
resolvedFiles: ResolvedFile[]
|
|
1452
1425
|
): Promise<SolidityFilesCache> {
|
|
1426
|
+
const paths = new Set(await artifacts.getArtifactPaths());
|
|
1427
|
+
|
|
1453
1428
|
for (const file of resolvedFiles) {
|
|
1454
1429
|
const cacheEntry = solidityFilesCache.getEntry(file.absolutePath);
|
|
1455
1430
|
|
|
@@ -1458,21 +1433,23 @@ async function invalidateCacheMissingArtifacts(
|
|
|
1458
1433
|
}
|
|
1459
1434
|
|
|
1460
1435
|
const { artifacts: emittedArtifacts } = cacheEntry;
|
|
1461
|
-
|
|
1462
1436
|
for (const emittedArtifact of emittedArtifacts) {
|
|
1463
|
-
const
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
if (!
|
|
1437
|
+
const fqn = getFullyQualifiedName(file.sourceName, emittedArtifact);
|
|
1438
|
+
const path = artifacts.formArtifactPathFromFullyQualifiedName(fqn);
|
|
1439
|
+
|
|
1440
|
+
if (!paths.has(path)) {
|
|
1467
1441
|
log(
|
|
1468
|
-
`Invalidate cache for '${file.absolutePath}' because artifact '${
|
|
1442
|
+
`Invalidate cache for '${file.absolutePath}' because artifact '${fqn}' doesn't exist`
|
|
1469
1443
|
);
|
|
1444
|
+
|
|
1470
1445
|
solidityFilesCache.removeEntry(file.absolutePath);
|
|
1471
1446
|
break;
|
|
1472
1447
|
}
|
|
1473
1448
|
}
|
|
1474
1449
|
}
|
|
1475
1450
|
|
|
1451
|
+
artifacts.clearCache?.();
|
|
1452
|
+
|
|
1476
1453
|
return solidityFilesCache;
|
|
1477
1454
|
}
|
|
1478
1455
|
|
|
@@ -1506,15 +1483,6 @@ function hasCompilationErrors(output: any): boolean {
|
|
|
1506
1483
|
);
|
|
1507
1484
|
}
|
|
1508
1485
|
|
|
1509
|
-
async function checkSolcBinary(solcPath: string): Promise<boolean> {
|
|
1510
|
-
return new Promise((resolve) => {
|
|
1511
|
-
const process = exec(`${solcPath} --version`);
|
|
1512
|
-
process.on("exit", (code) => {
|
|
1513
|
-
resolve(code === 0);
|
|
1514
|
-
});
|
|
1515
|
-
});
|
|
1516
|
-
}
|
|
1517
|
-
|
|
1518
1486
|
/**
|
|
1519
1487
|
* This function returns a properly formatted Internal Compiler Error message.
|
|
1520
1488
|
*
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import * as fs from "fs";
|
|
2
|
-
|
|
3
1
|
import { subtask, task, types } from "../internal/core/config/config-env";
|
|
4
2
|
import { HardhatError } from "../internal/core/errors";
|
|
5
3
|
import { ERRORS } from "../internal/core/errors-list";
|
|
@@ -7,6 +5,7 @@ import { DependencyGraph } from "../internal/solidity/dependencyGraph";
|
|
|
7
5
|
import { ResolvedFile, ResolvedFilesMap } from "../internal/solidity/resolver";
|
|
8
6
|
import { getPackageJson } from "../internal/util/packageInfo";
|
|
9
7
|
|
|
8
|
+
import { getRealPathSync } from "../internal/util/fs-utils";
|
|
10
9
|
import {
|
|
11
10
|
TASK_COMPILE_SOLIDITY_GET_DEPENDENCY_GRAPH,
|
|
12
11
|
TASK_COMPILE_SOLIDITY_GET_SOURCE_NAMES,
|
|
@@ -97,7 +96,7 @@ subtask(TASK_FLATTEN_GET_DEPENDENCY_GRAPH)
|
|
|
97
96
|
const sourcePaths: string[] =
|
|
98
97
|
files === undefined
|
|
99
98
|
? await run(TASK_COMPILE_SOLIDITY_GET_SOURCE_PATHS)
|
|
100
|
-
: files.map((f) =>
|
|
99
|
+
: files.map((f) => getRealPathSync(f));
|
|
101
100
|
|
|
102
101
|
const sourceNames: string[] = await run(
|
|
103
102
|
TASK_COMPILE_SOLIDITY_GET_SOURCE_NAMES,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type EthereumjsUtilT from "@
|
|
1
|
+
import type EthereumjsUtilT from "@nomicfoundation/ethereumjs-util";
|
|
2
2
|
|
|
3
3
|
import chalk from "chalk";
|
|
4
4
|
import debug from "debug";
|
|
@@ -52,7 +52,7 @@ function logHardhatNetworkAccounts(networkConfig: HardhatNetworkConfig) {
|
|
|
52
52
|
networkConfig.accounts.mnemonic === HARDHAT_NETWORK_MNEMONIC;
|
|
53
53
|
|
|
54
54
|
const { bufferToHex, privateToAddress, toBuffer, toChecksumAddress } =
|
|
55
|
-
require("@
|
|
55
|
+
require("@nomicfoundation/ethereumjs-util") as typeof EthereumjsUtilT;
|
|
56
56
|
|
|
57
57
|
console.log("Accounts");
|
|
58
58
|
console.log("========");
|
|
@@ -8,8 +8,8 @@ import { subtask, task } from "../internal/core/config/config-env";
|
|
|
8
8
|
import { isRunningWithTypescript } from "../internal/core/typescript-support";
|
|
9
9
|
import { getForkCacheDirPath } from "../internal/hardhat-network/provider/utils/disk-cache";
|
|
10
10
|
import { showForkRecommendationsBannerIfNecessary } from "../internal/hardhat-network/provider/utils/fork-recomendations-banner";
|
|
11
|
-
import { glob } from "../internal/util/glob";
|
|
12
11
|
import { pluralize } from "../internal/util/strings";
|
|
12
|
+
import { getAllFilesMatching } from "../internal/util/fs-utils";
|
|
13
13
|
|
|
14
14
|
import {
|
|
15
15
|
TASK_COMPILE,
|
|
@@ -35,13 +35,17 @@ subtask(TASK_TEST_GET_TEST_FILES)
|
|
|
35
35
|
return testFilesAbsolutePaths;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
const jsFiles = await
|
|
38
|
+
const jsFiles = await getAllFilesMatching(config.paths.tests, (f) =>
|
|
39
|
+
f.endsWith(".js")
|
|
40
|
+
);
|
|
39
41
|
|
|
40
42
|
if (!isRunningWithTypescript(config)) {
|
|
41
43
|
return jsFiles;
|
|
42
44
|
}
|
|
43
45
|
|
|
44
|
-
const tsFiles = await
|
|
46
|
+
const tsFiles = await getAllFilesMatching(config.paths.tests, (f) =>
|
|
47
|
+
f.endsWith(".ts")
|
|
48
|
+
);
|
|
45
49
|
|
|
46
50
|
return [...jsFiles, ...tsFiles];
|
|
47
51
|
});
|
|
@@ -57,7 +57,7 @@ export class SolidityFilesCache {
|
|
|
57
57
|
_format: FORMAT_VERSION,
|
|
58
58
|
files: {},
|
|
59
59
|
};
|
|
60
|
-
if (fsExtra.
|
|
60
|
+
if (await fsExtra.pathExists(solidityFilesCachePath)) {
|
|
61
61
|
cacheRaw = await fsExtra.readJson(solidityFilesCachePath);
|
|
62
62
|
}
|
|
63
63
|
|
|
@@ -80,12 +80,13 @@ export class SolidityFilesCache {
|
|
|
80
80
|
constructor(private _cache: Cache) {}
|
|
81
81
|
|
|
82
82
|
public async removeNonExistingFiles() {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
83
|
+
await Promise.all(
|
|
84
|
+
Object.keys(this._cache.files).map(async (absolutePath) => {
|
|
85
|
+
if (!(await fsExtra.pathExists(absolutePath))) {
|
|
86
|
+
this.removeEntry(absolutePath);
|
|
87
|
+
}
|
|
88
|
+
})
|
|
89
|
+
);
|
|
89
90
|
}
|
|
90
91
|
|
|
91
92
|
public async writeToFile(solidityFilesCachePath: string) {
|
|
@@ -115,7 +116,7 @@ export class SolidityFilesCache {
|
|
|
115
116
|
contentHash: string,
|
|
116
117
|
solcConfig?: SolcConfig
|
|
117
118
|
): boolean {
|
|
118
|
-
const
|
|
119
|
+
const isEqual = require("lodash/isEqual") as LoDashStatic["isEqual"];
|
|
119
120
|
|
|
120
121
|
const cacheEntry = this.getEntry(absolutePath);
|
|
121
122
|
|