hardhat 2.10.2 → 2.11.0-dev.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/compile.js +6 -8
- package/builtin-tasks/compile.js.map +1 -1
- package/builtin-tasks/node.js +9 -12
- package/builtin-tasks/node.js.map +1 -1
- package/builtin-tasks/test.js +2 -3
- package/builtin-tasks/test.js.map +1 -1
- package/internal/artifacts.js +1 -1
- package/internal/artifacts.js.map +1 -1
- package/internal/cli/ArgumentsParser.js +5 -2
- package/internal/cli/ArgumentsParser.js.map +1 -1
- package/internal/cli/analytics.js +2 -2
- package/internal/cli/analytics.js.map +1 -1
- package/internal/cli/autocomplete.js +20 -32
- package/internal/cli/autocomplete.js.map +1 -1
- package/internal/cli/cli.js +1 -1
- package/internal/cli/cli.js.map +1 -1
- package/internal/cli/project-creation.js +14 -4
- package/internal/cli/project-creation.js.map +1 -1
- package/internal/constants.d.ts.map +1 -1
- package/internal/constants.js +2 -0
- package/internal/constants.js.map +1 -1
- package/internal/core/config/config-loading.js +2 -3
- 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 +84 -35
- package/internal/core/config/config-resolution.js.map +1 -1
- package/internal/core/config/config-validation.js +38 -20
- 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 +7 -4
- package/internal/core/config/default-config.js.map +1 -1
- package/internal/core/errors.js +4 -2
- 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/flamegraph.d.ts +10 -0
- package/internal/core/flamegraph.d.ts.map +1 -0
- package/internal/core/flamegraph.js +245 -0
- package/internal/core/flamegraph.js.map +1 -0
- package/internal/core/jsonrpc/types/base-types.d.ts +7 -8
- package/internal/core/jsonrpc/types/base-types.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/base-types.js +24 -24
- package/internal/core/jsonrpc/types/base-types.js.map +1 -1
- package/internal/core/jsonrpc/types/input/blockTag.d.ts +15 -10
- package/internal/core/jsonrpc/types/input/blockTag.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/input/blockTag.js +2 -0
- package/internal/core/jsonrpc/types/input/blockTag.js.map +1 -1
- package/internal/core/jsonrpc/types/input/callRequest.d.ts +5 -6
- package/internal/core/jsonrpc/types/input/callRequest.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/input/callRequest.js.map +1 -1
- package/internal/core/jsonrpc/types/input/filterRequest.d.ts +6 -7
- package/internal/core/jsonrpc/types/input/filterRequest.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/input/filterRequest.js.map +1 -1
- package/internal/core/jsonrpc/types/input/transactionRequest.d.ts +7 -8
- package/internal/core/jsonrpc/types/input/transactionRequest.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/input/transactionRequest.js.map +1 -1
- package/internal/core/jsonrpc/types/output/block.d.ts +29 -30
- package/internal/core/jsonrpc/types/output/block.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/output/block.js +8 -2
- package/internal/core/jsonrpc/types/output/block.js.map +1 -1
- package/internal/core/jsonrpc/types/output/log.d.ts +3 -4
- package/internal/core/jsonrpc/types/output/log.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/output/log.js.map +1 -1
- package/internal/core/jsonrpc/types/output/receipt.d.ts +10 -11
- package/internal/core/jsonrpc/types/output/receipt.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/output/receipt.js.map +1 -1
- package/internal/core/jsonrpc/types/output/transaction.d.ts +13 -14
- package/internal/core/jsonrpc/types/output/transaction.d.ts.map +1 -1
- package/internal/core/jsonrpc/types/output/transaction.js.map +1 -1
- package/internal/core/providers/accounts.d.ts.map +1 -1
- package/internal/core/providers/accounts.js +30 -24
- package/internal/core/providers/accounts.js.map +1 -1
- package/internal/core/providers/chainId.js +1 -1
- 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 +5 -5
- package/internal/core/providers/construction.js.map +1 -1
- package/internal/core/providers/gas-providers.d.ts +4 -4
- package/internal/core/providers/gas-providers.d.ts.map +1 -1
- package/internal/core/providers/gas-providers.js +16 -15
- package/internal/core/providers/gas-providers.js.map +1 -1
- package/internal/core/providers/http.js +7 -2
- package/internal/core/providers/http.js.map +1 -1
- package/internal/core/providers/util.js +5 -8
- package/internal/core/providers/util.js.map +1 -1
- package/internal/core/runtime-environment.js +1 -1
- package/internal/core/runtime-environment.js.map +1 -1
- package/internal/core/task-profiling.d.ts +18 -0
- package/internal/core/task-profiling.d.ts.map +1 -0
- package/internal/core/task-profiling.js +50 -0
- package/internal/core/task-profiling.js.map +1 -0
- package/internal/core/typescript-support.js +3 -3
- package/internal/core/typescript-support.js.map +1 -1
- package/internal/hardhat-network/jsonrpc/client.d.ts +39 -39
- package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
- package/internal/hardhat-network/jsonrpc/client.js +14 -14
- package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
- package/internal/hardhat-network/provider/BlockchainBase.d.ts +13 -10
- package/internal/hardhat-network/provider/BlockchainBase.d.ts.map +1 -1
- package/internal/hardhat-network/provider/BlockchainBase.js +38 -16
- package/internal/hardhat-network/provider/BlockchainBase.js.map +1 -1
- package/internal/hardhat-network/provider/BlockchainData.d.ts +15 -16
- package/internal/hardhat-network/provider/BlockchainData.d.ts.map +1 -1
- package/internal/hardhat-network/provider/BlockchainData.js +33 -29
- package/internal/hardhat-network/provider/BlockchainData.js.map +1 -1
- package/internal/hardhat-network/provider/HardhatBlockchain.d.ts +7 -8
- package/internal/hardhat-network/provider/HardhatBlockchain.d.ts.map +1 -1
- package/internal/hardhat-network/provider/HardhatBlockchain.js +13 -14
- 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 +2 -3
- package/internal/hardhat-network/provider/PoolState.js.map +1 -1
- package/internal/hardhat-network/provider/TransactionQueue.d.ts +2 -3
- package/internal/hardhat-network/provider/TransactionQueue.d.ts.map +1 -1
- package/internal/hardhat-network/provider/TransactionQueue.js +3 -3
- package/internal/hardhat-network/provider/TransactionQueue.js.map +1 -1
- package/internal/hardhat-network/provider/TxPool.d.ts +8 -8
- package/internal/hardhat-network/provider/TxPool.d.ts.map +1 -1
- package/internal/hardhat-network/provider/TxPool.js +66 -68
- package/internal/hardhat-network/provider/TxPool.js.map +1 -1
- package/internal/hardhat-network/provider/ethereumjs-workarounds.js +2 -2
- package/internal/hardhat-network/provider/ethereumjs-workarounds.js.map +1 -1
- package/internal/hardhat-network/provider/filter.d.ts +5 -6
- package/internal/hardhat-network/provider/filter.d.ts.map +1 -1
- package/internal/hardhat-network/provider/filter.js +7 -8
- package/internal/hardhat-network/provider/filter.js.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts +10 -11
- package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkBlockchain.js +51 -47
- package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts +8 -10
- package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkStateManager.js +51 -69
- 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/rpcToBlockData.js +2 -3
- package/internal/hardhat-network/provider/fork/rpcToBlockData.js.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 +7 -11
- package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +1 -1
- package/internal/hardhat-network/provider/modules/eth.d.ts +2 -1
- package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/eth.js +92 -68
- package/internal/hardhat-network/provider/modules/eth.js.map +1 -1
- package/internal/hardhat-network/provider/modules/evm.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/evm.js +14 -14
- package/internal/hardhat-network/provider/modules/evm.js.map +1 -1
- package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/hardhat.js +13 -13
- package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -1
- package/internal/hardhat-network/provider/modules/logger.d.ts +7 -8
- package/internal/hardhat-network/provider/modules/logger.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/logger.js +29 -32
- 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.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 +5 -4
- package/internal/hardhat-network/provider/modules/web3.js.map +1 -1
- package/internal/hardhat-network/provider/node-types.d.ts +30 -29
- package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
- package/internal/hardhat-network/provider/node.d.ts +47 -42
- package/internal/hardhat-network/provider/node.d.ts.map +1 -1
- package/internal/hardhat-network/provider/node.js +262 -208
- package/internal/hardhat-network/provider/node.js.map +1 -1
- package/internal/hardhat-network/provider/output.d.ts +5 -6
- package/internal/hardhat-network/provider/output.d.ts.map +1 -1
- package/internal/hardhat-network/provider/output.js +39 -36
- package/internal/hardhat-network/provider/output.js.map +1 -1
- package/internal/hardhat-network/provider/provider.d.ts +1 -2
- package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
- package/internal/hardhat-network/provider/provider.js.map +1 -1
- package/internal/hardhat-network/provider/return-data.d.ts +1 -2
- package/internal/hardhat-network/provider/return-data.d.ts.map +1 -1
- package/internal/hardhat-network/provider/return-data.js +1 -1
- package/internal/hardhat-network/provider/return-data.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts +5 -5
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +60 -17
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts +4 -4
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +59 -16
- 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 +41 -9
- 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 +7 -23
- 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 +7 -22
- 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 +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js.map +1 -1
- package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts +5 -6
- package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js +2 -3
- package/internal/hardhat-network/provider/utils/fork-recomendations-banner.js.map +1 -1
- package/internal/hardhat-network/provider/utils/getCurrentTimestamp.d.ts +1 -0
- package/internal/hardhat-network/provider/utils/getCurrentTimestamp.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/getCurrentTimestamp.js +5 -1
- package/internal/hardhat-network/provider/utils/getCurrentTimestamp.js.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 +6 -6
- package/internal/hardhat-network/provider/utils/makeAccount.js.map +1 -1
- package/internal/hardhat-network/provider/utils/makeCommon.d.ts +2 -2
- package/internal/hardhat-network/provider/utils/makeCommon.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/makeCommon.js +7 -23
- package/internal/hardhat-network/provider/utils/makeCommon.js.map +1 -1
- package/internal/hardhat-network/provider/utils/makeForkClient.d.ts +1 -2
- package/internal/hardhat-network/provider/utils/makeForkClient.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/makeForkClient.js +7 -8
- package/internal/hardhat-network/provider/utils/makeForkClient.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 +6 -3
- package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/putGenesisBlock.js +22 -4
- package/internal/hardhat-network/provider/utils/putGenesisBlock.js.map +1 -1
- package/internal/hardhat-network/provider/utils/random.d.ts +15 -0
- package/internal/hardhat-network/provider/utils/random.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/random.js +48 -0
- package/internal/hardhat-network/provider/utils/random.js.map +1 -0
- package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.d.ts +1 -2
- package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js +5 -4
- package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js.map +1 -1
- package/internal/hardhat-network/provider/utils/reorgs-protection.d.ts +2 -2
- package/internal/hardhat-network/provider/utils/reorgs-protection.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/reorgs-protection.js +7 -7
- package/internal/hardhat-network/provider/utils/reorgs-protection.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/compiler-to-model.js +6 -8
- package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -1
- package/internal/hardhat-network/stack-traces/consoleLogger.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 +3 -0
- package/internal/hardhat-network/stack-traces/constants.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/constants.js +6 -0
- package/internal/hardhat-network/stack-traces/constants.js.map +1 -0
- package/internal/hardhat-network/stack-traces/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 +29 -19
- 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 +44 -26
- package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
- package/internal/hardhat-network/stack-traces/message-trace.d.ts +6 -7
- package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/message-trace.js.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 -2
- package/internal/hardhat-network/stack-traces/panic-errors.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/panic-errors.js +1 -1
- package/internal/hardhat-network/stack-traces/panic-errors.js.map +1 -1
- package/internal/hardhat-network/stack-traces/solidity-errors.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/solidity-errors.js +21 -12
- package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
- package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +6 -5
- package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/solidity-stack-trace.js.map +1 -1
- package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/solidityTracer.js +4 -0
- package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts +2 -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 +79 -78
- package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.js +5 -1
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.js.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +3 -2
- package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-tracer.js +15 -16
- package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
- package/internal/reset.js +1 -1
- package/internal/reset.js.map +1 -1
- package/internal/sentry/anonymizer.js +2 -3
- package/internal/sentry/anonymizer.js.map +1 -1
- package/internal/sentry/subprocess.js +1 -1
- package/internal/sentry/subprocess.js.map +1 -1
- package/internal/sentry/transport.js +3 -4
- package/internal/sentry/transport.js.map +1 -1
- package/internal/solidity/compilation-job.js +2 -4
- package/internal/solidity/compilation-job.js.map +1 -1
- package/internal/solidity/compiler/downloader.d.ts.map +1 -1
- package/internal/solidity/compiler/downloader.js +6 -6
- package/internal/solidity/compiler/downloader.js.map +1 -1
- package/internal/solidity/dependencyGraph.js +3 -5
- package/internal/solidity/dependencyGraph.js.map +1 -1
- package/internal/solidity/parse.js +1 -1
- package/internal/solidity/parse.js.map +1 -1
- package/internal/solidity/resolver.js +4 -1
- 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/bigint.d.ts +25 -0
- package/internal/util/bigint.d.ts.map +1 -0
- package/internal/util/bigint.js +67 -0
- package/internal/util/bigint.js.map +1 -0
- package/internal/util/download.js +1 -1
- package/internal/util/download.js.map +1 -1
- package/internal/util/fs-utils.d.ts +32 -0
- package/internal/util/fs-utils.d.ts.map +1 -0
- package/internal/util/fs-utils.js +151 -0
- package/internal/util/fs-utils.js.map +1 -0
- package/internal/util/hardforks.d.ts +3 -3
- package/internal/util/hardforks.d.ts.map +1 -1
- package/internal/util/hardforks.js +5 -28
- 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/lazy.js +2 -2
- package/internal/util/lazy.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 +5 -2
- package/internal/util/scripts-runner.js.map +1 -1
- package/internal/util/wei-values.d.ts +1 -2
- package/internal/util/wei-values.d.ts.map +1 -1
- package/internal/util/wei-values.js +9 -10
- package/internal/util/wei-values.js.map +1 -1
- package/internal/vendor/await-semaphore/index.d.ts +12 -0
- package/internal/vendor/await-semaphore/index.d.ts.map +1 -0
- package/internal/vendor/await-semaphore/index.js +64 -0
- package/internal/vendor/await-semaphore/index.js.map +1 -0
- package/package.json +13 -9
- package/profiling.d.ts +18 -0
- package/profiling.d.ts.map +1 -0
- package/profiling.js +32 -0
- package/profiling.js.map +1 -0
- package/src/builtin-tasks/node.ts +4 -6
- package/src/internal/constants.ts +3 -1
- package/src/internal/core/config/config-resolution.ts +30 -7
- package/src/internal/core/config/default-config.ts +2 -4
- package/src/internal/core/jsonrpc/types/base-types.ts +23 -24
- package/src/internal/core/jsonrpc/types/input/blockTag.ts +2 -4
- package/src/internal/core/jsonrpc/types/input/callRequest.ts +0 -4
- package/src/internal/core/jsonrpc/types/input/filterRequest.ts +0 -4
- package/src/internal/core/jsonrpc/types/input/transactionRequest.ts +0 -4
- package/src/internal/core/jsonrpc/types/output/block.ts +0 -4
- package/src/internal/core/jsonrpc/types/output/log.ts +0 -4
- package/src/internal/core/jsonrpc/types/output/receipt.ts +0 -4
- package/src/internal/core/jsonrpc/types/output/transaction.ts +0 -4
- package/src/internal/core/providers/accounts.ts +16 -26
- package/src/internal/core/providers/construction.ts +5 -3
- package/src/internal/core/providers/gas-providers.ts +25 -33
- package/src/internal/core/providers/util.ts +1 -1
- package/src/internal/hardhat-network/jsonrpc/client.ts +22 -22
- package/src/internal/hardhat-network/provider/BlockchainBase.ts +62 -25
- package/src/internal/hardhat-network/provider/BlockchainData.ts +39 -42
- package/src/internal/hardhat-network/provider/HardhatBlockchain.ts +21 -21
- package/src/internal/hardhat-network/provider/PoolState.ts +3 -4
- package/src/internal/hardhat-network/provider/TransactionQueue.ts +11 -8
- package/src/internal/hardhat-network/provider/TxPool.ts +62 -64
- package/src/internal/hardhat-network/provider/ethereumjs-workarounds.ts +3 -3
- package/src/internal/hardhat-network/provider/filter.ts +9 -12
- package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +52 -50
- package/src/internal/hardhat-network/provider/fork/ForkStateManager.ts +35 -60
- package/src/internal/hardhat-network/provider/fork/rpcToBlockData.ts +2 -2
- package/src/internal/hardhat-network/provider/fork/rpcToTxData.ts +3 -3
- package/src/internal/hardhat-network/provider/modules/eth.ts +88 -63
- package/src/internal/hardhat-network/provider/modules/evm.ts +19 -22
- package/src/internal/hardhat-network/provider/modules/hardhat.ts +21 -19
- package/src/internal/hardhat-network/provider/modules/logger.ts +33 -40
- package/src/internal/hardhat-network/provider/modules/net.ts +1 -1
- package/src/internal/hardhat-network/provider/modules/personal.ts +2 -1
- package/src/internal/hardhat-network/provider/modules/web3.ts +5 -4
- package/src/internal/hardhat-network/provider/node-types.ts +32 -31
- package/src/internal/hardhat-network/provider/node.ts +379 -343
- package/src/internal/hardhat-network/provider/output.ts +32 -37
- package/src/internal/hardhat-network/provider/provider.ts +5 -6
- package/src/internal/hardhat-network/provider/return-data.ts +2 -3
- package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +51 -24
- package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +50 -23
- package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +29 -11
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +12 -24
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts +11 -22
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts +3 -3
- package/src/internal/hardhat-network/provider/types/HardhatBlockchainInterface.ts +8 -9
- package/src/internal/hardhat-network/provider/utils/getCurrentTimestamp.ts +4 -0
- package/src/internal/hardhat-network/provider/utils/makeAccount.ts +4 -10
- package/src/internal/hardhat-network/provider/utils/makeCommon.ts +8 -34
- package/src/internal/hardhat-network/provider/utils/makeForkClient.ts +8 -9
- package/src/internal/hardhat-network/provider/utils/makeStateTrie.ts +3 -3
- package/src/internal/hardhat-network/provider/utils/putGenesisBlock.ts +34 -6
- package/src/internal/hardhat-network/provider/utils/random.ts +54 -0
- package/src/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.ts +6 -7
- package/src/internal/hardhat-network/provider/utils/reorgs-protection.ts +8 -8
- package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +7 -2
- 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 +6 -7
- package/src/internal/hardhat-network/stack-traces/message-trace.ts +6 -7
- package/src/internal/hardhat-network/stack-traces/model.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/panic-errors.ts +3 -5
- package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +16 -1
- package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +6 -6
- package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +5 -0
- package/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts +106 -103
- package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +23 -18
- package/src/internal/solidity/compiler/downloader.ts +5 -2
- package/src/internal/util/bigint.ts +84 -0
- package/src/internal/util/hardforks.ts +4 -29
- package/src/internal/util/wei-values.ts +11 -13
- package/src/types/config.ts +8 -10
- package/types/config.d.ts +8 -9
- package/types/config.d.ts.map +1 -1
- package/src/internal/hardhat-network/provider/fork/random.ts +0 -33
- package/src/internal/hardhat-network/provider/utils/bnToHex.ts +0 -5
- package/src/internal/hardhat-network/provider/utils/makeForkCommon.ts +0 -15
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import Common from "@
|
|
3
|
-
import { AccessListEIP2930Transaction, AccessListEIP2930TxData, AccessListEIP2930ValuesArray, TxOptions } from "@
|
|
4
|
-
import { Address } from "
|
|
2
|
+
import { Common } from "@ignored/common";
|
|
3
|
+
import { AccessListEIP2930Transaction, AccessListEIP2930TxData, AccessListEIP2930ValuesArray, TxOptions } from "@ignored/tx";
|
|
4
|
+
import { Address } from "@ignored/util";
|
|
5
5
|
/**
|
|
6
6
|
* This class is like `ReadOnlyValidTransaction` but for
|
|
7
7
|
* EIP-2930 (access list) transactions.
|
package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyValidEIP2930Transaction.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"ReadOnlyValidEIP2930Transaction.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,4BAA4B,EAC5B,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAOxC;;;GAGG;AACH,qBAAa,+BAAgC,SAAQ,4BAA4B;WACjE,UAAU,CACtB,OAAO,EAAE,uBAAuB,EAChC,KAAK,CAAC,EAAE,SAAS,GAChB,KAAK;WAMM,gBAAgB,CAC5B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,SAAS,GAChB,KAAK;WAMM,mBAAmB,CAC/B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,SAAS,GAChB,KAAK;WAMM,eAAe,CAC3B,OAAO,EAAE,4BAA4B,EACrC,KAAK,CAAC,EAAE,SAAS,GAChB,KAAK;IAMR,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,MAAM,EAAE,OAAO,EAAE,IAAI,GAAE,uBAA4B;IAgBxD,eAAe,IAAI,OAAO;IAI1B,gBAAgB,IAAI,OAAO;IAI3B,IAAI,IAAI,KAAK;IAMb,UAAU,IAAI,KAAK;IAMnB,UAAU,IAAI,KAAK;IAMnB,cAAc,IAAI,KAAK;IAMvB,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,GAAG,KAAK;IACpC,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,KAAK;IAOlC,iBAAiB,IAAI,KAAK;IAM1B,kBAAkB,IAAI,KAAK;IAM3B,2BAA2B,IAAI,KAAK;IAMpC,gBAAgB,IAAI,KAAK;CAKjC"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.ReadOnlyValidEIP2930Transaction = void 0;
|
|
7
|
-
const common_1 =
|
|
8
|
-
const tx_1 = require("@
|
|
9
|
-
const ethereumjs_util_1 = require("ethereumjs-util");
|
|
4
|
+
const common_1 = require("@ignored/common");
|
|
5
|
+
const tx_1 = require("@ignored/tx");
|
|
10
6
|
const errors_1 = require("../../../core/providers/errors");
|
|
11
|
-
const
|
|
7
|
+
const bigint_1 = require("../../../util/bigint");
|
|
12
8
|
/* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
|
|
13
9
|
/**
|
|
14
10
|
* This class is like `ReadOnlyValidTransaction` but for
|
|
@@ -16,22 +12,11 @@ const hardforks_1 = require("../../../util/hardforks");
|
|
|
16
12
|
*/
|
|
17
13
|
class ReadOnlyValidEIP2930Transaction extends tx_1.AccessListEIP2930Transaction {
|
|
18
14
|
constructor(sender, data = {}) {
|
|
19
|
-
const fakeCommon =
|
|
20
|
-
|
|
15
|
+
const fakeCommon = common_1.Common.custom({
|
|
16
|
+
chainId: bigint_1.BigIntUtils.fromBigIntLike(data.chainId),
|
|
17
|
+
}, {
|
|
18
|
+
hardfork: "berlin",
|
|
21
19
|
});
|
|
22
|
-
// this class should only be used with txs in a hardfork that
|
|
23
|
-
// supports EIP-2930
|
|
24
|
-
fakeCommon.isActivatedEIP = (eip) => {
|
|
25
|
-
return hardforks_1.BERLIN_EIPS.has(eip);
|
|
26
|
-
};
|
|
27
|
-
// this class should only be used with EIP-2930 txs,
|
|
28
|
-
// which (we assume) always have a defined `chainId` value
|
|
29
|
-
fakeCommon.chainIdBN = () => {
|
|
30
|
-
if (data.chainId !== undefined) {
|
|
31
|
-
return new ethereumjs_util_1.BN(data.chainId);
|
|
32
|
-
}
|
|
33
|
-
throw new Error("Expected txData to have a chainId");
|
|
34
|
-
};
|
|
35
20
|
super(data, { freeze: false, common: fakeCommon });
|
|
36
21
|
this.common = fakeCommon;
|
|
37
22
|
this._sender = sender;
|
package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyValidEIP2930Transaction.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReadOnlyValidEIP2930Transaction.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,oCAKqB;AAGrB,2DAA+D;AAC/D,iDAAmD;AAEnD,yEAAyE;AAEzE;;;GAGG;AACH,MAAa,+BAAgC,SAAQ,iCAA4B;IAyC/E,YAAY,MAAe,EAAE,OAAgC,EAAE;QAC7D,MAAM,UAAU,GAAG,eAAM,CAAC,MAAM,CAC9B;YACE,OAAO,EAAE,oBAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;SAClD,EACD;YACE,QAAQ,EAAE,QAAQ;SACnB,CACF,CAAC;QAEF,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAEnD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAtDM,MAAM,CAAC,UAAU,CACtB,OAAgC,EAChC,KAAiB;QAEjB,MAAM,IAAI,sBAAa,CACrB,oEAAoE,CACrE,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAC5B,WAAmB,EACnB,KAAiB;QAEjB,MAAM,IAAI,sBAAa,CACrB,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAC/B,WAAmB,EACnB,KAAiB;QAEjB,MAAM,IAAI,sBAAa,CACrB,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,eAAe,CAC3B,OAAqC,EACrC,KAAiB;QAEjB,MAAM,IAAI,sBAAa,CACrB,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAsBM,eAAe;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,IAAI;QACT,MAAM,IAAI,sBAAa,CACrB,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,MAAM,IAAI,sBAAa,CACrB,oEAAoE,CACrE,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,MAAM,IAAI,sBAAa,CACrB,oEAAoE,CACrE,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,MAAM,IAAI,sBAAa,CACrB,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAIM,QAAQ,CAAC,eAAwB,KAAK;QAC3C,MAAM,IAAI,sBAAa,CACrB,kEAAkE,CACnE,CAAC;IACJ,CAAC;IAEM,iBAAiB;QACtB,MAAM,IAAI,sBAAa,CACrB,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IAEM,kBAAkB;QACvB,MAAM,IAAI,sBAAa,CACrB,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IAEM,2BAA2B;QAChC,MAAM,IAAI,sBAAa,CACrB,qFAAqF,CACtF,CAAC;IACJ,CAAC;IAEM,gBAAgB;QACrB,MAAM,IAAI,sBAAa,CACrB,0EAA0E,CAC3E,CAAC;IACJ,CAAC;CACF;AAxHD,0EAwHC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import Common from "@
|
|
3
|
-
import { Transaction, TxData, TxOptions } from "@
|
|
4
|
-
import { Address } from "
|
|
2
|
+
import { Common } from "@ignored/common";
|
|
3
|
+
import { Transaction, TxData, TxOptions } from "@ignored/tx";
|
|
4
|
+
import { Address } from "@ignored/util";
|
|
5
5
|
/**
|
|
6
6
|
* This class represents a transaction that is assumed to be valid.
|
|
7
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyValidTransaction.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"ReadOnlyValidTransaction.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAMxC;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAyB,SAAQ,WAAW;WACzC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,KAAK;WAMrD,gBAAgB,CAC5B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,SAAS,GAChB,KAAK;WAMM,mBAAmB,CAC/B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,SAAS,GAChB,KAAK;WAMM,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,KAAK;IAM1E,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,MAAM,EAAE,OAAO,EAAE,IAAI,GAAE,MAAW;IAOvC,eAAe,IAAI,OAAO;IAI1B,gBAAgB,IAAI,OAAO;IAI3B,IAAI,IAAI,KAAK;IAMb,UAAU,IAAI,KAAK;IAMnB,UAAU,IAAI,KAAK;IAMnB,cAAc,IAAI,KAAK;IAMvB,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK;IACrC,QAAQ,CAAC,YAAY,EAAE,IAAI,GAAG,KAAK;IAOnC,iBAAiB,IAAI,KAAK;IAM1B,kBAAkB,IAAI,KAAK;IAM3B,2BAA2B,IAAI,KAAK;IAMpC,gBAAgB,IAAI,KAAK;CAKjC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ReadOnlyValidTransaction = void 0;
|
|
4
|
-
const tx_1 = require("@
|
|
4
|
+
const tx_1 = require("@ignored/tx");
|
|
5
5
|
const errors_1 = require("../../../core/providers/errors");
|
|
6
6
|
/* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
|
|
7
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyValidTransaction.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"ReadOnlyValidTransaction.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts"],"names":[],"mappings":";;;AACA,oCAA6D;AAG7D,2DAA+D;AAE/D,yEAAyE;AAEzE;;;;;;;;;;;;;GAaG;AACH,MAAa,wBAAyB,SAAQ,gBAAW;IAmCvD,YAAY,MAAe,EAAE,OAAe,EAAE;QAC5C,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAE/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAvCM,MAAM,CAAC,UAAU,CAAC,OAAe,EAAE,KAAiB;QACzD,MAAM,IAAI,sBAAa,CACrB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAC5B,WAAmB,EACnB,KAAiB;QAEjB,MAAM,IAAI,sBAAa,CACrB,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAC/B,WAAmB,EACnB,KAAiB;QAEjB,MAAM,IAAI,sBAAa,CACrB,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAiB;QAChE,MAAM,IAAI,sBAAa,CACrB,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAaM,eAAe;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,IAAI;QACT,MAAM,IAAI,sBAAa,CACrB,uDAAuD,CACxD,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,MAAM,IAAI,sBAAa,CACrB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,MAAM,IAAI,sBAAa,CACrB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,MAAM,IAAI,sBAAa,CACrB,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAIM,QAAQ,CAAC,eAAwB,KAAK;QAC3C,MAAM,IAAI,sBAAa,CACrB,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IAEM,iBAAiB;QACtB,MAAM,IAAI,sBAAa,CACrB,oEAAoE,CACrE,CAAC;IACJ,CAAC;IAEM,kBAAkB;QACvB,MAAM,IAAI,sBAAa,CACrB,qEAAqE,CACtE,CAAC;IACJ,CAAC;IAEM,2BAA2B;QAChC,MAAM,IAAI,sBAAa,CACrB,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAEM,gBAAgB;QACrB,MAAM,IAAI,sBAAa,CACrB,mEAAmE,CACpE,CAAC;IACJ,CAAC;CACF;AAzGD,4DAyGC;AAED,2BAA2B;AAE3B,MAAM,iCAAiC,GACrC,wBAAwB,CAAC,SAAS,CAAC;AAErC,iCAAiC,CAAC,YAAY,GAAG,UAC/C,EAAO,EACP,MAAW;IAEX,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,iCAAiC,CAAC,yBAAyB,GAAG;IAC5D,MAAM,IAAI,sBAAa,CACrB,4EAA4E,CAC7E,CAAC;AACJ,CAAC,CAAC;AAEF,iCAAiC,CAAC,2BAA2B,GAAG;IAC9D,MAAM,IAAI,sBAAa,CACrB,8EAA8E,CAC/E,CAAC;AACJ,CAAC,CAAC;AAEF,iCAAiC,CAAC,iBAAiB,GAAG;IACpD,MAAM,IAAI,sBAAa,CACrB,oEAAoE,CACrE,CAAC;AACJ,CAAC,CAAC;AAEF,iCAAiC,CAAC,iBAAiB,GAAG;IACpD,MAAM,IAAI,sBAAa,CACrB,oEAAoE,CACrE,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { Block } from "@
|
|
3
|
-
import { BlockchainInterface } from "@
|
|
4
|
-
import { BN } from "ethereumjs-util";
|
|
2
|
+
import { Block } from "@ignored/block";
|
|
3
|
+
import { BlockchainInterface } from "@ignored/blockchain";
|
|
5
4
|
import { FilterParams } from "../node-types";
|
|
6
5
|
import { RpcLogOutput, RpcReceiptOutput } from "../output";
|
|
7
6
|
export interface HardhatBlockchainInterface extends BlockchainInterface {
|
|
8
7
|
addTransactionReceipts(receipts: RpcReceiptOutput[]): void;
|
|
9
|
-
reserveBlocks(count:
|
|
8
|
+
reserveBlocks(count: bigint, interval: bigint, previousBlockStateRoot: Buffer, previousBlockTotalDifficulty: bigint, previousBlockBaseFeePerGas: bigint | undefined): void;
|
|
10
9
|
deleteLaterBlocks(block: Block): void;
|
|
11
10
|
getBlockByTransactionHash(transactionHash: Buffer): Promise<Block | null>;
|
|
12
11
|
getLatestBlock(): Promise<Block>;
|
|
13
|
-
getLatestBlockNumber():
|
|
12
|
+
getLatestBlockNumber(): bigint;
|
|
14
13
|
getLogs(filterParams: FilterParams): Promise<RpcLogOutput[]>;
|
|
15
|
-
getTotalDifficulty(blockHash: Buffer): Promise<
|
|
14
|
+
getTotalDifficulty(blockHash: Buffer): Promise<bigint>;
|
|
16
15
|
getTransactionReceipt(transactionHash: Buffer): Promise<RpcReceiptOutput | null>;
|
|
17
16
|
}
|
|
18
17
|
//# sourceMappingURL=HardhatBlockchainInterface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HardhatBlockchainInterface.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/types/HardhatBlockchainInterface.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"HardhatBlockchainInterface.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/types/HardhatBlockchainInterface.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE3D,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB;IACrE,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAC3D,aAAa,CACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,sBAAsB,EAAE,MAAM,EAC9B,4BAA4B,EAAE,MAAM,EACpC,0BAA0B,EAAE,MAAM,GAAG,SAAS,GAC7C,IAAI,CAAC;IACR,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACtC,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC1E,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,oBAAoB,IAAI,MAAM,CAAC;IAC/B,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7D,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,qBAAqB,CACnB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;CACrC"}
|
|
@@ -17,14 +17,13 @@ If connecting to an archival node (e.g. Alchemy), we strongly recommend setting
|
|
|
17
17
|
blockNumber to a fixed value to increase performance with a local cache.`));
|
|
18
18
|
}
|
|
19
19
|
async function showForkRecommendationsBannerIfNecessary(currentNetworkConfig, forkCachePath) {
|
|
20
|
-
var _a, _b;
|
|
21
20
|
if (!("forking" in currentNetworkConfig)) {
|
|
22
21
|
return;
|
|
23
22
|
}
|
|
24
|
-
if (
|
|
23
|
+
if (currentNetworkConfig.forking?.enabled !== true) {
|
|
25
24
|
return;
|
|
26
25
|
}
|
|
27
|
-
if (
|
|
26
|
+
if (currentNetworkConfig.forking?.blockNumber !== undefined) {
|
|
28
27
|
return;
|
|
29
28
|
}
|
|
30
29
|
const shownPath = getAlreadyShownFilePath(forkCachePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork-recomendations-banner.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/fork-recomendations-banner.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,wDAA+B;AAC/B,gDAAwB;AAIxB,SAAS,uBAAuB,CAAC,aAAqB;IACpD,OAAO,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,oCAAoC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,MAAM,CACV;;;yEAGmE,CACpE,CACF,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,wCAAwC,CAC5D,oBAAmC,EACnC,aAAqB
|
|
1
|
+
{"version":3,"file":"fork-recomendations-banner.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/fork-recomendations-banner.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,wDAA+B;AAC/B,gDAAwB;AAIxB,SAAS,uBAAuB,CAAC,aAAqB;IACpD,OAAO,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,oCAAoC,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,MAAM,CACV;;;yEAGmE,CACpE,CACF,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,wCAAwC,CAC5D,oBAAmC,EACnC,aAAqB;IAErB,IAAI,CAAC,CAAC,SAAS,IAAI,oBAAoB,CAAC,EAAE;QACxC,OAAO;KACR;IAED,IAAI,oBAAoB,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE;QAClD,OAAO;KACR;IAED,IAAI,oBAAoB,CAAC,OAAO,EAAE,WAAW,KAAK,SAAS,EAAE;QAC3D,OAAO;KACR;IAED,MAAM,SAAS,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAEzD,IAAI,MAAM,kBAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QACvC,OAAO;KACR;IAED,aAAa,EAAE,CAAC;IAEhB,MAAM,kBAAO,CAAC,SAAS,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,MAAM,kBAAO,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AA1BD,4FA0BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCurrentTimestamp.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/getCurrentTimestamp.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
|
|
1
|
+
{"version":3,"file":"getCurrentTimestamp.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/getCurrentTimestamp.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,yBAAyB,IAAI,MAAM,CAElD"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCurrentTimestamp = void 0;
|
|
3
|
+
exports.getCurrentTimestampBigInt = exports.getCurrentTimestamp = void 0;
|
|
4
4
|
function getCurrentTimestamp() {
|
|
5
5
|
return Math.ceil(new Date().getTime() / 1000);
|
|
6
6
|
}
|
|
7
7
|
exports.getCurrentTimestamp = getCurrentTimestamp;
|
|
8
|
+
function getCurrentTimestampBigInt() {
|
|
9
|
+
return BigInt(getCurrentTimestamp());
|
|
10
|
+
}
|
|
11
|
+
exports.getCurrentTimestampBigInt = getCurrentTimestampBigInt;
|
|
8
12
|
//# sourceMappingURL=getCurrentTimestamp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCurrentTimestamp.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/getCurrentTimestamp.ts"],"names":[],"mappings":";;;AAAA,SAAgB,mBAAmB;IACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAChD,CAAC;AAFD,kDAEC"}
|
|
1
|
+
{"version":3,"file":"getCurrentTimestamp.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/getCurrentTimestamp.ts"],"names":[],"mappings":";;;AAAA,SAAgB,mBAAmB;IACjC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAChD,CAAC;AAFD,kDAEC;AAED,SAAgB,yBAAyB;IACvC,OAAO,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;AACvC,CAAC;AAFD,8DAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeAccount.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeAccount.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"makeAccount.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAA8B,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,wBAAgB,WAAW,CAAC,EAAE,EAAE,cAAc;;;EAa7C"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeAccount = void 0;
|
|
4
|
-
const
|
|
4
|
+
const util_1 = require("@ignored/util");
|
|
5
5
|
const isHexPrefixed_1 = require("./isHexPrefixed");
|
|
6
6
|
function makeAccount(ga) {
|
|
7
7
|
let balance;
|
|
8
8
|
if (typeof ga.balance === "string" && (0, isHexPrefixed_1.isHexPrefixed)(ga.balance)) {
|
|
9
|
-
balance =
|
|
9
|
+
balance = BigInt(ga.balance);
|
|
10
10
|
}
|
|
11
11
|
else {
|
|
12
|
-
balance =
|
|
12
|
+
balance = BigInt(ga.balance);
|
|
13
13
|
}
|
|
14
|
-
const account =
|
|
15
|
-
const pk = (0,
|
|
16
|
-
const address = new
|
|
14
|
+
const account = util_1.Account.fromAccountData({ balance });
|
|
15
|
+
const pk = (0, util_1.toBuffer)(ga.privateKey);
|
|
16
|
+
const address = new util_1.Address((0, util_1.privateToAddress)(pk));
|
|
17
17
|
return { account, address };
|
|
18
18
|
}
|
|
19
19
|
exports.makeAccount = makeAccount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeAccount.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeAccount.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"makeAccount.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeAccount.ts"],"names":[],"mappings":";;;AAAA,wCAA6E;AAI7E,mDAAgD;AAEhD,SAAgB,WAAW,CAAC,EAAkB;IAC5C,IAAI,OAAe,CAAC;IAEpB,IAAI,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAA,6BAAa,EAAC,EAAE,CAAC,OAAO,CAAC,EAAE;QAC/D,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;KAC9B;SAAM;QACL,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;KAC9B;IAED,MAAM,OAAO,GAAG,cAAO,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,IAAA,eAAQ,EAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,cAAO,CAAC,IAAA,uBAAgB,EAAC,EAAE,CAAC,CAAC,CAAC;IAClD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAbD,kCAaC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Common from "@
|
|
1
|
+
import { Common } from "@ignored/common";
|
|
2
2
|
import { LocalNodeConfig } from "../node-types";
|
|
3
|
-
export declare function makeCommon({
|
|
3
|
+
export declare function makeCommon({ chainId, networkId, hardfork }: LocalNodeConfig): Common;
|
|
4
4
|
//# sourceMappingURL=makeCommon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeCommon.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeCommon.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"makeCommon.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeCommon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,eAAe,UAY3E"}
|
|
@@ -1,31 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.makeCommon = void 0;
|
|
7
|
-
const common_1 =
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
const getCurrentTimestamp_1 = require("./getCurrentTimestamp");
|
|
11
|
-
function makeCommon({ initialDate, chainId, networkId, networkName, blockGasLimit, hardfork, }, stateTrie) {
|
|
12
|
-
const initialBlockTimestamp = initialDate !== undefined
|
|
13
|
-
? (0, date_1.dateToTimestampSeconds)(initialDate)
|
|
14
|
-
: (0, getCurrentTimestamp_1.getCurrentTimestamp)();
|
|
15
|
-
return common_1.default.forCustomChain("mainnet", {
|
|
4
|
+
const common_1 = require("@ignored/common");
|
|
5
|
+
function makeCommon({ chainId, networkId, hardfork }) {
|
|
6
|
+
const common = common_1.Common.custom({
|
|
16
7
|
chainId,
|
|
17
8
|
networkId,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
gasLimit: blockGasLimit,
|
|
23
|
-
difficulty: 1,
|
|
24
|
-
nonce: "0x0000000000000042",
|
|
25
|
-
extraData: "0x1234",
|
|
26
|
-
stateRoot: (0, ethereumjs_util_1.bufferToHex)(stateTrie.root),
|
|
27
|
-
},
|
|
28
|
-
}, hardfork);
|
|
9
|
+
}, {
|
|
10
|
+
hardfork,
|
|
11
|
+
});
|
|
12
|
+
return common;
|
|
29
13
|
}
|
|
30
14
|
exports.makeCommon = makeCommon;
|
|
31
15
|
//# sourceMappingURL=makeCommon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeCommon.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeCommon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"makeCommon.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeCommon.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AAIzC,SAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAmB;IAC1E,MAAM,MAAM,GAAG,eAAM,CAAC,MAAM,CAC1B;QACE,OAAO;QACP,SAAS;KACV,EACD;QACE,QAAQ;KACT,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAZD,gCAYC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { BN } from "ethereumjs-util";
|
|
2
1
|
import { JsonRpcClient } from "../../jsonrpc/client";
|
|
3
2
|
import { ForkConfig } from "../node-types";
|
|
4
3
|
export declare function makeForkClient(forkConfig: ForkConfig, forkCachePath?: string): Promise<{
|
|
5
4
|
forkClient: JsonRpcClient;
|
|
6
|
-
forkBlockNumber:
|
|
5
|
+
forkBlockNumber: bigint;
|
|
7
6
|
forkBlockTimestamp: number;
|
|
8
7
|
}>;
|
|
9
8
|
//# sourceMappingURL=makeForkClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeForkClient.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeForkClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"makeForkClient.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeForkClient.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAe3C,wBAAsB,cAAc,CAClC,UAAU,EAAE,UAAU,EACtB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;IACT,UAAU,EAAE,aAAa,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC,CA8DD"}
|
|
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.makeForkClient = void 0;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
-
const ethereumjs_util_1 = require("ethereumjs-util");
|
|
9
8
|
const constants_1 = require("../../../constants");
|
|
10
9
|
const base_types_1 = require("../../../core/jsonrpc/types/base-types");
|
|
11
10
|
const http_1 = require("../../../core/providers/http");
|
|
@@ -21,7 +20,7 @@ async function makeForkClient(forkConfig, forkCachePath) {
|
|
|
21
20
|
const provider = new http_1.HttpProvider(forkConfig.jsonRpcUrl, constants_1.HARDHAT_NETWORK_NAME, forkConfig.httpHeaders, FORK_HTTP_TIMEOUT);
|
|
22
21
|
const networkId = await getNetworkId(provider);
|
|
23
22
|
const actualMaxReorg = (0, reorgs_protection_1.getLargestPossibleReorg)(networkId);
|
|
24
|
-
const maxReorg = actualMaxReorg
|
|
23
|
+
const maxReorg = actualMaxReorg ?? reorgs_protection_1.FALLBACK_MAX_REORG;
|
|
25
24
|
const latestBlock = await getLatestBlockNumber(provider);
|
|
26
25
|
const lastSafeBlock = latestBlock - maxReorg;
|
|
27
26
|
let forkBlockNumber;
|
|
@@ -31,15 +30,15 @@ async function makeForkClient(forkConfig, forkCachePath) {
|
|
|
31
30
|
throw new Error(`Trying to initialize a provider with block ${forkConfig.blockNumber} but the current block is ${latestBlock}`);
|
|
32
31
|
}
|
|
33
32
|
if (forkConfig.blockNumber > lastSafeBlock) {
|
|
34
|
-
const confirmations = latestBlock - forkConfig.blockNumber +
|
|
35
|
-
const requiredConfirmations = maxReorg +
|
|
33
|
+
const confirmations = latestBlock - BigInt(forkConfig.blockNumber) + 1n;
|
|
34
|
+
const requiredConfirmations = maxReorg + 1n;
|
|
36
35
|
console.warn(chalk_1.default.yellow(`You are forking from block ${forkConfig.blockNumber}, which has less than ${requiredConfirmations} confirmations, and will affect Hardhat Network's performance.
|
|
37
36
|
Please use block number ${lastSafeBlock} or wait for the block to get ${requiredConfirmations - confirmations} more confirmations.`));
|
|
38
37
|
}
|
|
39
|
-
forkBlockNumber =
|
|
38
|
+
forkBlockNumber = BigInt(forkConfig.blockNumber);
|
|
40
39
|
}
|
|
41
40
|
else {
|
|
42
|
-
forkBlockNumber =
|
|
41
|
+
forkBlockNumber = BigInt(lastSafeBlock);
|
|
43
42
|
}
|
|
44
43
|
const block = await getBlockByNumber(provider, forkBlockNumber);
|
|
45
44
|
const forkBlockTimestamp = (0, base_types_1.rpcQuantityToNumber)(block.timestamp) * 1000;
|
|
@@ -67,7 +66,7 @@ async function getLatestBlockNumber(provider) {
|
|
|
67
66
|
const latestBlockString = (await provider.request({
|
|
68
67
|
method: "eth_blockNumber",
|
|
69
68
|
}));
|
|
70
|
-
const latestBlock =
|
|
71
|
-
return latestBlock
|
|
69
|
+
const latestBlock = BigInt(latestBlockString);
|
|
70
|
+
return latestBlock;
|
|
72
71
|
}
|
|
73
72
|
//# sourceMappingURL=makeForkClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeForkClient.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeForkClient.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"makeForkClient.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeForkClient.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,kDAA0D;AAC1D,uEAGgD;AAChD,uDAA4D;AAC5D,iDAAqD;AAIrD,2DAG6B;AAE7B,uCAAuC;AACvC,6DAA6D;AAC7D,8DAA8D;AAC9D,6EAA6E;AAC7E,gDAAgD;AAChD,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEzB,KAAK,UAAU,cAAc,CAClC,UAAsB,EACtB,aAAsB;IAMtB,MAAM,QAAQ,GAAG,IAAI,mBAAY,CAC/B,UAAU,CAAC,UAAU,EACrB,gCAAoB,EACpB,UAAU,CAAC,WAAW,EACtB,iBAAiB,CAClB,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,IAAA,2CAAuB,EAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,cAAc,IAAI,sCAAkB,CAAC;IAEtD,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;IAE7C,IAAI,eAAe,CAAC;IACpB,IAAI,UAAU,CAAC,WAAW,KAAK,SAAS,EAAE;QACxC,IAAI,UAAU,CAAC,WAAW,GAAG,WAAW,EAAE;YACxC,gFAAgF;YAChF,MAAM,IAAI,KAAK,CACb,8CAA8C,UAAU,CAAC,WAAW,6BAA6B,WAAW,EAAE,CAC/G,CAAC;SACH;QAED,IAAI,UAAU,CAAC,WAAW,GAAG,aAAa,EAAE;YAC1C,MAAM,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;YACxE,MAAM,qBAAqB,GAAG,QAAQ,GAAG,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CACV,eAAK,CAAC,MAAM,CACV,8BACE,UAAU,CAAC,WACb,yBAAyB,qBAAqB;0BAC9B,aAAa,iCAC3B,qBAAqB,GAAG,aAC1B,sBAAsB,CACvB,CACF,CAAC;SACH;QAED,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;KAClD;SAAM;QACL,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;KACzC;IAED,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAEhE,MAAM,kBAAkB,GAAG,IAAA,gCAAmB,EAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAEvE,MAAM,kBAAkB,GACtB,UAAU,CAAC,WAAW,KAAK,SAAS;QACpC,aAAa,KAAK,SAAS;QAC3B,cAAc,KAAK,SAAS,CAAC;IAE/B,MAAM,UAAU,GAAG,IAAI,sBAAa,CAClC,QAAQ,EACR,SAAS,EACT,WAAW,EACX,QAAQ,EACR,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAC/C,CAAC;IAEF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,CAAC;AAC7D,CAAC;AArED,wCAqEC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAAsB,EACtB,WAAmB;IAEnB,MAAM,cAAc,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC;QAC7C,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE,CAAC,IAAA,gCAAmB,EAAC,WAAW,CAAC,EAAE,KAAK,CAAC;KAClD,CAAC,CAAmB,CAAC;IAEtB,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAsB;IAChD,MAAM,eAAe,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC;QAC9C,MAAM,EAAE,aAAa;KACtB,CAAC,CAAW,CAAC;IACd,OAAO,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,QAAsB;IACxD,MAAM,iBAAiB,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC;QAChD,MAAM,EAAE,iBAAiB;KAC1B,CAAC,CAAW,CAAC;IAEd,MAAM,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC9C,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SecureTrie as Trie } from "
|
|
1
|
+
import { SecureTrie as Trie } from "@ignored/trie";
|
|
2
2
|
import { GenesisAccount } from "../node-types";
|
|
3
3
|
export declare function makeStateTrie(genesisAccounts: GenesisAccount[]): Promise<Trie>;
|
|
4
4
|
//# sourceMappingURL=makeStateTrie.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeStateTrie.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeStateTrie.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"makeStateTrie.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeStateTrie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,wBAAsB,aAAa,CAAC,eAAe,EAAE,cAAc,EAAE,iBAiBpE"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeStateTrie = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const trie_1 = require("@ignored/trie");
|
|
5
|
+
const util_1 = require("@ignored/util");
|
|
6
6
|
const makeAccount_1 = require("./makeAccount");
|
|
7
7
|
async function makeStateTrie(genesisAccounts) {
|
|
8
|
-
const stateTrie = new
|
|
8
|
+
const stateTrie = new trie_1.SecureTrie();
|
|
9
9
|
for (const acc of genesisAccounts) {
|
|
10
10
|
const { address, account } = (0, makeAccount_1.makeAccount)(acc);
|
|
11
11
|
await stateTrie.put(address.toBuffer(), account.serialize());
|
|
12
12
|
}
|
|
13
13
|
// Mimic precompiles activation
|
|
14
14
|
for (let i = 1; i <= 8; i++) {
|
|
15
|
-
await stateTrie.put(
|
|
15
|
+
await stateTrie.put((0, util_1.setLengthLeft)((0, util_1.intToBuffer)(i), 20), new util_1.Account().serialize());
|
|
16
16
|
}
|
|
17
17
|
return stateTrie;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeStateTrie.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeStateTrie.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"makeStateTrie.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeStateTrie.ts"],"names":[],"mappings":";;;AAAA,wCAAmD;AACnD,wCAAoE;AAIpE,+CAA4C;AAErC,KAAK,UAAU,aAAa,CAAC,eAAiC;IACnE,MAAM,SAAS,GAAG,IAAI,iBAAI,EAAE,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;QACjC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAA,yBAAW,EAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;KAC9D;IAED,+BAA+B;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,SAAS,CAAC,GAAG,CACjB,IAAA,oBAAa,EAAC,IAAA,kBAAW,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACjC,IAAI,cAAO,EAAE,CAAC,SAAS,EAAE,CAC1B,CAAC;KACH;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAjBD,sCAiBC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Common } from "@ignored/common";
|
|
3
|
+
import { SecureTrie } from "@ignored/trie";
|
|
4
|
+
import { HardforkName } from "../../../util/hardforks";
|
|
3
5
|
import { HardhatBlockchain } from "../HardhatBlockchain";
|
|
4
|
-
|
|
6
|
+
import { LocalNodeConfig } from "../node-types";
|
|
7
|
+
export declare function putGenesisBlock(blockchain: HardhatBlockchain, common: Common, { initialDate, blockGasLimit }: LocalNodeConfig, stateTrie: SecureTrie, hardfork: HardforkName, initialMixHash: Buffer, initialBaseFee?: bigint): Promise<void>;
|
|
5
8
|
//# sourceMappingURL=putGenesisBlock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"putGenesisBlock.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/putGenesisBlock.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"putGenesisBlock.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/putGenesisBlock.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,OAAO,EAAe,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,wBAAsB,eAAe,CACnC,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,EACd,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,eAAe,EAC/C,SAAS,EAAE,UAAU,EACrB,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE,MAAM,iBAkCxB"}
|
|
@@ -1,13 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.putGenesisBlock = void 0;
|
|
4
|
-
const block_1 = require("@
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
const block_1 = require("@ignored/block");
|
|
5
|
+
const util_1 = require("@ignored/util");
|
|
6
|
+
const date_1 = require("../../../util/date");
|
|
7
|
+
const hardforks_1 = require("../../../util/hardforks");
|
|
8
|
+
const getCurrentTimestamp_1 = require("./getCurrentTimestamp");
|
|
9
|
+
async function putGenesisBlock(blockchain, common, { initialDate, blockGasLimit }, stateTrie, hardfork, initialMixHash, initialBaseFee) {
|
|
10
|
+
const initialBlockTimestamp = initialDate !== undefined
|
|
11
|
+
? (0, date_1.dateToTimestampSeconds)(initialDate)
|
|
12
|
+
: (0, getCurrentTimestamp_1.getCurrentTimestamp)();
|
|
13
|
+
const isPostMerge = (0, hardforks_1.hardforkGte)(hardfork, hardforks_1.HardforkName.MERGE);
|
|
14
|
+
const header = {
|
|
15
|
+
timestamp: `0x${initialBlockTimestamp.toString(16)}`,
|
|
16
|
+
gasLimit: blockGasLimit,
|
|
17
|
+
difficulty: isPostMerge ? 0 : 1,
|
|
18
|
+
nonce: isPostMerge ? "0x0000000000000000" : "0x0000000000000042",
|
|
19
|
+
extraData: "0x1234",
|
|
20
|
+
stateRoot: (0, util_1.bufferToHex)(stateTrie.root),
|
|
21
|
+
};
|
|
22
|
+
if (isPostMerge) {
|
|
23
|
+
header.mixHash = initialMixHash;
|
|
24
|
+
}
|
|
7
25
|
if (initialBaseFee !== undefined) {
|
|
8
26
|
header.baseFeePerGas = initialBaseFee;
|
|
9
27
|
}
|
|
10
|
-
const genesisBlock = block_1.Block.
|
|
28
|
+
const genesisBlock = block_1.Block.fromBlockData({
|
|
11
29
|
header,
|
|
12
30
|
}, { common });
|
|
13
31
|
await blockchain.putBlock(genesisBlock);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"putGenesisBlock.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/putGenesisBlock.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"putGenesisBlock.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/putGenesisBlock.ts"],"names":[],"mappings":";;;AAAA,0CAAmD;AAGnD,wCAA4C;AAE5C,6CAA4D;AAC5D,uDAAoE;AAGpE,+DAA4D;AAErD,KAAK,UAAU,eAAe,CACnC,UAA6B,EAC7B,MAAc,EACd,EAAE,WAAW,EAAE,aAAa,EAAmB,EAC/C,SAAqB,EACrB,QAAsB,EACtB,cAAsB,EACtB,cAAuB;IAEvB,MAAM,qBAAqB,GACzB,WAAW,KAAK,SAAS;QACvB,CAAC,CAAC,IAAA,6BAAsB,EAAC,WAAW,CAAC;QACrC,CAAC,CAAC,IAAA,yCAAmB,GAAE,CAAC;IAE5B,MAAM,WAAW,GAAG,IAAA,uBAAW,EAAC,QAAQ,EAAE,wBAAY,CAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAe;QACzB,SAAS,EAAE,KAAK,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;QACpD,QAAQ,EAAE,aAAa;QACvB,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB;QAChE,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,IAAA,kBAAW,EAAC,SAAS,CAAC,IAAI,CAAC;KACvC,CAAC;IAEF,IAAI,WAAW,EAAE;QACf,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC;KACjC;IAED,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,MAAM,CAAC,aAAa,GAAG,cAAc,CAAC;KACvC;IAED,MAAM,YAAY,GAAG,aAAK,CAAC,aAAa,CACtC;QACE,MAAM;KACP,EACD,EAAE,MAAM,EAAE,CACX,CAAC;IAEF,MAAM,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC1C,CAAC;AAzCD,0CAyCC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type EthereumjsUtilT from "@ignored/util";
|
|
3
|
+
export declare class RandomBufferGenerator {
|
|
4
|
+
private _nextValue;
|
|
5
|
+
private constructor();
|
|
6
|
+
static create(seed: string): RandomBufferGenerator;
|
|
7
|
+
next(): Buffer;
|
|
8
|
+
clone(): RandomBufferGenerator;
|
|
9
|
+
}
|
|
10
|
+
export declare const randomHash: () => string;
|
|
11
|
+
export declare const randomHashBuffer: () => Buffer;
|
|
12
|
+
export declare const randomAddress: () => EthereumjsUtilT.Address;
|
|
13
|
+
export declare const randomAddressString: () => string;
|
|
14
|
+
export declare const randomAddressBuffer: () => Buffer;
|
|
15
|
+
//# sourceMappingURL=random.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/random.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,eAAe,MAAM,eAAe,CAAC;AAGjD,qBAAa,qBAAqB;IACZ,OAAO,CAAC,UAAU;IAAtC,OAAO;WAEO,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB;IAUlD,IAAI,IAAI,MAAM;IAYd,KAAK,IAAI,qBAAqB;CAGtC;AAED,eAAO,MAAM,UAAU,cAGtB,CAAC;AAGF,eAAO,MAAM,gBAAgB,QAAO,MAEnC,CAAC;AAEF,eAAO,MAAM,aAAa,+BAGzB,CAAC;AAEF,eAAO,MAAM,mBAAmB,cAG/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,cAAwC,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.randomAddressBuffer = exports.randomAddressString = exports.randomAddress = exports.randomHashBuffer = exports.randomHash = exports.RandomBufferGenerator = void 0;
|
|
4
|
+
class RandomBufferGenerator {
|
|
5
|
+
constructor(_nextValue) {
|
|
6
|
+
this._nextValue = _nextValue;
|
|
7
|
+
}
|
|
8
|
+
static create(seed) {
|
|
9
|
+
const { bufArrToArr } = require("@ignored/util");
|
|
10
|
+
const { keccak256 } = require("ethereum-cryptography/keccak");
|
|
11
|
+
const nextValue = keccak256(bufArrToArr(Buffer.from(seed)));
|
|
12
|
+
return new RandomBufferGenerator(nextValue);
|
|
13
|
+
}
|
|
14
|
+
next() {
|
|
15
|
+
const { arrToBufArr } = require("@ignored/util");
|
|
16
|
+
const { keccak256 } = require("ethereum-cryptography/keccak");
|
|
17
|
+
const valueToReturn = this._nextValue;
|
|
18
|
+
this._nextValue = keccak256(this._nextValue);
|
|
19
|
+
return arrToBufArr(valueToReturn);
|
|
20
|
+
}
|
|
21
|
+
clone() {
|
|
22
|
+
return new RandomBufferGenerator(this._nextValue);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.RandomBufferGenerator = RandomBufferGenerator;
|
|
26
|
+
const randomHash = () => {
|
|
27
|
+
const { bufferToHex } = require("@ignored/util");
|
|
28
|
+
return bufferToHex((0, exports.randomHashBuffer)());
|
|
29
|
+
};
|
|
30
|
+
exports.randomHash = randomHash;
|
|
31
|
+
const generator = RandomBufferGenerator.create("seed");
|
|
32
|
+
const randomHashBuffer = () => {
|
|
33
|
+
return generator.next();
|
|
34
|
+
};
|
|
35
|
+
exports.randomHashBuffer = randomHashBuffer;
|
|
36
|
+
const randomAddress = () => {
|
|
37
|
+
const { Address } = require("@ignored/util");
|
|
38
|
+
return new Address((0, exports.randomAddressBuffer)());
|
|
39
|
+
};
|
|
40
|
+
exports.randomAddress = randomAddress;
|
|
41
|
+
const randomAddressString = () => {
|
|
42
|
+
const { bufferToHex } = require("@ignored/util");
|
|
43
|
+
return bufferToHex((0, exports.randomAddressBuffer)());
|
|
44
|
+
};
|
|
45
|
+
exports.randomAddressString = randomAddressString;
|
|
46
|
+
const randomAddressBuffer = () => (0, exports.randomHashBuffer)().slice(0, 20);
|
|
47
|
+
exports.randomAddressBuffer = randomAddressBuffer;
|
|
48
|
+
//# sourceMappingURL=random.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/random.ts"],"names":[],"mappings":";;;AAGA,MAAa,qBAAqB;IAChC,YAA4B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE/C,MAAM,CAAC,MAAM,CAAC,IAAY;QAC/B,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,eAAe,CAA2B,CAAC;QAC3E,MAAM,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,8BAA8B,CAAuC,CAAC;QAEhF,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE5D,OAAO,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAEM,IAAI;QACT,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,eAAe,CAA2B,CAAC;QAC3E,MAAM,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,8BAA8B,CAAuC,CAAC;QAEhF,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;QAEtC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE7C,OAAO,WAAW,CAAC,aAAa,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;CACF;AA5BD,sDA4BC;AAEM,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,eAAe,CAA2B,CAAC;IAC3E,OAAO,WAAW,CAAC,IAAA,wBAAgB,GAAE,CAAC,CAAC;AACzC,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEF,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,gBAAgB,GAAG,GAAW,EAAE;IAC3C,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEK,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,eAAe,CAA2B,CAAC;IACvE,OAAO,IAAI,OAAO,CAAC,IAAA,2BAAmB,GAAE,CAAC,CAAC;AAC5C,CAAC,CAAC;AAHW,QAAA,aAAa,iBAGxB;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,eAAe,CAA2B,CAAC;IAC3E,OAAO,WAAW,CAAC,IAAA,2BAAmB,GAAE,CAAC,CAAC;AAC5C,CAAC,CAAC;AAHW,QAAA,mBAAmB,uBAG9B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,IAAA,wBAAgB,GAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAA5D,QAAA,mBAAmB,uBAAyC"}
|