hardhat 2.20.1 → 2.21.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/internal/core/jsonrpc/types/input/blockTag.d.ts +3 -3
- package/internal/core/jsonrpc/types/input/filterRequest.d.ts +6 -6
- package/internal/core/providers/construction.d.ts.map +1 -1
- package/internal/core/providers/construction.js +28 -4
- package/internal/core/providers/construction.js.map +1 -1
- package/internal/core/providers/http.d.ts +2 -0
- package/internal/core/providers/http.d.ts.map +1 -1
- package/internal/core/providers/http.js +2 -1
- package/internal/core/providers/http.js.map +1 -1
- package/internal/core/runtime-environment.d.ts.map +1 -1
- package/internal/core/runtime-environment.js.map +1 -1
- package/internal/hardhat-network/jsonrpc/client.d.ts +0 -2
- package/internal/hardhat-network/jsonrpc/client.d.ts.map +1 -1
- package/internal/hardhat-network/jsonrpc/client.js +0 -16
- package/internal/hardhat-network/jsonrpc/client.js.map +1 -1
- package/internal/hardhat-network/jsonrpc/handler.js +9 -1
- package/internal/hardhat-network/jsonrpc/handler.js.map +1 -1
- package/internal/hardhat-network/provider/BlockchainData.d.ts +5 -5
- package/internal/hardhat-network/provider/BlockchainData.d.ts.map +1 -1
- package/internal/hardhat-network/provider/BlockchainData.js +10 -10
- package/internal/hardhat-network/provider/BlockchainData.js.map +1 -1
- package/internal/hardhat-network/provider/HardhatBlockchain.d.ts +0 -7
- package/internal/hardhat-network/provider/HardhatBlockchain.d.ts.map +1 -1
- package/internal/hardhat-network/provider/HardhatBlockchain.js +2 -14
- package/internal/hardhat-network/provider/HardhatBlockchain.js.map +1 -1
- package/internal/hardhat-network/provider/TxPool.d.ts +3 -2
- package/internal/hardhat-network/provider/TxPool.d.ts.map +1 -1
- package/internal/hardhat-network/provider/TxPool.js +16 -16
- package/internal/hardhat-network/provider/TxPool.js.map +1 -1
- package/internal/hardhat-network/provider/ethereumjs-workarounds.js +1 -1
- package/internal/hardhat-network/provider/ethereumjs-workarounds.js.map +1 -1
- package/internal/hardhat-network/provider/filter.d.ts +6 -5
- package/internal/hardhat-network/provider/filter.d.ts.map +1 -1
- package/internal/hardhat-network/provider/filter.js +2 -2
- package/internal/hardhat-network/provider/filter.js.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts +0 -7
- package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkBlockchain.js +4 -21
- package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts +13 -19
- package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts.map +1 -1
- package/internal/hardhat-network/provider/fork/ForkStateManager.js +61 -59
- package/internal/hardhat-network/provider/fork/ForkStateManager.js.map +1 -1
- package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts.map +1 -1
- package/internal/hardhat-network/provider/fork/rpcToBlockData.js +0 -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 +1 -1
- package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +1 -1
- package/internal/hardhat-network/provider/modules/base.js +4 -4
- package/internal/hardhat-network/provider/modules/base.js.map +1 -1
- package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/eth.js +9 -16
- package/internal/hardhat-network/provider/modules/eth.js.map +1 -1
- package/internal/hardhat-network/provider/modules/logger.d.ts +6 -84
- package/internal/hardhat-network/provider/modules/logger.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/logger.js +3 -530
- package/internal/hardhat-network/provider/modules/logger.js.map +1 -1
- package/internal/hardhat-network/provider/node-types.d.ts +2 -65
- package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
- package/internal/hardhat-network/provider/node-types.js +0 -5
- package/internal/hardhat-network/provider/node-types.js.map +1 -1
- package/internal/hardhat-network/provider/node.d.ts +2 -6
- package/internal/hardhat-network/provider/node.d.ts.map +1 -1
- package/internal/hardhat-network/provider/node.js +79 -153
- package/internal/hardhat-network/provider/node.js.map +1 -1
- package/internal/hardhat-network/provider/output.d.ts +0 -14
- package/internal/hardhat-network/provider/output.d.ts.map +1 -1
- package/internal/hardhat-network/provider/output.js +0 -264
- package/internal/hardhat-network/provider/output.js.map +1 -1
- package/internal/hardhat-network/provider/provider.d.ts +28 -25
- package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
- package/internal/hardhat-network/provider/provider.js +349 -185
- package/internal/hardhat-network/provider/provider.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts +10 -8
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +9 -9
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts +10 -8
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +9 -9
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts +10 -9
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +7 -6
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts +6 -5
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts +5 -4
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts +8 -7
- 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/transactions/ReadOnlyValidUnknownTypeTransaction.d.ts +8 -7
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js +2 -2
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js.map +1 -1
- package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts +5 -4
- package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/convertToEdr.d.ts +14 -0
- package/internal/hardhat-network/provider/utils/convertToEdr.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/convertToEdr.js +194 -0
- package/internal/hardhat-network/provider/utils/convertToEdr.js.map +1 -0
- package/internal/hardhat-network/provider/utils/getCurrentTimestamp.d.ts +0 -1
- package/internal/hardhat-network/provider/utils/getCurrentTimestamp.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/getCurrentTimestamp.js +1 -5
- package/internal/hardhat-network/provider/utils/getCurrentTimestamp.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 +1 -3
- package/internal/hardhat-network/provider/utils/makeCommon.js.map +1 -1
- package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts +2 -2
- package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/makeFakeSignature.js +1 -15
- package/internal/hardhat-network/provider/utils/makeFakeSignature.js.map +1 -1
- package/internal/hardhat-network/provider/utils/makeForkClient.d.ts +10 -1
- package/internal/hardhat-network/provider/utils/makeForkClient.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/makeForkClient.js +38 -18
- package/internal/hardhat-network/provider/utils/makeForkClient.js.map +1 -1
- package/internal/hardhat-network/provider/utils/makeStateTrie.js +2 -2
- package/internal/hardhat-network/provider/utils/makeStateTrie.js.map +1 -1
- package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts +3 -1
- package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/putGenesisBlock.js +2 -6
- package/internal/hardhat-network/provider/utils/putGenesisBlock.js.map +1 -1
- package/internal/hardhat-network/provider/utils/random.d.ts +1 -0
- package/internal/hardhat-network/provider/utils/random.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/random.js +7 -1
- package/internal/hardhat-network/provider/utils/random.js.map +1 -1
- package/internal/hardhat-network/provider/utils/reorgs-protection.d.ts +1 -1
- package/internal/hardhat-network/provider/utils/reorgs-protection.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/reorgs-protection.js +5 -5
- package/internal/hardhat-network/provider/utils/reorgs-protection.js.map +1 -1
- package/internal/hardhat-network/provider/vm/exit.d.ts +22 -0
- package/internal/hardhat-network/provider/vm/exit.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/exit.js +93 -0
- package/internal/hardhat-network/provider/vm/exit.js.map +1 -0
- package/internal/hardhat-network/provider/vm/minimal-vm.d.ts +29 -0
- package/internal/hardhat-network/provider/vm/minimal-vm.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/minimal-vm.js +43 -0
- package/internal/hardhat-network/provider/vm/minimal-vm.js.map +1 -0
- package/internal/hardhat-network/provider/vm/proxy-vm.d.ts +36 -0
- package/internal/hardhat-network/provider/vm/proxy-vm.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/proxy-vm.js +73 -0
- package/internal/hardhat-network/provider/vm/proxy-vm.js.map +1 -0
- package/internal/hardhat-network/provider/vm/types.d.ts +28 -0
- package/internal/hardhat-network/provider/vm/types.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/types.js +3 -0
- package/internal/hardhat-network/provider/vm/types.js.map +1 -0
- package/internal/hardhat-network/stack-traces/consoleLogger.d.ts +6 -0
- package/internal/hardhat-network/stack-traces/consoleLogger.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/consoleLogger.js +33 -16
- package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
- package/internal/hardhat-network/stack-traces/contracts-identifier.d.ts +1 -2
- package/internal/hardhat-network/stack-traces/contracts-identifier.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/contracts-identifier.js +6 -7
- package/internal/hardhat-network/stack-traces/contracts-identifier.js.map +1 -1
- package/internal/hardhat-network/stack-traces/debug.js +6 -6
- 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 +13 -7
- package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
- package/internal/hardhat-network/stack-traces/message-trace.d.ts +8 -3
- package/internal/hardhat-network/stack-traces/message-trace.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/message-trace.js +22 -1
- package/internal/hardhat-network/stack-traces/message-trace.js.map +1 -1
- package/internal/hardhat-network/stack-traces/model.d.ts +8 -0
- package/internal/hardhat-network/stack-traces/model.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/model.js +52 -0
- package/internal/hardhat-network/stack-traces/model.js.map +1 -1
- package/internal/hardhat-network/stack-traces/opcodes.d.ts +1 -0
- package/internal/hardhat-network/stack-traces/opcodes.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/opcodes.js +5 -1
- package/internal/hardhat-network/stack-traces/opcodes.js.map +1 -1
- package/internal/hardhat-network/stack-traces/solidity-errors.js +2 -2
- package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
- package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/solidityTracer.js +5 -5
- package/internal/hardhat-network/stack-traces/solidityTracer.js.map +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 +28 -34
- package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.d.ts +7 -0
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.js +69 -2
- package/internal/hardhat-network/stack-traces/vm-trace-decoder.js.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-tracer.d.ts +7 -12
- package/internal/hardhat-network/stack-traces/vm-tracer.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/vm-tracer.js +46 -65
- package/internal/hardhat-network/stack-traces/vm-tracer.js.map +1 -1
- package/internal/util/date.d.ts +1 -0
- package/internal/util/date.d.ts.map +1 -1
- package/internal/util/date.js +5 -1
- package/internal/util/date.js.map +1 -1
- package/internal/util/hardforks.d.ts +2 -0
- package/internal/util/hardforks.d.ts.map +1 -1
- package/internal/util/hardforks.js +27 -1
- package/internal/util/hardforks.js.map +1 -1
- package/package.json +16 -14
- package/src/internal/core/providers/construction.ts +7 -9
- package/src/internal/core/providers/http.ts +3 -1
- package/src/internal/core/runtime-environment.ts +2 -1
- package/src/internal/hardhat-network/jsonrpc/client.ts +1 -28
- package/src/internal/hardhat-network/jsonrpc/handler.ts +9 -1
- package/src/internal/hardhat-network/provider/modules/logger.ts +6 -801
- package/src/internal/hardhat-network/provider/node-types.ts +2 -89
- package/src/internal/hardhat-network/provider/output.ts +0 -352
- package/src/internal/hardhat-network/provider/provider.ts +501 -261
- package/src/internal/hardhat-network/provider/utils/convertToEdr.ts +232 -0
- package/src/internal/hardhat-network/provider/utils/getCurrentTimestamp.ts +0 -4
- package/src/internal/hardhat-network/provider/utils/makeCommon.ts +1 -12
- package/src/internal/hardhat-network/provider/utils/makeForkClient.ts +63 -24
- package/src/internal/hardhat-network/provider/utils/random.ts +8 -1
- package/src/internal/hardhat-network/provider/utils/reorgs-protection.ts +5 -5
- package/src/internal/hardhat-network/provider/vm/exit.ts +101 -0
- package/src/internal/hardhat-network/provider/vm/minimal-vm.ts +98 -0
- package/src/internal/hardhat-network/provider/vm/types.ts +32 -0
- package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +40 -21
- package/src/internal/hardhat-network/stack-traces/contracts-identifier.ts +10 -12
- package/src/internal/hardhat-network/stack-traces/debug.ts +6 -6
- package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +15 -8
- package/src/internal/hardhat-network/stack-traces/message-trace.ts +40 -4
- package/src/internal/hardhat-network/stack-traces/model.ts +61 -0
- package/src/internal/hardhat-network/stack-traces/opcodes.ts +4 -0
- package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +2 -2
- package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +6 -5
- package/src/internal/hardhat-network/stack-traces/vm-trace-decoder.ts +113 -4
- package/src/internal/hardhat-network/stack-traces/vm-tracer.ts +67 -95
- package/src/internal/util/date.ts +4 -0
- package/src/internal/util/hardforks.ts +52 -0
- package/src/internal/hardhat-network/provider/BlockchainBase.ts +0 -185
- package/src/internal/hardhat-network/provider/BlockchainData.ts +0 -261
- package/src/internal/hardhat-network/provider/HardhatBlockchain.ts +0 -140
- package/src/internal/hardhat-network/provider/PoolState.ts +0 -48
- package/src/internal/hardhat-network/provider/TransactionQueue.ts +0 -158
- package/src/internal/hardhat-network/provider/TxPool.ts +0 -715
- package/src/internal/hardhat-network/provider/ethereumjs-workarounds.ts +0 -21
- package/src/internal/hardhat-network/provider/filter.ts +0 -142
- package/src/internal/hardhat-network/provider/fork/ForkBlockchain.ts +0 -433
- package/src/internal/hardhat-network/provider/fork/ForkStateManager.ts +0 -480
- package/src/internal/hardhat-network/provider/fork/rpcToBlockData.ts +0 -35
- package/src/internal/hardhat-network/provider/fork/rpcToTxData.ts +0 -44
- package/src/internal/hardhat-network/provider/modules/base.ts +0 -156
- package/src/internal/hardhat-network/provider/modules/debug.ts +0 -104
- package/src/internal/hardhat-network/provider/modules/eth.ts +0 -1781
- package/src/internal/hardhat-network/provider/modules/evm.ts +0 -249
- package/src/internal/hardhat-network/provider/modules/hardhat.ts +0 -481
- package/src/internal/hardhat-network/provider/modules/net.ts +0 -60
- package/src/internal/hardhat-network/provider/modules/personal.ts +0 -40
- package/src/internal/hardhat-network/provider/modules/web3.ts +0 -49
- package/src/internal/hardhat-network/provider/node.ts +0 -2999
- package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +0 -226
- package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +0 -224
- package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +0 -216
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.ts +0 -143
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.ts +0 -144
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts +0 -171
- package/src/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.ts +0 -169
- package/src/internal/hardhat-network/provider/types/HardhatBlockchainInterface.ts +0 -25
- package/src/internal/hardhat-network/provider/utils/makeFakeSignature.ts +0 -60
- package/src/internal/hardhat-network/provider/utils/makeStateTrie.ts +0 -29
- package/src/internal/hardhat-network/provider/utils/putGenesisBlock.ts +0 -61
- package/src/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.ts +0 -45
- package/src/internal/hardhat-network/provider/utils/txMapToArray.ts +0 -7
- package/src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts +0 -630
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ForkStateManager = void 0;
|
|
3
|
+
exports.ForkStateManager = exports.randomHashSeed = void 0;
|
|
4
4
|
const ethereumjs_util_1 = require("@nomicfoundation/ethereumjs-util");
|
|
5
5
|
const immutable_1 = require("immutable");
|
|
6
6
|
const errors_1 = require("../../../core/errors");
|
|
@@ -10,65 +10,65 @@ const makeAccount_1 = require("../utils/makeAccount");
|
|
|
10
10
|
const random_1 = require("../utils/random");
|
|
11
11
|
const AccountState_1 = require("./AccountState");
|
|
12
12
|
const encodeStorageKey = (address, position) => {
|
|
13
|
-
return `${
|
|
13
|
+
return `${address.toString("hex")}${(0, ethereumjs_util_1.unpadBuffer)(position).toString("hex")}`;
|
|
14
14
|
};
|
|
15
15
|
const checkpointedError = (method) => new Error(`${method} called when checkpointed`);
|
|
16
16
|
const notCheckpointedError = (method) => new Error(`${method} called when not checkpointed`);
|
|
17
17
|
const notSupportedError = (method) => new Error(`${method} is not supported when forking from remote network`);
|
|
18
|
+
const generator = random_1.RandomBufferGenerator.create("seed");
|
|
19
|
+
const randomHashBuffer = () => {
|
|
20
|
+
return generator.next();
|
|
21
|
+
};
|
|
22
|
+
const randomHash = () => {
|
|
23
|
+
return (0, ethereumjs_util_1.bufferToHex)(randomHashBuffer());
|
|
24
|
+
};
|
|
25
|
+
const randomHashSeed = () => {
|
|
26
|
+
return generator.seed();
|
|
27
|
+
};
|
|
28
|
+
exports.randomHashSeed = randomHashSeed;
|
|
18
29
|
class ForkStateManager {
|
|
19
|
-
constructor(_jsonRpcClient, _forkBlockNumber) {
|
|
30
|
+
constructor(_jsonRpcClient, _forkBlockNumber, stateRoot) {
|
|
20
31
|
this._jsonRpcClient = _jsonRpcClient;
|
|
21
32
|
this._forkBlockNumber = _forkBlockNumber;
|
|
33
|
+
// temporary, used to print the whole storage
|
|
34
|
+
// should be removed
|
|
35
|
+
this.addresses = new Set();
|
|
22
36
|
this._state = (0, immutable_1.Map)();
|
|
23
|
-
this._initialStateRoot = (0, random_1.randomHash)();
|
|
24
|
-
this._stateRoot = this._initialStateRoot;
|
|
25
37
|
this._stateRootToState = new Map();
|
|
26
38
|
this._originalStorageCache = new Map();
|
|
27
39
|
this._stateCheckpoints = [];
|
|
28
40
|
this._contextBlockNumber = this._forkBlockNumber;
|
|
29
41
|
this._contextChanged = false;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
this.clearOriginalStorageCache();
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
this._state = (0, immutable_1.Map)();
|
|
39
|
-
this._stateRootToState.set(this._initialStateRoot, this._state);
|
|
40
|
-
}
|
|
41
|
-
dumpStorageRange(_address, _startKey, _limit) {
|
|
42
|
-
throw new Error("Method not implemented.");
|
|
43
|
-
}
|
|
44
|
-
getProof(_address, _storageSlots) {
|
|
45
|
-
throw new Error("Method not implemented.");
|
|
46
|
-
}
|
|
47
|
-
shallowCopy(_downlevelCaches) {
|
|
48
|
-
return this;
|
|
42
|
+
if (stateRoot === undefined) {
|
|
43
|
+
stateRoot = randomHash();
|
|
44
|
+
}
|
|
45
|
+
this._stateRoot = stateRoot;
|
|
46
|
+
this._stateRootToState.set(this._stateRoot, this._state);
|
|
49
47
|
}
|
|
50
|
-
async
|
|
48
|
+
static async withGenesisAccounts(jsonRpcClient, forkBlockNumber, genesisAccounts) {
|
|
51
49
|
const accounts = [];
|
|
52
50
|
const noncesPromises = [];
|
|
53
51
|
for (const ga of genesisAccounts) {
|
|
54
52
|
const account = (0, makeAccount_1.makeAccount)(ga);
|
|
55
53
|
accounts.push(account);
|
|
56
|
-
const noncePromise =
|
|
54
|
+
const noncePromise = jsonRpcClient.getTransactionCount(account.address.toBuffer(), forkBlockNumber);
|
|
57
55
|
noncesPromises.push(noncePromise);
|
|
58
56
|
}
|
|
59
57
|
const nonces = await Promise.all(noncesPromises);
|
|
60
58
|
(0, errors_1.assertHardhatInvariant)(accounts.length === nonces.length, "Nonces and accounts should have the same length");
|
|
59
|
+
const stateManager = new ForkStateManager(jsonRpcClient, forkBlockNumber);
|
|
61
60
|
for (const [index, { address, account }] of accounts.entries()) {
|
|
62
61
|
const nonce = nonces[index];
|
|
63
62
|
account.nonce = nonce;
|
|
64
|
-
|
|
63
|
+
stateManager._putAccount(address, account);
|
|
65
64
|
}
|
|
66
|
-
|
|
65
|
+
// Overwrite the original state
|
|
66
|
+
stateManager._stateRootToState.set(stateManager._stateRoot, stateManager._state);
|
|
67
|
+
return stateManager;
|
|
67
68
|
}
|
|
68
69
|
copy() {
|
|
69
|
-
const fsm = new ForkStateManager(this._jsonRpcClient, this._forkBlockNumber);
|
|
70
|
+
const fsm = new ForkStateManager(this._jsonRpcClient, this._forkBlockNumber, this._stateRoot);
|
|
70
71
|
fsm._state = this._state;
|
|
71
|
-
fsm._stateRoot = this._stateRoot;
|
|
72
72
|
// because this map is append-only we don't need to copy it
|
|
73
73
|
fsm._stateRootToState = this._stateRootToState;
|
|
74
74
|
return fsm;
|
|
@@ -78,9 +78,9 @@ class ForkStateManager {
|
|
|
78
78
|
const localNonce = localAccount?.get("nonce");
|
|
79
79
|
const localBalance = localAccount?.get("balance");
|
|
80
80
|
const localCode = localAccount?.get("code");
|
|
81
|
-
let nonce = localNonce !== undefined ? (0, ethereumjs_util_1.
|
|
82
|
-
let balance = localBalance !== undefined ? (0, ethereumjs_util_1.
|
|
83
|
-
let code = localCode !== undefined ? (0, ethereumjs_util_1.
|
|
81
|
+
let nonce = localNonce !== undefined ? (0, ethereumjs_util_1.toBuffer)(localNonce) : undefined;
|
|
82
|
+
let balance = localBalance !== undefined ? (0, ethereumjs_util_1.toBuffer)(localBalance) : undefined;
|
|
83
|
+
let code = localCode !== undefined ? (0, ethereumjs_util_1.toBuffer)(localCode) : undefined;
|
|
84
84
|
if (balance === undefined || nonce === undefined || code === undefined) {
|
|
85
85
|
const accountData = await this._jsonRpcClient.getAccountData(address, this._contextBlockNumber);
|
|
86
86
|
if (nonce === undefined) {
|
|
@@ -104,14 +104,15 @@ class ForkStateManager {
|
|
|
104
104
|
// We don't do anything here. See cleanupTouchedAccounts for explanation
|
|
105
105
|
}
|
|
106
106
|
async putContractCode(address, value) {
|
|
107
|
+
this.addresses.add(address.toString());
|
|
107
108
|
const hexAddress = address.toString();
|
|
108
|
-
const account = (this._state.get(hexAddress) ?? (0, AccountState_1.makeAccountState)()).set("code", (0, ethereumjs_util_1.
|
|
109
|
+
const account = (this._state.get(hexAddress) ?? (0, AccountState_1.makeAccountState)()).set("code", (0, ethereumjs_util_1.bufferToHex)(value));
|
|
109
110
|
this._state = this._state.set(hexAddress, account);
|
|
110
111
|
}
|
|
111
112
|
async getContractCode(address) {
|
|
112
113
|
const localCode = this._state.get(address.toString())?.get("code");
|
|
113
114
|
if (localCode !== undefined) {
|
|
114
|
-
return (0, ethereumjs_util_1.
|
|
115
|
+
return (0, ethereumjs_util_1.toBuffer)(localCode);
|
|
115
116
|
}
|
|
116
117
|
const accountData = await this._jsonRpcClient.getAccountData(address, this._contextBlockNumber);
|
|
117
118
|
return accountData.code;
|
|
@@ -122,25 +123,26 @@ class ForkStateManager {
|
|
|
122
123
|
}
|
|
123
124
|
const account = this._state.get(address.toString());
|
|
124
125
|
const contractStorageCleared = account?.get("storageCleared") ?? false;
|
|
125
|
-
const localValue = account?.get("storage").get((0, ethereumjs_util_1.
|
|
126
|
+
const localValue = account?.get("storage").get((0, ethereumjs_util_1.bufferToHex)(key));
|
|
126
127
|
if (localValue !== undefined) {
|
|
127
|
-
return (0, ethereumjs_util_1.
|
|
128
|
+
return (0, ethereumjs_util_1.toBuffer)(localValue);
|
|
128
129
|
}
|
|
129
130
|
const slotCleared = localValue === null;
|
|
130
131
|
if (contractStorageCleared || slotCleared) {
|
|
131
|
-
return (0, ethereumjs_util_1.
|
|
132
|
+
return (0, ethereumjs_util_1.toBuffer)([]);
|
|
132
133
|
}
|
|
133
|
-
const remoteValue = await this._jsonRpcClient.getStorageAt(address, (0, ethereumjs_util_1.
|
|
134
|
-
return (0, ethereumjs_util_1.
|
|
134
|
+
const remoteValue = await this._jsonRpcClient.getStorageAt(address, (0, ethereumjs_util_1.bufferToBigInt)(key), this._contextBlockNumber);
|
|
135
|
+
return (0, ethereumjs_util_1.unpadBuffer)(remoteValue);
|
|
135
136
|
}
|
|
136
137
|
async putContractStorage(address, key, value) {
|
|
138
|
+
this.addresses.add(address.toString());
|
|
137
139
|
if (key.length !== 32) {
|
|
138
140
|
throw new Error("Storage key must be 32 bytes long");
|
|
139
141
|
}
|
|
140
142
|
if (value.length > 32) {
|
|
141
143
|
throw new Error("Storage value cannot be longer than 32 bytes");
|
|
142
144
|
}
|
|
143
|
-
const unpaddedValue = (0, ethereumjs_util_1.
|
|
145
|
+
const unpaddedValue = (0, ethereumjs_util_1.unpadBuffer)(value);
|
|
144
146
|
const hexAddress = address.toString();
|
|
145
147
|
let account = this._state.get(hexAddress) ?? (0, AccountState_1.makeAccountState)();
|
|
146
148
|
const currentStorage = account.get("storage");
|
|
@@ -150,13 +152,14 @@ class ForkStateManager {
|
|
|
150
152
|
newValue = null;
|
|
151
153
|
}
|
|
152
154
|
else {
|
|
153
|
-
newValue = (0, ethereumjs_util_1.
|
|
155
|
+
newValue = (0, ethereumjs_util_1.bufferToHex)(unpaddedValue);
|
|
154
156
|
}
|
|
155
|
-
const newStorage = currentStorage.set((0, ethereumjs_util_1.
|
|
157
|
+
const newStorage = currentStorage.set((0, ethereumjs_util_1.bufferToHex)(key), newValue);
|
|
156
158
|
account = account.set("storage", newStorage);
|
|
157
159
|
this._state = this._state.set(hexAddress, account);
|
|
158
160
|
}
|
|
159
161
|
async clearContractStorage(address) {
|
|
162
|
+
this.addresses.add(address.toString());
|
|
160
163
|
const hexAddress = address.toString();
|
|
161
164
|
let account = this._state.get(hexAddress) ?? (0, AccountState_1.makeAccountState)();
|
|
162
165
|
account = account
|
|
@@ -166,7 +169,7 @@ class ForkStateManager {
|
|
|
166
169
|
}
|
|
167
170
|
async checkpoint() {
|
|
168
171
|
const stateRoot = await this.getStateRoot();
|
|
169
|
-
this._stateCheckpoints.push((0, ethereumjs_util_1.
|
|
172
|
+
this._stateCheckpoints.push((0, ethereumjs_util_1.bufferToHex)(stateRoot));
|
|
170
173
|
}
|
|
171
174
|
async commit() {
|
|
172
175
|
if (this._stateCheckpoints.length === 0) {
|
|
@@ -179,14 +182,14 @@ class ForkStateManager {
|
|
|
179
182
|
if (checkpointedRoot === undefined) {
|
|
180
183
|
throw notCheckpointedError("revert");
|
|
181
184
|
}
|
|
182
|
-
await this.setStateRoot((0, ethereumjs_util_1.
|
|
185
|
+
await this.setStateRoot((0, ethereumjs_util_1.toBuffer)(checkpointedRoot));
|
|
183
186
|
}
|
|
184
187
|
async getStateRoot() {
|
|
185
188
|
if (this._stateRootToState.get(this._stateRoot) !== this._state) {
|
|
186
|
-
this._stateRoot =
|
|
189
|
+
this._stateRoot = randomHash();
|
|
187
190
|
this._stateRootToState.set(this._stateRoot, this._state);
|
|
188
191
|
}
|
|
189
|
-
return (0, ethereumjs_util_1.
|
|
192
|
+
return (0, ethereumjs_util_1.toBuffer)(this._stateRoot);
|
|
190
193
|
}
|
|
191
194
|
async setStateRoot(stateRoot) {
|
|
192
195
|
this._setStateRoot(stateRoot);
|
|
@@ -209,7 +212,7 @@ class ForkStateManager {
|
|
|
209
212
|
// An account is considered empty when it has no code and zero nonce and zero balance.
|
|
210
213
|
return (account.nonce === 0n &&
|
|
211
214
|
account.balance === 0n &&
|
|
212
|
-
|
|
215
|
+
account.codeHash.equals(ethereumjs_util_1.KECCAK256_NULL));
|
|
213
216
|
}
|
|
214
217
|
async cleanupTouchedAccounts() {
|
|
215
218
|
// We do not do anything here, because cleaning accounts only affects the
|
|
@@ -224,17 +227,13 @@ class ForkStateManager {
|
|
|
224
227
|
this._setStateRoot(irregularState);
|
|
225
228
|
return;
|
|
226
229
|
}
|
|
227
|
-
if (blockNumber
|
|
228
|
-
this._setStateRoot((0, ethereumjs_util_1.toBytes)(this._initialStateRoot));
|
|
229
|
-
return;
|
|
230
|
-
}
|
|
231
|
-
if (blockNumber > this._forkBlockNumber) {
|
|
230
|
+
if (blockNumber >= this._forkBlockNumber) {
|
|
232
231
|
this._setStateRoot(stateRoot);
|
|
233
232
|
return;
|
|
234
233
|
}
|
|
235
234
|
this._contextChanged = true;
|
|
236
235
|
this._state = (0, immutable_1.Map)();
|
|
237
|
-
this._stateRoot = (0, ethereumjs_util_1.
|
|
236
|
+
this._stateRoot = (0, ethereumjs_util_1.bufferToHex)(stateRoot);
|
|
238
237
|
this._stateRootToState.set(this._stateRoot, this._state);
|
|
239
238
|
this._contextBlockNumber = blockNumber;
|
|
240
239
|
// Note that we don't need to clear the original storage cache here
|
|
@@ -257,6 +256,7 @@ class ForkStateManager {
|
|
|
257
256
|
// we set an empty account instead of deleting it to avoid
|
|
258
257
|
// re-fetching the state from the remote node.
|
|
259
258
|
// This is only valid post spurious dragon, but we don't support older hardforks when forking.
|
|
259
|
+
this.addresses.add(address.toString());
|
|
260
260
|
const emptyAccount = (0, AccountState_1.makeEmptyAccountState)();
|
|
261
261
|
this._state = this._state.set(address.toString(), emptyAccount);
|
|
262
262
|
}
|
|
@@ -264,7 +264,7 @@ class ForkStateManager {
|
|
|
264
264
|
this._originalStorageCache = new Map();
|
|
265
265
|
}
|
|
266
266
|
async getOriginalContractStorage(address, key) {
|
|
267
|
-
const storageKey = encodeStorageKey(
|
|
267
|
+
const storageKey = encodeStorageKey(address.toBuffer(), key);
|
|
268
268
|
const cachedValue = this._originalStorageCache.get(storageKey);
|
|
269
269
|
if (cachedValue !== undefined) {
|
|
270
270
|
return cachedValue;
|
|
@@ -274,6 +274,7 @@ class ForkStateManager {
|
|
|
274
274
|
return value;
|
|
275
275
|
}
|
|
276
276
|
_putAccount(address, account) {
|
|
277
|
+
this.addresses.add(address.toString());
|
|
277
278
|
// Because the vm only ever modifies the nonce, balance and codeHash using this
|
|
278
279
|
// method we ignore the stateRoot property
|
|
279
280
|
const hexAddress = address.toString();
|
|
@@ -283,27 +284,28 @@ class ForkStateManager {
|
|
|
283
284
|
.set("balance", (0, ethereumjs_util_1.bigIntToHex)(account.balance));
|
|
284
285
|
// Code is set to empty string here to prevent unnecessary
|
|
285
286
|
// JsonRpcClient.getCode calls in getAccount method
|
|
286
|
-
if (
|
|
287
|
+
if (account.codeHash.equals(ethereumjs_util_1.KECCAK256_NULL)) {
|
|
287
288
|
localAccount = localAccount.set("code", "0x");
|
|
288
289
|
}
|
|
289
290
|
this._state = this._state.set(hexAddress, localAccount);
|
|
290
291
|
}
|
|
291
292
|
_setStateRoot(stateRoot) {
|
|
292
|
-
const newRoot = (0, ethereumjs_util_1.
|
|
293
|
+
const newRoot = (0, ethereumjs_util_1.bufferToHex)(stateRoot);
|
|
293
294
|
const state = this._stateRootToState.get(newRoot);
|
|
294
295
|
if (state === undefined) {
|
|
295
|
-
throw new Error(
|
|
296
|
+
throw new Error(`Unknown state root: ${stateRoot.toString("hex")}`);
|
|
296
297
|
}
|
|
297
298
|
this._stateRoot = newRoot;
|
|
298
299
|
this._state = state;
|
|
299
300
|
}
|
|
300
301
|
async hasStateRoot(root) {
|
|
301
|
-
return this._state.has((0, ethereumjs_util_1.
|
|
302
|
+
return this._state.has((0, ethereumjs_util_1.bufferToHex)(root));
|
|
302
303
|
}
|
|
303
304
|
async flush() {
|
|
304
305
|
// not implemented
|
|
305
306
|
}
|
|
306
307
|
async modifyAccountFields(address, accountFields) {
|
|
308
|
+
this.addresses.add(address.toString());
|
|
307
309
|
// copied from BaseStateManager
|
|
308
310
|
const account = await this.getAccount(address);
|
|
309
311
|
account.nonce = accountFields.nonce ?? account.nonce;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForkStateManager.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/fork/ForkStateManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ForkStateManager.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/fork/ForkStateManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcToBlockData.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/fork/rpcToBlockData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAIpF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,wBAAwB,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"rpcToBlockData.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/fork/rpcToBlockData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAIpF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,wBAAwB,GAAG,SAAS,CAyB5E"}
|
|
@@ -22,9 +22,6 @@ function rpcToBlockData(rpcBlock) {
|
|
|
22
22
|
nonce: rpcBlock.nonce,
|
|
23
23
|
baseFeePerGas: rpcBlock.baseFeePerGas,
|
|
24
24
|
withdrawalsRoot: rpcBlock.withdrawalsRoot,
|
|
25
|
-
parentBeaconBlockRoot: rpcBlock.parentBeaconBlockRoot,
|
|
26
|
-
blobGasUsed: rpcBlock.blobGasUsed,
|
|
27
|
-
excessBlobGas: rpcBlock.excessBlobGas,
|
|
28
25
|
},
|
|
29
26
|
transactions: rpcBlock.transactions.map(rpcToTxData_1.rpcToTxData),
|
|
30
27
|
withdrawals: rpcBlock.withdrawals,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcToBlockData.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/fork/rpcToBlockData.ts"],"names":[],"mappings":";;;AAIA,+CAA4C;AAE5C,SAAgB,cAAc,CAAC,QAAkC;IAC/D,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,SAAS,EAAE,QAAQ,CAAC,UAAU;YAC9B,QAAQ,EAAE,QAAQ,CAAC,KAAK;YACxB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,WAAW,EAAE,QAAQ,CAAC,YAAY;YAClC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,SAAS;YACpC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,eAAe,EAAE,QAAQ,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"rpcToBlockData.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/fork/rpcToBlockData.ts"],"names":[],"mappings":";;;AAIA,+CAA4C;AAE5C,SAAgB,cAAc,CAAC,QAAkC;IAC/D,OAAO;QACL,MAAM,EAAE;YACN,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,SAAS,EAAE,QAAQ,CAAC,UAAU;YAC9B,QAAQ,EAAE,QAAQ,CAAC,KAAK;YACxB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,WAAW,EAAE,QAAQ,CAAC,YAAY;YAClC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,SAAS;YACpC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,eAAe,EAAE,QAAQ,CAAC,eAAe;SAC1C;QACD,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,yBAAW,CAAC;QACpD,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,mGAAmG;KACpG,CAAC;AACJ,CAAC;AAzBD,wCAyBC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { BigIntLike } from "@nomicfoundation/ethereumjs-util";
|
|
2
|
-
import { AccessListEIP2930TxData,
|
|
2
|
+
import { AccessListEIP2930TxData, TxData } from "@nomicfoundation/ethereumjs-tx";
|
|
3
3
|
import { RpcTransaction } from "../../../core/jsonrpc/types/output/transaction";
|
|
4
4
|
interface FeeMarketEIP1559TxData extends AccessListEIP2930TxData {
|
|
5
5
|
maxPriorityFeePerGas?: BigIntLike;
|
|
6
6
|
maxFeePerGas?: BigIntLike;
|
|
7
7
|
}
|
|
8
|
-
export declare function rpcToTxData(rpcTransaction: RpcTransaction):
|
|
8
|
+
export declare function rpcToTxData(rpcTransaction: RpcTransaction): TxData | AccessListEIP2930TxData | FeeMarketEIP1559TxData;
|
|
9
9
|
export {};
|
|
10
10
|
//# sourceMappingURL=rpcToTxData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcToTxData.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/fork/rpcToTxData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EACL,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"rpcToTxData.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/fork/rpcToTxData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EACL,uBAAuB,EACvB,MAAM,EACP,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAKhF,UAAU,sBAAuB,SAAQ,uBAAuB;IAC9D,oBAAoB,CAAC,EAAE,UAAU,CAAC;IAClC,YAAY,CAAC,EAAE,UAAU,CAAC;CAC3B;AAED,wBAAgB,WAAW,CACzB,cAAc,EAAE,cAAc,GAC7B,MAAM,GAAG,uBAAuB,GAAG,sBAAsB,CAyB3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcToTxData.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/fork/rpcToTxData.ts"],"names":[],"mappings":";;;AAiBA,SAAgB,WAAW,CACzB,cAA8B;IAE9B,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,KAAK,EAAE,CAAC;IAE7C,OAAO;QACL,QAAQ,EAAE,cAAc,CAAC,GAAG;QAC5B,4EAA4E;QAC5E,uCAAuC;QACvC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ;QACzD,EAAE,EAAE,cAAc,CAAC,EAAE,IAAI,SAAS;QAClC,KAAK,EAAE,cAAc,CAAC,KAAK;QAC3B,IAAI,EAAE,cAAc,CAAC,KAAK;QAC1B,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,KAAK,EAAE,cAAc,CAAC,KAAK;QAC3B,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,OAAO,EAAE,cAAc,CAAC,OAAO,IAAI,SAAS;QAC5C,YAAY,EAAE,cAAc,CAAC,YAAY;QACzC,oBAAoB,EAAE,cAAc,CAAC,oBAAoB;QACzD,UAAU,
|
|
1
|
+
{"version":3,"file":"rpcToTxData.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/fork/rpcToTxData.ts"],"names":[],"mappings":";;;AAiBA,SAAgB,WAAW,CACzB,cAA8B;IAE9B,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,KAAK,EAAE,CAAC;IAE7C,OAAO;QACL,QAAQ,EAAE,cAAc,CAAC,GAAG;QAC5B,4EAA4E;QAC5E,uCAAuC;QACvC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ;QACzD,EAAE,EAAE,cAAc,CAAC,EAAE,IAAI,SAAS;QAClC,KAAK,EAAE,cAAc,CAAC,KAAK;QAC3B,IAAI,EAAE,cAAc,CAAC,KAAK;QAC1B,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,KAAK,EAAE,cAAc,CAAC,KAAK;QAC3B,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,OAAO,EAAE,cAAc,CAAC,OAAO,IAAI,SAAS;QAC5C,YAAY,EAAE,cAAc,CAAC,YAAY;QACzC,oBAAoB,EAAE,cAAc,CAAC,oBAAoB;QACzD,UAAU,EACR,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,WAAW,IAAI,EAAE;SACvB,CAAC,IAAI,SAAS;KAClB,CAAC;AACJ,CAAC;AA3BD,kCA2BC"}
|
|
@@ -79,7 +79,7 @@ class Base {
|
|
|
79
79
|
from: rpcCall.from !== undefined
|
|
80
80
|
? rpcCall.from
|
|
81
81
|
: await this._getDefaultCallFrom(),
|
|
82
|
-
data: rpcCall.data !== undefined ? rpcCall.data :
|
|
82
|
+
data: rpcCall.data !== undefined ? rpcCall.data : (0, ethereumjs_util_1.toBuffer)([]),
|
|
83
83
|
gasLimit: rpcCall.gas !== undefined ? rpcCall.gas : this._node.getBlockGasLimit(),
|
|
84
84
|
value: rpcCall.value !== undefined ? rpcCall.value : 0n,
|
|
85
85
|
accessList: rpcCall.accessList !== undefined
|
|
@@ -113,14 +113,14 @@ class Base {
|
|
|
113
113
|
if ("blockNumber" in tag) {
|
|
114
114
|
return tag.blockNumber.toString();
|
|
115
115
|
}
|
|
116
|
-
return (0, ethereumjs_util_1.
|
|
116
|
+
return (0, ethereumjs_util_1.bufferToHex)(tag.blockHash);
|
|
117
117
|
}
|
|
118
118
|
async _getDefaultCallFrom() {
|
|
119
119
|
const localAccounts = await this._node.getLocalAccountAddresses();
|
|
120
120
|
if (localAccounts.length === 0) {
|
|
121
|
-
return
|
|
121
|
+
return (0, ethereumjs_util_1.toBuffer)((0, ethereumjs_util_1.zeroAddress)());
|
|
122
122
|
}
|
|
123
|
-
return
|
|
123
|
+
return (0, ethereumjs_util_1.toBuffer)(localAccounts[0]);
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
exports.Base = Base;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/modules/base.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,sEAI0C;AAM1C,kEAAoD;AACpD,2DAGwC;AAKxC,+EAA+E;AAE/E,MAAa,IAAI;IACf,YAA+B,KAAkB;QAAlB,UAAK,GAAL,KAAK,CAAa;IAAG,CAAC;IAE9C,KAAK,CAAC,kBAAkB,CAC7B,WAAmC,EACnC,eAA+B,QAAQ;QAEvC,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,WAAW,GAAG,YAAY,CAAC;SAC5B;QAED,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,OAAO,SAAS,CAAC;SAClB;QAED,IAAI,WAAW,KAAK,QAAQ,EAAE;YAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;SAC1C;QAED,IAAI,WAAW,KAAK,UAAU,EAAE;YAC9B,OAAO,EAAE,CAAC;SACX;QAED,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,WAAW,EAAE;YACzD,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC;YAE3C,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;SAC1C;QAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YACtC,IAAI,aAAa,IAAI,WAAW,IAAI,WAAW,IAAI,WAAW,EAAE;gBAC9D,MAAM,IAAI,8BAAqB,CAC7B,2EAA2E,CAC5E,CAAC;aACH;YAED,IAAI,aAAa,IAAI,WAAW,IAAI,kBAAkB,IAAI,WAAW,EAAE;gBACrE,MAAM,IAAI,8BAAqB,CAC7B,sEAAsE,CACvE,CAAC;aACH;SACF;QAED,IAAI,KAAwB,CAAC;QAC7B,IAAI,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YACrC,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;SACxD;aAAM,IAAI,aAAa,IAAI,WAAW,EAAE;YACvC,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SACpE;aAAM;YACL,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAChE;QAED,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAEtD,MAAM,IAAI,0BAAiB,CACzB,8BAA8B,IAAI,CAAC,oBAAoB,CACrD,WAAW,CACZ,4BAA4B,WAAW,CAAC,QAAQ,EAAE,EAAE,CACtD,CAAC;SACH;QAED,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,8BAA8B,CACzC,OAAuB;QAEvB,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EACF,OAAO,CAAC,IAAI,KAAK,SAAS;gBACxB,CAAC,CAAC,OAAO,CAAC,IAAI;gBACd,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE;YACtC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/modules/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eth.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/modules/eth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"eth.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/modules/eth.ts"],"names":[],"mappings":"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"}
|
|
@@ -203,7 +203,7 @@ class EthModule extends base_1.Base {
|
|
|
203
203
|
this._logger.logCallTrace(callParams, code, trace, consoleLogMessages, error);
|
|
204
204
|
await this._runHardhatNetworkMessageTraceHooks(trace, true);
|
|
205
205
|
if (error !== undefined && this._throwOnCallFailures) {
|
|
206
|
-
const callReturnData =
|
|
206
|
+
const callReturnData = trace?.returnData.toString("hex") ?? "";
|
|
207
207
|
error.data = `0x${callReturnData}`;
|
|
208
208
|
throw error;
|
|
209
209
|
}
|
|
@@ -241,7 +241,7 @@ class EthModule extends base_1.Base {
|
|
|
241
241
|
if (error !== undefined) {
|
|
242
242
|
const code = await this._node.getCodeFromTrace(trace, blockNumberOrPending);
|
|
243
243
|
this._logger.logEstimateGasTrace(callParams, code, trace, consoleLogMessages, error);
|
|
244
|
-
const callReturnData =
|
|
244
|
+
const callReturnData = trace?.returnData.toString("hex") ?? "";
|
|
245
245
|
error.data = `0x${callReturnData}`;
|
|
246
246
|
throw error;
|
|
247
247
|
}
|
|
@@ -449,7 +449,7 @@ class EthModule extends base_1.Base {
|
|
|
449
449
|
if (block === undefined) {
|
|
450
450
|
return null;
|
|
451
451
|
}
|
|
452
|
-
const index = block.transactions.findIndex((btx) =>
|
|
452
|
+
const index = block.transactions.findIndex((btx) => btx.hash().equals(hash));
|
|
453
453
|
const tx = block.transactions[index];
|
|
454
454
|
if (tx === undefined) {
|
|
455
455
|
throw new Error("Transaction not found in the saved block, this should never happen");
|
|
@@ -536,9 +536,9 @@ class EthModule extends base_1.Base {
|
|
|
536
536
|
try {
|
|
537
537
|
tx = ethereumjs_tx_1.TransactionFactory.fromSerializedData(rawTx, {
|
|
538
538
|
common: this._common,
|
|
539
|
-
|
|
539
|
+
disableMaxInitCodeSizeCheck: true,
|
|
540
540
|
});
|
|
541
|
-
this._validateEip3860MaxInitCodeSize(tx.to?.
|
|
541
|
+
this._validateEip3860MaxInitCodeSize(tx.to?.toBuffer(), tx.data);
|
|
542
542
|
}
|
|
543
543
|
catch (error) {
|
|
544
544
|
// This section of the code is incredibly dependant of TransactionFactory.fromSerializedData
|
|
@@ -565,7 +565,7 @@ class EthModule extends base_1.Base {
|
|
|
565
565
|
if (!tx.isSigned()) {
|
|
566
566
|
throw new errors_1.InvalidArgumentsError("Invalid Signature");
|
|
567
567
|
}
|
|
568
|
-
if (tx instanceof ethereumjs_tx_1.
|
|
568
|
+
if (tx instanceof ethereumjs_tx_1.Transaction) {
|
|
569
569
|
this._validateEip155HardforkRequirement(tx);
|
|
570
570
|
}
|
|
571
571
|
return this._sendTransactionAndReturnHash(tx);
|
|
@@ -707,7 +707,7 @@ class EthModule extends base_1.Base {
|
|
|
707
707
|
from: rpcTx.from,
|
|
708
708
|
gasLimit: rpcTx.gas !== undefined ? rpcTx.gas : this._node.getBlockGasLimit(),
|
|
709
709
|
value: rpcTx.value !== undefined ? rpcTx.value : 0n,
|
|
710
|
-
data: rpcTx.data !== undefined ? rpcTx.data : (0, ethereumjs_util_1.
|
|
710
|
+
data: rpcTx.data !== undefined ? rpcTx.data : (0, ethereumjs_util_1.toBuffer)([]),
|
|
711
711
|
nonce: rpcTx.nonce !== undefined
|
|
712
712
|
? rpcTx.nonce
|
|
713
713
|
: await this._node.getAccountNextPendingNonce(new ethereumjs_util_1.Address(rpcTx.from)),
|
|
@@ -874,7 +874,7 @@ class EthModule extends base_1.Base {
|
|
|
874
874
|
const trace = await this._handleMineBlockResults(result, tx);
|
|
875
875
|
if (trace.error !== undefined && this._throwOnTransactionFailures) {
|
|
876
876
|
const e = trace.error;
|
|
877
|
-
const returnData =
|
|
877
|
+
const returnData = trace.trace?.returnData.toString("hex") ?? "";
|
|
878
878
|
e.data = `0x${returnData}`;
|
|
879
879
|
e.transactionHash = (0, base_types_1.bufferToRpcData)(tx.hash());
|
|
880
880
|
throw e;
|
|
@@ -935,7 +935,7 @@ class EthModule extends base_1.Base {
|
|
|
935
935
|
const transactions = result.block.transactions;
|
|
936
936
|
for (let i = 0; i < transactions.length; i++) {
|
|
937
937
|
const blockTx = transactions[i];
|
|
938
|
-
if (
|
|
938
|
+
if (blockTx.hash().equals(tx.hash())) {
|
|
939
939
|
return [result, i];
|
|
940
940
|
}
|
|
941
941
|
}
|
|
@@ -951,10 +951,6 @@ class EthModule extends base_1.Base {
|
|
|
951
951
|
}
|
|
952
952
|
}
|
|
953
953
|
_validateTransactionAndCallRequest(rpcRequest) {
|
|
954
|
-
if (rpcRequest.blobs !== undefined ||
|
|
955
|
-
rpcRequest.blobVersionedHashes !== undefined) {
|
|
956
|
-
throw new errors_1.InvalidInputError(`An EIP-4844 (shard blob) transaction was received, but Hardhat doesn't have support for them yet.`);
|
|
957
|
-
}
|
|
958
954
|
if ((rpcRequest.maxFeePerGas !== undefined ||
|
|
959
955
|
rpcRequest.maxPriorityFeePerGas !== undefined) &&
|
|
960
956
|
!this._common.gteHardfork(EIP1559_MIN_HARDFORK)) {
|
|
@@ -1017,9 +1013,6 @@ Enable the 'allowUnlimitedContractSize' option to allow init codes of any length
|
|
|
1017
1013
|
}
|
|
1018
1014
|
}
|
|
1019
1015
|
_validateRawTransactionHardforkRequirements(rawTx) {
|
|
1020
|
-
if (rawTx[0] <= 0x7f && rawTx[0] === 3) {
|
|
1021
|
-
throw new errors_1.InvalidInputError(`An EIP-4844 (shard blob) transaction was received, but Hardhat doesn't have support for them yet.`);
|
|
1022
|
-
}
|
|
1023
1016
|
if (rawTx[0] <= 0x7f && rawTx[0] !== 1 && rawTx[0] !== 2) {
|
|
1024
1017
|
throw new errors_1.InvalidArgumentsError(`Invalid transaction type ${rawTx[0]}.
|
|
1025
1018
|
|