Skip to content

Commit c1316fc

Browse files
committed
docs: update
1 parent c389bbb commit c1316fc

18 files changed

+203
-360
lines changed

docs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343

4444
**OOGResult**(gasLimit: *`BN`*): [ExecResult](interfaces/execresult.md)
4545

46-
*Defined in [evm/evm.ts:80](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/evm/evm.ts#L80)*
46+
*Defined in [evm/evm.ts:80](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/evm/evm.ts#L80)*
4747

4848
**Parameters:**
4949

docs/classes/statemanager.md

Lines changed: 50 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
# Class: StateManager
44

5-
Interface for getting and setting data from an underlying state trie.
6-
75
## Hierarchy
86

97
**StateManager**
@@ -50,6 +48,7 @@ Interface for getting and setting data from an underlying state trie.
5048
* [putContractStorage](statemanager.md#putcontractstorage)
5149
* [revert](statemanager.md#revert)
5250
* [setStateRoot](statemanager.md#setstateroot)
51+
* [touchAccount](statemanager.md#touchaccount)
5352

5453
---
5554

@@ -61,9 +60,7 @@ Interface for getting and setting data from an underlying state trie.
6160

6261
**new StateManager**(opts?: *[StateManagerOpts](../interfaces/statemanageropts.md)*): [StateManager](statemanager.md)
6362

64-
*Defined in [state/stateManager.ts:45](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L45)*
65-
66-
Instantiate the StateManager interface.
63+
*Defined in [state/stateManager.ts:46](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L46)*
6764

6865
**Parameters:**
6966

@@ -83,7 +80,7 @@ ___
8380

8481
**_cache**: *`Cache`*
8582

86-
*Defined in [state/stateManager.ts:41](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L41)*
83+
*Defined in [state/stateManager.ts:42](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L42)*
8784

8885
___
8986
<a id="_checkpointcount"></a>
@@ -92,7 +89,7 @@ ___
9289

9390
**_checkpointCount**: *`number`*
9491

95-
*Defined in [state/stateManager.ts:44](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L44)*
92+
*Defined in [state/stateManager.ts:45](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L45)*
9693

9794
___
9895
<a id="_common"></a>
@@ -101,7 +98,7 @@ ___
10198

10299
**_common**: *`Common`*
103100

104-
*Defined in [state/stateManager.ts:38](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L38)*
101+
*Defined in [state/stateManager.ts:39](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L39)*
105102

106103
___
107104
<a id="_originalstoragecache"></a>
@@ -110,7 +107,7 @@ ___
110107

111108
**_originalStorageCache**: *`Map`<`string`, `Map`<`string`, `Buffer`>>*
112109

113-
*Defined in [state/stateManager.ts:45](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L45)*
110+
*Defined in [state/stateManager.ts:46](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L46)*
114111

115112
___
116113
<a id="_storagetries"></a>
@@ -119,7 +116,7 @@ ___
119116

120117
**_storageTries**: *`any`*
121118

122-
*Defined in [state/stateManager.ts:40](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L40)*
119+
*Defined in [state/stateManager.ts:41](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L41)*
123120

124121
___
125122
<a id="_touched"></a>
@@ -128,7 +125,7 @@ ___
128125

129126
**_touched**: *`Set`<`string`>*
130127

131-
*Defined in [state/stateManager.ts:42](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L42)*
128+
*Defined in [state/stateManager.ts:43](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L43)*
132129

133130
___
134131
<a id="_touchedstack"></a>
@@ -137,7 +134,7 @@ ___
137134

138135
**_touchedStack**: *`Set`<`string`>[]*
139136

140-
*Defined in [state/stateManager.ts:43](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L43)*
137+
*Defined in [state/stateManager.ts:44](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L44)*
141138

142139
___
143140
<a id="_trie"></a>
@@ -146,7 +143,7 @@ ___
146143

147144
**_trie**: *`any`*
148145

149-
*Defined in [state/stateManager.ts:39](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L39)*
146+
*Defined in [state/stateManager.ts:40](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L40)*
150147

151148
___
152149

@@ -158,9 +155,7 @@ ___
158155

159156
**_getStorageTrie**(address: *`Buffer`*, cb: *`any`*): `void`
160157

161-
*Defined in [state/stateManager.ts:177](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L177)*
162-
163-
Gets the storage trie for an account from the storage cache or does a lookup.
158+
*Defined in [state/stateManager.ts:189](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L189)*
164159

165160
**Parameters:**
166161

@@ -178,9 +173,7 @@ ___
178173

179174
**_lookupStorageTrie**(address: *`Buffer`*, cb: *`any`*): `void`
180175

181-
*Defined in [state/stateManager.ts:159](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L159)*
182-
183-
Creates a storage trie from the primary storage trie for an account and saves this in the storage cache.
176+
*Defined in [state/stateManager.ts:171](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L171)*
184177

185178
**Parameters:**
186179

@@ -198,9 +191,7 @@ ___
198191

199192
**_modifyContractStorage**(address: *`Buffer`*, modifyTrie: *`any`*, cb: *`any`*): `void`
200193

201-
*Defined in [state/stateManager.ts:264](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L264)*
202-
203-
Modifies the storage trie of an account
194+
*Defined in [state/stateManager.ts:276](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L276)*
204195

205196
**Parameters:**
206197

@@ -219,9 +210,7 @@ ___
219210

220211
**accountIsEmpty**(address: *`Buffer`*, cb: *`any`*): `void`
221212

222-
*Defined in [state/stateManager.ts:554](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L554)*
223-
224-
Checks if the `account` corresponding to `address` is empty as defined in [EIP-161](https://eips.ethereum.org/EIPS/eip-161).
213+
*Defined in [state/stateManager.ts:573](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L573)*
225214

226215
**Parameters:**
227216

@@ -239,9 +228,7 @@ ___
239228

240229
**checkpoint**(cb: *`any`*): `void`
241230

242-
*Defined in [state/stateManager.ts:334](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L334)*
243-
244-
Checkpoints the current state of the StateManager instance. State changes that follow can then be committed by calling `commit` or `reverted` by calling rollback.
231+
*Defined in [state/stateManager.ts:346](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L346)*
245232

246233
**Parameters:**
247234

@@ -258,9 +245,7 @@ ___
258245

259246
**cleanupTouchedAccounts**(cb: *`any`*): `void`
260247

261-
*Defined in [state/stateManager.ts:575](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L575)*
262-
263-
Removes accounts form the state trie that have been touched, as defined in [EIP-161](https://eips.ethereum.org/EIPS/eip-161).
248+
*Defined in [state/stateManager.ts:594](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L594)*
264249

265250
**Parameters:**
266251

@@ -277,9 +262,7 @@ ___
277262

278263
**clearContractStorage**(address: *`Buffer`*, cb: *`any`*): `void`
279264

280-
*Defined in [state/stateManager.ts:317](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L317)*
281-
282-
Clears all storage entries for the account corresponding to `address`.
265+
*Defined in [state/stateManager.ts:329](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L329)*
283266

284267
**Parameters:**
285268

@@ -297,9 +280,7 @@ ___
297280

298281
**commit**(cb: *`any`*): `void`
299282

300-
*Defined in [state/stateManager.ts:347](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L347)*
301-
302-
Commits the current change-set to the instance since the last call to checkpoint.
283+
*Defined in [state/stateManager.ts:359](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L359)*
303284

304285
**Parameters:**
305286

@@ -316,9 +297,7 @@ ___
316297

317298
**copy**(): [StateManager](statemanager.md)
318299

319-
*Defined in [state/stateManager.ts:71](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L71)*
320-
321-
Copies the current instance of the `StateManager` at the last fully committed point, i.e. as if all current checkpoints were reverted.
300+
*Defined in [state/stateManager.ts:72](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L72)*
322301

323302
**Returns:** [StateManager](statemanager.md)
324303

@@ -329,9 +308,7 @@ ___
329308

330309
**dumpStorage**(address: *`Buffer`*, cb: *`any`*): `void`
331310

332-
*Defined in [state/stateManager.ts:460](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L460)*
333-
334-
Dumps the the storage values for an `account` specified by `address`.
311+
*Defined in [state/stateManager.ts:479](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L479)*
335312

336313
**Parameters:**
337314

@@ -349,9 +326,7 @@ ___
349326

350327
**generateCanonicalGenesis**(cb: *`any`*): `void`
351328

352-
*Defined in [state/stateManager.ts:500](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L500)*
353-
354-
Generates a canonical genesis state on the instance based on the configured chain parameters. Will error if there are uncommitted checkpoints on the instance.
329+
*Defined in [state/stateManager.ts:519](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L519)*
355330

356331
**Parameters:**
357332

@@ -368,9 +343,7 @@ ___
368343

369344
**generateGenesis**(initState: *`any`*, cb: *`any`*): `any`
370345

371-
*Defined in [state/stateManager.ts:519](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L519)*
372-
373-
Initializes the provided genesis state into the state trie
346+
*Defined in [state/stateManager.ts:538](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L538)*
374347

375348
**Parameters:**
376349

@@ -388,9 +361,7 @@ ___
388361

389362
**getAccount**(address: *`Buffer`*, cb: *`any`*): `void`
390363

391-
*Defined in [state/stateManager.ts:89](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L89)*
392-
393-
Gets the [`ethereumjs-account`](https://github.com/ethereumjs/ethereumjs-account) associated with `address`. Returns an empty account if the account does not exist.
364+
*Defined in [state/stateManager.ts:90](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L90)*
394365

395366
**Parameters:**
396367

@@ -408,9 +379,7 @@ ___
408379

409380
**getContractCode**(address: *`Buffer`*, cb: *`any`*): `void`
410381

411-
*Defined in [state/stateManager.ts:145](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L145)*
412-
413-
Gets the code corresponding to the provided `address`.
382+
*Defined in [state/stateManager.ts:157](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L157)*
414383

415384
**Parameters:**
416385

@@ -428,9 +397,7 @@ ___
428397

429398
**getContractStorage**(address: *`Buffer`*, key: *`Buffer`*, cb: *`any`*): `void`
430399

431-
*Defined in [state/stateManager.ts:203](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L203)*
432-
433-
Gets the storage value associated with the provided `address` and `key`. This method returns the shortest representation of the stored value.
400+
*Defined in [state/stateManager.ts:215](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L215)*
434401

435402
**Parameters:**
436403

@@ -449,9 +416,7 @@ ___
449416

450417
**getOriginalContractStorage**(address: *`Buffer`*, key: *`Buffer`*, cb: *`any`*): `void`
451418

452-
*Defined in [state/stateManager.ts:230](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L230)*
453-
454-
Caches the storage value associated with the provided `address` and `key` on first invocation, and returns the cached (original) value from then onwards. This is used to get the original value of a storage slot for computing gas costs according to EIP-1283.
419+
*Defined in [state/stateManager.ts:242](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L242)*
455420

456421
**Parameters:**
457422

@@ -470,9 +435,7 @@ ___
470435

471436
**getStateRoot**(cb: *`any`*): `void`
472437

473-
*Defined in [state/stateManager.ts:396](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L396)*
474-
475-
Gets the state-root of the Merkle-Patricia trie representation of the state of this StateManager. Will error if there are uncommitted checkpoints on the instance.
438+
*Defined in [state/stateManager.ts:415](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L415)*
476439

477440
**Parameters:**
478441

@@ -489,9 +452,7 @@ ___
489452

490453
**hasGenesisState**(cb: *`any`*): `void`
491454

492-
*Defined in [state/stateManager.ts:489](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L489)*
493-
494-
Checks whether the current instance has the canonical genesis state for the configured chain parameters.
455+
*Defined in [state/stateManager.ts:508](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L508)*
495456

496457
**Parameters:**
497458

@@ -508,9 +469,7 @@ ___
508469

509470
**putAccount**(address: *`Buffer`*, account: *`Account`*, cb: *`any`*): `void`
510471

511-
*Defined in [state/stateManager.ts:100](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L100)*
512-
513-
Saves an [`ethereumjs-account`](https://github.com/ethereumjs/ethereumjs-account) into state under the provided `address`.
472+
*Defined in [state/stateManager.ts:101](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L101)*
514473

515474
**Parameters:**
516475

@@ -529,9 +488,7 @@ ___
529488

530489
**putContractCode**(address: *`Buffer`*, value: *`Buffer`*, cb: *`any`*): `void`
531490

532-
*Defined in [state/stateManager.ts:117](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L117)*
533-
534-
Adds `value` to the state trie as code, and sets `codeHash` on the account corresponding to `address` to reference this.
491+
*Defined in [state/stateManager.ts:129](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L129)*
535492

536493
**Parameters:**
537494

@@ -550,9 +507,7 @@ ___
550507

551508
**putContractStorage**(address: *`Buffer`*, key: *`Buffer`*, value: *`Buffer`*, cb: *`any`*): `void`
552509

553-
*Defined in [state/stateManager.ts:291](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L291)*
554-
555-
Adds value to the state trie for the `account` corresponding to `address` at the provided `key`.
510+
*Defined in [state/stateManager.ts:303](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L303)*
556511

557512
**Parameters:**
558513

@@ -572,9 +527,7 @@ ___
572527

573528
**revert**(cb: *`any`*): `void`
574529

575-
*Defined in [state/stateManager.ts:365](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L365)*
576-
577-
Reverts the current change-set to the instance since the last call to checkpoint.
530+
*Defined in [state/stateManager.ts:377](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L377)*
578531

579532
**Parameters:**
580533

@@ -591,9 +544,7 @@ ___
591544

592545
**setStateRoot**(stateRoot: *`Buffer`*, cb: *`any`*): `void`
593546

594-
*Defined in [state/stateManager.ts:418](https://github.com/ethereumjs/ethereumjs-vm/blob/439570a/lib/state/stateManager.ts#L418)*
595-
596-
Sets the state of the instance to that represented by the provided `stateRoot`. Will error if there are uncommitted checkpoints on the instance or if the state root does not exist in the state trie.
547+
*Defined in [state/stateManager.ts:437](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L437)*
597548

598549
**Parameters:**
599550

@@ -605,4 +556,21 @@ Sets the state of the instance to that represented by the provided `stateRoot`.
605556
**Returns:** `void`
606557

607558
___
559+
<a id="touchaccount"></a>
560+
561+
### touchAccount
562+
563+
**touchAccount**(address: *`Buffer`*): `void`
564+
565+
*Defined in [state/stateManager.ts:118](https://github.com/ethereumjs/ethereumjs-vm/blob/c389bbb/lib/state/stateManager.ts#L118)*
566+
567+
**Parameters:**
568+
569+
| Name | Type |
570+
| ------ | ------ |
571+
| address | `Buffer` |
572+
573+
**Returns:** `void`
574+
575+
___
608576

0 commit comments

Comments
 (0)