hardhat 2.16.0-dev.0 → 2.16.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.
Files changed (72) hide show
  1. package/builtin-tasks/compile.js +18 -18
  2. package/builtin-tasks/compile.js.map +1 -1
  3. package/console.sol +3 -4
  4. package/internal/cli/analytics.d.ts +6 -6
  5. package/internal/cli/analytics.d.ts.map +1 -1
  6. package/internal/cli/analytics.js +43 -115
  7. package/internal/cli/analytics.js.map +1 -1
  8. package/internal/cli/bootstrap.js +0 -0
  9. package/internal/cli/cli.js +1 -1
  10. package/internal/cli/cli.js.map +1 -1
  11. package/internal/core/jsonrpc/types/input/blockTag.d.ts +3 -3
  12. package/internal/core/jsonrpc/types/input/filterRequest.d.ts +6 -6
  13. package/package.json +1 -3
  14. package/src/builtin-tasks/compile.ts +43 -35
  15. package/src/internal/cli/analytics.ts +82 -134
  16. package/src/internal/cli/cli.ts +1 -1
  17. package/internal/core/config/extenders.d.ts +0 -7
  18. package/internal/core/config/extenders.d.ts.map +0 -1
  19. package/internal/core/config/extenders.js +0 -16
  20. package/internal/core/config/extenders.js.map +0 -1
  21. package/internal/hardhat-network/provider/RethnetState.d.ts +0 -29
  22. package/internal/hardhat-network/provider/RethnetState.d.ts.map +0 -1
  23. package/internal/hardhat-network/provider/RethnetState.js +0 -110
  24. package/internal/hardhat-network/provider/RethnetState.js.map +0 -1
  25. package/internal/hardhat-network/provider/utils/bloom.d.ts +0 -32
  26. package/internal/hardhat-network/provider/utils/bloom.d.ts.map +0 -1
  27. package/internal/hardhat-network/provider/utils/bloom.js +0 -79
  28. package/internal/hardhat-network/provider/utils/bloom.js.map +0 -1
  29. package/internal/hardhat-network/provider/utils/convertToRethnet.d.ts +0 -17
  30. package/internal/hardhat-network/provider/utils/convertToRethnet.d.ts.map +0 -1
  31. package/internal/hardhat-network/provider/utils/convertToRethnet.js +0 -390
  32. package/internal/hardhat-network/provider/utils/convertToRethnet.js.map +0 -1
  33. package/internal/hardhat-network/provider/vm/block-builder/dual.d.ts +0 -14
  34. package/internal/hardhat-network/provider/vm/block-builder/dual.d.ts.map +0 -1
  35. package/internal/hardhat-network/provider/vm/block-builder/dual.js +0 -47
  36. package/internal/hardhat-network/provider/vm/block-builder/dual.js.map +0 -1
  37. package/internal/hardhat-network/provider/vm/block-builder/hardhat.d.ts +0 -27
  38. package/internal/hardhat-network/provider/vm/block-builder/hardhat.d.ts.map +0 -1
  39. package/internal/hardhat-network/provider/vm/block-builder/hardhat.js +0 -136
  40. package/internal/hardhat-network/provider/vm/block-builder/hardhat.js.map +0 -1
  41. package/internal/hardhat-network/provider/vm/block-builder/rethnet.d.ts +0 -20
  42. package/internal/hardhat-network/provider/vm/block-builder/rethnet.d.ts.map +0 -1
  43. package/internal/hardhat-network/provider/vm/block-builder/rethnet.js +0 -55
  44. package/internal/hardhat-network/provider/vm/block-builder/rethnet.js.map +0 -1
  45. package/internal/hardhat-network/provider/vm/block-builder.d.ts +0 -19
  46. package/internal/hardhat-network/provider/vm/block-builder.d.ts.map +0 -1
  47. package/internal/hardhat-network/provider/vm/block-builder.js +0 -24
  48. package/internal/hardhat-network/provider/vm/block-builder.js.map +0 -1
  49. package/internal/hardhat-network/provider/vm/creation.d.ts +0 -10
  50. package/internal/hardhat-network/provider/vm/creation.d.ts.map +0 -1
  51. package/internal/hardhat-network/provider/vm/creation.js +0 -29
  52. package/internal/hardhat-network/provider/vm/creation.js.map +0 -1
  53. package/internal/hardhat-network/provider/vm/dual.d.ts +0 -43
  54. package/internal/hardhat-network/provider/vm/dual.d.ts.map +0 -1
  55. package/internal/hardhat-network/provider/vm/dual.js +0 -487
  56. package/internal/hardhat-network/provider/vm/dual.js.map +0 -1
  57. package/internal/hardhat-network/provider/vm/ethereumjs.d.ts +0 -61
  58. package/internal/hardhat-network/provider/vm/ethereumjs.d.ts.map +0 -1
  59. package/internal/hardhat-network/provider/vm/ethereumjs.js +0 -517
  60. package/internal/hardhat-network/provider/vm/ethereumjs.js.map +0 -1
  61. package/internal/hardhat-network/provider/vm/exit.d.ts +0 -24
  62. package/internal/hardhat-network/provider/vm/exit.d.ts.map +0 -1
  63. package/internal/hardhat-network/provider/vm/exit.js +0 -140
  64. package/internal/hardhat-network/provider/vm/exit.js.map +0 -1
  65. package/internal/hardhat-network/provider/vm/rethnet.d.ts +0 -87
  66. package/internal/hardhat-network/provider/vm/rethnet.d.ts.map +0 -1
  67. package/internal/hardhat-network/provider/vm/rethnet.js +0 -262
  68. package/internal/hardhat-network/provider/vm/rethnet.js.map +0 -1
  69. package/internal/hardhat-network/provider/vm/vm-adapter.d.ts +0 -53
  70. package/internal/hardhat-network/provider/vm/vm-adapter.d.ts.map +0 -1
  71. package/internal/hardhat-network/provider/vm/vm-adapter.js +0 -3
  72. package/internal/hardhat-network/provider/vm/vm-adapter.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"convertToRethnet.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/convertToRethnet.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { Block } from "@nomicfoundation/ethereumjs-block";
2
- import { TypedTransaction } from "@nomicfoundation/ethereumjs-tx";
3
- import { BlockBuilderAdapter, Reward } from "../block-builder";
4
- import { RunTxResult } from "../vm-adapter";
5
- export declare class DualModeBlockBuilder implements BlockBuilderAdapter {
6
- private _ethereumJSBuilder;
7
- private _rethnetBuilder;
8
- constructor(_ethereumJSBuilder: BlockBuilderAdapter, _rethnetBuilder: BlockBuilderAdapter);
9
- addTransaction(tx: TypedTransaction): Promise<RunTxResult>;
10
- finalize(rewards: Reward[], _timestamp?: bigint): Promise<Block>;
11
- revert(): Promise<void>;
12
- getGasUsed(): Promise<bigint>;
13
- }
14
- //# sourceMappingURL=dual.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dual.d.ts","sourceRoot":"","sources":["../../../../../src/internal/hardhat-network/provider/vm/block-builder/dual.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C,qBAAa,oBAAqB,YAAW,mBAAmB;IAE5D,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,eAAe;gBADf,kBAAkB,EAAE,mBAAmB,EACvC,eAAe,EAAE,mBAAmB;IAGjC,cAAc,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAY1D,QAAQ,CACnB,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,KAAK,CAAC;IAcJ,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAiB3C"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DualModeBlockBuilder = void 0;
4
- const assertions_1 = require("../../utils/assertions");
5
- const rethnet_1 = require("../rethnet");
6
- const ForkStateManager_1 = require("../../fork/ForkStateManager");
7
- class DualModeBlockBuilder {
8
- constructor(_ethereumJSBuilder, _rethnetBuilder) {
9
- this._ethereumJSBuilder = _ethereumJSBuilder;
10
- this._rethnetBuilder = _rethnetBuilder;
11
- }
12
- async addTransaction(tx) {
13
- const ethereumJSResult = await this._ethereumJSBuilder.addTransaction(tx);
14
- const rethnetResult = await this._rethnetBuilder.addTransaction(tx);
15
- // Matches EthereumJS' runCall checkpoint call
16
- rethnet_1.globalRethnetContext.setHashGeneratorSeed((0, ForkStateManager_1.randomHashSeed)());
17
- (0, assertions_1.assertEqualRunTxResults)(ethereumJSResult, rethnetResult);
18
- return rethnetResult;
19
- }
20
- async finalize(rewards, _timestamp) {
21
- const ethereumJSBlock = await this._ethereumJSBuilder.finalize(rewards);
22
- const rethnetBlock = await this._rethnetBuilder.finalize(rewards,
23
- // We have to overwite rethnet's timestamp, as the blocks might have
24
- // been made and slightly different times
25
- ethereumJSBlock.header.timestamp);
26
- (0, assertions_1.assertEqualBlocks)(ethereumJSBlock, rethnetBlock);
27
- return rethnetBlock;
28
- }
29
- async revert() {
30
- await this._ethereumJSBuilder.revert();
31
- await this._rethnetBuilder.revert();
32
- }
33
- async getGasUsed() {
34
- const [ethereumJSGasUsed, rethnetGasUsed] = await Promise.all([
35
- this._ethereumJSBuilder.getGasUsed(),
36
- this._rethnetBuilder.getGasUsed(),
37
- ]);
38
- if (ethereumJSGasUsed !== rethnetGasUsed) {
39
- console.trace(`Different gas used in block: ${ethereumJSGasUsed} (ethereumjs) !== ${rethnetGasUsed} (rethnet)`);
40
- /* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
41
- throw new Error("Different gas used in block");
42
- }
43
- return rethnetGasUsed;
44
- }
45
- }
46
- exports.DualModeBlockBuilder = DualModeBlockBuilder;
47
- //# sourceMappingURL=dual.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dual.js","sourceRoot":"","sources":["../../../../../src/internal/hardhat-network/provider/vm/block-builder/dual.ts"],"names":[],"mappings":";;;AAIA,uDAGgC;AAChC,wCAAkD;AAClD,kEAA6D;AAE7D,MAAa,oBAAoB;IAC/B,YACU,kBAAuC,EACvC,eAAoC;QADpC,uBAAkB,GAAlB,kBAAkB,CAAqB;QACvC,oBAAe,GAAf,eAAe,CAAqB;IAC3C,CAAC;IAEG,KAAK,CAAC,cAAc,CAAC,EAAoB;QAC9C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAC1E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAEpE,8CAA8C;QAC9C,8BAAoB,CAAC,oBAAoB,CAAC,IAAA,iCAAc,GAAE,CAAC,CAAC;QAE5D,IAAA,oCAAuB,EAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAEzD,OAAO,aAAa,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,OAAiB,EACjB,UAAmB;QAEnB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CACtD,OAAO;QACP,oEAAoE;QACpE,yCAAyC;QACzC,eAAe,CAAC,MAAM,CAAC,SAAS,CACjC,CAAC;QAEF,IAAA,8BAAiB,EAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAEjD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5D,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;YACpC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;SAClC,CAAC,CAAC;QAEH,IAAI,iBAAiB,KAAK,cAAc,EAAE;YACxC,OAAO,CAAC,KAAK,CACX,gCAAgC,iBAAiB,qBAAqB,cAAc,YAAY,CACjG,CAAC;YAEF,yEAAyE;YACzE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;CACF;AAzDD,oDAyDC"}
@@ -1,27 +0,0 @@
1
- /// <reference types="node" />
2
- import type { Common } from "@nomicfoundation/ethereumjs-common";
3
- import { Block } from "@nomicfoundation/ethereumjs-block";
4
- import { TypedTransaction } from "@nomicfoundation/ethereumjs-tx";
5
- import { BlockBuilderAdapter, BuildBlockOpts, Reward } from "../block-builder";
6
- import { RunTxResult, VMAdapter } from "../vm-adapter";
7
- export declare class HardhatBlockBuilder implements BlockBuilderAdapter {
8
- private _vm;
9
- private _common;
10
- private _opts;
11
- private _blockStartStateRoot;
12
- private _state;
13
- private _gasUsed;
14
- private _transactions;
15
- private _transactionResults;
16
- constructor(_vm: VMAdapter, _common: Common, _opts: BuildBlockOpts, _blockStartStateRoot: Buffer);
17
- static create(vm: VMAdapter, common: Common, opts: BuildBlockOpts): Promise<HardhatBlockBuilder>;
18
- addTransaction(tx: TypedTransaction): Promise<RunTxResult>;
19
- finalize(rewards: Reward[]): Promise<Block>;
20
- revert(): Promise<void>;
21
- getGasUsed(): Promise<bigint>;
22
- getTransactionResults(): RunTxResult[];
23
- private _getTransactionsTrie;
24
- private _getReceiptsTrie;
25
- private _getLogsBloom;
26
- }
27
- //# sourceMappingURL=hardhat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hardhat.d.ts","sourceRoot":"","sources":["../../../../../src/internal/hardhat-network/provider/vm/block-builder/hardhat.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAIlE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,MAAM,EAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AASvD,qBAAa,mBAAoB,YAAW,mBAAmB;IAO3D,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,oBAAoB;IAT9B,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,mBAAmB,CAAqB;gBAGtC,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,cAAc,EACrB,oBAAoB,EAAE,MAAM;WAGlB,MAAM,CACxB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,mBAAmB,CAAC;IAMlB,cAAc,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAyC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAyD3C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAYvB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,qBAAqB,IAAI,WAAW,EAAE;YAI/B,oBAAoB;YAQpB,gBAAgB;IAU9B,OAAO,CAAC,aAAa;CAQtB"}
@@ -1,136 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HardhatBlockBuilder = void 0;
4
- const ethereumjs_block_1 = require("@nomicfoundation/ethereumjs-block");
5
- const ethereumjs_rlp_1 = require("@nomicfoundation/ethereumjs-rlp");
6
- const ethereumjs_trie_1 = require("@nomicfoundation/ethereumjs-trie");
7
- const bigint_1 = require("../../../../util/bigint");
8
- const bloom_1 = require("../../utils/bloom");
9
- const block_builder_1 = require("../block-builder");
10
- /* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
11
- class HardhatBlockBuilder {
12
- constructor(_vm, _common, _opts, _blockStartStateRoot) {
13
- this._vm = _vm;
14
- this._common = _common;
15
- this._opts = _opts;
16
- this._blockStartStateRoot = _blockStartStateRoot;
17
- this._state = "started";
18
- this._gasUsed = 0n;
19
- this._transactions = [];
20
- this._transactionResults = [];
21
- }
22
- static async create(vm, common, opts) {
23
- const blockStartStateRoot = await vm.getStateRoot();
24
- return new HardhatBlockBuilder(vm, common, opts, blockStartStateRoot);
25
- }
26
- async addTransaction(tx) {
27
- if (this._state !== "started") {
28
- throw new Error(`BlockBuilder.addTransaction cannot be used in state ${this._state}`);
29
- }
30
- const blockGasLimit = (0, bigint_1.fromBigIntLike)(this._opts.headerData?.gasLimit) ?? 1000000n;
31
- const blockGasRemaining = blockGasLimit - this._gasUsed;
32
- if (tx.gasLimit > blockGasRemaining) {
33
- throw new Error("tx has a higher gas limit than the remaining gas in the block");
34
- }
35
- const header = {
36
- ...this._opts.headerData,
37
- gasUsed: this._gasUsed,
38
- };
39
- if (header.number === undefined) {
40
- header.number = this._opts.parentBlock.header.number + 1n;
41
- }
42
- const blockData = { header, transactions: this._transactions };
43
- const block = ethereumjs_block_1.Block.fromBlockData(blockData, {
44
- common: this._common,
45
- skipConsensusFormatValidation: true,
46
- calcDifficultyFromHeader: this._opts.parentBlock.header,
47
- });
48
- const [result] = await this._vm.runTxInBlock(tx, block);
49
- this._transactions.push(tx);
50
- this._transactionResults.push(result);
51
- this._gasUsed += result.gasUsed;
52
- return result;
53
- }
54
- async finalize(rewards) {
55
- if (this._state !== "started") {
56
- throw new Error(`BlockBuilder.seal cannot be used in state ${this._state}`);
57
- }
58
- for (const [address, reward] of rewards) {
59
- const account = await this._vm.getAccount(address);
60
- account.balance += reward;
61
- await this._vm.putAccount(address, account);
62
- }
63
- const stateRoot = await this._vm.getStateRoot();
64
- const transactionsTrie = await this._getTransactionsTrie();
65
- const receiptTrie = await this._getReceiptsTrie();
66
- const logsBloom = this._getLogsBloom();
67
- const gasUsed = this._gasUsed;
68
- const timestamp = this._opts.headerData?.timestamp ?? Math.round(Date.now() / 1000);
69
- const headerData = {
70
- ...this._opts.headerData,
71
- stateRoot,
72
- transactionsTrie,
73
- receiptTrie,
74
- logsBloom,
75
- gasUsed,
76
- timestamp,
77
- };
78
- const blockData = {
79
- header: {
80
- ...headerData,
81
- parentHash: this._opts.headerData?.parentHash ?? this._opts.parentBlock.hash(),
82
- number: this._opts.headerData?.number ??
83
- this._opts.parentBlock.header.number + BigInt(1),
84
- gasLimit: this._opts.headerData?.gasLimit ??
85
- this._opts.parentBlock.header.gasLimit,
86
- },
87
- transactions: this._transactions,
88
- };
89
- const block = ethereumjs_block_1.Block.fromBlockData(blockData, {
90
- common: this._common,
91
- skipConsensusFormatValidation: true,
92
- calcDifficultyFromHeader: this._opts.parentBlock.header,
93
- });
94
- this._state = "sealed";
95
- return block;
96
- }
97
- async revert() {
98
- if (this._state !== "started") {
99
- throw new Error(`BlockBuilder.revert cannot be used in state ${this._state}`);
100
- }
101
- await this._vm.restoreContext(this._blockStartStateRoot);
102
- this._state = "reverted";
103
- }
104
- async getGasUsed() {
105
- return this._gasUsed;
106
- }
107
- getTransactionResults() {
108
- return this._transactionResults;
109
- }
110
- async _getTransactionsTrie() {
111
- const trie = new ethereumjs_trie_1.Trie();
112
- for (const [i, tx] of this._transactions.entries()) {
113
- await trie.put(Buffer.from(ethereumjs_rlp_1.RLP.encode(i)), tx.serialize());
114
- }
115
- return trie.root();
116
- }
117
- async _getReceiptsTrie() {
118
- const receiptTrie = new ethereumjs_trie_1.Trie();
119
- for (const [i, txResult] of this._transactionResults.entries()) {
120
- const tx = this._transactions[i];
121
- const encodedReceipt = (0, block_builder_1.encodeReceipt)(txResult.receipt, tx.type);
122
- await receiptTrie.put(Buffer.from(ethereumjs_rlp_1.RLP.encode(i)), encodedReceipt);
123
- }
124
- return receiptTrie.root();
125
- }
126
- _getLogsBloom() {
127
- const bloom = new bloom_1.Bloom();
128
- for (const txResult of this._transactionResults) {
129
- // Combine blooms via bitwise OR
130
- bloom.or(txResult.bloom);
131
- }
132
- return bloom.bitvector;
133
- }
134
- }
135
- exports.HardhatBlockBuilder = HardhatBlockBuilder;
136
- //# sourceMappingURL=hardhat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hardhat.js","sourceRoot":"","sources":["../../../../../src/internal/hardhat-network/provider/vm/block-builder/hardhat.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { Block } from "@nomicfoundation/ethereumjs-block";
2
- import { Common } from "@nomicfoundation/ethereumjs-common";
3
- import { TypedTransaction } from "@nomicfoundation/ethereumjs-tx";
4
- import { BlockBuilder, Blockchain, Config } from "rethnet-evm";
5
- import { BlockBuilderAdapter, BuildBlockOpts, Reward } from "../block-builder";
6
- import { RunTxResult } from "../vm-adapter";
7
- import { RethnetStateManager } from "../../RethnetState";
8
- import { VMTracer } from "../../../stack-traces/vm-tracer";
9
- export declare class RethnetBlockBuilder implements BlockBuilderAdapter {
10
- private _blockBuilder;
11
- private _vmTracer;
12
- private _common;
13
- constructor(_blockBuilder: BlockBuilder, _vmTracer: VMTracer, _common: Common);
14
- static create(blockchain: Blockchain, state: RethnetStateManager, vmTracer: VMTracer, vmConfig: Config, common: Common, opts: BuildBlockOpts): Promise<RethnetBlockBuilder>;
15
- addTransaction(tx: TypedTransaction): Promise<RunTxResult>;
16
- finalize(rewards: Reward[], timestamp?: bigint): Promise<Block>;
17
- revert(): Promise<void>;
18
- getGasUsed(): Promise<bigint>;
19
- }
20
- //# sourceMappingURL=rethnet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rethnet.d.ts","sourceRoot":"","sources":["../../../../../src/internal/hardhat-network/provider/vm/block-builder/rethnet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AASzD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAG3D,qBAAa,mBAAoB,YAAW,mBAAmB;IAE3D,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;gBAFP,aAAa,EAAE,YAAY,EAC3B,SAAS,EAAE,QAAQ,EACnB,OAAO,EAAE,MAAM;WAGL,MAAM,CACxB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,mBAAmB,CAAC;IAmBlB,cAAc,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IA0B1D,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAW/D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAG3C"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RethnetBlockBuilder = void 0;
4
- const rethnet_evm_1 = require("rethnet-evm");
5
- const rethnet_1 = require("../rethnet");
6
- const convertToRethnet_1 = require("../../utils/convertToRethnet");
7
- class RethnetBlockBuilder {
8
- constructor(_blockBuilder, _vmTracer, _common) {
9
- this._blockBuilder = _blockBuilder;
10
- this._vmTracer = _vmTracer;
11
- this._common = _common;
12
- }
13
- static async create(blockchain, state, vmTracer, vmConfig, common, opts) {
14
- const blockBuilder = await rethnet_evm_1.BlockBuilder.create(rethnet_1.globalRethnetContext, blockchain, state.asInner(), {
15
- chainId: common.chainId(),
16
- specId: (0, convertToRethnet_1.ethereumsjsHardforkToRethnet)(common.hardfork()),
17
- limitContractCodeSize: vmConfig.limitContractCodeSize ?? undefined,
18
- disableBlockGasLimit: vmConfig.disableBlockGasLimit,
19
- disableEip3607: vmConfig.disableEip3607,
20
- }, (0, convertToRethnet_1.ethereumjsBlockHeaderToRethnet)(opts.parentBlock.header), (0, convertToRethnet_1.ethereumjsHeaderDataToRethnetBlockOptions)(opts.headerData));
21
- return new RethnetBlockBuilder(blockBuilder, vmTracer, common);
22
- }
23
- async addTransaction(tx) {
24
- const rethnetTx = (0, convertToRethnet_1.ethereumjsTransactionToRethnetPendingTransaction)(tx);
25
- const cumulativeBlockGasUsed = await this.getGasUsed();
26
- const rethnetResult = await this._blockBuilder.addTransaction(rethnetTx, true);
27
- const trace = rethnetResult.trace;
28
- for (const traceItem of trace) {
29
- if ("pc" in traceItem) {
30
- await this._vmTracer.addStep(traceItem);
31
- }
32
- else if ("executionResult" in traceItem) {
33
- await this._vmTracer.addAfterMessage(traceItem);
34
- }
35
- else {
36
- await this._vmTracer.addBeforeMessage(traceItem);
37
- }
38
- }
39
- return (0, convertToRethnet_1.rethnetResultToRunTxResult)(rethnetResult.result, cumulativeBlockGasUsed);
40
- }
41
- async finalize(rewards, timestamp) {
42
- const block = await this._blockBuilder.finalize(rewards.map(([address, reward]) => {
43
- return [address.buf, reward];
44
- }), timestamp);
45
- return (0, convertToRethnet_1.rethnetBlockToEthereumJS)(block, this._common);
46
- }
47
- async revert() {
48
- await this._blockBuilder.abort();
49
- }
50
- async getGasUsed() {
51
- return this._blockBuilder.gasUsed;
52
- }
53
- }
54
- exports.RethnetBlockBuilder = RethnetBlockBuilder;
55
- //# sourceMappingURL=rethnet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rethnet.js","sourceRoot":"","sources":["../../../../../src/internal/hardhat-network/provider/vm/block-builder/rethnet.ts"],"names":[],"mappings":";;;AAGA,6CAA+D;AAE/D,wCAAkD;AAGlD,mEAOsC;AAItC,MAAa,mBAAmB;IAC9B,YACU,aAA2B,EAC3B,SAAmB,EACnB,OAAe;QAFf,kBAAa,GAAb,aAAa,CAAc;QAC3B,cAAS,GAAT,SAAS,CAAU;QACnB,YAAO,GAAP,OAAO,CAAQ;IACtB,CAAC;IAEG,MAAM,CAAC,KAAK,CAAC,MAAM,CACxB,UAAsB,EACtB,KAA0B,EAC1B,QAAkB,EAClB,QAAgB,EAChB,MAAc,EACd,IAAoB;QAEpB,MAAM,YAAY,GAAG,MAAM,0BAAY,CAAC,MAAM,CAC5C,8BAAoB,EACpB,UAAU,EACV,KAAK,CAAC,OAAO,EAAE,EACf;YACE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;YACzB,MAAM,EAAE,IAAA,+CAA4B,EAAC,MAAM,CAAC,QAAQ,EAAkB,CAAC;YACvE,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,IAAI,SAAS;YAClE,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;YACnD,cAAc,EAAE,QAAQ,CAAC,cAAc;SACxC,EACD,IAAA,iDAA8B,EAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EACvD,IAAA,4DAAyC,EAAC,IAAI,CAAC,UAAU,CAAC,CAC3D,CAAC;QAEF,OAAO,IAAI,mBAAmB,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,EAAoB;QAC9C,MAAM,SAAS,GAAG,IAAA,mEAAgD,EAAC,EAAE,CAAC,CAAC;QAEvE,MAAM,sBAAsB,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAC3D,SAAS,EACT,IAAI,CACL,CAAC;QAEF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAM,CAAC;QACnC,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;YAC7B,IAAI,IAAI,IAAI,SAAS,EAAE;gBACrB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACzC;iBAAM,IAAI,iBAAiB,IAAI,SAAS,EAAE;gBACzC,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;aACjD;iBAAM;gBACL,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;aAClD;SACF;QAED,OAAO,IAAA,6CAA0B,EAC/B,aAAa,CAAC,MAAM,EACpB,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,OAAiB,EAAE,SAAkB;QACzD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE;YAChC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,EACF,SAAS,CACV,CAAC;QAEF,OAAO,IAAA,2CAAwB,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;IACpC,CAAC;CACF;AA7ED,kDA6EC"}
@@ -1,19 +0,0 @@
1
- /// <reference types="node" />
2
- import { Block, HeaderData } from "@nomicfoundation/ethereumjs-block";
3
- import { TypedTransaction } from "@nomicfoundation/ethereumjs-tx";
4
- import { Address } from "@nomicfoundation/ethereumjs-util";
5
- import { TxReceipt } from "@nomicfoundation/ethereumjs-vm";
6
- import { RunTxResult } from "./vm-adapter";
7
- export declare type Reward = [address: Address, reward: bigint];
8
- export interface BuildBlockOpts {
9
- parentBlock: Block;
10
- headerData?: HeaderData;
11
- }
12
- export interface BlockBuilderAdapter {
13
- addTransaction(tx: TypedTransaction): Promise<RunTxResult>;
14
- finalize(rewards: Reward[], timestamp?: bigint): Promise<Block>;
15
- revert(): Promise<void>;
16
- getGasUsed(): Promise<bigint>;
17
- }
18
- export declare function encodeReceipt(receipt: TxReceipt, txType: number): Buffer;
19
- //# sourceMappingURL=block-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"block-builder.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/vm/block-builder.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACL,OAAO,EAIR,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAGL,SAAS,EACV,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,oBAAY,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,KAAK,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3D,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAEhE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,UAsB/D"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.encodeReceipt = void 0;
4
- const ethereumjs_rlp_1 = require("@nomicfoundation/ethereumjs-rlp");
5
- const ethereumjs_util_1 = require("@nomicfoundation/ethereumjs-util");
6
- function encodeReceipt(receipt, txType) {
7
- const encoded = Buffer.from(ethereumjs_rlp_1.RLP.encode((0, ethereumjs_util_1.bufArrToArr)([
8
- receipt.stateRoot ??
9
- (receipt.status === 0
10
- ? Buffer.from([])
11
- : Buffer.from("01", "hex")),
12
- (0, ethereumjs_util_1.bigIntToBuffer)(receipt.cumulativeBlockGasUsed),
13
- receipt.bitvector,
14
- receipt.logs,
15
- ])));
16
- if (txType === 0) {
17
- return encoded;
18
- }
19
- // Serialize receipt according to EIP-2718:
20
- // `typed-receipt = tx-type || receipt-data`
21
- return Buffer.concat([(0, ethereumjs_util_1.intToBuffer)(txType), encoded]);
22
- }
23
- exports.encodeReceipt = encodeReceipt;
24
- //# sourceMappingURL=block-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"block-builder.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/vm/block-builder.ts"],"names":[],"mappings":";;;AACA,oEAAsD;AAEtD,sEAK0C;AA0B1C,SAAgB,aAAa,CAAC,OAAkB,EAAE,MAAc;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,oBAAG,CAAC,MAAM,CACR,IAAA,6BAAW,EAAC;QACT,OAAiC,CAAC,SAAS;YAC1C,CAAE,OAAkC,CAAC,MAAM,KAAK,CAAC;gBAC/C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAA,gCAAc,EAAC,OAAO,CAAC,sBAAsB,CAAC;QAC9C,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,IAAI;KACb,CAAC,CACH,CACF,CAAC;IAEF,IAAI,MAAM,KAAK,CAAC,EAAE;QAChB,OAAO,OAAO,CAAC;KAChB;IAED,2CAA2C;IAC3C,4CAA4C;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,IAAA,6BAAW,EAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACvD,CAAC;AAtBD,sCAsBC"}
@@ -1,10 +0,0 @@
1
- import { Common } from "@nomicfoundation/ethereumjs-common";
2
- import { NodeConfig } from "../node-types";
3
- import { HardhatBlockchainInterface } from "../types/HardhatBlockchainInterface";
4
- import { VMAdapter } from "./vm-adapter";
5
- /**
6
- * Creates an instance of a VMAdapter. Which implementation is used depends on
7
- * the value of the HARDHAT_EXPERIMENTAL_VM_MODE environment variable.
8
- */
9
- export declare function createVm(common: Common, blockchain: HardhatBlockchainInterface, config: NodeConfig, selectHardfork: (blockNumber: bigint) => string): Promise<VMAdapter>;
10
- //# sourceMappingURL=creation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"creation.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/vm/creation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAG5D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAIjF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,0BAA0B,EACtC,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAC9C,OAAO,CAAC,SAAS,CAAC,CAoBpB"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createVm = void 0;
4
- const errors_1 = require("../../../core/errors");
5
- const dual_1 = require("./dual");
6
- const ethereumjs_1 = require("./ethereumjs");
7
- const rethnet_1 = require("./rethnet");
8
- /**
9
- * Creates an instance of a VMAdapter. Which implementation is used depends on
10
- * the value of the HARDHAT_EXPERIMENTAL_VM_MODE environment variable.
11
- */
12
- function createVm(common, blockchain, config, selectHardfork) {
13
- const vmModeEnvVar = process.env.HARDHAT_EXPERIMENTAL_VM_MODE;
14
- if (vmModeEnvVar === "ethereumjs") {
15
- return ethereumjs_1.EthereumJSAdapter.create(common, blockchain, config, selectHardfork);
16
- }
17
- else if (vmModeEnvVar === "rethnet") {
18
- return rethnet_1.RethnetAdapter.create(config, selectHardfork, async (blockNumber) => {
19
- const block = await blockchain.getBlock(blockNumber);
20
- (0, errors_1.assertHardhatInvariant)(block !== null, "Should be able to get block");
21
- return block.header.hash();
22
- }, common);
23
- }
24
- else {
25
- return dual_1.DualModeAdapter.create(common, blockchain, config, selectHardfork);
26
- }
27
- }
28
- exports.createVm = createVm;
29
- //# sourceMappingURL=creation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"creation.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/vm/creation.ts"],"names":[],"mappings":";;;AACA,iDAA8D;AAI9D,iCAAyC;AACzC,6CAAiD;AACjD,uCAA2C;AAG3C;;;GAGG;AACH,SAAgB,QAAQ,CACtB,MAAc,EACd,UAAsC,EACtC,MAAkB,EAClB,cAA+C;IAE/C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAE9D,IAAI,YAAY,KAAK,YAAY,EAAE;QACjC,OAAO,8BAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;KAC7E;SAAM,IAAI,YAAY,KAAK,SAAS,EAAE;QACrC,OAAO,wBAAc,CAAC,MAAM,CAC1B,MAAM,EACN,cAAc,EACd,KAAK,EAAE,WAAW,EAAE,EAAE;YACpB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACrD,IAAA,+BAAsB,EAAC,KAAK,KAAK,IAAI,EAAE,6BAA6B,CAAC,CAAC;YAEtE,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC,EACD,MAAM,CACP,CAAC;KACH;SAAM;QACL,OAAO,sBAAe,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;KAC3E;AACH,CAAC;AAzBD,4BAyBC"}
@@ -1,43 +0,0 @@
1
- /// <reference types="node" />
2
- import { Block } from "@nomicfoundation/ethereumjs-block";
3
- import { Common } from "@nomicfoundation/ethereumjs-common";
4
- import { TypedTransaction } from "@nomicfoundation/ethereumjs-tx";
5
- import { Account, Address } from "@nomicfoundation/ethereumjs-util";
6
- import { RpcDebugTracingConfig } from "../../../core/jsonrpc/types/input/debugTraceTransaction";
7
- import { MessageTrace } from "../../stack-traces/message-trace";
8
- import { VMTracer } from "../../stack-traces/vm-tracer";
9
- import { NodeConfig } from "../node-types";
10
- import { RpcDebugTraceOutput } from "../output";
11
- import { HardhatBlockchainInterface } from "../types/HardhatBlockchainInterface";
12
- import { RunTxResult, Trace, VMAdapter } from "./vm-adapter";
13
- import { BlockBuilderAdapter, BuildBlockOpts } from "./block-builder";
14
- export declare class DualModeAdapter implements VMAdapter {
15
- private _ethereumJSAdapter;
16
- private _rethnetAdapter;
17
- private _ethereumJSVMTracer;
18
- private _rethnetVMTracer;
19
- constructor(_ethereumJSAdapter: VMAdapter, _rethnetAdapter: VMAdapter, _ethereumJSVMTracer: VMTracer, _rethnetVMTracer: VMTracer);
20
- static create(common: Common, blockchain: HardhatBlockchainInterface, config: NodeConfig, selectHardfork: (blockNumber: bigint) => string): Promise<DualModeAdapter>;
21
- dryRun(tx: TypedTransaction, blockContext: Block, forceBaseFeeZero?: boolean): Promise<[RunTxResult, Trace]>;
22
- getStateRoot(): Promise<Buffer>;
23
- getAccount(address: Address): Promise<Account>;
24
- getContractStorage(address: Address, key: Buffer): Promise<Buffer>;
25
- getContractCode(address: Address): Promise<Buffer>;
26
- putAccount(address: Address, account: Account): Promise<void>;
27
- putContractCode(address: Address, value: Buffer): Promise<void>;
28
- putContractStorage(address: Address, key: Buffer, value: Buffer): Promise<void>;
29
- restoreContext(stateRoot: Buffer): Promise<void>;
30
- traceTransaction(hash: Buffer, block: Block, config: RpcDebugTracingConfig): Promise<RpcDebugTraceOutput>;
31
- setBlockContext(block: Block, irregularStateOrUndefined: Buffer | undefined): Promise<void>;
32
- runTxInBlock(tx: TypedTransaction, block: Block): Promise<[RunTxResult, Trace]>;
33
- makeSnapshot(): Promise<Buffer>;
34
- removeSnapshot(stateRoot: Buffer): Promise<void>;
35
- getLastTrace(): {
36
- trace: MessageTrace | undefined;
37
- error: Error | undefined;
38
- };
39
- clearLastError(): void;
40
- printState(): Promise<void>;
41
- createBlockBuilder(common: Common, opts: BuildBlockOpts): Promise<BlockBuilderAdapter>;
42
- }
43
- //# sourceMappingURL=dual.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dual.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/vm/dual.ts"],"names":[],"mappings":"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"}