hardhat 2.22.3 → 2.23.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/params/argumentTypes.d.ts +6 -0
- package/internal/core/params/argumentTypes.d.ts.map +1 -1
- package/internal/core/params/argumentTypes.js +40 -1
- package/internal/core/params/argumentTypes.js.map +1 -1
- package/internal/hardhat-network/provider/BlockchainBase.d.ts +29 -0
- package/internal/hardhat-network/provider/BlockchainBase.d.ts.map +1 -0
- package/internal/hardhat-network/provider/BlockchainBase.js +144 -0
- package/internal/hardhat-network/provider/BlockchainBase.js.map +1 -0
- package/internal/hardhat-network/provider/BlockchainData.d.ts +58 -0
- package/internal/hardhat-network/provider/BlockchainData.d.ts.map +1 -0
- package/internal/hardhat-network/provider/BlockchainData.js +178 -0
- package/internal/hardhat-network/provider/BlockchainData.js.map +1 -0
- package/internal/hardhat-network/provider/HardhatBlockchain.d.ts +24 -0
- package/internal/hardhat-network/provider/HardhatBlockchain.d.ts.map +1 -0
- package/internal/hardhat-network/provider/HardhatBlockchain.js +73 -0
- package/internal/hardhat-network/provider/HardhatBlockchain.js.map +1 -0
- package/internal/hardhat-network/provider/PoolState.d.ts +26 -0
- package/internal/hardhat-network/provider/PoolState.d.ts.map +1 -0
- package/internal/hardhat-network/provider/PoolState.js +41 -0
- package/internal/hardhat-network/provider/PoolState.js.map +1 -0
- package/internal/hardhat-network/provider/TransactionQueue.d.ts +32 -0
- package/internal/hardhat-network/provider/TransactionQueue.d.ts.map +1 -0
- package/internal/hardhat-network/provider/TransactionQueue.js +130 -0
- package/internal/hardhat-network/provider/TransactionQueue.js.map +1 -0
- package/internal/hardhat-network/provider/TxPool.d.ts +83 -0
- package/internal/hardhat-network/provider/TxPool.d.ts.map +1 -0
- package/internal/hardhat-network/provider/TxPool.js +470 -0
- package/internal/hardhat-network/provider/TxPool.js.map +1 -0
- package/internal/hardhat-network/provider/ethereumjs-workarounds.d.ts +2 -0
- package/internal/hardhat-network/provider/ethereumjs-workarounds.d.ts.map +1 -0
- package/internal/hardhat-network/provider/ethereumjs-workarounds.js +15 -0
- package/internal/hardhat-network/provider/ethereumjs-workarounds.js.map +1 -0
- package/internal/hardhat-network/provider/filter.d.ts +29 -0
- package/internal/hardhat-network/provider/filter.d.ts.map +1 -0
- package/internal/hardhat-network/provider/filter.js +97 -0
- package/internal/hardhat-network/provider/filter.js.map +1 -0
- package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts +33 -0
- package/internal/hardhat-network/provider/fork/ForkBlockchain.d.ts.map +1 -0
- package/internal/hardhat-network/provider/fork/ForkBlockchain.js +272 -0
- package/internal/hardhat-network/provider/fork/ForkBlockchain.js.map +1 -0
- package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts +51 -0
- package/internal/hardhat-network/provider/fork/ForkStateManager.d.ts.map +1 -0
- package/internal/hardhat-network/provider/fork/ForkStateManager.js +300 -0
- package/internal/hardhat-network/provider/fork/ForkStateManager.js.map +1 -0
- package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts +4 -0
- package/internal/hardhat-network/provider/fork/rpcToBlockData.d.ts.map +1 -0
- package/internal/hardhat-network/provider/fork/rpcToBlockData.js +32 -0
- package/internal/hardhat-network/provider/fork/rpcToBlockData.js.map +1 -0
- package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts +10 -0
- package/internal/hardhat-network/provider/fork/rpcToTxData.d.ts.map +1 -0
- package/internal/hardhat-network/provider/fork/rpcToTxData.js +29 -0
- package/internal/hardhat-network/provider/fork/rpcToTxData.js.map +1 -0
- package/internal/hardhat-network/provider/modules/base.d.ts +17 -0
- package/internal/hardhat-network/provider/modules/base.d.ts.map +1 -0
- package/internal/hardhat-network/provider/modules/base.js +127 -0
- package/internal/hardhat-network/provider/modules/base.js.map +1 -0
- package/internal/hardhat-network/provider/modules/debug.d.ts +12 -0
- package/internal/hardhat-network/provider/modules/debug.d.ts.map +1 -0
- package/internal/hardhat-network/provider/modules/debug.js +52 -0
- package/internal/hardhat-network/provider/modules/debug.js.map +1 -0
- package/internal/hardhat-network/provider/modules/eth.d.ts +107 -0
- package/internal/hardhat-network/provider/modules/eth.d.ts.map +1 -0
- package/internal/hardhat-network/provider/modules/eth.js +1034 -0
- package/internal/hardhat-network/provider/modules/eth.js.map +1 -0
- package/internal/hardhat-network/provider/modules/evm.d.ts +32 -0
- package/internal/hardhat-network/provider/modules/evm.d.ts.map +1 -0
- package/internal/hardhat-network/provider/modules/evm.js +180 -0
- package/internal/hardhat-network/provider/modules/evm.js.map +1 -0
- package/internal/hardhat-network/provider/modules/hardhat.d.ts +54 -0
- package/internal/hardhat-network/provider/modules/hardhat.d.ts.map +1 -0
- package/internal/hardhat-network/provider/modules/hardhat.js +309 -0
- package/internal/hardhat-network/provider/modules/hardhat.js.map +1 -0
- package/internal/hardhat-network/provider/modules/net.d.ts +13 -0
- package/internal/hardhat-network/provider/modules/net.d.ts.map +1 -0
- package/internal/hardhat-network/provider/modules/net.js +47 -0
- package/internal/hardhat-network/provider/modules/net.js.map +1 -0
- package/internal/hardhat-network/provider/modules/personal.d.ts +9 -0
- package/internal/hardhat-network/provider/modules/personal.d.ts.map +1 -0
- package/internal/hardhat-network/provider/modules/personal.js +31 -0
- package/internal/hardhat-network/provider/modules/personal.js.map +1 -0
- package/internal/hardhat-network/provider/modules/web3.d.ts +11 -0
- package/internal/hardhat-network/provider/modules/web3.d.ts.map +1 -0
- package/internal/hardhat-network/provider/modules/web3.js +38 -0
- package/internal/hardhat-network/provider/modules/web3.js.map +1 -0
- package/internal/hardhat-network/provider/node.d.ts +197 -0
- package/internal/hardhat-network/provider/node.d.ts.map +1 -0
- package/internal/hardhat-network/provider/node.js +1866 -0
- package/internal/hardhat-network/provider/node.js.map +1 -0
- package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
- package/internal/hardhat-network/provider/provider.js +30 -24
- package/internal/hardhat-network/provider/provider.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts +29 -0
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts.map +1 -0
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +137 -0
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -0
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts +27 -0
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts.map +1 -0
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +137 -0
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -0
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts +33 -0
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts.map +1 -0
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +141 -0
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts +30 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.d.ts.map +1 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js +97 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP1559Transaction.js.map +1 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts +30 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.d.ts.map +1 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js +98 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidEIP2930Transaction.js.map +1 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts +40 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.d.ts.map +1 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js +91 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.js.map +1 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.d.ts +32 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.d.ts.map +1 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js +87 -0
- package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js.map +1 -0
- package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts +17 -0
- package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.d.ts.map +1 -0
- package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.js +3 -0
- package/internal/hardhat-network/provider/types/HardhatBlockchainInterface.js.map +1 -0
- package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts +7 -0
- package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/makeFakeSignature.js +31 -0
- package/internal/hardhat-network/provider/utils/makeFakeSignature.js.map +1 -0
- package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts +4 -0
- package/internal/hardhat-network/provider/utils/makeStateTrie.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/makeStateTrie.js +20 -0
- package/internal/hardhat-network/provider/utils/makeStateTrie.js.map +1 -0
- package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts +8 -0
- package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/putGenesisBlock.js +37 -0
- package/internal/hardhat-network/provider/utils/putGenesisBlock.js.map +1 -0
- package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.d.ts +12 -0
- package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js +62 -0
- package/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.js.map +1 -0
- package/internal/hardhat-network/provider/utils/txMapToArray.d.ts +3 -0
- package/internal/hardhat-network/provider/utils/txMapToArray.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/txMapToArray.js +12 -0
- package/internal/hardhat-network/provider/utils/txMapToArray.js.map +1 -0
- package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts +46 -0
- package/internal/hardhat-network/stack-traces/vm-debug-tracer.d.ts.map +1 -0
- package/internal/hardhat-network/stack-traces/vm-debug-tracer.js +421 -0
- package/internal/hardhat-network/stack-traces/vm-debug-tracer.js.map +1 -0
- package/package.json +2 -2
- package/src/internal/core/params/argumentTypes.ts +44 -0
- package/src/internal/hardhat-network/provider/provider.ts +43 -35
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Common } from "@nomicfoundation/ethereumjs-common";
|
|
3
|
+
import { Transaction, TxData, TxOptions } from "@nomicfoundation/ethereumjs-tx";
|
|
4
|
+
import { Address } from "@nomicfoundation/ethereumjs-util";
|
|
5
|
+
/**
|
|
6
|
+
* This class represents a transaction that is assumed to be valid.
|
|
7
|
+
*
|
|
8
|
+
* This transaction is not meant to be run. It can only be used to read
|
|
9
|
+
* from its values.
|
|
10
|
+
*
|
|
11
|
+
* The transaction's signature is never validated, but assumed to be valid.
|
|
12
|
+
*
|
|
13
|
+
* The sender's private key is never recovered from the signature. Instead,
|
|
14
|
+
* the sender's address is received as parameter.
|
|
15
|
+
*
|
|
16
|
+
* This class doesn't use its Common instance, so there's no need to provide
|
|
17
|
+
* one.
|
|
18
|
+
*/
|
|
19
|
+
export declare class ReadOnlyValidTransaction extends Transaction {
|
|
20
|
+
static fromTxData(_txData: TxData, _opts?: TxOptions): never;
|
|
21
|
+
static fromSerializedTx(_serialized: Buffer, _opts?: TxOptions): never;
|
|
22
|
+
static fromRlpSerializedTx(_serialized: Buffer, _opts?: TxOptions): never;
|
|
23
|
+
static fromValuesArray(_values: Buffer[], _opts?: TxOptions): never;
|
|
24
|
+
readonly common: Common;
|
|
25
|
+
private readonly _sender;
|
|
26
|
+
constructor(sender: Address, data?: TxData);
|
|
27
|
+
verifySignature(): boolean;
|
|
28
|
+
getSenderAddress(): Address;
|
|
29
|
+
sign(): never;
|
|
30
|
+
getDataFee(): never;
|
|
31
|
+
getBaseFee(): never;
|
|
32
|
+
getUpfrontCost(): never;
|
|
33
|
+
validate(_stringError?: false): never;
|
|
34
|
+
validate(_stringError: true): never;
|
|
35
|
+
toCreationAddress(): never;
|
|
36
|
+
getSenderPublicKey(): never;
|
|
37
|
+
getMessageToVerifySignature(): never;
|
|
38
|
+
getMessageToSign(): never;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=ReadOnlyValidTransaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadOnlyValidTransaction.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAM3D;;;;;;;;;;;;;GAaG;AACH,qBAAa,wBAAyB,SAAQ,WAAW;WACzC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,KAAK;WAMrD,gBAAgB,CAC5B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,SAAS,GAChB,KAAK;WAMM,mBAAmB,CAC/B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,SAAS,GAChB,KAAK;WAMM,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,KAAK;IAM1E,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,MAAM,EAAE,OAAO,EAAE,IAAI,GAAE,MAAW;IAOvC,eAAe,IAAI,OAAO;IAI1B,gBAAgB,IAAI,OAAO;IAI3B,IAAI,IAAI,KAAK;IAMb,UAAU,IAAI,KAAK;IAMnB,UAAU,IAAI,KAAK;IAMnB,cAAc,IAAI,KAAK;IAMvB,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK;IACrC,QAAQ,CAAC,YAAY,EAAE,IAAI,GAAG,KAAK;IAOnC,iBAAiB,IAAI,KAAK;IAM1B,kBAAkB,IAAI,KAAK;IAM3B,2BAA2B,IAAI,KAAK;IAMpC,gBAAgB,IAAI,KAAK;CAKjC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReadOnlyValidTransaction = void 0;
|
|
4
|
+
const ethereumjs_tx_1 = require("@nomicfoundation/ethereumjs-tx");
|
|
5
|
+
const errors_1 = require("../../../core/providers/errors");
|
|
6
|
+
/* eslint-disable @nomicfoundation/hardhat-internal-rules/only-hardhat-error */
|
|
7
|
+
/**
|
|
8
|
+
* This class represents a transaction that is assumed to be valid.
|
|
9
|
+
*
|
|
10
|
+
* This transaction is not meant to be run. It can only be used to read
|
|
11
|
+
* from its values.
|
|
12
|
+
*
|
|
13
|
+
* The transaction's signature is never validated, but assumed to be valid.
|
|
14
|
+
*
|
|
15
|
+
* The sender's private key is never recovered from the signature. Instead,
|
|
16
|
+
* the sender's address is received as parameter.
|
|
17
|
+
*
|
|
18
|
+
* This class doesn't use its Common instance, so there's no need to provide
|
|
19
|
+
* one.
|
|
20
|
+
*/
|
|
21
|
+
class ReadOnlyValidTransaction extends ethereumjs_tx_1.Transaction {
|
|
22
|
+
static fromTxData(_txData, _opts) {
|
|
23
|
+
throw new errors_1.InternalError("`fromTxData` is not implemented in ReadOnlyValidTransaction");
|
|
24
|
+
}
|
|
25
|
+
static fromSerializedTx(_serialized, _opts) {
|
|
26
|
+
throw new errors_1.InternalError("`fromSerializedTx` is not implemented in ReadOnlyValidTransaction");
|
|
27
|
+
}
|
|
28
|
+
static fromRlpSerializedTx(_serialized, _opts) {
|
|
29
|
+
throw new errors_1.InternalError("`fromRlpSerializedTx` is not implemented in ReadOnlyValidTransaction");
|
|
30
|
+
}
|
|
31
|
+
static fromValuesArray(_values, _opts) {
|
|
32
|
+
throw new errors_1.InternalError("`fromRlpSerializedTx` is not implemented in ReadOnlyValidTransaction");
|
|
33
|
+
}
|
|
34
|
+
constructor(sender, data = {}) {
|
|
35
|
+
super(data, { freeze: false, disableMaxInitCodeSizeCheck: true });
|
|
36
|
+
this.common = this._getCommon();
|
|
37
|
+
this._sender = sender;
|
|
38
|
+
}
|
|
39
|
+
verifySignature() {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
getSenderAddress() {
|
|
43
|
+
return this._sender;
|
|
44
|
+
}
|
|
45
|
+
sign() {
|
|
46
|
+
throw new errors_1.InternalError("`sign` is not implemented in ReadOnlyValidTransaction");
|
|
47
|
+
}
|
|
48
|
+
getDataFee() {
|
|
49
|
+
throw new errors_1.InternalError("`getDataFee` is not implemented in ReadOnlyValidTransaction");
|
|
50
|
+
}
|
|
51
|
+
getBaseFee() {
|
|
52
|
+
throw new errors_1.InternalError("`getBaseFee` is not implemented in ReadOnlyValidTransaction");
|
|
53
|
+
}
|
|
54
|
+
getUpfrontCost() {
|
|
55
|
+
throw new errors_1.InternalError("`getUpfrontCost` is not implemented in ReadOnlyValidTransaction");
|
|
56
|
+
}
|
|
57
|
+
validate(_stringError = false) {
|
|
58
|
+
throw new errors_1.InternalError("`validate` is not implemented in ReadOnlyValidTransaction");
|
|
59
|
+
}
|
|
60
|
+
toCreationAddress() {
|
|
61
|
+
throw new errors_1.InternalError("`toCreationAddress` is not implemented in ReadOnlyValidTransaction");
|
|
62
|
+
}
|
|
63
|
+
getSenderPublicKey() {
|
|
64
|
+
throw new errors_1.InternalError("`getSenderPublicKey` is not implemented in ReadOnlyValidTransaction");
|
|
65
|
+
}
|
|
66
|
+
getMessageToVerifySignature() {
|
|
67
|
+
throw new errors_1.InternalError("`getMessageToVerifySignature` is not implemented in ReadOnlyValidTransaction");
|
|
68
|
+
}
|
|
69
|
+
getMessageToSign() {
|
|
70
|
+
throw new errors_1.InternalError("`getMessageToSign` is not implemented in ReadOnlyValidTransaction");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.ReadOnlyValidTransaction = ReadOnlyValidTransaction;
|
|
74
|
+
// Override private methods
|
|
75
|
+
const ReadOnlyValidTransactionPrototype = ReadOnlyValidTransaction.prototype;
|
|
76
|
+
ReadOnlyValidTransactionPrototype._validateTxV = function (_v, common) {
|
|
77
|
+
return this._getCommon(common);
|
|
78
|
+
};
|
|
79
|
+
ReadOnlyValidTransactionPrototype._signedTxImplementsEIP155 = function () {
|
|
80
|
+
throw new errors_1.InternalError("`_signedTxImplementsEIP155` is not implemented in ReadOnlyValidTransaction");
|
|
81
|
+
};
|
|
82
|
+
ReadOnlyValidTransactionPrototype._unsignedTxImplementsEIP155 = function () {
|
|
83
|
+
throw new errors_1.InternalError("`_unsignedTxImplementsEIP155` is not implemented in ReadOnlyValidTransaction");
|
|
84
|
+
};
|
|
85
|
+
ReadOnlyValidTransactionPrototype._getMessageToSign = function () {
|
|
86
|
+
throw new errors_1.InternalError("`_getMessageToSign` is not implemented in ReadOnlyValidTransaction");
|
|
87
|
+
};
|
|
88
|
+
ReadOnlyValidTransactionPrototype._processSignature = function () {
|
|
89
|
+
throw new errors_1.InternalError("`_processSignature` is not implemented in ReadOnlyValidTransaction");
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=ReadOnlyValidTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadOnlyValidTransaction.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidTransaction.ts"],"names":[],"mappings":";;;AACA,kEAAgF;AAGhF,2DAA+D;AAE/D,+EAA+E;AAE/E;;;;;;;;;;;;;GAaG;AACH,MAAa,wBAAyB,SAAQ,2BAAW;IAChD,MAAM,CAAC,UAAU,CAAC,OAAe,EAAE,KAAiB;QACzD,MAAM,IAAI,sBAAa,CACrB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAC5B,WAAmB,EACnB,KAAiB;QAEjB,MAAM,IAAI,sBAAa,CACrB,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAC/B,WAAmB,EACnB,KAAiB;QAEjB,MAAM,IAAI,sBAAa,CACrB,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAiB;QAChE,MAAM,IAAI,sBAAa,CACrB,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAMD,YAAY,MAAe,EAAE,OAAe,EAAE;QAC5C,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,IAAI;QACT,MAAM,IAAI,sBAAa,CACrB,uDAAuD,CACxD,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,MAAM,IAAI,sBAAa,CACrB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,MAAM,IAAI,sBAAa,CACrB,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,MAAM,IAAI,sBAAa,CACrB,iEAAiE,CAClE,CAAC;IACJ,CAAC;IAIM,QAAQ,CAAC,eAAwB,KAAK;QAC3C,MAAM,IAAI,sBAAa,CACrB,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IAEM,iBAAiB;QACtB,MAAM,IAAI,sBAAa,CACrB,oEAAoE,CACrE,CAAC;IACJ,CAAC;IAEM,kBAAkB;QACvB,MAAM,IAAI,sBAAa,CACrB,qEAAqE,CACtE,CAAC;IACJ,CAAC;IAEM,2BAA2B;QAChC,MAAM,IAAI,sBAAa,CACrB,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAEM,gBAAgB;QACrB,MAAM,IAAI,sBAAa,CACrB,mEAAmE,CACpE,CAAC;IACJ,CAAC;CACF;AAzGD,4DAyGC;AAED,2BAA2B;AAE3B,MAAM,iCAAiC,GACrC,wBAAwB,CAAC,SAAS,CAAC;AAErC,iCAAiC,CAAC,YAAY,GAAG,UAC/C,EAAO,EACP,MAAW;IAEX,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,iCAAiC,CAAC,yBAAyB,GAAG;IAC5D,MAAM,IAAI,sBAAa,CACrB,4EAA4E,CAC7E,CAAC;AACJ,CAAC,CAAC;AAEF,iCAAiC,CAAC,2BAA2B,GAAG;IAC9D,MAAM,IAAI,sBAAa,CACrB,8EAA8E,CAC/E,CAAC;AACJ,CAAC,CAAC;AAEF,iCAAiC,CAAC,iBAAiB,GAAG;IACpD,MAAM,IAAI,sBAAa,CACrB,oEAAoE,CACrE,CAAC;AACJ,CAAC,CAAC;AAEF,iCAAiC,CAAC,iBAAiB,GAAG;IACpD,MAAM,IAAI,sBAAa,CACrB,oEAAoE,CACrE,CAAC;AACJ,CAAC,CAAC"}
|
package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.d.ts
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Common } from "@nomicfoundation/ethereumjs-common";
|
|
3
|
+
import { Transaction, TxData, TxOptions } from "@nomicfoundation/ethereumjs-tx";
|
|
4
|
+
import { Address } from "@nomicfoundation/ethereumjs-util";
|
|
5
|
+
/**
|
|
6
|
+
* This class is like `ReadOnlyValidTransaction` but for
|
|
7
|
+
* a transaction with an unknown tx type.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ReadOnlyValidUnknownTypeTransaction extends Transaction {
|
|
10
|
+
static fromTxData(_txData: TxData, _opts?: TxOptions): never;
|
|
11
|
+
static fromSerializedTx(_serialized: Buffer, _opts?: TxOptions): never;
|
|
12
|
+
static fromRlpSerializedTx(_serialized: Buffer, _opts?: TxOptions): never;
|
|
13
|
+
static fromValuesArray(_values: Buffer[], _opts?: TxOptions): never;
|
|
14
|
+
readonly common: Common;
|
|
15
|
+
private readonly _sender;
|
|
16
|
+
private readonly _actualType;
|
|
17
|
+
constructor(sender: Address, type: number, data?: TxData);
|
|
18
|
+
get type(): number;
|
|
19
|
+
verifySignature(): boolean;
|
|
20
|
+
getSenderAddress(): Address;
|
|
21
|
+
sign(): never;
|
|
22
|
+
getDataFee(): never;
|
|
23
|
+
getBaseFee(): never;
|
|
24
|
+
getUpfrontCost(): never;
|
|
25
|
+
validate(_stringError?: false): never;
|
|
26
|
+
validate(_stringError: true): never;
|
|
27
|
+
toCreationAddress(): never;
|
|
28
|
+
getSenderPublicKey(): never;
|
|
29
|
+
getMessageToVerifySignature(): never;
|
|
30
|
+
getMessageToSign(): never;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=ReadOnlyValidUnknownTypeTransaction.d.ts.map
|
package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadOnlyValidUnknownTypeTransaction.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAM3D;;;GAGG;AACH,qBAAa,mCAAoC,SAAQ,WAAW;WACpD,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,KAAK;WAMrD,gBAAgB,CAC5B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,SAAS,GAChB,KAAK;WAMM,mBAAmB,CAC/B,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,SAAS,GAChB,KAAK;WAMM,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,KAAK;IAM1E,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAW;IAQ5D,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,eAAe,IAAI,OAAO;IAI1B,gBAAgB,IAAI,OAAO;IAI3B,IAAI,IAAI,KAAK;IAMb,UAAU,IAAI,KAAK;IAMnB,UAAU,IAAI,KAAK;IAMnB,cAAc,IAAI,KAAK;IAMvB,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK;IACrC,QAAQ,CAAC,YAAY,EAAE,IAAI,GAAG,KAAK;IAOnC,iBAAiB,IAAI,KAAK;IAM1B,kBAAkB,IAAI,KAAK;IAM3B,2BAA2B,IAAI,KAAK;IAMpC,gBAAgB,IAAI,KAAK;CAKjC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReadOnlyValidUnknownTypeTransaction = void 0;
|
|
4
|
+
const ethereumjs_tx_1 = require("@nomicfoundation/ethereumjs-tx");
|
|
5
|
+
const errors_1 = require("../../../core/providers/errors");
|
|
6
|
+
/* eslint-disable @nomicfoundation/hardhat-internal-rules/only-hardhat-error */
|
|
7
|
+
/**
|
|
8
|
+
* This class is like `ReadOnlyValidTransaction` but for
|
|
9
|
+
* a transaction with an unknown tx type.
|
|
10
|
+
*/
|
|
11
|
+
class ReadOnlyValidUnknownTypeTransaction extends ethereumjs_tx_1.Transaction {
|
|
12
|
+
static fromTxData(_txData, _opts) {
|
|
13
|
+
throw new errors_1.InternalError("`fromTxData` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
14
|
+
}
|
|
15
|
+
static fromSerializedTx(_serialized, _opts) {
|
|
16
|
+
throw new errors_1.InternalError("`fromSerializedTx` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
17
|
+
}
|
|
18
|
+
static fromRlpSerializedTx(_serialized, _opts) {
|
|
19
|
+
throw new errors_1.InternalError("`fromRlpSerializedTx` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
20
|
+
}
|
|
21
|
+
static fromValuesArray(_values, _opts) {
|
|
22
|
+
throw new errors_1.InternalError("`fromRlpSerializedTx` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
23
|
+
}
|
|
24
|
+
constructor(sender, type, data = {}) {
|
|
25
|
+
super(data, { freeze: false, disableMaxInitCodeSizeCheck: true });
|
|
26
|
+
this.common = this._getCommon();
|
|
27
|
+
this._sender = sender;
|
|
28
|
+
this._actualType = type;
|
|
29
|
+
}
|
|
30
|
+
get type() {
|
|
31
|
+
return this._actualType;
|
|
32
|
+
}
|
|
33
|
+
verifySignature() {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
getSenderAddress() {
|
|
37
|
+
return this._sender;
|
|
38
|
+
}
|
|
39
|
+
sign() {
|
|
40
|
+
throw new errors_1.InternalError("`sign` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
41
|
+
}
|
|
42
|
+
getDataFee() {
|
|
43
|
+
throw new errors_1.InternalError("`getDataFee` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
44
|
+
}
|
|
45
|
+
getBaseFee() {
|
|
46
|
+
throw new errors_1.InternalError("`getBaseFee` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
47
|
+
}
|
|
48
|
+
getUpfrontCost() {
|
|
49
|
+
throw new errors_1.InternalError("`getUpfrontCost` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
50
|
+
}
|
|
51
|
+
validate(_stringError = false) {
|
|
52
|
+
throw new errors_1.InternalError("`validate` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
53
|
+
}
|
|
54
|
+
toCreationAddress() {
|
|
55
|
+
throw new errors_1.InternalError("`toCreationAddress` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
56
|
+
}
|
|
57
|
+
getSenderPublicKey() {
|
|
58
|
+
throw new errors_1.InternalError("`getSenderPublicKey` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
59
|
+
}
|
|
60
|
+
getMessageToVerifySignature() {
|
|
61
|
+
throw new errors_1.InternalError("`getMessageToVerifySignature` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
62
|
+
}
|
|
63
|
+
getMessageToSign() {
|
|
64
|
+
throw new errors_1.InternalError("`getMessageToSign` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.ReadOnlyValidUnknownTypeTransaction = ReadOnlyValidUnknownTypeTransaction;
|
|
68
|
+
// Override private methods
|
|
69
|
+
const ReadOnlyValidUnknownTypeTransactionPrototype = ReadOnlyValidUnknownTypeTransaction.prototype;
|
|
70
|
+
ReadOnlyValidUnknownTypeTransactionPrototype._validateTxV = function (_v, common) {
|
|
71
|
+
return this._getCommon(common);
|
|
72
|
+
};
|
|
73
|
+
ReadOnlyValidUnknownTypeTransactionPrototype._signedTxImplementsEIP155 =
|
|
74
|
+
function () {
|
|
75
|
+
throw new errors_1.InternalError("`_signedTxImplementsEIP155` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
76
|
+
};
|
|
77
|
+
ReadOnlyValidUnknownTypeTransactionPrototype._unsignedTxImplementsEIP155 =
|
|
78
|
+
function () {
|
|
79
|
+
throw new errors_1.InternalError("`_unsignedTxImplementsEIP155` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
80
|
+
};
|
|
81
|
+
ReadOnlyValidUnknownTypeTransactionPrototype._getMessageToSign = function () {
|
|
82
|
+
throw new errors_1.InternalError("`_getMessageToSign` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
83
|
+
};
|
|
84
|
+
ReadOnlyValidUnknownTypeTransactionPrototype._processSignature = function () {
|
|
85
|
+
throw new errors_1.InternalError("`_processSignature` is not implemented in ReadOnlyValidUnknownTypeTransaction");
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=ReadOnlyValidUnknownTypeTransaction.js.map
|
package/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReadOnlyValidUnknownTypeTransaction.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/transactions/ReadOnlyValidUnknownTypeTransaction.ts"],"names":[],"mappings":";;;AACA,kEAAgF;AAGhF,2DAA+D;AAE/D,+EAA+E;AAE/E;;;GAGG;AACH,MAAa,mCAAoC,SAAQ,2BAAW;IAC3D,MAAM,CAAC,UAAU,CAAC,OAAe,EAAE,KAAiB;QACzD,MAAM,IAAI,sBAAa,CACrB,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAC5B,WAAmB,EACnB,KAAiB;QAEjB,MAAM,IAAI,sBAAa,CACrB,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAC/B,WAAmB,EACnB,KAAiB;QAEjB,MAAM,IAAI,sBAAa,CACrB,iFAAiF,CAClF,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,OAAiB,EAAE,KAAiB;QAChE,MAAM,IAAI,sBAAa,CACrB,iFAAiF,CAClF,CAAC;IACJ,CAAC;IAOD,YAAY,MAAe,EAAE,IAAY,EAAE,OAAe,EAAE;QAC1D,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,IAAI;QACT,MAAM,IAAI,sBAAa,CACrB,kEAAkE,CACnE,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,MAAM,IAAI,sBAAa,CACrB,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,MAAM,IAAI,sBAAa,CACrB,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAEM,cAAc;QACnB,MAAM,IAAI,sBAAa,CACrB,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IAIM,QAAQ,CAAC,eAAwB,KAAK;QAC3C,MAAM,IAAI,sBAAa,CACrB,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAEM,iBAAiB;QACtB,MAAM,IAAI,sBAAa,CACrB,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAEM,kBAAkB;QACvB,MAAM,IAAI,sBAAa,CACrB,gFAAgF,CACjF,CAAC;IACJ,CAAC;IAEM,2BAA2B;QAChC,MAAM,IAAI,sBAAa,CACrB,yFAAyF,CAC1F,CAAC;IACJ,CAAC;IAEM,gBAAgB;QACrB,MAAM,IAAI,sBAAa,CACrB,8EAA8E,CAC/E,CAAC;IACJ,CAAC;CACF;AA/GD,kFA+GC;AAED,2BAA2B;AAE3B,MAAM,4CAA4C,GAChD,mCAAmC,CAAC,SAAS,CAAC;AAEhD,4CAA4C,CAAC,YAAY,GAAG,UAC1D,EAAO,EACP,MAAW;IAEX,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,4CAA4C,CAAC,yBAAyB;IACpE;QACE,MAAM,IAAI,sBAAa,CACrB,uFAAuF,CACxF,CAAC;IACJ,CAAC,CAAC;AAEJ,4CAA4C,CAAC,2BAA2B;IACtE;QACE,MAAM,IAAI,sBAAa,CACrB,yFAAyF,CAC1F,CAAC;IACJ,CAAC,CAAC;AAEJ,4CAA4C,CAAC,iBAAiB,GAAG;IAC/D,MAAM,IAAI,sBAAa,CACrB,+EAA+E,CAChF,CAAC;AACJ,CAAC,CAAC;AAEF,4CAA4C,CAAC,iBAAiB,GAAG;IAC/D,MAAM,IAAI,sBAAa,CACrB,+EAA+E,CAChF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Block } from "@nomicfoundation/ethereumjs-block";
|
|
3
|
+
import { BlockchainInterface } from "@nomicfoundation/ethereumjs-blockchain";
|
|
4
|
+
import { FilterParams } from "../node-types";
|
|
5
|
+
import { RpcLogOutput, RpcReceiptOutput } from "../output";
|
|
6
|
+
export interface HardhatBlockchainInterface extends BlockchainInterface {
|
|
7
|
+
addTransactionReceipts(receipts: RpcReceiptOutput[]): void;
|
|
8
|
+
reserveBlocks(count: bigint, interval: bigint, previousBlockStateRoot: Buffer, previousBlockTotalDifficulty: bigint, previousBlockBaseFeePerGas: bigint | undefined): void;
|
|
9
|
+
deleteLaterBlocks(block: Block): void;
|
|
10
|
+
getBlockByTransactionHash(transactionHash: Buffer): Promise<Block | null>;
|
|
11
|
+
getLatestBlock(): Promise<Block>;
|
|
12
|
+
getLatestBlockNumber(): bigint;
|
|
13
|
+
getLogs(filterParams: FilterParams): Promise<RpcLogOutput[]>;
|
|
14
|
+
getTotalDifficulty(blockHash: Buffer): Promise<bigint>;
|
|
15
|
+
getTransactionReceipt(transactionHash: Buffer): Promise<RpcReceiptOutput | null>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=HardhatBlockchainInterface.d.ts.map
|
|
@@ -0,0 +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,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 @@
|
|
|
1
|
+
{"version":3,"file":"HardhatBlockchainInterface.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/types/HardhatBlockchainInterface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AccessListEIP2930Transaction, FeeMarketEIP1559Transaction, TxData } from "@nomicfoundation/ethereumjs-tx";
|
|
2
|
+
import { Address } from "@nomicfoundation/ethereumjs-util";
|
|
3
|
+
export declare function makeFakeSignature(tx: TxData | AccessListEIP2930Transaction | FeeMarketEIP1559Transaction, sender: Address): {
|
|
4
|
+
r: number;
|
|
5
|
+
s: number;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=makeFakeSignature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeFakeSignature = void 0;
|
|
4
|
+
const hash_1 = require("../../../util/hash");
|
|
5
|
+
// Produces a signature with r and s values taken from a hash of the inputs.
|
|
6
|
+
function makeFakeSignature(tx, sender) {
|
|
7
|
+
const hashInputString = [
|
|
8
|
+
sender,
|
|
9
|
+
tx.nonce,
|
|
10
|
+
tx.gasLimit,
|
|
11
|
+
tx.value,
|
|
12
|
+
tx.to,
|
|
13
|
+
tx.data,
|
|
14
|
+
"gasPrice" in tx ? tx.gasPrice : "",
|
|
15
|
+
"chainId" in tx ? tx.chainId : "",
|
|
16
|
+
"maxPriorityFeePerGas" in tx ? tx.maxPriorityFeePerGas : "",
|
|
17
|
+
"maxFeePerGas" in tx ? tx.maxFeePerGas : "",
|
|
18
|
+
"accessList" in tx
|
|
19
|
+
? tx.accessList?.map(([buf, bufs]) => [buf, ...bufs].map((b) => b.toString("hex")).join(";"))
|
|
20
|
+
: "",
|
|
21
|
+
]
|
|
22
|
+
.map((a) => a?.toString() ?? "")
|
|
23
|
+
.join(",");
|
|
24
|
+
const hashDigest = (0, hash_1.createNonCryptographicHashBasedIdentifier)(Buffer.from(hashInputString));
|
|
25
|
+
return {
|
|
26
|
+
r: hashDigest.readUInt32LE(),
|
|
27
|
+
s: hashDigest.readUInt32LE(4),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.makeFakeSignature = makeFakeSignature;
|
|
31
|
+
//# sourceMappingURL=makeFakeSignature.js.map
|
|
@@ -0,0 +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,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makeStateTrie.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/makeStateTrie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAOxD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,wBAAsB,aAAa,CAAC,eAAe,EAAE,cAAc,EAAE,iBAiBpE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeStateTrie = void 0;
|
|
4
|
+
const ethereumjs_trie_1 = require("@nomicfoundation/ethereumjs-trie");
|
|
5
|
+
const ethereumjs_util_1 = require("@nomicfoundation/ethereumjs-util");
|
|
6
|
+
const makeAccount_1 = require("./makeAccount");
|
|
7
|
+
async function makeStateTrie(genesisAccounts) {
|
|
8
|
+
const stateTrie = new ethereumjs_trie_1.Trie({ useKeyHashing: true });
|
|
9
|
+
for (const acc of genesisAccounts) {
|
|
10
|
+
const { address, account } = (0, makeAccount_1.makeAccount)(acc);
|
|
11
|
+
await stateTrie.put(address.toBuffer(), account.serialize());
|
|
12
|
+
}
|
|
13
|
+
// Mimic precompiles activation
|
|
14
|
+
for (let i = 1; i <= 8; i++) {
|
|
15
|
+
await stateTrie.put((0, ethereumjs_util_1.setLengthLeft)((0, ethereumjs_util_1.intToBuffer)(i), 20), new ethereumjs_util_1.Account().serialize());
|
|
16
|
+
}
|
|
17
|
+
return stateTrie;
|
|
18
|
+
}
|
|
19
|
+
exports.makeStateTrie = makeStateTrie;
|
|
20
|
+
//# sourceMappingURL=makeStateTrie.js.map
|
|
@@ -0,0 +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,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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Common } from "@nomicfoundation/ethereumjs-common";
|
|
3
|
+
import { Trie } from "@nomicfoundation/ethereumjs-trie";
|
|
4
|
+
import { HardforkName } from "../../../util/hardforks";
|
|
5
|
+
import { HardhatBlockchain } from "../HardhatBlockchain";
|
|
6
|
+
import { LocalNodeConfig } from "../node-types";
|
|
7
|
+
export declare function putGenesisBlock(blockchain: HardhatBlockchain, common: Common, { initialDate, blockGasLimit: initialBlockGasLimit }: LocalNodeConfig, stateTrie: Trie, hardfork: HardforkName, initialMixHash: Buffer, initialBaseFee?: bigint): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=putGenesisBlock.d.ts.map
|
|
@@ -0,0 +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;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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.putGenesisBlock = void 0;
|
|
4
|
+
const ethereumjs_block_1 = require("@nomicfoundation/ethereumjs-block");
|
|
5
|
+
const ethereumjs_util_1 = require("@nomicfoundation/ethereumjs-util");
|
|
6
|
+
const date_1 = require("../../../util/date");
|
|
7
|
+
const hardforks_1 = require("../../../util/hardforks");
|
|
8
|
+
const getCurrentTimestamp_1 = require("./getCurrentTimestamp");
|
|
9
|
+
async function putGenesisBlock(blockchain, common, { initialDate, blockGasLimit: initialBlockGasLimit }, stateTrie, hardfork, initialMixHash, initialBaseFee) {
|
|
10
|
+
const initialBlockTimestamp = initialDate !== undefined
|
|
11
|
+
? (0, date_1.dateToTimestampSeconds)(initialDate)
|
|
12
|
+
: (0, getCurrentTimestamp_1.getCurrentTimestamp)();
|
|
13
|
+
const isPostMerge = (0, hardforks_1.hardforkGte)(hardfork, hardforks_1.HardforkName.MERGE);
|
|
14
|
+
const header = {
|
|
15
|
+
timestamp: `0x${initialBlockTimestamp.toString(16)}`,
|
|
16
|
+
gasLimit: initialBlockGasLimit,
|
|
17
|
+
difficulty: isPostMerge ? 0 : 1,
|
|
18
|
+
nonce: isPostMerge ? "0x0000000000000000" : "0x0000000000000042",
|
|
19
|
+
extraData: "0x1234",
|
|
20
|
+
stateRoot: (0, ethereumjs_util_1.bufferToHex)(stateTrie.root()),
|
|
21
|
+
};
|
|
22
|
+
if (isPostMerge) {
|
|
23
|
+
header.mixHash = initialMixHash;
|
|
24
|
+
}
|
|
25
|
+
if (initialBaseFee !== undefined) {
|
|
26
|
+
header.baseFeePerGas = initialBaseFee;
|
|
27
|
+
}
|
|
28
|
+
const genesisBlock = ethereumjs_block_1.Block.fromBlockData({
|
|
29
|
+
header,
|
|
30
|
+
}, {
|
|
31
|
+
common,
|
|
32
|
+
skipConsensusFormatValidation: true,
|
|
33
|
+
});
|
|
34
|
+
await blockchain.putBlock(genesisBlock);
|
|
35
|
+
}
|
|
36
|
+
exports.putGenesisBlock = putGenesisBlock;
|
|
37
|
+
//# sourceMappingURL=putGenesisBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"putGenesisBlock.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/putGenesisBlock.ts"],"names":[],"mappings":";;;AAAA,wEAAsE;AAGtE,sEAA+D;AAE/D,6CAA4D;AAC5D,uDAAoE;AAGpE,+DAA4D;AAErD,KAAK,UAAU,eAAe,CACnC,UAA6B,EAC7B,MAAc,EACd,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAmB,EACrE,SAAe,EACf,QAAsB,EACtB,cAAsB,EACtB,cAAuB;IAEvB,MAAM,qBAAqB,GACzB,WAAW,KAAK,SAAS;QACvB,CAAC,CAAC,IAAA,6BAAsB,EAAC,WAAW,CAAC;QACrC,CAAC,CAAC,IAAA,yCAAmB,GAAE,CAAC;IAE5B,MAAM,WAAW,GAAG,IAAA,uBAAW,EAAC,QAAQ,EAAE,wBAAY,CAAC,KAAK,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAe;QACzB,SAAS,EAAE,KAAK,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;QACpD,QAAQ,EAAE,oBAAoB;QAC9B,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB;QAChE,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,IAAA,6BAAW,EAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KACzC,CAAC;IAEF,IAAI,WAAW,EAAE;QACf,MAAM,CAAC,OAAO,GAAG,cAAc,CAAC;KACjC;IAED,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,MAAM,CAAC,aAAa,GAAG,cAAc,CAAC;KACvC;IAED,MAAM,YAAY,GAAG,wBAAK,CAAC,aAAa,CACtC;QACE,MAAM;KACP,EACD;QACE,MAAM;QACN,6BAA6B,EAAE,IAAI;KACpC,CACF,CAAC;IAEF,MAAM,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC1C,CAAC;AA5CD,0CA4CC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SenderTransactions, SerializedTransaction } from "../PoolState";
|
|
2
|
+
/**
|
|
3
|
+
* Move as many transactions as possible from the queued list
|
|
4
|
+
* to the pending list.
|
|
5
|
+
*
|
|
6
|
+
* Returns the new lists and the new executable nonce of the sender.
|
|
7
|
+
*/
|
|
8
|
+
export declare function reorganizeTransactionsLists(pending: SenderTransactions, queued: SenderTransactions, retrieveNonce: (serializedTx: SerializedTransaction) => bigint): {
|
|
9
|
+
newPending: SenderTransactions;
|
|
10
|
+
newQueued: SenderTransactions;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=reorganizeTransactionsLists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reorganizeTransactionsLists.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAIzE;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,kBAAkB,EAC1B,aAAa,EAAE,CAAC,YAAY,EAAE,qBAAqB,KAAK,MAAM;;;EA6B/D"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.reorganizeTransactionsLists = void 0;
|
|
27
|
+
const errors_1 = require("../../../core/providers/errors");
|
|
28
|
+
const BigIntUtils = __importStar(require("../../../util/bigint"));
|
|
29
|
+
/* eslint-disable @nomicfoundation/hardhat-internal-rules/only-hardhat-error */
|
|
30
|
+
/**
|
|
31
|
+
* Move as many transactions as possible from the queued list
|
|
32
|
+
* to the pending list.
|
|
33
|
+
*
|
|
34
|
+
* Returns the new lists and the new executable nonce of the sender.
|
|
35
|
+
*/
|
|
36
|
+
function reorganizeTransactionsLists(pending, queued, retrieveNonce) {
|
|
37
|
+
let newPending = pending;
|
|
38
|
+
let newQueued = queued.sortBy(retrieveNonce, (l, r) => BigIntUtils.cmp(l, r));
|
|
39
|
+
if (pending.last() === undefined) {
|
|
40
|
+
throw new errors_1.InternalError("Pending list cannot be empty");
|
|
41
|
+
}
|
|
42
|
+
let nextPendingNonce = retrieveNonce(pending.last()) + 1n;
|
|
43
|
+
let movedCount = 0;
|
|
44
|
+
for (const queuedTx of newQueued) {
|
|
45
|
+
const queuedTxNonce = retrieveNonce(queuedTx);
|
|
46
|
+
if (nextPendingNonce === queuedTxNonce) {
|
|
47
|
+
newPending = newPending.push(queuedTx);
|
|
48
|
+
nextPendingNonce++;
|
|
49
|
+
movedCount++;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
newQueued = newQueued.skip(movedCount);
|
|
56
|
+
return {
|
|
57
|
+
newPending,
|
|
58
|
+
newQueued,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
exports.reorganizeTransactionsLists = reorganizeTransactionsLists;
|
|
62
|
+
//# sourceMappingURL=reorganizeTransactionsLists.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reorganizeTransactionsLists.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/reorganizeTransactionsLists.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2DAA+D;AAC/D,kEAAoD;AAGpD,+EAA+E;AAE/E;;;;;GAKG;AACH,SAAgB,2BAA2B,CACzC,OAA2B,EAC3B,MAA0B,EAC1B,aAA8D;IAE9D,IAAI,UAAU,GAAG,OAAO,CAAC;IACzB,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9E,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE;QAChC,MAAM,IAAI,sBAAa,CAAC,8BAA8B,CAAC,CAAC;KACzD;IAED,IAAI,gBAAgB,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;IAE1D,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,gBAAgB,KAAK,aAAa,EAAE;YACtC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvC,gBAAgB,EAAE,CAAC;YACnB,UAAU,EAAE,CAAC;SACd;aAAM;YACL,MAAM;SACP;KACF;IACD,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEvC,OAAO;QACL,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC;AAhCD,kEAgCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"txMapToArray.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/txMapToArray.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,wBAAgB,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,+DAE3E"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.txMapToArray = void 0;
|
|
7
|
+
const flatten_1 = __importDefault(require("lodash/flatten"));
|
|
8
|
+
function txMapToArray(transactions) {
|
|
9
|
+
return (0, flatten_1.default)(Array.from(transactions.values())).map((tx) => tx.data);
|
|
10
|
+
}
|
|
11
|
+
exports.txMapToArray = txMapToArray;
|
|
12
|
+
//# sourceMappingURL=txMapToArray.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"txMapToArray.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/txMapToArray.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAqC;AAIrC,SAAgB,YAAY,CAAC,YAA+C;IAC1E,OAAO,IAAA,iBAAO,EAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACzE,CAAC;AAFD,oCAEC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { VM } from "@nomicfoundation/ethereumjs-vm";
|
|
2
|
+
import { RpcDebugTracingConfig } from "../../core/jsonrpc/types/input/debugTraceTransaction";
|
|
3
|
+
import { RpcDebugTraceOutput } from "../provider/output";
|
|
4
|
+
export declare class VMDebugTracer {
|
|
5
|
+
private readonly _vm;
|
|
6
|
+
private _lastTrace?;
|
|
7
|
+
private _config;
|
|
8
|
+
private _messages;
|
|
9
|
+
private _addressToStorage;
|
|
10
|
+
private _error;
|
|
11
|
+
constructor(_vm: VM);
|
|
12
|
+
/**
|
|
13
|
+
* Run the `action` callback and trace its execution
|
|
14
|
+
*/
|
|
15
|
+
trace(action: () => Promise<void>, config: RpcDebugTracingConfig): Promise<RpcDebugTraceOutput>;
|
|
16
|
+
private _enableTracing;
|
|
17
|
+
private _disableTracing;
|
|
18
|
+
private _getDebugTrace;
|
|
19
|
+
private _beforeTxHandler;
|
|
20
|
+
private _beforeMessageHandler;
|
|
21
|
+
private _stepHandler;
|
|
22
|
+
private _afterMessageHandler;
|
|
23
|
+
private _afterTxHandler;
|
|
24
|
+
private _messageToNestedStructLogs;
|
|
25
|
+
private _getMemory;
|
|
26
|
+
private _getStack;
|
|
27
|
+
private _stepToStructLog;
|
|
28
|
+
private _memoryGas;
|
|
29
|
+
private _sha3WordGas;
|
|
30
|
+
private _callConstantGas;
|
|
31
|
+
private _callNewAccountGas;
|
|
32
|
+
private _callValueTransferGas;
|
|
33
|
+
private _quadCoeffDiv;
|
|
34
|
+
private _isAddressEmpty;
|
|
35
|
+
private _getContractStorage;
|
|
36
|
+
private _getContractCode;
|
|
37
|
+
private _callDynamicGas;
|
|
38
|
+
private _callGas;
|
|
39
|
+
/**
|
|
40
|
+
* Returns the increase in gas and the number of added words
|
|
41
|
+
*/
|
|
42
|
+
private _memoryExpansion;
|
|
43
|
+
private _getFromStack;
|
|
44
|
+
private _memoryFee;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=vm-debug-tracer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vm-debug-tracer.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/stack-traces/vm-debug-tracer.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAYlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAE7F,OAAO,EAAE,mBAAmB,EAAgB,MAAM,oBAAoB,CAAC;AAoCvE,qBAAa,aAAa;IASZ,OAAO,CAAC,QAAQ,CAAC,GAAG;IARhC,OAAO,CAAC,UAAU,CAAC,CAAsB;IACzC,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,iBAAiB,CAA+B;IAExD,OAAO,CAAC,MAAM,CAAM;gBAES,GAAG,EAAE,EAAE;IAQpC;;OAEG;IACU,KAAK,CAChB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC3B,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;IAiB/B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,cAAc;YASR,gBAAgB;YAOhB,qBAAqB;YAiBrB,YAAY;YAmBZ,oBAAoB;YAYpB,eAAe;YAgDf,0BAA0B;IA6ExC,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,SAAS;YAOH,gBAAgB;IA2I9B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,gBAAgB;YAIV,eAAe;IA2C7B,OAAO,CAAC,QAAQ;IAgBhB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,UAAU;CAQnB"}
|