hardhat 2.20.0 → 2.21.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/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 -148
- 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 +26 -25
- package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
- package/internal/hardhat-network/provider/provider.js +342 -186
- 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 +191 -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 +46 -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 +27 -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 +18 -16
- 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 +482 -263
- package/src/internal/hardhat-network/provider/utils/convertToEdr.ts +228 -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 +101 -0
- package/src/internal/hardhat-network/provider/vm/types.ts +31 -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 -2993
- 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
package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js
CHANGED
|
@@ -8,7 +8,7 @@ const errors_1 = require("../../../core/providers/errors");
|
|
|
8
8
|
* This class is like `ReadOnlyValidTransaction` but for
|
|
9
9
|
* a transaction with an unknown tx type.
|
|
10
10
|
*/
|
|
11
|
-
class ReadOnlyValidUnknownTypeTransaction extends ethereumjs_tx_1.
|
|
11
|
+
class ReadOnlyValidUnknownTypeTransaction extends ethereumjs_tx_1.Transaction {
|
|
12
12
|
static fromTxData(_txData, _opts) {
|
|
13
13
|
throw new errors_1.InternalError("`fromTxData` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
14
14
|
}
|
|
@@ -22,7 +22,7 @@ class ReadOnlyValidUnknownTypeTransaction extends ethereumjs_tx_1.LegacyTransact
|
|
|
22
22
|
throw new errors_1.InternalError("`fromRlpSerializedTx` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
23
23
|
}
|
|
24
24
|
constructor(sender, type, data = {}) {
|
|
25
|
-
super(data, { freeze: false,
|
|
25
|
+
super(data, { freeze: false, disableMaxInitCodeSizeCheck: true });
|
|
26
26
|
this.common = this._getCommon();
|
|
27
27
|
this._sender = sender;
|
|
28
28
|
this._actualType = type;
|
package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadOnlyValidUnknownTypeTransaction.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"ReadOnlyValidUnknownTypeTransaction.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import { Block } from "@nomicfoundation/ethereumjs-block";
|
|
2
3
|
import { BlockchainInterface } from "@nomicfoundation/ethereumjs-blockchain";
|
|
3
4
|
import { FilterParams } from "../node-types";
|
|
4
5
|
import { RpcLogOutput, RpcReceiptOutput } from "../output";
|
|
5
6
|
export interface HardhatBlockchainInterface extends BlockchainInterface {
|
|
6
7
|
addTransactionReceipts(receipts: RpcReceiptOutput[]): void;
|
|
7
|
-
reserveBlocks(count: bigint, interval: bigint, previousBlockStateRoot:
|
|
8
|
+
reserveBlocks(count: bigint, interval: bigint, previousBlockStateRoot: Buffer, previousBlockTotalDifficulty: bigint, previousBlockBaseFeePerGas: bigint | undefined): void;
|
|
8
9
|
deleteLaterBlocks(block: Block): void;
|
|
9
|
-
getBlockByTransactionHash(transactionHash:
|
|
10
|
+
getBlockByTransactionHash(transactionHash: Buffer): Promise<Block | null>;
|
|
10
11
|
getLatestBlock(): Promise<Block>;
|
|
11
12
|
getLatestBlockNumber(): bigint;
|
|
12
13
|
getLogs(filterParams: FilterParams): Promise<RpcLogOutput[]>;
|
|
13
|
-
getTotalDifficulty(blockHash:
|
|
14
|
-
getTransactionReceipt(transactionHash:
|
|
14
|
+
getTotalDifficulty(blockHash: Buffer): Promise<bigint>;
|
|
15
|
+
getTransactionReceipt(transactionHash: Buffer): Promise<RpcReceiptOutput | null>;
|
|
15
16
|
}
|
|
16
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,mCAAmC,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAE7E,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,
|
|
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,mCAAmC,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAE7E,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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SpecId, MineOrdering, IntervalRange, DebugTraceResult, TracingMessage, TracingMessageResult, TracingStep } from "@nomicfoundation/edr";
|
|
2
|
+
import { HardforkName } from "../../../util/hardforks";
|
|
3
|
+
import { IntervalMiningConfig, MempoolOrder } from "../node-types";
|
|
4
|
+
import { RpcDebugTraceOutput } from "../output";
|
|
5
|
+
import { MinimalEVMResult, MinimalInterpreterStep, MinimalMessage } from "../vm/types";
|
|
6
|
+
export declare function ethereumsjsHardforkToEdrSpecId(hardfork: HardforkName): SpecId;
|
|
7
|
+
export declare function edrSpecIdToEthereumHardfork(specId: SpecId): HardforkName;
|
|
8
|
+
export declare function ethereumjsIntervalMiningConfigToEdr(config: IntervalMiningConfig): bigint | IntervalRange | undefined;
|
|
9
|
+
export declare function ethereumjsMempoolOrderToEdrMineOrdering(mempoolOrder: MempoolOrder): MineOrdering;
|
|
10
|
+
export declare function edrRpcDebugTraceToHardhat(rpcDebugTrace: DebugTraceResult): RpcDebugTraceOutput;
|
|
11
|
+
export declare function edrTracingStepToMinimalInterpreterStep(step: TracingStep): MinimalInterpreterStep;
|
|
12
|
+
export declare function edrTracingMessageResultToMinimalEVMResult(tracingMessageResult: TracingMessageResult): MinimalEVMResult;
|
|
13
|
+
export declare function edrTracingMessageToMinimalMessage(message: TracingMessage): MinimalMessage;
|
|
14
|
+
//# sourceMappingURL=convertToEdr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertToEdr.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/convertToEdr.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAgB,MAAM,WAAW,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACf,MAAM,aAAa,CAAC;AAIrB,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CA0C7E;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAyCxE;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,oBAAoB,GAC3B,MAAM,GAAG,aAAa,GAAG,SAAS,CAcpC;AAED,wBAAgB,uCAAuC,CACrD,YAAY,EAAE,YAAY,GACzB,YAAY,CAOd;AAED,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,gBAAgB,GAC9B,mBAAmB,CAoDrB;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,WAAW,GAChB,sBAAsB,CASxB;AAED,wBAAgB,yCAAyC,CACvD,oBAAoB,EAAE,oBAAoB,GACzC,gBAAgB,CAMlB;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,cAAc,GACtB,cAAc,CAQhB"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.edrTracingMessageToMinimalMessage = exports.edrTracingMessageResultToMinimalEVMResult = exports.edrTracingStepToMinimalInterpreterStep = exports.edrRpcDebugTraceToHardhat = exports.ethereumjsMempoolOrderToEdrMineOrdering = exports.ethereumjsIntervalMiningConfigToEdr = exports.edrSpecIdToEthereumHardfork = exports.ethereumsjsHardforkToEdrSpecId = void 0;
|
|
4
|
+
const ethereumjs_util_1 = require("@nomicfoundation/ethereumjs-util");
|
|
5
|
+
const hardforks_1 = require("../../../util/hardforks");
|
|
6
|
+
/* eslint-disable @nomicfoundation/hardhat-internal-rules/only-hardhat-error */
|
|
7
|
+
function ethereumsjsHardforkToEdrSpecId(hardfork) {
|
|
8
|
+
switch (hardfork) {
|
|
9
|
+
case hardforks_1.HardforkName.FRONTIER:
|
|
10
|
+
return 0 /* SpecId.Frontier */;
|
|
11
|
+
case hardforks_1.HardforkName.HOMESTEAD:
|
|
12
|
+
return 2 /* SpecId.Homestead */;
|
|
13
|
+
case hardforks_1.HardforkName.DAO:
|
|
14
|
+
return 3 /* SpecId.DaoFork */;
|
|
15
|
+
case hardforks_1.HardforkName.TANGERINE_WHISTLE:
|
|
16
|
+
return 4 /* SpecId.Tangerine */;
|
|
17
|
+
case hardforks_1.HardforkName.SPURIOUS_DRAGON:
|
|
18
|
+
return 5 /* SpecId.SpuriousDragon */;
|
|
19
|
+
case hardforks_1.HardforkName.BYZANTIUM:
|
|
20
|
+
return 6 /* SpecId.Byzantium */;
|
|
21
|
+
case hardforks_1.HardforkName.CONSTANTINOPLE:
|
|
22
|
+
return 7 /* SpecId.Constantinople */;
|
|
23
|
+
case hardforks_1.HardforkName.PETERSBURG:
|
|
24
|
+
return 8 /* SpecId.Petersburg */;
|
|
25
|
+
case hardforks_1.HardforkName.ISTANBUL:
|
|
26
|
+
return 9 /* SpecId.Istanbul */;
|
|
27
|
+
case hardforks_1.HardforkName.MUIR_GLACIER:
|
|
28
|
+
return 10 /* SpecId.MuirGlacier */;
|
|
29
|
+
case hardforks_1.HardforkName.BERLIN:
|
|
30
|
+
return 11 /* SpecId.Berlin */;
|
|
31
|
+
case hardforks_1.HardforkName.LONDON:
|
|
32
|
+
return 12 /* SpecId.London */;
|
|
33
|
+
case hardforks_1.HardforkName.ARROW_GLACIER:
|
|
34
|
+
return 13 /* SpecId.ArrowGlacier */;
|
|
35
|
+
case hardforks_1.HardforkName.GRAY_GLACIER:
|
|
36
|
+
return 14 /* SpecId.GrayGlacier */;
|
|
37
|
+
case hardforks_1.HardforkName.MERGE:
|
|
38
|
+
return 15 /* SpecId.Merge */;
|
|
39
|
+
case hardforks_1.HardforkName.SHANGHAI:
|
|
40
|
+
return 16 /* SpecId.Shanghai */;
|
|
41
|
+
case hardforks_1.HardforkName.CANCUN:
|
|
42
|
+
return 17 /* SpecId.Cancun */;
|
|
43
|
+
default:
|
|
44
|
+
const _exhaustiveCheck = hardfork;
|
|
45
|
+
throw new Error(`Unknown hardfork name '${hardfork}', this shouldn't happen`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.ethereumsjsHardforkToEdrSpecId = ethereumsjsHardforkToEdrSpecId;
|
|
49
|
+
function edrSpecIdToEthereumHardfork(specId) {
|
|
50
|
+
switch (specId) {
|
|
51
|
+
case 0 /* SpecId.Frontier */:
|
|
52
|
+
return hardforks_1.HardforkName.FRONTIER;
|
|
53
|
+
case 2 /* SpecId.Homestead */:
|
|
54
|
+
return hardforks_1.HardforkName.HOMESTEAD;
|
|
55
|
+
case 3 /* SpecId.DaoFork */:
|
|
56
|
+
return hardforks_1.HardforkName.DAO;
|
|
57
|
+
case 4 /* SpecId.Tangerine */:
|
|
58
|
+
return hardforks_1.HardforkName.TANGERINE_WHISTLE;
|
|
59
|
+
case 5 /* SpecId.SpuriousDragon */:
|
|
60
|
+
return hardforks_1.HardforkName.SPURIOUS_DRAGON;
|
|
61
|
+
case 6 /* SpecId.Byzantium */:
|
|
62
|
+
return hardforks_1.HardforkName.BYZANTIUM;
|
|
63
|
+
case 7 /* SpecId.Constantinople */:
|
|
64
|
+
return hardforks_1.HardforkName.CONSTANTINOPLE;
|
|
65
|
+
case 8 /* SpecId.Petersburg */:
|
|
66
|
+
return hardforks_1.HardforkName.PETERSBURG;
|
|
67
|
+
case 9 /* SpecId.Istanbul */:
|
|
68
|
+
return hardforks_1.HardforkName.ISTANBUL;
|
|
69
|
+
case 10 /* SpecId.MuirGlacier */:
|
|
70
|
+
return hardforks_1.HardforkName.MUIR_GLACIER;
|
|
71
|
+
case 11 /* SpecId.Berlin */:
|
|
72
|
+
return hardforks_1.HardforkName.BERLIN;
|
|
73
|
+
case 12 /* SpecId.London */:
|
|
74
|
+
return hardforks_1.HardforkName.LONDON;
|
|
75
|
+
case 13 /* SpecId.ArrowGlacier */:
|
|
76
|
+
return hardforks_1.HardforkName.ARROW_GLACIER;
|
|
77
|
+
case 14 /* SpecId.GrayGlacier */:
|
|
78
|
+
return hardforks_1.HardforkName.GRAY_GLACIER;
|
|
79
|
+
case 15 /* SpecId.Merge */:
|
|
80
|
+
return hardforks_1.HardforkName.MERGE;
|
|
81
|
+
case 16 /* SpecId.Shanghai */:
|
|
82
|
+
return hardforks_1.HardforkName.SHANGHAI;
|
|
83
|
+
// HACK: EthereumJS doesn't support Cancun, so report Shanghai
|
|
84
|
+
case 17 /* SpecId.Cancun */:
|
|
85
|
+
return hardforks_1.HardforkName.SHANGHAI;
|
|
86
|
+
default:
|
|
87
|
+
throw new Error(`Unknown spec id '${specId}', this shouldn't happen`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.edrSpecIdToEthereumHardfork = edrSpecIdToEthereumHardfork;
|
|
91
|
+
function ethereumjsIntervalMiningConfigToEdr(config) {
|
|
92
|
+
if (typeof config === "number") {
|
|
93
|
+
// Is interval mining disabled?
|
|
94
|
+
if (config === 0) {
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
return BigInt(config);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
return {
|
|
103
|
+
min: BigInt(config[0]),
|
|
104
|
+
max: BigInt(config[1]),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.ethereumjsIntervalMiningConfigToEdr = ethereumjsIntervalMiningConfigToEdr;
|
|
109
|
+
function ethereumjsMempoolOrderToEdrMineOrdering(mempoolOrder) {
|
|
110
|
+
switch (mempoolOrder) {
|
|
111
|
+
case "fifo":
|
|
112
|
+
return "Fifo" /* MineOrdering.Fifo */;
|
|
113
|
+
case "priority":
|
|
114
|
+
return "Priority" /* MineOrdering.Priority */;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.ethereumjsMempoolOrderToEdrMineOrdering = ethereumjsMempoolOrderToEdrMineOrdering;
|
|
118
|
+
function edrRpcDebugTraceToHardhat(rpcDebugTrace) {
|
|
119
|
+
const structLogs = rpcDebugTrace.structLogs.map((log) => {
|
|
120
|
+
const result = {
|
|
121
|
+
depth: Number(log.depth),
|
|
122
|
+
gas: Number(log.gas),
|
|
123
|
+
gasCost: Number(log.gasCost),
|
|
124
|
+
op: log.opName,
|
|
125
|
+
pc: Number(log.pc),
|
|
126
|
+
};
|
|
127
|
+
if (log.memory !== undefined) {
|
|
128
|
+
result.memory = log.memory;
|
|
129
|
+
}
|
|
130
|
+
if (log.stack !== undefined) {
|
|
131
|
+
// Remove 0x prefix which is required by EIP-3155, but not expected by Hardhat.
|
|
132
|
+
result.stack = log.stack?.map((item) => item.slice(2));
|
|
133
|
+
}
|
|
134
|
+
if (log.storage !== undefined) {
|
|
135
|
+
result.storage = Object.fromEntries(Object.entries(log.storage).map(([key, value]) => {
|
|
136
|
+
return [key.slice(2), value.slice(2)];
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
if (log.error !== undefined) {
|
|
140
|
+
result.error = {
|
|
141
|
+
message: log.error,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
return result;
|
|
145
|
+
});
|
|
146
|
+
// REVM trace adds initial STOP that Hardhat doesn't expect
|
|
147
|
+
if (structLogs.length > 0 && structLogs[0].op === "STOP") {
|
|
148
|
+
structLogs.shift();
|
|
149
|
+
}
|
|
150
|
+
let returnValue = rpcDebugTrace.output?.toString("hex") ?? "";
|
|
151
|
+
if (returnValue === "0x") {
|
|
152
|
+
returnValue = "";
|
|
153
|
+
}
|
|
154
|
+
return {
|
|
155
|
+
failed: !rpcDebugTrace.pass,
|
|
156
|
+
gas: Number(rpcDebugTrace.gasUsed),
|
|
157
|
+
returnValue,
|
|
158
|
+
structLogs,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
exports.edrRpcDebugTraceToHardhat = edrRpcDebugTraceToHardhat;
|
|
162
|
+
function edrTracingStepToMinimalInterpreterStep(step) {
|
|
163
|
+
return {
|
|
164
|
+
pc: Number(step.pc),
|
|
165
|
+
depth: step.depth,
|
|
166
|
+
opcode: {
|
|
167
|
+
name: step.opcode,
|
|
168
|
+
},
|
|
169
|
+
stack: step.stackTop !== undefined ? [step.stackTop] : [],
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
exports.edrTracingStepToMinimalInterpreterStep = edrTracingStepToMinimalInterpreterStep;
|
|
173
|
+
function edrTracingMessageResultToMinimalEVMResult(tracingMessageResult) {
|
|
174
|
+
return {
|
|
175
|
+
execResult: {
|
|
176
|
+
executionGasUsed: tracingMessageResult.executionResult.result.gasUsed,
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
exports.edrTracingMessageResultToMinimalEVMResult = edrTracingMessageResultToMinimalEVMResult;
|
|
181
|
+
function edrTracingMessageToMinimalMessage(message) {
|
|
182
|
+
return {
|
|
183
|
+
to: message.to !== undefined ? new ethereumjs_util_1.Address(message.to) : undefined,
|
|
184
|
+
data: message.data,
|
|
185
|
+
value: message.value,
|
|
186
|
+
caller: new ethereumjs_util_1.Address(message.caller),
|
|
187
|
+
gasLimit: message.gasLimit,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
exports.edrTracingMessageToMinimalMessage = edrTracingMessageToMinimalMessage;
|
|
191
|
+
//# sourceMappingURL=convertToEdr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertToEdr.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/convertToEdr.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
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;
|
|
12
8
|
//# 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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Common } from "@nomicfoundation/ethereumjs-common";
|
|
2
2
|
import { LocalNodeConfig } from "../node-types";
|
|
3
|
-
export declare function makeCommon({ chainId, networkId, hardfork
|
|
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,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
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,oCAAoC,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,eAAe,UAc3E"}
|
|
@@ -3,9 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.makeCommon = void 0;
|
|
4
4
|
const ethereumjs_common_1 = require("@nomicfoundation/ethereumjs-common");
|
|
5
5
|
const hardforks_1 = require("../../../util/hardforks");
|
|
6
|
-
|
|
7
|
-
function makeCommon({ chainId, networkId, hardfork, enableTransientStorage, }) {
|
|
8
|
-
(0, node_1.assertTransientStorageCompatibility)(enableTransientStorage, hardfork);
|
|
6
|
+
function makeCommon({ chainId, networkId, hardfork }) {
|
|
9
7
|
const common = ethereumjs_common_1.Common.custom({
|
|
10
8
|
chainId,
|
|
11
9
|
networkId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeCommon.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeCommon.ts"],"names":[],"mappings":";;;AAAA,0EAA4D;AAG5D,uDAAuD;
|
|
1
|
+
{"version":3,"file":"makeCommon.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeCommon.ts"],"names":[],"mappings":";;;AAAA,0EAA4D;AAG5D,uDAAuD;AAEvD,SAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAmB;IAC1E,MAAM,MAAM,GAAG,0BAAM,CAAC,MAAM,CAC1B;QACE,OAAO;QACP,SAAS;KACV,EACD;QACE,mDAAmD;QACnD,QAAQ,EACN,QAAQ,KAAK,wBAAY,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ;KACvE,CACF,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAdD,gCAcC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AccessListEIP2930Transaction, FeeMarketEIP1559Transaction, TxData } from "@nomicfoundation/ethereumjs-tx";
|
|
2
2
|
import { Address } from "@nomicfoundation/ethereumjs-util";
|
|
3
|
-
export declare function makeFakeSignature(tx:
|
|
3
|
+
export declare function makeFakeSignature(tx: TxData | AccessListEIP2930Transaction | FeeMarketEIP1559Transaction, sender: Address): {
|
|
4
4
|
r: number;
|
|
5
5
|
s: number;
|
|
6
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeFakeSignature.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeFakeSignature.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"makeFakeSignature.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeFakeSignature.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,MAAM,EACP,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAK3D,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,GAAG,4BAA4B,GAAG,2BAA2B,EACvE,MAAM,EAAE,OAAO,GACd;IACD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CA6BA"}
|
|
@@ -16,21 +16,7 @@ function makeFakeSignature(tx, sender) {
|
|
|
16
16
|
"maxPriorityFeePerGas" in tx ? tx.maxPriorityFeePerGas : "",
|
|
17
17
|
"maxFeePerGas" in tx ? tx.maxFeePerGas : "",
|
|
18
18
|
"accessList" in tx
|
|
19
|
-
? tx.accessList?.map((
|
|
20
|
-
let address;
|
|
21
|
-
let storageKeys;
|
|
22
|
-
if (Array.isArray(accessListItem)) {
|
|
23
|
-
address = Buffer.from(accessListItem[0]).toString("hex");
|
|
24
|
-
storageKeys = accessListItem[1].map((b) => Buffer.from(b).toString("hex"));
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
address = accessListItem.address;
|
|
28
|
-
storageKeys = accessListItem.storageKeys;
|
|
29
|
-
}
|
|
30
|
-
return [address, ...storageKeys]
|
|
31
|
-
.map((b) => Buffer.from(b).toString("hex"))
|
|
32
|
-
.join(";");
|
|
33
|
-
})
|
|
19
|
+
? tx.accessList?.map(([buf, bufs]) => [buf, ...bufs].map((b) => b.toString("hex")).join(";"))
|
|
34
20
|
: "",
|
|
35
21
|
]
|
|
36
22
|
.map((a) => a?.toString() ?? "")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeFakeSignature.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeFakeSignature.ts"],"names":[],"mappings":";;;AAOA,6CAA+E;AAE/E,4EAA4E;AAC5E,SAAgB,iBAAiB,CAC/B,
|
|
1
|
+
{"version":3,"file":"makeFakeSignature.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeFakeSignature.ts"],"names":[],"mappings":";;;AAOA,6CAA+E;AAE/E,4EAA4E;AAC5E,SAAgB,iBAAiB,CAC/B,EAAuE,EACvE,MAAe;IAKf,MAAM,eAAe,GAAG;QACtB,MAAM;QACN,EAAE,CAAC,KAAK;QACR,EAAE,CAAC,QAAQ;QACX,EAAE,CAAC,KAAK;QACR,EAAE,CAAC,EAAE;QACL,EAAE,CAAC,IAAI;QACP,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;QACnC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACjC,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;QAC3D,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;QAC3C,YAAY,IAAI,EAAE;YAChB,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CACjC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACvD;YACH,CAAC,CAAC,EAAE;KACP;SACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC/B,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,MAAM,UAAU,GAAG,IAAA,gDAAyC,EAC1D,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAC7B,CAAC;IAEF,OAAO;QACL,CAAC,EAAE,UAAU,CAAC,YAAY,EAAE;QAC5B,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;KAC9B,CAAC;AACJ,CAAC;AAnCD,8CAmCC"}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
|
+
import { HttpProvider } from "../../../core/providers/http";
|
|
1
2
|
import { JsonRpcClient } from "../../jsonrpc/client";
|
|
2
3
|
import { ForkConfig } from "../node-types";
|
|
4
|
+
export declare function makeForkProvider(forkConfig: ForkConfig): Promise<{
|
|
5
|
+
forkProvider: HttpProvider;
|
|
6
|
+
networkId: number;
|
|
7
|
+
forkBlockNumber: bigint;
|
|
8
|
+
latestBlockNumber: bigint;
|
|
9
|
+
maxReorg: bigint;
|
|
10
|
+
}>;
|
|
3
11
|
export declare function makeForkClient(forkConfig: ForkConfig, forkCachePath?: string): Promise<{
|
|
4
12
|
forkClient: JsonRpcClient;
|
|
5
13
|
forkBlockNumber: bigint;
|
|
6
14
|
forkBlockTimestamp: number;
|
|
7
15
|
forkBlockHash: string;
|
|
16
|
+
forkBlockStateRoot: string;
|
|
8
17
|
}>;
|
|
9
|
-
export declare function
|
|
18
|
+
export declare function getLastSafeBlockNumber(latestBlockNumber: bigint, maxReorg: bigint): bigint;
|
|
10
19
|
//# 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,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAe3C,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;IACtE,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAuDD;AAED,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;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC,CAwCD;AA8BD,wBAAgB,sBAAsB,CACpC,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,CAMR"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.getLastSafeBlockNumber = exports.makeForkClient = exports.makeForkProvider = void 0;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
const constants_1 = require("../../../constants");
|
|
9
9
|
const errors_1 = require("../../../core/errors");
|
|
@@ -17,37 +17,55 @@ const reorgs_protection_1 = require("./reorgs-protection");
|
|
|
17
17
|
// removed in its new major version. UPDATE: we aren't even using node-fetch
|
|
18
18
|
// anymore, so this really should be revisited.
|
|
19
19
|
const FORK_HTTP_TIMEOUT = 35000;
|
|
20
|
-
async function
|
|
21
|
-
const
|
|
22
|
-
const networkId = await getNetworkId(
|
|
20
|
+
async function makeForkProvider(forkConfig) {
|
|
21
|
+
const forkProvider = new http_1.HttpProvider(forkConfig.jsonRpcUrl, constants_1.HARDHAT_NETWORK_NAME, forkConfig.httpHeaders, FORK_HTTP_TIMEOUT);
|
|
22
|
+
const networkId = await getNetworkId(forkProvider);
|
|
23
23
|
const actualMaxReorg = (0, reorgs_protection_1.getLargestPossibleReorg)(networkId);
|
|
24
24
|
const maxReorg = actualMaxReorg ?? reorgs_protection_1.FALLBACK_MAX_REORG;
|
|
25
|
-
const
|
|
26
|
-
const
|
|
25
|
+
const latestBlockNumber = await getLatestBlockNumber(forkProvider);
|
|
26
|
+
const lastSafeBlockNumber = getLastSafeBlockNumber(latestBlockNumber, maxReorg);
|
|
27
27
|
let forkBlockNumber;
|
|
28
28
|
if (forkConfig.blockNumber !== undefined) {
|
|
29
|
-
if (forkConfig.blockNumber >
|
|
29
|
+
if (forkConfig.blockNumber > latestBlockNumber) {
|
|
30
30
|
// eslint-disable-next-line @nomicfoundation/hardhat-internal-rules/only-hardhat-error
|
|
31
|
-
throw new Error(`Trying to initialize a provider with block ${forkConfig.blockNumber} but the current block is ${
|
|
31
|
+
throw new Error(`Trying to initialize a provider with block ${forkConfig.blockNumber} but the current block is ${latestBlockNumber}`);
|
|
32
32
|
}
|
|
33
|
-
if (forkConfig.blockNumber >
|
|
34
|
-
const confirmations =
|
|
33
|
+
if (forkConfig.blockNumber > lastSafeBlockNumber) {
|
|
34
|
+
const confirmations = latestBlockNumber - BigInt(forkConfig.blockNumber) + 1n;
|
|
35
35
|
const requiredConfirmations = maxReorg + 1n;
|
|
36
36
|
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
|
-
Please use block number ${
|
|
37
|
+
Please use block number ${lastSafeBlockNumber} or wait for the block to get ${requiredConfirmations - confirmations} more confirmations.`));
|
|
38
38
|
}
|
|
39
39
|
forkBlockNumber = BigInt(forkConfig.blockNumber);
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
|
-
forkBlockNumber = BigInt(
|
|
42
|
+
forkBlockNumber = BigInt(lastSafeBlockNumber);
|
|
43
43
|
}
|
|
44
|
-
|
|
44
|
+
return {
|
|
45
|
+
forkProvider,
|
|
46
|
+
networkId,
|
|
47
|
+
forkBlockNumber,
|
|
48
|
+
latestBlockNumber,
|
|
49
|
+
maxReorg,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
exports.makeForkProvider = makeForkProvider;
|
|
53
|
+
async function makeForkClient(forkConfig, forkCachePath) {
|
|
54
|
+
const { forkProvider, networkId, forkBlockNumber, latestBlockNumber, maxReorg, } = await makeForkProvider(forkConfig);
|
|
55
|
+
const block = await getBlockByNumber(forkProvider, forkBlockNumber);
|
|
45
56
|
const forkBlockTimestamp = (0, base_types_1.rpcQuantityToNumber)(block.timestamp) * 1000;
|
|
46
57
|
const cacheToDiskEnabled = forkConfig.blockNumber !== undefined && forkCachePath !== undefined;
|
|
47
|
-
const forkClient = new client_1.JsonRpcClient(
|
|
58
|
+
const forkClient = new client_1.JsonRpcClient(forkProvider, networkId, latestBlockNumber, maxReorg, cacheToDiskEnabled ? forkCachePath : undefined);
|
|
48
59
|
const forkBlockHash = block.hash;
|
|
49
60
|
(0, errors_1.assertHardhatInvariant)(forkBlockHash !== null, "Forked block should have a hash");
|
|
50
|
-
|
|
61
|
+
const forkBlockStateRoot = block.stateRoot;
|
|
62
|
+
return {
|
|
63
|
+
forkClient,
|
|
64
|
+
forkBlockNumber,
|
|
65
|
+
forkBlockTimestamp,
|
|
66
|
+
forkBlockHash,
|
|
67
|
+
forkBlockStateRoot,
|
|
68
|
+
};
|
|
51
69
|
}
|
|
52
70
|
exports.makeForkClient = makeForkClient;
|
|
53
71
|
async function getBlockByNumber(provider, blockNumber) {
|
|
@@ -70,10 +88,12 @@ async function getLatestBlockNumber(provider) {
|
|
|
70
88
|
const latestBlock = BigInt(latestBlockString);
|
|
71
89
|
return latestBlock;
|
|
72
90
|
}
|
|
73
|
-
function
|
|
91
|
+
function getLastSafeBlockNumber(latestBlockNumber, maxReorg) {
|
|
74
92
|
// Design choice: if latestBlock - maxReorg results in a negative number then the latestBlock block will be used.
|
|
75
93
|
// This decision is based on the assumption that if maxReorg > latestBlock then there is a high probability that the fork is occurring on a devnet.
|
|
76
|
-
return
|
|
94
|
+
return latestBlockNumber - maxReorg >= 0
|
|
95
|
+
? latestBlockNumber - maxReorg
|
|
96
|
+
: latestBlockNumber;
|
|
77
97
|
}
|
|
78
|
-
exports.
|
|
98
|
+
exports.getLastSafeBlockNumber = getLastSafeBlockNumber;
|
|
79
99
|
//# 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;AAE1B,kDAA0D;AAC1D,iDAA8D;AAC9D,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,
|
|
1
|
+
{"version":3,"file":"makeForkClient.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeForkClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,11 @@ async function makeStateTrie(genesisAccounts) {
|
|
|
8
8
|
const stateTrie = new ethereumjs_trie_1.Trie({ useKeyHashing: true });
|
|
9
9
|
for (const acc of genesisAccounts) {
|
|
10
10
|
const { address, account } = (0, makeAccount_1.makeAccount)(acc);
|
|
11
|
-
await stateTrie.put(address.
|
|
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((0, ethereumjs_util_1.setLengthLeft)((0, ethereumjs_util_1.
|
|
15
|
+
await stateTrie.put((0, ethereumjs_util_1.setLengthLeft)((0, ethereumjs_util_1.intToBuffer)(i), 20), new ethereumjs_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,sEAAwD;AACxD,sEAI0C;AAI1C,+CAA4C;AAErC,KAAK,UAAU,aAAa,CAAC,eAAiC;IACnE,MAAM,SAAS,GAAG,IAAI,sBAAI,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,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,
|
|
1
|
+
{"version":3,"file":"makeStateTrie.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeStateTrie.ts"],"names":[],"mappings":";;;AAAA,sEAAwD;AACxD,sEAI0C;AAI1C,+CAA4C;AAErC,KAAK,UAAU,aAAa,CAAC,eAAiC;IACnE,MAAM,SAAS,GAAG,IAAI,sBAAI,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,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,+BAAa,EAAC,IAAA,6BAAW,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACjC,IAAI,yBAAO,EAAE,CAAC,SAAS,EAAE,CAC1B,CAAC;KACH;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAjBD,sCAiBC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import { Common } from "@nomicfoundation/ethereumjs-common";
|
|
3
|
+
import { Trie } from "@nomicfoundation/ethereumjs-trie";
|
|
2
4
|
import { HardforkName } from "../../../util/hardforks";
|
|
3
5
|
import { HardhatBlockchain } from "../HardhatBlockchain";
|
|
4
6
|
import { LocalNodeConfig } from "../node-types";
|
|
5
|
-
export declare function putGenesisBlock(blockchain: HardhatBlockchain, common: Common, { initialDate, blockGasLimit: initialBlockGasLimit }: LocalNodeConfig,
|
|
7
|
+
export declare function putGenesisBlock(blockchain: HardhatBlockchain, common: Common, { initialDate, blockGasLimit: initialBlockGasLimit }: LocalNodeConfig, stateTrie: Trie, hardfork: HardforkName, initialMixHash: Buffer, initialBaseFee?: bigint): Promise<void>;
|
|
6
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,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;
|
|
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,oCAAoC,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAIxD,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,oBAAoB,EAAE,EAAE,eAAe,EACrE,SAAS,EAAE,IAAI,EACf,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE,MAAM,iBAqCxB"}
|