diff --git a/packages/vm/docs/classes/_exceptions_.vmerror.md b/packages/vm/docs/classes/_exceptions_.vmerror.md index cac928e6c4..c33c6b9c5c 100644 --- a/packages/vm/docs/classes/_exceptions_.vmerror.md +++ b/packages/vm/docs/classes/_exceptions_.vmerror.md @@ -23,7 +23,7 @@ \+ **new VmError**(`error`: [ERROR](../enums/_exceptions_.error.md)): *[VmError](_exceptions_.vmerror.md)* -*Defined in [exceptions.ts:29](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L29)* +*Defined in [exceptions.ts:29](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L29)* **Parameters:** @@ -39,7 +39,7 @@ Name | Type | • **error**: *[ERROR](../enums/_exceptions_.error.md)* -*Defined in [exceptions.ts:28](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L28)* +*Defined in [exceptions.ts:28](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L28)* ___ @@ -47,4 +47,4 @@ ___ • **errorType**: *string* -*Defined in [exceptions.ts:29](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L29)* +*Defined in [exceptions.ts:29](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L29)* diff --git a/packages/vm/docs/classes/_index_.vm.md b/packages/vm/docs/classes/_index_.vm.md index 5c895eba9e..f00e796794 100644 --- a/packages/vm/docs/classes/_index_.vm.md +++ b/packages/vm/docs/classes/_index_.vm.md @@ -43,7 +43,7 @@ This class is an AsyncEventEmitter, please consult the README to learn how to us \+ **new VM**(`opts`: [VMOpts](../interfaces/_index_.vmopts.md)): *[VM](_index_.vm.md)* -*Defined in [index.ts:147](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L147)* +*Defined in [index.ts:148](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L148)* Instantiates a new [VM](_index_.vm.md) Object. @@ -61,7 +61,7 @@ Name | Type | Default | Description | • **_common**: *Common* -*Defined in [index.ts:117](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L117)* +*Defined in [index.ts:118](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L118)* ___ @@ -69,7 +69,7 @@ ___ • **blockchain**: *Blockchain* -*Defined in [index.ts:115](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L115)* +*Defined in [index.ts:116](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L116)* The blockchain the VM operates on @@ -79,7 +79,7 @@ ___ • **stateManager**: *[StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [index.ts:111](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L111)* +*Defined in [index.ts:112](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L112)* The StateManager used by the VM @@ -89,7 +89,7 @@ The StateManager used by the VM ▸ **copy**(): *[VM](_index_.vm.md)* -*Defined in [index.ts:343](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L343)* +*Defined in [index.ts:344](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L344)* Returns a copy of the [VM](_index_.vm.md) instance. @@ -101,7 +101,7 @@ ___ ▸ **getActiveOpcodes**(): *OpcodeList* -*Defined in [index.ts:336](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L336)* +*Defined in [index.ts:337](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L337)* Returns a list with the currently activated opcodes available for VM execution @@ -114,7 +114,7 @@ ___ ▸ **init**(): *Promise‹void›* -*Defined in [index.ts:232](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L232)* +*Defined in [index.ts:233](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L233)* **Returns:** *Promise‹void›* @@ -124,7 +124,7 @@ ___ ▸ **runBlock**(`opts`: [RunBlockOpts](../interfaces/_runblock_.runblockopts.md)): *Promise‹[RunBlockResult](../interfaces/_runblock_.runblockresult.md)›* -*Defined in [index.ts:289](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L289)* +*Defined in [index.ts:290](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L290)* Processes the `block` running all of the transactions it contains and updating the miner's account @@ -146,7 +146,7 @@ ___ ▸ **runBlockchain**(`blockchain?`: Blockchain, `maxBlocks?`: undefined | number): *Promise‹void | number›* -*Defined in [index.ts:274](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L274)* +*Defined in [index.ts:275](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L275)* Processes blocks and adds them to the blockchain. @@ -156,7 +156,7 @@ This method modifies the state. Name | Type | Description | ------ | ------ | ------ | -`blockchain?` | Blockchain | An [@ethereumjs/blockchain](https://github.com/ethereumjs/ethereumjs-vm/tree/master/packages/blockchain) object to process | +`blockchain?` | Blockchain | An [@ethereumjs/blockchain](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/blockchain) object to process | `maxBlocks?` | undefined | number | - | **Returns:** *Promise‹void | number›* @@ -167,7 +167,7 @@ ___ ▸ **runCall**(`opts`: [RunCallOpts](../interfaces/_runcall_.runcallopts.md)): *Promise‹EVMResult›* -*Defined in [index.ts:315](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L315)* +*Defined in [index.ts:316](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L316)* runs a call (or create) operation. @@ -187,7 +187,7 @@ ___ ▸ **runCode**(`opts`: [RunCodeOpts](../interfaces/_runcode_.runcodeopts.md)): *Promise‹ExecResult›* -*Defined in [index.ts:327](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L327)* +*Defined in [index.ts:328](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L328)* Runs EVM code. @@ -207,7 +207,7 @@ ___ ▸ **runTx**(`opts`: [RunTxOpts](../interfaces/_runtx_.runtxopts.md)): *Promise‹[RunTxResult](../interfaces/_runtx_.runtxresult.md)›* -*Defined in [index.ts:303](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L303)* +*Defined in [index.ts:304](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L304)* Process a transaction. Run the vm. Transfers eth. Checks balances. @@ -229,7 +229,7 @@ ___ ▸ **create**(`opts`: [VMOpts](../interfaces/_index_.vmopts.md)): *Promise‹[VM](_index_.vm.md)›* -*Defined in [index.ts:143](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L143)* +*Defined in [index.ts:144](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L144)* VM async constructor. Creates engine instance and initializes it. diff --git a/packages/vm/docs/classes/_state_index_.defaultstatemanager.md b/packages/vm/docs/classes/_state_index_.defaultstatemanager.md index 8bb39179ff..0251cf20ee 100644 --- a/packages/vm/docs/classes/_state_index_.defaultstatemanager.md +++ b/packages/vm/docs/classes/_state_index_.defaultstatemanager.md @@ -21,6 +21,7 @@ state trie. ### Properties +* [_accessedStorage](_state_index_.defaultstatemanager.md#_accessedstorage) * [_cache](_state_index_.defaultstatemanager.md#_cache) * [_checkpointCount](_state_index_.defaultstatemanager.md#_checkpointcount) * [_common](_state_index_.defaultstatemanager.md#_common) @@ -38,10 +39,13 @@ state trie. * [_modifyContractStorage](_state_index_.defaultstatemanager.md#private-_modifycontractstorage) * [accountExists](_state_index_.defaultstatemanager.md#accountexists) * [accountIsEmpty](_state_index_.defaultstatemanager.md#accountisempty) +* [addWarmedAddress](_state_index_.defaultstatemanager.md#addwarmedaddress) +* [addWarmedStorage](_state_index_.defaultstatemanager.md#addwarmedstorage) * [checkpoint](_state_index_.defaultstatemanager.md#checkpoint) * [cleanupTouchedAccounts](_state_index_.defaultstatemanager.md#cleanuptouchedaccounts) * [clearContractStorage](_state_index_.defaultstatemanager.md#clearcontractstorage) * [clearOriginalStorageCache](_state_index_.defaultstatemanager.md#clearoriginalstoragecache) +* [clearWarmedAccounts](_state_index_.defaultstatemanager.md#clearwarmedaccounts) * [commit](_state_index_.defaultstatemanager.md#commit) * [copy](_state_index_.defaultstatemanager.md#copy) * [deleteAccount](_state_index_.defaultstatemanager.md#deleteaccount) @@ -54,6 +58,8 @@ state trie. * [getOriginalContractStorage](_state_index_.defaultstatemanager.md#getoriginalcontractstorage) * [getStateRoot](_state_index_.defaultstatemanager.md#getstateroot) * [hasGenesisState](_state_index_.defaultstatemanager.md#hasgenesisstate) +* [isWarmedAddress](_state_index_.defaultstatemanager.md#iswarmedaddress) +* [isWarmedStorage](_state_index_.defaultstatemanager.md#iswarmedstorage) * [putAccount](_state_index_.defaultstatemanager.md#putaccount) * [putContractCode](_state_index_.defaultstatemanager.md#putcontractcode) * [putContractStorage](_state_index_.defaultstatemanager.md#putcontractstorage) @@ -67,7 +73,7 @@ state trie. \+ **new DefaultStateManager**(`opts`: [DefaultStateManagerOpts](../interfaces/_state_statemanager_.defaultstatemanageropts.md)): *[DefaultStateManager](_state_index_.defaultstatemanager.md)* -*Defined in [state/stateManager.ts:51](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L51)* +*Defined in [state/stateManager.ts:61](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L61)* Instantiate the StateManager interface. @@ -81,11 +87,19 @@ Name | Type | Default | ## Properties +### _accessedStorage + +• **_accessedStorage**: *Map‹string, Set‹string››[]* + +*Defined in [state/stateManager.ts:61](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L61)* + +___ + ### _cache • **_cache**: *Cache* -*Defined in [state/stateManager.ts:47](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L47)* +*Defined in [state/stateManager.ts:47](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L47)* ___ @@ -93,7 +107,7 @@ ___ • **_checkpointCount**: *number* -*Defined in [state/stateManager.ts:50](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L50)* +*Defined in [state/stateManager.ts:50](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L50)* ___ @@ -101,7 +115,7 @@ ___ • **_common**: *Common* -*Defined in [state/stateManager.ts:44](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L44)* +*Defined in [state/stateManager.ts:44](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L44)* ___ @@ -109,7 +123,7 @@ ___ • **_originalStorageCache**: *Map‹AddressHex, Map‹AddressHex, Buffer››* -*Defined in [state/stateManager.ts:51](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L51)* +*Defined in [state/stateManager.ts:51](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L51)* ___ @@ -117,7 +131,7 @@ ___ • **_storageTries**: *object* -*Defined in [state/stateManager.ts:46](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L46)* +*Defined in [state/stateManager.ts:46](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L46)* #### Type declaration: @@ -129,7 +143,7 @@ ___ • **_touched**: *Set‹AddressHex›* -*Defined in [state/stateManager.ts:48](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L48)* +*Defined in [state/stateManager.ts:48](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L48)* ___ @@ -137,7 +151,7 @@ ___ • **_touchedStack**: *Set‹AddressHex›[]* -*Defined in [state/stateManager.ts:49](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L49)* +*Defined in [state/stateManager.ts:49](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L49)* ___ @@ -145,7 +159,7 @@ ___ • **_trie**: *Trie* -*Defined in [state/stateManager.ts:45](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L45)* +*Defined in [state/stateManager.ts:45](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L45)* ## Methods @@ -153,7 +167,7 @@ ___ ▸ **_clearOriginalStorageCache**(): *void* -*Defined in [state/stateManager.ts:252](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L252)* +*Defined in [state/stateManager.ts:263](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L263)* Clears the original storage cache. Refer to [getOriginalContractStorage](_state_index_.defaultstatemanager.md#getoriginalcontractstorage) for more explanation. @@ -166,7 +180,7 @@ ___ ▸ **_getStorageTrie**(`address`: Address): *Promise‹Trie›* -*Defined in [state/stateManager.ts:184](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L184)* +*Defined in [state/stateManager.ts:195](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L195)* Gets the storage trie for an account from the storage cache or does a lookup. @@ -185,7 +199,7 @@ ___ ▸ **_lookupStorageTrie**(`address`: Address): *Promise‹Trie›* -*Defined in [state/stateManager.ts:170](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L170)* +*Defined in [state/stateManager.ts:181](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L181)* Creates a storage trie from the primary storage trie for an account and saves this in the storage cache. @@ -204,7 +218,7 @@ ___ ▸ **_modifyContractStorage**(`address`: Address, `modifyTrie`: function): *Promise‹void›* -*Defined in [state/stateManager.ts:270](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L270)* +*Defined in [state/stateManager.ts:281](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L281)* Modifies the storage trie of an account. @@ -237,7 +251,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:534](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L534)* +*Defined in [state/stateManager.ts:567](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L567)* Checks if the `account` corresponding to `address` exists @@ -258,7 +272,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:524](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L524)* +*Defined in [state/stateManager.ts:557](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L557)* Checks if the `account` corresponding to `address` is empty or non-existent as defined in @@ -274,13 +288,50 @@ Name | Type | Description | ___ +### addWarmedAddress + +▸ **addWarmedAddress**(`address`: Buffer): *void* + +*Defined in [state/stateManager.ts:600](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L600)* + +Add a warm address in the current context + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | Buffer | The address (as a Buffer) to check | + +**Returns:** *void* + +___ + +### addWarmedStorage + +▸ **addWarmedStorage**(`address`: Buffer, `slot`: Buffer): *void* + +*Defined in [state/stateManager.ts:633](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L633)* + +Mark the storage slot in the address as warm in the current context + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | Buffer | The address (as a Buffer) to check | +`slot` | Buffer | The slot (as a Buffer) to check | + +**Returns:** *void* + +___ + ### checkpoint ▸ **checkpoint**(): *Promise‹void›* *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:343](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L343)* +*Defined in [state/stateManager.ts:354](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L354)* Checkpoints the current state of the StateManager instance. State changes that follow can then be committed by calling @@ -296,7 +347,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:549](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L549)* +*Defined in [state/stateManager.ts:654](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L654)* Removes accounts form the state trie that have been touched, as defined in EIP-161 (https://eips.ethereum.org/EIPS/eip-161). @@ -311,7 +362,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:331](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L331)* +*Defined in [state/stateManager.ts:342](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L342)* Clears all storage entries for the account corresponding to `address`. @@ -331,7 +382,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:260](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L260)* +*Defined in [state/stateManager.ts:271](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L271)* Clears the original storage cache. Refer to [getOriginalContractStorage](_state_index_.defaultstatemanager.md#getoriginalcontractstorage) for more explanation. Alias of the internal _clearOriginalStorageCache @@ -340,13 +391,25 @@ for more explanation. Alias of the internal _clearOriginalStorageCache ___ +### clearWarmedAccounts + +▸ **clearWarmedAccounts**(): *void* + +*Defined in [state/stateManager.ts:646](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L646)* + +Clear the warm accounts and storage. To be called after a transaction finished. + +**Returns:** *void* + +___ + ### commit ▸ **commit**(): *Promise‹void›* *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:354](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L354)* +*Defined in [state/stateManager.ts:366](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L366)* Commits the current change-set to the instance since the last call to checkpoint. @@ -361,7 +424,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:77](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L77)* +*Defined in [state/stateManager.ts:88](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L88)* Copies the current instance of the `StateManager` at the last fully committed point, i.e. as if all current @@ -377,7 +440,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:112](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L112)* +*Defined in [state/stateManager.ts:123](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L123)* Deletes an account from state under the provided `address`. The account will also be removed from the state trie. @@ -397,7 +460,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:452](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L452)* +*Defined in [state/stateManager.ts:485](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L485)* Dumps the RLP-encoded storage values for an `account` specified by `address`. @@ -421,7 +484,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:488](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L488)* +*Defined in [state/stateManager.ts:521](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L521)* Generates a canonical genesis state on the instance based on the configured chain parameters. Will error if there are uncommitted @@ -437,7 +500,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:503](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L503)* +*Defined in [state/stateManager.ts:536](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L536)* Initializes the provided genesis state into the state trie @@ -457,7 +520,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:88](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L88)* +*Defined in [state/stateManager.ts:99](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L99)* Gets the account associated with `address`. Returns an empty account if the account does not exist. @@ -477,7 +540,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:156](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L156)* +*Defined in [state/stateManager.ts:167](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L167)* Gets the code corresponding to the provided `address`. @@ -500,7 +563,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:204](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L204)* +*Defined in [state/stateManager.ts:215](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L215)* Gets the storage value associated with the provided `address` and `key`. This method returns the shortest representation of the stored value. @@ -526,7 +589,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:223](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L223)* +*Defined in [state/stateManager.ts:234](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L234)* Caches the storage value associated with the provided `address` and `key` on first invocation, and returns the cached (original) value from then @@ -548,7 +611,7 @@ ___ ▸ **getStateRoot**(`force`: boolean): *Promise‹Buffer›* -*Defined in [state/stateManager.ts:405](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L405)* +*Defined in [state/stateManager.ts:438](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L438)* Gets the state-root of the Merkle-Patricia trie representation of the state of this StateManager. Will error if there are uncommitted @@ -572,7 +635,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:478](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L478)* +*Defined in [state/stateManager.ts:511](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L511)* Checks whether the current instance has the canonical genesis state for the configured chain parameters. @@ -584,13 +647,50 @@ canonical genesis state for the configured chain parameters. ___ +### isWarmedAddress + +▸ **isWarmedAddress**(`address`: Buffer): *boolean* + +*Defined in [state/stateManager.ts:586](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L586)* + +Returns true if the address is warm in the current context + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | Buffer | The address (as a Buffer) to check | + +**Returns:** *boolean* + +___ + +### isWarmedStorage + +▸ **isWarmedStorage**(`address`: Buffer, `slot`: Buffer): *boolean* + +*Defined in [state/stateManager.ts:614](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L614)* + +Returns true if the slot of the address is warm + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | Buffer | The address (as a Buffer) to check | +`slot` | Buffer | The slot (as a Buffer) to check | + +**Returns:** *boolean* + +___ + ### putAccount ▸ **putAccount**(`address`: Address, `account`: Account): *Promise‹void›* *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:98](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L98)* +*Defined in [state/stateManager.ts:109](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L109)* Saves an account into state under the provided `address`. @@ -611,7 +711,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:135](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L135)* +*Defined in [state/stateManager.ts:146](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L146)* Adds `value` to the state trie as code, and sets `codeHash` on the account corresponding to `address` to reference this. @@ -633,7 +733,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:301](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L301)* +*Defined in [state/stateManager.ts:312](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L312)* Adds value to the state trie for the `account` corresponding to `address` at the provided `key`. @@ -656,7 +756,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:372](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L372)* +*Defined in [state/stateManager.ts:404](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L404)* Reverts the current change-set to the instance since the last call to checkpoint. @@ -671,7 +771,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:421](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L421)* +*Defined in [state/stateManager.ts:454](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L454)* Sets the state of the instance to that represented by the provided `stateRoot`. Will error if there are uncommitted @@ -694,7 +794,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:125](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L125)* +*Defined in [state/stateManager.ts:136](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L136)* Marks an account as touched, according to the definition in [EIP-158](https://eips.ethereum.org/EIPS/eip-158). diff --git a/packages/vm/docs/classes/_state_statemanager_.defaultstatemanager.md b/packages/vm/docs/classes/_state_statemanager_.defaultstatemanager.md index 47854de64a..76d9017e70 100644 --- a/packages/vm/docs/classes/_state_statemanager_.defaultstatemanager.md +++ b/packages/vm/docs/classes/_state_statemanager_.defaultstatemanager.md @@ -21,6 +21,7 @@ state trie. ### Properties +* [_accessedStorage](_state_statemanager_.defaultstatemanager.md#_accessedstorage) * [_cache](_state_statemanager_.defaultstatemanager.md#_cache) * [_checkpointCount](_state_statemanager_.defaultstatemanager.md#_checkpointcount) * [_common](_state_statemanager_.defaultstatemanager.md#_common) @@ -38,10 +39,13 @@ state trie. * [_modifyContractStorage](_state_statemanager_.defaultstatemanager.md#private-_modifycontractstorage) * [accountExists](_state_statemanager_.defaultstatemanager.md#accountexists) * [accountIsEmpty](_state_statemanager_.defaultstatemanager.md#accountisempty) +* [addWarmedAddress](_state_statemanager_.defaultstatemanager.md#addwarmedaddress) +* [addWarmedStorage](_state_statemanager_.defaultstatemanager.md#addwarmedstorage) * [checkpoint](_state_statemanager_.defaultstatemanager.md#checkpoint) * [cleanupTouchedAccounts](_state_statemanager_.defaultstatemanager.md#cleanuptouchedaccounts) * [clearContractStorage](_state_statemanager_.defaultstatemanager.md#clearcontractstorage) * [clearOriginalStorageCache](_state_statemanager_.defaultstatemanager.md#clearoriginalstoragecache) +* [clearWarmedAccounts](_state_statemanager_.defaultstatemanager.md#clearwarmedaccounts) * [commit](_state_statemanager_.defaultstatemanager.md#commit) * [copy](_state_statemanager_.defaultstatemanager.md#copy) * [deleteAccount](_state_statemanager_.defaultstatemanager.md#deleteaccount) @@ -54,6 +58,8 @@ state trie. * [getOriginalContractStorage](_state_statemanager_.defaultstatemanager.md#getoriginalcontractstorage) * [getStateRoot](_state_statemanager_.defaultstatemanager.md#getstateroot) * [hasGenesisState](_state_statemanager_.defaultstatemanager.md#hasgenesisstate) +* [isWarmedAddress](_state_statemanager_.defaultstatemanager.md#iswarmedaddress) +* [isWarmedStorage](_state_statemanager_.defaultstatemanager.md#iswarmedstorage) * [putAccount](_state_statemanager_.defaultstatemanager.md#putaccount) * [putContractCode](_state_statemanager_.defaultstatemanager.md#putcontractcode) * [putContractStorage](_state_statemanager_.defaultstatemanager.md#putcontractstorage) @@ -67,7 +73,7 @@ state trie. \+ **new DefaultStateManager**(`opts`: [DefaultStateManagerOpts](../interfaces/_state_statemanager_.defaultstatemanageropts.md)): *[DefaultStateManager](_state_statemanager_.defaultstatemanager.md)* -*Defined in [state/stateManager.ts:51](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L51)* +*Defined in [state/stateManager.ts:61](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L61)* Instantiate the StateManager interface. @@ -81,11 +87,19 @@ Name | Type | Default | ## Properties +### _accessedStorage + +• **_accessedStorage**: *Map‹string, Set‹string››[]* + +*Defined in [state/stateManager.ts:61](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L61)* + +___ + ### _cache • **_cache**: *Cache* -*Defined in [state/stateManager.ts:47](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L47)* +*Defined in [state/stateManager.ts:47](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L47)* ___ @@ -93,7 +107,7 @@ ___ • **_checkpointCount**: *number* -*Defined in [state/stateManager.ts:50](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L50)* +*Defined in [state/stateManager.ts:50](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L50)* ___ @@ -101,7 +115,7 @@ ___ • **_common**: *Common* -*Defined in [state/stateManager.ts:44](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L44)* +*Defined in [state/stateManager.ts:44](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L44)* ___ @@ -109,7 +123,7 @@ ___ • **_originalStorageCache**: *Map‹AddressHex, Map‹AddressHex, Buffer››* -*Defined in [state/stateManager.ts:51](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L51)* +*Defined in [state/stateManager.ts:51](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L51)* ___ @@ -117,7 +131,7 @@ ___ • **_storageTries**: *object* -*Defined in [state/stateManager.ts:46](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L46)* +*Defined in [state/stateManager.ts:46](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L46)* #### Type declaration: @@ -129,7 +143,7 @@ ___ • **_touched**: *Set‹AddressHex›* -*Defined in [state/stateManager.ts:48](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L48)* +*Defined in [state/stateManager.ts:48](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L48)* ___ @@ -137,7 +151,7 @@ ___ • **_touchedStack**: *Set‹AddressHex›[]* -*Defined in [state/stateManager.ts:49](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L49)* +*Defined in [state/stateManager.ts:49](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L49)* ___ @@ -145,7 +159,7 @@ ___ • **_trie**: *Trie* -*Defined in [state/stateManager.ts:45](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L45)* +*Defined in [state/stateManager.ts:45](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L45)* ## Methods @@ -153,7 +167,7 @@ ___ ▸ **_clearOriginalStorageCache**(): *void* -*Defined in [state/stateManager.ts:252](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L252)* +*Defined in [state/stateManager.ts:263](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L263)* Clears the original storage cache. Refer to [getOriginalContractStorage](_state_statemanager_.defaultstatemanager.md#getoriginalcontractstorage) for more explanation. @@ -166,7 +180,7 @@ ___ ▸ **_getStorageTrie**(`address`: Address): *Promise‹Trie›* -*Defined in [state/stateManager.ts:184](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L184)* +*Defined in [state/stateManager.ts:195](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L195)* Gets the storage trie for an account from the storage cache or does a lookup. @@ -185,7 +199,7 @@ ___ ▸ **_lookupStorageTrie**(`address`: Address): *Promise‹Trie›* -*Defined in [state/stateManager.ts:170](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L170)* +*Defined in [state/stateManager.ts:181](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L181)* Creates a storage trie from the primary storage trie for an account and saves this in the storage cache. @@ -204,7 +218,7 @@ ___ ▸ **_modifyContractStorage**(`address`: Address, `modifyTrie`: function): *Promise‹void›* -*Defined in [state/stateManager.ts:270](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L270)* +*Defined in [state/stateManager.ts:281](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L281)* Modifies the storage trie of an account. @@ -237,7 +251,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:534](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L534)* +*Defined in [state/stateManager.ts:567](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L567)* Checks if the `account` corresponding to `address` exists @@ -258,7 +272,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:524](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L524)* +*Defined in [state/stateManager.ts:557](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L557)* Checks if the `account` corresponding to `address` is empty or non-existent as defined in @@ -274,13 +288,50 @@ Name | Type | Description | ___ +### addWarmedAddress + +▸ **addWarmedAddress**(`address`: Buffer): *void* + +*Defined in [state/stateManager.ts:600](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L600)* + +Add a warm address in the current context + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | Buffer | The address (as a Buffer) to check | + +**Returns:** *void* + +___ + +### addWarmedStorage + +▸ **addWarmedStorage**(`address`: Buffer, `slot`: Buffer): *void* + +*Defined in [state/stateManager.ts:633](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L633)* + +Mark the storage slot in the address as warm in the current context + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | Buffer | The address (as a Buffer) to check | +`slot` | Buffer | The slot (as a Buffer) to check | + +**Returns:** *void* + +___ + ### checkpoint ▸ **checkpoint**(): *Promise‹void›* *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:343](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L343)* +*Defined in [state/stateManager.ts:354](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L354)* Checkpoints the current state of the StateManager instance. State changes that follow can then be committed by calling @@ -296,7 +347,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:549](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L549)* +*Defined in [state/stateManager.ts:654](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L654)* Removes accounts form the state trie that have been touched, as defined in EIP-161 (https://eips.ethereum.org/EIPS/eip-161). @@ -311,7 +362,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:331](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L331)* +*Defined in [state/stateManager.ts:342](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L342)* Clears all storage entries for the account corresponding to `address`. @@ -331,7 +382,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:260](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L260)* +*Defined in [state/stateManager.ts:271](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L271)* Clears the original storage cache. Refer to [getOriginalContractStorage](_state_statemanager_.defaultstatemanager.md#getoriginalcontractstorage) for more explanation. Alias of the internal _clearOriginalStorageCache @@ -340,13 +391,25 @@ for more explanation. Alias of the internal _clearOriginalStorageCache ___ +### clearWarmedAccounts + +▸ **clearWarmedAccounts**(): *void* + +*Defined in [state/stateManager.ts:646](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L646)* + +Clear the warm accounts and storage. To be called after a transaction finished. + +**Returns:** *void* + +___ + ### commit ▸ **commit**(): *Promise‹void›* *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:354](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L354)* +*Defined in [state/stateManager.ts:366](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L366)* Commits the current change-set to the instance since the last call to checkpoint. @@ -361,7 +424,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:77](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L77)* +*Defined in [state/stateManager.ts:88](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L88)* Copies the current instance of the `StateManager` at the last fully committed point, i.e. as if all current @@ -377,7 +440,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:112](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L112)* +*Defined in [state/stateManager.ts:123](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L123)* Deletes an account from state under the provided `address`. The account will also be removed from the state trie. @@ -397,7 +460,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:452](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L452)* +*Defined in [state/stateManager.ts:485](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L485)* Dumps the RLP-encoded storage values for an `account` specified by `address`. @@ -421,7 +484,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:488](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L488)* +*Defined in [state/stateManager.ts:521](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L521)* Generates a canonical genesis state on the instance based on the configured chain parameters. Will error if there are uncommitted @@ -437,7 +500,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:503](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L503)* +*Defined in [state/stateManager.ts:536](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L536)* Initializes the provided genesis state into the state trie @@ -457,7 +520,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:88](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L88)* +*Defined in [state/stateManager.ts:99](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L99)* Gets the account associated with `address`. Returns an empty account if the account does not exist. @@ -477,7 +540,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:156](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L156)* +*Defined in [state/stateManager.ts:167](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L167)* Gets the code corresponding to the provided `address`. @@ -500,7 +563,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:204](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L204)* +*Defined in [state/stateManager.ts:215](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L215)* Gets the storage value associated with the provided `address` and `key`. This method returns the shortest representation of the stored value. @@ -526,7 +589,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:223](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L223)* +*Defined in [state/stateManager.ts:234](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L234)* Caches the storage value associated with the provided `address` and `key` on first invocation, and returns the cached (original) value from then @@ -548,7 +611,7 @@ ___ ▸ **getStateRoot**(`force`: boolean): *Promise‹Buffer›* -*Defined in [state/stateManager.ts:405](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L405)* +*Defined in [state/stateManager.ts:438](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L438)* Gets the state-root of the Merkle-Patricia trie representation of the state of this StateManager. Will error if there are uncommitted @@ -572,7 +635,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:478](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L478)* +*Defined in [state/stateManager.ts:511](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L511)* Checks whether the current instance has the canonical genesis state for the configured chain parameters. @@ -584,13 +647,50 @@ canonical genesis state for the configured chain parameters. ___ +### isWarmedAddress + +▸ **isWarmedAddress**(`address`: Buffer): *boolean* + +*Defined in [state/stateManager.ts:586](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L586)* + +Returns true if the address is warm in the current context + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | Buffer | The address (as a Buffer) to check | + +**Returns:** *boolean* + +___ + +### isWarmedStorage + +▸ **isWarmedStorage**(`address`: Buffer, `slot`: Buffer): *boolean* + +*Defined in [state/stateManager.ts:614](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L614)* + +Returns true if the slot of the address is warm + +**Parameters:** + +Name | Type | Description | +------ | ------ | ------ | +`address` | Buffer | The address (as a Buffer) to check | +`slot` | Buffer | The slot (as a Buffer) to check | + +**Returns:** *boolean* + +___ + ### putAccount ▸ **putAccount**(`address`: Address, `account`: Account): *Promise‹void›* *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:98](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L98)* +*Defined in [state/stateManager.ts:109](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L109)* Saves an account into state under the provided `address`. @@ -611,7 +711,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:135](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L135)* +*Defined in [state/stateManager.ts:146](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L146)* Adds `value` to the state trie as code, and sets `codeHash` on the account corresponding to `address` to reference this. @@ -633,7 +733,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:301](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L301)* +*Defined in [state/stateManager.ts:312](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L312)* Adds value to the state trie for the `account` corresponding to `address` at the provided `key`. @@ -656,7 +756,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:372](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L372)* +*Defined in [state/stateManager.ts:404](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L404)* Reverts the current change-set to the instance since the last call to checkpoint. @@ -671,7 +771,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:421](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L421)* +*Defined in [state/stateManager.ts:454](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L454)* Sets the state of the instance to that represented by the provided `stateRoot`. Will error if there are uncommitted @@ -694,7 +794,7 @@ ___ *Implementation of [StateManager](../interfaces/_state_index_.statemanager.md)* -*Defined in [state/stateManager.ts:125](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L125)* +*Defined in [state/stateManager.ts:136](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L136)* Marks an account as touched, according to the definition in [EIP-158](https://eips.ethereum.org/EIPS/eip-158). diff --git a/packages/vm/docs/enums/_exceptions_.error.md b/packages/vm/docs/enums/_exceptions_.error.md index 44c953fd9d..ea80a2c559 100644 --- a/packages/vm/docs/enums/_exceptions_.error.md +++ b/packages/vm/docs/enums/_exceptions_.error.md @@ -34,7 +34,7 @@ • **BLS_12_381_FP_NOT_IN_FIELD**: = "fp point not in field" -*Defined in [exceptions.ts:24](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L24)* +*Defined in [exceptions.ts:24](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L24)* ___ @@ -42,7 +42,7 @@ ___ • **BLS_12_381_INPUT_EMPTY**: = "input is empty" -*Defined in [exceptions.ts:23](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L23)* +*Defined in [exceptions.ts:23](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L23)* ___ @@ -50,7 +50,7 @@ ___ • **BLS_12_381_INVALID_INPUT_LENGTH**: = "invalid input length" -*Defined in [exceptions.ts:21](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L21)* +*Defined in [exceptions.ts:21](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L21)* ___ @@ -58,7 +58,7 @@ ___ • **BLS_12_381_POINT_NOT_ON_CURVE**: = "point not on curve" -*Defined in [exceptions.ts:22](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L22)* +*Defined in [exceptions.ts:22](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L22)* ___ @@ -66,7 +66,7 @@ ___ • **CODESTORE_OUT_OF_GAS**: = "code store out of gas" -*Defined in [exceptions.ts:3](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L3)* +*Defined in [exceptions.ts:3](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L3)* ___ @@ -74,7 +74,7 @@ ___ • **CREATE_COLLISION**: = "create collision" -*Defined in [exceptions.ts:12](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L12)* +*Defined in [exceptions.ts:12](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L12)* ___ @@ -82,7 +82,7 @@ ___ • **INTERNAL_ERROR**: = "internal error" -*Defined in [exceptions.ts:11](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L11)* +*Defined in [exceptions.ts:11](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L11)* ___ @@ -90,7 +90,7 @@ ___ • **INVALID_BEGINSUB**: = "invalid BEGINSUB" -*Defined in [exceptions.ts:16](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L16)* +*Defined in [exceptions.ts:16](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L16)* ___ @@ -98,7 +98,7 @@ ___ • **INVALID_JUMP**: = "invalid JUMP" -*Defined in [exceptions.ts:6](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L6)* +*Defined in [exceptions.ts:6](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L6)* ___ @@ -106,7 +106,7 @@ ___ • **INVALID_JUMPSUB**: = "invalid JUMPSUB" -*Defined in [exceptions.ts:18](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L18)* +*Defined in [exceptions.ts:18](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L18)* ___ @@ -114,7 +114,7 @@ ___ • **INVALID_OPCODE**: = "invalid opcode" -*Defined in [exceptions.ts:7](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L7)* +*Defined in [exceptions.ts:7](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L7)* ___ @@ -122,7 +122,7 @@ ___ • **INVALID_RETURNSUB**: = "invalid RETURNSUB" -*Defined in [exceptions.ts:17](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L17)* +*Defined in [exceptions.ts:17](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L17)* ___ @@ -130,7 +130,7 @@ ___ • **OUT_OF_GAS**: = "out of gas" -*Defined in [exceptions.ts:2](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L2)* +*Defined in [exceptions.ts:2](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L2)* ___ @@ -138,7 +138,7 @@ ___ • **OUT_OF_RANGE**: = "value out of range" -*Defined in [exceptions.ts:8](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L8)* +*Defined in [exceptions.ts:8](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L8)* ___ @@ -146,7 +146,7 @@ ___ • **REFUND_EXHAUSTED**: = "refund exhausted" -*Defined in [exceptions.ts:14](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L14)* +*Defined in [exceptions.ts:14](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L14)* ___ @@ -154,7 +154,7 @@ ___ • **REVERT**: = "revert" -*Defined in [exceptions.ts:9](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L9)* +*Defined in [exceptions.ts:9](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L9)* ___ @@ -162,7 +162,7 @@ ___ • **STACK_OVERFLOW**: = "stack overflow" -*Defined in [exceptions.ts:5](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L5)* +*Defined in [exceptions.ts:5](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L5)* ___ @@ -170,7 +170,7 @@ ___ • **STACK_UNDERFLOW**: = "stack underflow" -*Defined in [exceptions.ts:4](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L4)* +*Defined in [exceptions.ts:4](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L4)* ___ @@ -178,7 +178,7 @@ ___ • **STATIC_STATE_CHANGE**: = "static state change" -*Defined in [exceptions.ts:10](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L10)* +*Defined in [exceptions.ts:10](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L10)* ___ @@ -186,7 +186,7 @@ ___ • **STOP**: = "stop" -*Defined in [exceptions.ts:13](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L13)* +*Defined in [exceptions.ts:13](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L13)* ___ @@ -194,4 +194,4 @@ ___ • **VALUE_OVERFLOW**: = "value overflow" -*Defined in [exceptions.ts:15](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/exceptions.ts#L15)* +*Defined in [exceptions.ts:15](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/exceptions.ts#L15)* diff --git a/packages/vm/docs/interfaces/_index_.vmopts.md b/packages/vm/docs/interfaces/_index_.vmopts.md index 39f2954a54..0c812d1ea4 100644 --- a/packages/vm/docs/interfaces/_index_.vmopts.md +++ b/packages/vm/docs/interfaces/_index_.vmopts.md @@ -26,7 +26,7 @@ Options for instantiating a [VM](../classes/_index_.vm.md). • **activatePrecompiles**? : *undefined | false | true* -*Defined in [index.ts:84](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L84)* +*Defined in [index.ts:85](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L85)* If true, create entries in the state tree for the precompiled contracts, saving some gas the first time each of them is called. @@ -45,7 +45,7 @@ ___ • **allowUnlimitedContractSize**? : *undefined | false | true* -*Defined in [index.ts:91](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L91)* +*Defined in [index.ts:92](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L92)* Allows unlimited contract sizes while debugging. By setting this to `true`, the check for contract size limit of 24KB (see [EIP-170](https://git.io/vxZkK)) is bypassed. @@ -58,9 +58,9 @@ ___ • **blockchain**? : *Blockchain* -*Defined in [index.ts:71](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L71)* +*Defined in [index.ts:72](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L72)* -A [blockchain](https://github.com/ethereumjs/ethereumjs-vm/packages/blockchain) object for storing/retrieving blocks +A [blockchain](https://github.com/ethereumjs/ethereumjs-monorepo/packages/blockchain) object for storing/retrieving blocks ___ @@ -68,9 +68,9 @@ ___ • **common**? : *Common* -*Defined in [index.ts:58](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L58)* +*Defined in [index.ts:59](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L59)* -Use a [common](https://github.com/ethereumjs/ethereumjs-vm/packages/common) instance +Use a [common](https://github.com/ethereumjs/ethereumjs-monorepo/packages/common) instance if you want to change the chain setup. ### Possible Values @@ -81,8 +81,9 @@ if you want to change the chain setup. ### Supported EIPs +- [EIP-2315](https://eips.ethereum.org/EIPS/eip-2315) - VM simple subroutines - [EIP-2537](https://eips.ethereum.org/EIPS/eip-2537) (`experimental`) - BLS12-381 precompiles -- [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929) (`experimental`) - Gas cost increases for state access opcodes +- [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929) - Gas cost increases for state access opcodes *Annotations:* @@ -102,7 +103,7 @@ ___ • **hardforkByBlockNumber**? : *undefined | false | true* -*Defined in [index.ts:98](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L98)* +*Defined in [index.ts:99](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L99)* Select hardfork based upon block number. This automatically switches to the right hard fork based upon the block number. @@ -114,9 +115,9 @@ ___ • **state**? : *any* -*Defined in [index.ts:67](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L67)* +*Defined in [index.ts:68](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L68)* -An [merkle-patricia-tree](https://github.com/ethereumjs/ethereumjs-vm/tree/master/packages/trie) instance for the state tree (ignored if stateManager is passed) +An [merkle-patricia-tree](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/trie) instance for the state tree (ignored if stateManager is passed) **`deprecated`** @@ -126,6 +127,6 @@ ___ • **stateManager**? : *[StateManager](_state_index_.statemanager.md)* -*Defined in [index.ts:62](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/index.ts#L62)* +*Defined in [index.ts:63](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/index.ts#L63)* A [StateManager](_state_index_.statemanager.md) instance to use as the state store (Beta API) diff --git a/packages/vm/docs/interfaces/_runblock_.afterblockevent.md b/packages/vm/docs/interfaces/_runblock_.afterblockevent.md index e3aa35e36a..89400e572c 100644 --- a/packages/vm/docs/interfaces/_runblock_.afterblockevent.md +++ b/packages/vm/docs/interfaces/_runblock_.afterblockevent.md @@ -13,8 +13,12 @@ ### Properties * [block](_runblock_.afterblockevent.md#block) +* [gasUsed](_runblock_.afterblockevent.md#gasused) +* [logsBloom](_runblock_.afterblockevent.md#logsbloom) +* [receiptRoot](_runblock_.afterblockevent.md#receiptroot) * [receipts](_runblock_.afterblockevent.md#receipts) * [results](_runblock_.afterblockevent.md#results) +* [stateRoot](_runblock_.afterblockevent.md#stateroot) ## Properties @@ -22,17 +26,53 @@ • **block**: *Block* -*Defined in [runBlock.ts:113](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L113)* +*Defined in [runBlock.ts:132](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L132)* + +___ + +### gasUsed + +• **gasUsed**: *BN* + +*Inherited from [RunBlockResult](_runblock_.runblockresult.md).[gasUsed](_runblock_.runblockresult.md#gasused)* + +*Defined in [runBlock.ts:76](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L76)* + +The gas used after executing the block + +___ + +### logsBloom + +• **logsBloom**: *Buffer* + +*Inherited from [RunBlockResult](_runblock_.runblockresult.md).[logsBloom](_runblock_.runblockresult.md#logsbloom)* + +*Defined in [runBlock.ts:80](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L80)* + +The bloom filter of the LOGs (events) after executing the block + +___ + +### receiptRoot + +• **receiptRoot**: *Buffer* + +*Inherited from [RunBlockResult](_runblock_.runblockresult.md).[receiptRoot](_runblock_.runblockresult.md#receiptroot)* + +*Defined in [runBlock.ts:84](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L84)* + +The receipt root after executing the block ___ ### receipts -• **receipts**: *([PreByzantiumTxReceipt](_runblock_.prebyzantiumtxreceipt.md) | [PostByzantiumTxReceipt](_runblock_.postbyzantiumtxreceipt.md))[]* +• **receipts**: *([PreByzantiumTxReceipt](_runblock_.prebyzantiumtxreceipt.md) | [PostByzantiumTxReceipt](_runblock_.postbyzantiumtxreceipt.md) | [EIP2930Receipt](_runblock_.eip2930receipt.md))[]* *Inherited from [RunBlockResult](_runblock_.runblockresult.md).[receipts](_runblock_.runblockresult.md#receipts)* -*Defined in [runBlock.ts:64](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L64)* +*Defined in [runBlock.ts:64](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L64)* Receipts generated for transactions in the block @@ -44,6 +84,18 @@ ___ *Inherited from [RunBlockResult](_runblock_.runblockresult.md).[results](_runblock_.runblockresult.md#results)* -*Defined in [runBlock.ts:68](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L68)* +*Defined in [runBlock.ts:68](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L68)* Results of executing the transactions in the block + +___ + +### stateRoot + +• **stateRoot**: *Buffer* + +*Inherited from [RunBlockResult](_runblock_.runblockresult.md).[stateRoot](_runblock_.runblockresult.md#stateroot)* + +*Defined in [runBlock.ts:72](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L72)* + +The stateRoot after executing the block diff --git a/packages/vm/docs/interfaces/_runblock_.eip2930receipt.md b/packages/vm/docs/interfaces/_runblock_.eip2930receipt.md new file mode 100644 index 0000000000..a7fa4385b6 --- /dev/null +++ b/packages/vm/docs/interfaces/_runblock_.eip2930receipt.md @@ -0,0 +1,66 @@ +[@ethereumjs/vm](../README.md) › ["runBlock"](../modules/_runblock_.md) › [EIP2930Receipt](_runblock_.eip2930receipt.md) + +# Interface: EIP2930Receipt + +## Hierarchy + + ↳ [PostByzantiumTxReceipt](_runblock_.postbyzantiumtxreceipt.md) + + ↳ **EIP2930Receipt** + +## Index + +### Properties + +* [bitvector](_runblock_.eip2930receipt.md#bitvector) +* [gasUsed](_runblock_.eip2930receipt.md#gasused) +* [logs](_runblock_.eip2930receipt.md#logs) +* [status](_runblock_.eip2930receipt.md#status) + +## Properties + +### bitvector + +• **bitvector**: *Buffer* + +*Inherited from [PreByzantiumTxReceipt](_runblock_.prebyzantiumtxreceipt.md).[bitvector](_runblock_.prebyzantiumtxreceipt.md#bitvector)* + +*Defined in [runBlock.ts:98](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L98)* + +Bloom bitvector + +___ + +### gasUsed + +• **gasUsed**: *Buffer* + +*Inherited from [PreByzantiumTxReceipt](_runblock_.prebyzantiumtxreceipt.md).[gasUsed](_runblock_.prebyzantiumtxreceipt.md#gasused)* + +*Defined in [runBlock.ts:94](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L94)* + +Gas used + +___ + +### logs + +• **logs**: *Log[]* + +*Inherited from [PreByzantiumTxReceipt](_runblock_.prebyzantiumtxreceipt.md).[logs](_runblock_.prebyzantiumtxreceipt.md#logs)* + +*Defined in [runBlock.ts:102](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L102)* + +Logs emitted + +___ + +### status + +• **status**: *0 | 1* + +*Inherited from [PostByzantiumTxReceipt](_runblock_.postbyzantiumtxreceipt.md).[status](_runblock_.postbyzantiumtxreceipt.md#status)* + +*Defined in [runBlock.ts:124](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L124)* + +Status of transaction, `1` if successful, `0` if an exception occured diff --git a/packages/vm/docs/interfaces/_runblock_.postbyzantiumtxreceipt.md b/packages/vm/docs/interfaces/_runblock_.postbyzantiumtxreceipt.md index 9f1f91375d..17be34468c 100644 --- a/packages/vm/docs/interfaces/_runblock_.postbyzantiumtxreceipt.md +++ b/packages/vm/docs/interfaces/_runblock_.postbyzantiumtxreceipt.md @@ -11,6 +11,8 @@ state root field with a status code field (EIP-658) ↳ **PostByzantiumTxReceipt** + ↳ [EIP2930Receipt](_runblock_.eip2930receipt.md) + ## Index ### Properties @@ -28,7 +30,7 @@ state root field with a status code field (EIP-658) *Inherited from [PreByzantiumTxReceipt](_runblock_.prebyzantiumtxreceipt.md).[bitvector](_runblock_.prebyzantiumtxreceipt.md#bitvector)* -*Defined in [runBlock.ts:82](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L82)* +*Defined in [runBlock.ts:98](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L98)* Bloom bitvector @@ -40,7 +42,7 @@ ___ *Inherited from [PreByzantiumTxReceipt](_runblock_.prebyzantiumtxreceipt.md).[gasUsed](_runblock_.prebyzantiumtxreceipt.md#gasused)* -*Defined in [runBlock.ts:78](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L78)* +*Defined in [runBlock.ts:94](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L94)* Gas used @@ -52,7 +54,7 @@ ___ *Inherited from [PreByzantiumTxReceipt](_runblock_.prebyzantiumtxreceipt.md).[logs](_runblock_.prebyzantiumtxreceipt.md#logs)* -*Defined in [runBlock.ts:86](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L86)* +*Defined in [runBlock.ts:102](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L102)* Logs emitted @@ -62,6 +64,6 @@ ___ • **status**: *0 | 1* -*Defined in [runBlock.ts:108](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L108)* +*Defined in [runBlock.ts:124](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L124)* Status of transaction, `1` if successful, `0` if an exception occured diff --git a/packages/vm/docs/interfaces/_runblock_.prebyzantiumtxreceipt.md b/packages/vm/docs/interfaces/_runblock_.prebyzantiumtxreceipt.md index 76b5dd20cd..10442aa2c5 100644 --- a/packages/vm/docs/interfaces/_runblock_.prebyzantiumtxreceipt.md +++ b/packages/vm/docs/interfaces/_runblock_.prebyzantiumtxreceipt.md @@ -28,7 +28,7 @@ for the intermediary state root *Inherited from [PreByzantiumTxReceipt](_runblock_.prebyzantiumtxreceipt.md).[bitvector](_runblock_.prebyzantiumtxreceipt.md#bitvector)* -*Defined in [runBlock.ts:82](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L82)* +*Defined in [runBlock.ts:98](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L98)* Bloom bitvector @@ -40,7 +40,7 @@ ___ *Inherited from [PreByzantiumTxReceipt](_runblock_.prebyzantiumtxreceipt.md).[gasUsed](_runblock_.prebyzantiumtxreceipt.md#gasused)* -*Defined in [runBlock.ts:78](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L78)* +*Defined in [runBlock.ts:94](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L94)* Gas used @@ -52,7 +52,7 @@ ___ *Inherited from [PreByzantiumTxReceipt](_runblock_.prebyzantiumtxreceipt.md).[logs](_runblock_.prebyzantiumtxreceipt.md#logs)* -*Defined in [runBlock.ts:86](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L86)* +*Defined in [runBlock.ts:102](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L102)* Logs emitted @@ -62,6 +62,6 @@ ___ • **stateRoot**: *Buffer* -*Defined in [runBlock.ts:97](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L97)* +*Defined in [runBlock.ts:113](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L113)* Intermediary state root diff --git a/packages/vm/docs/interfaces/_runblock_.runblockopts.md b/packages/vm/docs/interfaces/_runblock_.runblockopts.md index 40780c1165..33ff89e00f 100644 --- a/packages/vm/docs/interfaces/_runblock_.runblockopts.md +++ b/packages/vm/docs/interfaces/_runblock_.runblockopts.md @@ -25,7 +25,7 @@ Options for running a block. • **block**: *Block* -*Defined in [runBlock.ts:28](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L28)* +*Defined in [runBlock.ts:28](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L28)* The @ethereumjs/block to process @@ -35,7 +35,7 @@ ___ • **generate**? : *undefined | false | true* -*Defined in [runBlock.ts:40](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L40)* +*Defined in [runBlock.ts:40](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L40)* Whether to generate the stateRoot. If `true` `runBlock` will check the `stateRoot` of the block against the current Trie, check the `receiptsTrie`, @@ -49,7 +49,7 @@ ___ • **root**? : *Buffer* -*Defined in [runBlock.ts:32](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L32)* +*Defined in [runBlock.ts:32](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L32)* Root of the state trie @@ -59,7 +59,7 @@ ___ • **skipBalance**? : *undefined | false | true* -*Defined in [runBlock.ts:54](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L54)* +*Defined in [runBlock.ts:54](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L54)* If true, skips the balance check @@ -69,7 +69,7 @@ ___ • **skipBlockValidation**? : *undefined | false | true* -*Defined in [runBlock.ts:46](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L46)* +*Defined in [runBlock.ts:46](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L46)* If true, will skip "Block validation": Block validation validates the header (with respect to the blockchain), @@ -81,6 +81,6 @@ ___ • **skipNonce**? : *undefined | false | true* -*Defined in [runBlock.ts:50](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L50)* +*Defined in [runBlock.ts:50](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L50)* If true, skips the nonce check diff --git a/packages/vm/docs/interfaces/_runblock_.runblockresult.md b/packages/vm/docs/interfaces/_runblock_.runblockresult.md index 08e5a1cad2..99beaa8fb6 100644 --- a/packages/vm/docs/interfaces/_runblock_.runblockresult.md +++ b/packages/vm/docs/interfaces/_runblock_.runblockresult.md @@ -14,16 +14,50 @@ Result of [runBlock](../classes/_index_.vm.md#runblock) ### Properties +* [gasUsed](_runblock_.runblockresult.md#gasused) +* [logsBloom](_runblock_.runblockresult.md#logsbloom) +* [receiptRoot](_runblock_.runblockresult.md#receiptroot) * [receipts](_runblock_.runblockresult.md#receipts) * [results](_runblock_.runblockresult.md#results) +* [stateRoot](_runblock_.runblockresult.md#stateroot) ## Properties +### gasUsed + +• **gasUsed**: *BN* + +*Defined in [runBlock.ts:76](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L76)* + +The gas used after executing the block + +___ + +### logsBloom + +• **logsBloom**: *Buffer* + +*Defined in [runBlock.ts:80](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L80)* + +The bloom filter of the LOGs (events) after executing the block + +___ + +### receiptRoot + +• **receiptRoot**: *Buffer* + +*Defined in [runBlock.ts:84](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L84)* + +The receipt root after executing the block + +___ + ### receipts -• **receipts**: *([PreByzantiumTxReceipt](_runblock_.prebyzantiumtxreceipt.md) | [PostByzantiumTxReceipt](_runblock_.postbyzantiumtxreceipt.md))[]* +• **receipts**: *([PreByzantiumTxReceipt](_runblock_.prebyzantiumtxreceipt.md) | [PostByzantiumTxReceipt](_runblock_.postbyzantiumtxreceipt.md) | [EIP2930Receipt](_runblock_.eip2930receipt.md))[]* -*Defined in [runBlock.ts:64](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L64)* +*Defined in [runBlock.ts:64](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L64)* Receipts generated for transactions in the block @@ -33,6 +67,16 @@ ___ • **results**: *[RunTxResult](_runtx_.runtxresult.md)[]* -*Defined in [runBlock.ts:68](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runBlock.ts#L68)* +*Defined in [runBlock.ts:68](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L68)* Results of executing the transactions in the block + +___ + +### stateRoot + +• **stateRoot**: *Buffer* + +*Defined in [runBlock.ts:72](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runBlock.ts#L72)* + +The stateRoot after executing the block diff --git a/packages/vm/docs/interfaces/_runcall_.runcallopts.md b/packages/vm/docs/interfaces/_runcall_.runcallopts.md index a1e5626173..5bc97cc596 100644 --- a/packages/vm/docs/interfaces/_runcall_.runcallopts.md +++ b/packages/vm/docs/interfaces/_runcall_.runcallopts.md @@ -34,7 +34,7 @@ Options for running a call (or create) operation • **block**? : *Block* -*Defined in [runCall.ts:12](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L12)* +*Defined in [runCall.ts:12](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L12)* ___ @@ -42,7 +42,7 @@ ___ • **caller**? : *Address* -*Defined in [runCall.ts:15](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L15)* +*Defined in [runCall.ts:15](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L15)* ___ @@ -50,7 +50,7 @@ ___ • **code**? : *Buffer* -*Defined in [runCall.ts:23](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L23)* +*Defined in [runCall.ts:23](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L23)* This is for CALLCODE where the code to load is different than the code from the `opts.to` address. @@ -60,7 +60,7 @@ ___ • **compiled**? : *undefined | false | true* -*Defined in [runCall.ts:25](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L25)* +*Defined in [runCall.ts:25](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L25)* ___ @@ -68,7 +68,7 @@ ___ • **data**? : *Buffer* -*Defined in [runCall.ts:19](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L19)* +*Defined in [runCall.ts:19](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L19)* ___ @@ -76,7 +76,7 @@ ___ • **delegatecall**? : *undefined | false | true* -*Defined in [runCall.ts:29](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L29)* +*Defined in [runCall.ts:29](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L29)* ___ @@ -84,7 +84,7 @@ ___ • **depth**? : *undefined | number* -*Defined in [runCall.ts:24](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L24)* +*Defined in [runCall.ts:24](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L24)* ___ @@ -92,7 +92,7 @@ ___ • **gasLimit**? : *BN* -*Defined in [runCall.ts:16](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L16)* +*Defined in [runCall.ts:16](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L16)* ___ @@ -100,7 +100,7 @@ ___ • **gasPrice**? : *BN* -*Defined in [runCall.ts:13](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L13)* +*Defined in [runCall.ts:13](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L13)* ___ @@ -108,7 +108,7 @@ ___ • **origin**? : *Address* -*Defined in [runCall.ts:14](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L14)* +*Defined in [runCall.ts:14](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L14)* ___ @@ -116,7 +116,7 @@ ___ • **salt**? : *Buffer* -*Defined in [runCall.ts:27](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L27)* +*Defined in [runCall.ts:27](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L27)* ___ @@ -124,7 +124,7 @@ ___ • **selfdestruct**? : *undefined | object* -*Defined in [runCall.ts:28](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L28)* +*Defined in [runCall.ts:28](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L28)* ___ @@ -132,7 +132,7 @@ ___ • **static**? : *undefined | false | true* -*Defined in [runCall.ts:26](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L26)* +*Defined in [runCall.ts:26](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L26)* ___ @@ -140,7 +140,7 @@ ___ • **to**? : *Address* -*Defined in [runCall.ts:17](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L17)* +*Defined in [runCall.ts:17](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L17)* ___ @@ -148,4 +148,4 @@ ___ • **value**? : *BN* -*Defined in [runCall.ts:18](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCall.ts#L18)* +*Defined in [runCall.ts:18](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCall.ts#L18)* diff --git a/packages/vm/docs/interfaces/_runcode_.runcodeopts.md b/packages/vm/docs/interfaces/_runcode_.runcodeopts.md index b62403a93c..c103824c13 100644 --- a/packages/vm/docs/interfaces/_runcode_.runcodeopts.md +++ b/packages/vm/docs/interfaces/_runcode_.runcodeopts.md @@ -35,7 +35,7 @@ Options for the [runCode](../classes/_index_.vm.md#runcode) method. • **address**? : *Address* -*Defined in [runCode.ts:63](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L63)* +*Defined in [runCode.ts:63](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L63)* The address of the account that is executing this code. Defaults to the zero address. @@ -45,7 +45,7 @@ ___ • **block**? : *Block* -*Defined in [runCode.ts:28](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L28)* +*Defined in [runCode.ts:28](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L28)* The `@ethereumjs/block` the `tx` belongs to. If omitted a default blank block will be used. @@ -55,7 +55,7 @@ ___ • **caller**? : *Address* -*Defined in [runCode.ts:40](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L40)* +*Defined in [runCode.ts:40](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L40)* The address that ran this code. Defaults to the zero address. @@ -65,7 +65,7 @@ ___ • **code**? : *Buffer* -*Defined in [runCode.ts:44](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L44)* +*Defined in [runCode.ts:44](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L44)* The EVM code to run @@ -75,7 +75,7 @@ ___ • **data**? : *Buffer* -*Defined in [runCode.ts:48](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L48)* +*Defined in [runCode.ts:48](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L48)* The input data @@ -85,7 +85,7 @@ ___ • **depth**? : *undefined | number* -*Defined in [runCode.ts:57](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L57)* +*Defined in [runCode.ts:57](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L57)* ___ @@ -93,7 +93,7 @@ ___ • **evm**? : *EVM* -*Defined in [runCode.ts:29](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L29)* +*Defined in [runCode.ts:29](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L29)* ___ @@ -101,7 +101,7 @@ ___ • **gasLimit**? : *BN* -*Defined in [runCode.ts:52](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L52)* +*Defined in [runCode.ts:52](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L52)* Gas limit @@ -111,7 +111,7 @@ ___ • **gasPrice**? : *BN* -*Defined in [runCode.ts:31](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L31)* +*Defined in [runCode.ts:31](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L31)* ___ @@ -119,7 +119,7 @@ ___ • **isStatic**? : *undefined | false | true* -*Defined in [runCode.ts:58](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L58)* +*Defined in [runCode.ts:58](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L58)* ___ @@ -127,7 +127,7 @@ ___ • **message**? : *Message* -*Defined in [runCode.ts:36](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L36)* +*Defined in [runCode.ts:36](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L36)* ___ @@ -135,7 +135,7 @@ ___ • **origin**? : *Address* -*Defined in [runCode.ts:35](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L35)* +*Defined in [runCode.ts:35](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L35)* The address where the call originated from. Defaults to the zero address. @@ -145,7 +145,7 @@ ___ • **pc**? : *undefined | number* -*Defined in [runCode.ts:67](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L67)* +*Defined in [runCode.ts:67](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L67)* The initial program counter. Defaults to `0` @@ -155,7 +155,7 @@ ___ • **selfdestruct**? : *undefined | object* -*Defined in [runCode.ts:59](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L59)* +*Defined in [runCode.ts:59](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L59)* ___ @@ -163,7 +163,7 @@ ___ • **txContext**? : *TxContext* -*Defined in [runCode.ts:30](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L30)* +*Defined in [runCode.ts:30](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L30)* ___ @@ -171,6 +171,6 @@ ___ • **value**? : *BN* -*Defined in [runCode.ts:56](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runCode.ts#L56)* +*Defined in [runCode.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runCode.ts#L56)* The value in ether that is being sent to `opt.address`. Defaults to `0` diff --git a/packages/vm/docs/interfaces/_runtx_.aftertxevent.md b/packages/vm/docs/interfaces/_runtx_.aftertxevent.md index 3926793b77..e048425fe7 100644 --- a/packages/vm/docs/interfaces/_runtx_.aftertxevent.md +++ b/packages/vm/docs/interfaces/_runtx_.aftertxevent.md @@ -28,7 +28,7 @@ *Inherited from [RunTxResult](_runtx_.runtxresult.md).[amountSpent](_runtx_.runtxresult.md#amountspent)* -*Defined in [runTx.ts:54](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runTx.ts#L54)* +*Defined in [runTx.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runTx.ts#L56)* The amount of ether used by this transaction @@ -40,7 +40,7 @@ ___ *Inherited from [RunTxResult](_runtx_.runtxresult.md).[bloom](_runtx_.runtxresult.md#bloom)* -*Defined in [runTx.ts:50](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runTx.ts#L50)* +*Defined in [runTx.ts:52](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runTx.ts#L52)* Bloom filter resulted from transaction @@ -52,7 +52,7 @@ ___ *Inherited from [RunTxResult](_runtx_.runtxresult.md).[createdAddress](_runtx_.runtxresult.md#optional-createdaddress)* -*Defined in [evm/evm.ts:36](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/evm/evm.ts#L36)* +*Defined in [evm/evm.ts:36](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/evm/evm.ts#L36)* Address of created account durint transaction, if any @@ -64,7 +64,7 @@ ___ *Inherited from [RunTxResult](_runtx_.runtxresult.md).[execResult](_runtx_.runtxresult.md#execresult)* -*Defined in [evm/evm.ts:40](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/evm/evm.ts#L40)* +*Defined in [evm/evm.ts:40](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/evm/evm.ts#L40)* Contains the results from running the code, if any, as described in [runCode](../classes/_index_.vm.md#runcode) @@ -76,7 +76,7 @@ ___ *Inherited from [RunTxResult](_runtx_.runtxresult.md).[gasRefund](_runtx_.runtxresult.md#optional-gasrefund)* -*Defined in [runTx.ts:58](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runTx.ts#L58)* +*Defined in [runTx.ts:60](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runTx.ts#L60)* The amount of gas as that was refunded during the transaction (i.e. `gasUsed = totalGasConsumed - gasRefund`) @@ -88,7 +88,7 @@ ___ *Inherited from [RunTxResult](_runtx_.runtxresult.md).[gasUsed](_runtx_.runtxresult.md#gasused)* -*Defined in [evm/evm.ts:32](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/evm/evm.ts#L32)* +*Defined in [evm/evm.ts:32](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/evm/evm.ts#L32)* Amount of gas used by the transaction @@ -96,8 +96,8 @@ ___ ### transaction -• **transaction**: *Transaction* +• **transaction**: *TypedTransaction* -*Defined in [runTx.ts:65](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runTx.ts#L65)* +*Defined in [runTx.ts:67](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runTx.ts#L67)* The transaction which just got finished diff --git a/packages/vm/docs/interfaces/_runtx_.runtxopts.md b/packages/vm/docs/interfaces/_runtx_.runtxopts.md index 9507d3767d..fa40458485 100644 --- a/packages/vm/docs/interfaces/_runtx_.runtxopts.md +++ b/packages/vm/docs/interfaces/_runtx_.runtxopts.md @@ -24,7 +24,7 @@ Options for the `runTx` method. • **block**? : *Block* -*Defined in [runTx.ts:22](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runTx.ts#L22)* +*Defined in [runTx.ts:24](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runTx.ts#L24)* The `@ethereumjs/block` the `tx` belongs to. If omitted a default blank block will be used. @@ -34,7 +34,7 @@ ___ • **skipBalance**? : *undefined | false | true* -*Defined in [runTx.ts:34](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runTx.ts#L34)* +*Defined in [runTx.ts:36](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runTx.ts#L36)* If true, skips the balance check @@ -44,7 +44,7 @@ ___ • **skipBlockGasLimitValidation**? : *undefined | false | true* -*Defined in [runTx.ts:40](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runTx.ts#L40)* +*Defined in [runTx.ts:42](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runTx.ts#L42)* If true, skips the validation of the tx's gas limit agains the block's gas limit. @@ -55,7 +55,7 @@ ___ • **skipNonce**? : *undefined | false | true* -*Defined in [runTx.ts:30](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runTx.ts#L30)* +*Defined in [runTx.ts:32](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runTx.ts#L32)* If true, skips the nonce check @@ -63,8 +63,8 @@ ___ ### tx -• **tx**: *Transaction* +• **tx**: *TypedTransaction* -*Defined in [runTx.ts:26](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runTx.ts#L26)* +*Defined in [runTx.ts:28](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runTx.ts#L28)* An `@ethereumjs/tx` to run diff --git a/packages/vm/docs/interfaces/_runtx_.runtxresult.md b/packages/vm/docs/interfaces/_runtx_.runtxresult.md index 2b685c3747..2b9e3899a2 100644 --- a/packages/vm/docs/interfaces/_runtx_.runtxresult.md +++ b/packages/vm/docs/interfaces/_runtx_.runtxresult.md @@ -29,7 +29,7 @@ Execution result of a transaction • **amountSpent**: *BN* -*Defined in [runTx.ts:54](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runTx.ts#L54)* +*Defined in [runTx.ts:56](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runTx.ts#L56)* The amount of ether used by this transaction @@ -39,7 +39,7 @@ ___ • **bloom**: *Bloom* -*Defined in [runTx.ts:50](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runTx.ts#L50)* +*Defined in [runTx.ts:52](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runTx.ts#L52)* Bloom filter resulted from transaction @@ -51,7 +51,7 @@ ___ *Inherited from [RunTxResult](_runtx_.runtxresult.md).[createdAddress](_runtx_.runtxresult.md#optional-createdaddress)* -*Defined in [evm/evm.ts:36](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/evm/evm.ts#L36)* +*Defined in [evm/evm.ts:36](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/evm/evm.ts#L36)* Address of created account durint transaction, if any @@ -63,7 +63,7 @@ ___ *Inherited from [RunTxResult](_runtx_.runtxresult.md).[execResult](_runtx_.runtxresult.md#execresult)* -*Defined in [evm/evm.ts:40](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/evm/evm.ts#L40)* +*Defined in [evm/evm.ts:40](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/evm/evm.ts#L40)* Contains the results from running the code, if any, as described in [runCode](../classes/_index_.vm.md#runcode) @@ -73,7 +73,7 @@ ___ • **gasRefund**? : *BN* -*Defined in [runTx.ts:58](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/runTx.ts#L58)* +*Defined in [runTx.ts:60](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/runTx.ts#L60)* The amount of gas as that was refunded during the transaction (i.e. `gasUsed = totalGasConsumed - gasRefund`) @@ -85,6 +85,6 @@ ___ *Inherited from [RunTxResult](_runtx_.runtxresult.md).[gasUsed](_runtx_.runtxresult.md#gasused)* -*Defined in [evm/evm.ts:32](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/evm/evm.ts#L32)* +*Defined in [evm/evm.ts:32](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/evm/evm.ts#L32)* Amount of gas used by the transaction diff --git a/packages/vm/docs/interfaces/_state_index_.statemanager.md b/packages/vm/docs/interfaces/_state_index_.statemanager.md index 50793ccb64..4f6e0866d5 100644 --- a/packages/vm/docs/interfaces/_state_index_.statemanager.md +++ b/packages/vm/docs/interfaces/_state_index_.statemanager.md @@ -6,6 +6,8 @@ * **StateManager** + ↳ [EIP2929StateManager](_state_interface_.eip2929statemanager.md) + ## Implemented by * [DefaultStateManager](../classes/_state_index_.defaultstatemanager.md) @@ -46,7 +48,7 @@ ▸ **accountExists**(`address`: Address): *Promise‹boolean›* -*Defined in [state/interface.ts:32](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L32)* +*Defined in [state/interface.ts:32](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L32)* **Parameters:** @@ -62,7 +64,7 @@ ___ ▸ **accountIsEmpty**(`address`: Address): *Promise‹boolean›* -*Defined in [state/interface.ts:31](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L31)* +*Defined in [state/interface.ts:31](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L31)* **Parameters:** @@ -78,7 +80,7 @@ ___ ▸ **checkpoint**(): *Promise‹void›* -*Defined in [state/interface.ts:22](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L22)* +*Defined in [state/interface.ts:22](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L22)* **Returns:** *Promise‹void›* @@ -88,7 +90,7 @@ ___ ▸ **cleanupTouchedAccounts**(): *Promise‹void›* -*Defined in [state/interface.ts:33](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L33)* +*Defined in [state/interface.ts:33](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L33)* **Returns:** *Promise‹void›* @@ -98,7 +100,7 @@ ___ ▸ **clearContractStorage**(`address`: Address): *Promise‹void›* -*Defined in [state/interface.ts:21](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L21)* +*Defined in [state/interface.ts:21](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L21)* **Parameters:** @@ -114,7 +116,7 @@ ___ ▸ **clearOriginalStorageCache**(): *void* -*Defined in [state/interface.ts:34](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L34)* +*Defined in [state/interface.ts:34](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L34)* **Returns:** *void* @@ -124,7 +126,7 @@ ___ ▸ **commit**(): *Promise‹void›* -*Defined in [state/interface.ts:23](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L23)* +*Defined in [state/interface.ts:23](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L23)* **Returns:** *Promise‹void›* @@ -134,7 +136,7 @@ ___ ▸ **copy**(): *[StateManager](_state_index_.statemanager.md)* -*Defined in [state/interface.ts:11](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L11)* +*Defined in [state/interface.ts:11](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L11)* **Returns:** *[StateManager](_state_index_.statemanager.md)* @@ -144,7 +146,7 @@ ___ ▸ **deleteAccount**(`address`: Address): *Promise‹void›* -*Defined in [state/interface.ts:14](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L14)* +*Defined in [state/interface.ts:14](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L14)* **Parameters:** @@ -160,7 +162,7 @@ ___ ▸ **dumpStorage**(`address`: Address): *Promise‹[StorageDump](_state_interface_.storagedump.md)›* -*Defined in [state/interface.ts:27](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L27)* +*Defined in [state/interface.ts:27](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L27)* **Parameters:** @@ -176,7 +178,7 @@ ___ ▸ **generateCanonicalGenesis**(): *Promise‹void›* -*Defined in [state/interface.ts:29](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L29)* +*Defined in [state/interface.ts:29](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L29)* **Returns:** *Promise‹void›* @@ -186,7 +188,7 @@ ___ ▸ **generateGenesis**(`initState`: any): *Promise‹void›* -*Defined in [state/interface.ts:30](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L30)* +*Defined in [state/interface.ts:30](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L30)* **Parameters:** @@ -202,7 +204,7 @@ ___ ▸ **getAccount**(`address`: Address): *Promise‹Account›* -*Defined in [state/interface.ts:12](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L12)* +*Defined in [state/interface.ts:12](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L12)* **Parameters:** @@ -218,7 +220,7 @@ ___ ▸ **getContractCode**(`address`: Address): *Promise‹Buffer›* -*Defined in [state/interface.ts:17](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L17)* +*Defined in [state/interface.ts:17](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L17)* **Parameters:** @@ -234,7 +236,7 @@ ___ ▸ **getContractStorage**(`address`: Address, `key`: Buffer): *Promise‹Buffer›* -*Defined in [state/interface.ts:18](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L18)* +*Defined in [state/interface.ts:18](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L18)* **Parameters:** @@ -251,7 +253,7 @@ ___ ▸ **getOriginalContractStorage**(`address`: Address, `key`: Buffer): *Promise‹Buffer›* -*Defined in [state/interface.ts:19](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L19)* +*Defined in [state/interface.ts:19](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L19)* **Parameters:** @@ -268,7 +270,7 @@ ___ ▸ **getStateRoot**(`force?`: undefined | false | true): *Promise‹Buffer›* -*Defined in [state/interface.ts:25](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L25)* +*Defined in [state/interface.ts:25](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L25)* **Parameters:** @@ -284,7 +286,7 @@ ___ ▸ **hasGenesisState**(): *Promise‹boolean›* -*Defined in [state/interface.ts:28](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L28)* +*Defined in [state/interface.ts:28](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L28)* **Returns:** *Promise‹boolean›* @@ -294,7 +296,7 @@ ___ ▸ **putAccount**(`address`: Address, `account`: Account): *Promise‹void›* -*Defined in [state/interface.ts:13](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L13)* +*Defined in [state/interface.ts:13](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L13)* **Parameters:** @@ -311,7 +313,7 @@ ___ ▸ **putContractCode**(`address`: Address, `value`: Buffer): *Promise‹void›* -*Defined in [state/interface.ts:16](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L16)* +*Defined in [state/interface.ts:16](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L16)* **Parameters:** @@ -328,7 +330,7 @@ ___ ▸ **putContractStorage**(`address`: Address, `key`: Buffer, `value`: Buffer): *Promise‹void›* -*Defined in [state/interface.ts:20](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L20)* +*Defined in [state/interface.ts:20](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L20)* **Parameters:** @@ -346,7 +348,7 @@ ___ ▸ **revert**(): *Promise‹void›* -*Defined in [state/interface.ts:24](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L24)* +*Defined in [state/interface.ts:24](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L24)* **Returns:** *Promise‹void›* @@ -356,7 +358,7 @@ ___ ▸ **setStateRoot**(`stateRoot`: Buffer): *Promise‹void›* -*Defined in [state/interface.ts:26](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L26)* +*Defined in [state/interface.ts:26](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L26)* **Parameters:** @@ -372,7 +374,7 @@ ___ ▸ **touchAccount**(`address`: Address): *void* -*Defined in [state/interface.ts:15](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L15)* +*Defined in [state/interface.ts:15](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L15)* **Parameters:** diff --git a/packages/vm/docs/interfaces/_state_interface_.eip2929statemanager.md b/packages/vm/docs/interfaces/_state_interface_.eip2929statemanager.md new file mode 100644 index 0000000000..dd77168e06 --- /dev/null +++ b/packages/vm/docs/interfaces/_state_interface_.eip2929statemanager.md @@ -0,0 +1,509 @@ +[@ethereumjs/vm](../README.md) › ["state/interface"](../modules/_state_interface_.md) › [EIP2929StateManager](_state_interface_.eip2929statemanager.md) + +# Interface: EIP2929StateManager + +## Hierarchy + +* [StateManager](_state_index_.statemanager.md) + + ↳ **EIP2929StateManager** + +## Index + +### Methods + +* [accountExists](_state_interface_.eip2929statemanager.md#accountexists) +* [accountIsEmpty](_state_interface_.eip2929statemanager.md#accountisempty) +* [addWarmedAddress](_state_interface_.eip2929statemanager.md#addwarmedaddress) +* [addWarmedStorage](_state_interface_.eip2929statemanager.md#addwarmedstorage) +* [checkpoint](_state_interface_.eip2929statemanager.md#checkpoint) +* [cleanupTouchedAccounts](_state_interface_.eip2929statemanager.md#cleanuptouchedaccounts) +* [clearContractStorage](_state_interface_.eip2929statemanager.md#clearcontractstorage) +* [clearOriginalStorageCache](_state_interface_.eip2929statemanager.md#clearoriginalstoragecache) +* [clearWarmedAccounts](_state_interface_.eip2929statemanager.md#clearwarmedaccounts) +* [commit](_state_interface_.eip2929statemanager.md#commit) +* [copy](_state_interface_.eip2929statemanager.md#copy) +* [deleteAccount](_state_interface_.eip2929statemanager.md#deleteaccount) +* [dumpStorage](_state_interface_.eip2929statemanager.md#dumpstorage) +* [generateCanonicalGenesis](_state_interface_.eip2929statemanager.md#generatecanonicalgenesis) +* [generateGenesis](_state_interface_.eip2929statemanager.md#generategenesis) +* [getAccount](_state_interface_.eip2929statemanager.md#getaccount) +* [getContractCode](_state_interface_.eip2929statemanager.md#getcontractcode) +* [getContractStorage](_state_interface_.eip2929statemanager.md#getcontractstorage) +* [getOriginalContractStorage](_state_interface_.eip2929statemanager.md#getoriginalcontractstorage) +* [getStateRoot](_state_interface_.eip2929statemanager.md#getstateroot) +* [hasGenesisState](_state_interface_.eip2929statemanager.md#hasgenesisstate) +* [isWarmedAddress](_state_interface_.eip2929statemanager.md#iswarmedaddress) +* [isWarmedStorage](_state_interface_.eip2929statemanager.md#iswarmedstorage) +* [putAccount](_state_interface_.eip2929statemanager.md#putaccount) +* [putContractCode](_state_interface_.eip2929statemanager.md#putcontractcode) +* [putContractStorage](_state_interface_.eip2929statemanager.md#putcontractstorage) +* [revert](_state_interface_.eip2929statemanager.md#revert) +* [setStateRoot](_state_interface_.eip2929statemanager.md#setstateroot) +* [touchAccount](_state_interface_.eip2929statemanager.md#touchaccount) + +## Methods + +### accountExists + +▸ **accountExists**(`address`: Address): *Promise‹boolean›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[accountExists](_state_index_.statemanager.md#accountexists)* + +*Defined in [state/interface.ts:32](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L32)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Address | + +**Returns:** *Promise‹boolean›* + +___ + +### accountIsEmpty + +▸ **accountIsEmpty**(`address`: Address): *Promise‹boolean›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[accountIsEmpty](_state_index_.statemanager.md#accountisempty)* + +*Defined in [state/interface.ts:31](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L31)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Address | + +**Returns:** *Promise‹boolean›* + +___ + +### addWarmedAddress + +▸ **addWarmedAddress**(`address`: Buffer): *void* + +*Defined in [state/interface.ts:38](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L38)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Buffer | + +**Returns:** *void* + +___ + +### addWarmedStorage + +▸ **addWarmedStorage**(`address`: Buffer, `slot`: Buffer): *void* + +*Defined in [state/interface.ts:40](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L40)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Buffer | +`slot` | Buffer | + +**Returns:** *void* + +___ + +### checkpoint + +▸ **checkpoint**(): *Promise‹void›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[checkpoint](_state_index_.statemanager.md#checkpoint)* + +*Defined in [state/interface.ts:22](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L22)* + +**Returns:** *Promise‹void›* + +___ + +### cleanupTouchedAccounts + +▸ **cleanupTouchedAccounts**(): *Promise‹void›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[cleanupTouchedAccounts](_state_index_.statemanager.md#cleanuptouchedaccounts)* + +*Defined in [state/interface.ts:33](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L33)* + +**Returns:** *Promise‹void›* + +___ + +### clearContractStorage + +▸ **clearContractStorage**(`address`: Address): *Promise‹void›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[clearContractStorage](_state_index_.statemanager.md#clearcontractstorage)* + +*Defined in [state/interface.ts:21](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L21)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Address | + +**Returns:** *Promise‹void›* + +___ + +### clearOriginalStorageCache + +▸ **clearOriginalStorageCache**(): *void* + +*Inherited from [StateManager](_state_index_.statemanager.md).[clearOriginalStorageCache](_state_index_.statemanager.md#clearoriginalstoragecache)* + +*Defined in [state/interface.ts:34](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L34)* + +**Returns:** *void* + +___ + +### clearWarmedAccounts + +▸ **clearWarmedAccounts**(): *void* + +*Defined in [state/interface.ts:42](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L42)* + +**Returns:** *void* + +___ + +### commit + +▸ **commit**(): *Promise‹void›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[commit](_state_index_.statemanager.md#commit)* + +*Defined in [state/interface.ts:23](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L23)* + +**Returns:** *Promise‹void›* + +___ + +### copy + +▸ **copy**(): *[StateManager](_state_index_.statemanager.md)* + +*Inherited from [StateManager](_state_index_.statemanager.md).[copy](_state_index_.statemanager.md#copy)* + +*Defined in [state/interface.ts:11](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L11)* + +**Returns:** *[StateManager](_state_index_.statemanager.md)* + +___ + +### deleteAccount + +▸ **deleteAccount**(`address`: Address): *Promise‹void›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[deleteAccount](_state_index_.statemanager.md#deleteaccount)* + +*Defined in [state/interface.ts:14](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L14)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Address | + +**Returns:** *Promise‹void›* + +___ + +### dumpStorage + +▸ **dumpStorage**(`address`: Address): *Promise‹[StorageDump](_state_interface_.storagedump.md)›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[dumpStorage](_state_index_.statemanager.md#dumpstorage)* + +*Defined in [state/interface.ts:27](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L27)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Address | + +**Returns:** *Promise‹[StorageDump](_state_interface_.storagedump.md)›* + +___ + +### generateCanonicalGenesis + +▸ **generateCanonicalGenesis**(): *Promise‹void›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[generateCanonicalGenesis](_state_index_.statemanager.md#generatecanonicalgenesis)* + +*Defined in [state/interface.ts:29](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L29)* + +**Returns:** *Promise‹void›* + +___ + +### generateGenesis + +▸ **generateGenesis**(`initState`: any): *Promise‹void›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[generateGenesis](_state_index_.statemanager.md#generategenesis)* + +*Defined in [state/interface.ts:30](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L30)* + +**Parameters:** + +Name | Type | +------ | ------ | +`initState` | any | + +**Returns:** *Promise‹void›* + +___ + +### getAccount + +▸ **getAccount**(`address`: Address): *Promise‹Account›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[getAccount](_state_index_.statemanager.md#getaccount)* + +*Defined in [state/interface.ts:12](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L12)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Address | + +**Returns:** *Promise‹Account›* + +___ + +### getContractCode + +▸ **getContractCode**(`address`: Address): *Promise‹Buffer›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[getContractCode](_state_index_.statemanager.md#getcontractcode)* + +*Defined in [state/interface.ts:17](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L17)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Address | + +**Returns:** *Promise‹Buffer›* + +___ + +### getContractStorage + +▸ **getContractStorage**(`address`: Address, `key`: Buffer): *Promise‹Buffer›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[getContractStorage](_state_index_.statemanager.md#getcontractstorage)* + +*Defined in [state/interface.ts:18](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L18)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Address | +`key` | Buffer | + +**Returns:** *Promise‹Buffer›* + +___ + +### getOriginalContractStorage + +▸ **getOriginalContractStorage**(`address`: Address, `key`: Buffer): *Promise‹Buffer›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[getOriginalContractStorage](_state_index_.statemanager.md#getoriginalcontractstorage)* + +*Defined in [state/interface.ts:19](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L19)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Address | +`key` | Buffer | + +**Returns:** *Promise‹Buffer›* + +___ + +### getStateRoot + +▸ **getStateRoot**(`force?`: undefined | false | true): *Promise‹Buffer›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[getStateRoot](_state_index_.statemanager.md#getstateroot)* + +*Defined in [state/interface.ts:25](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L25)* + +**Parameters:** + +Name | Type | +------ | ------ | +`force?` | undefined | false | true | + +**Returns:** *Promise‹Buffer›* + +___ + +### hasGenesisState + +▸ **hasGenesisState**(): *Promise‹boolean›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[hasGenesisState](_state_index_.statemanager.md#hasgenesisstate)* + +*Defined in [state/interface.ts:28](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L28)* + +**Returns:** *Promise‹boolean›* + +___ + +### isWarmedAddress + +▸ **isWarmedAddress**(`address`: Buffer): *boolean* + +*Defined in [state/interface.ts:39](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L39)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Buffer | + +**Returns:** *boolean* + +___ + +### isWarmedStorage + +▸ **isWarmedStorage**(`address`: Buffer, `slot`: Buffer): *boolean* + +*Defined in [state/interface.ts:41](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L41)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Buffer | +`slot` | Buffer | + +**Returns:** *boolean* + +___ + +### putAccount + +▸ **putAccount**(`address`: Address, `account`: Account): *Promise‹void›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[putAccount](_state_index_.statemanager.md#putaccount)* + +*Defined in [state/interface.ts:13](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L13)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Address | +`account` | Account | + +**Returns:** *Promise‹void›* + +___ + +### putContractCode + +▸ **putContractCode**(`address`: Address, `value`: Buffer): *Promise‹void›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[putContractCode](_state_index_.statemanager.md#putcontractcode)* + +*Defined in [state/interface.ts:16](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L16)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Address | +`value` | Buffer | + +**Returns:** *Promise‹void›* + +___ + +### putContractStorage + +▸ **putContractStorage**(`address`: Address, `key`: Buffer, `value`: Buffer): *Promise‹void›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[putContractStorage](_state_index_.statemanager.md#putcontractstorage)* + +*Defined in [state/interface.ts:20](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L20)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Address | +`key` | Buffer | +`value` | Buffer | + +**Returns:** *Promise‹void›* + +___ + +### revert + +▸ **revert**(): *Promise‹void›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[revert](_state_index_.statemanager.md#revert)* + +*Defined in [state/interface.ts:24](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L24)* + +**Returns:** *Promise‹void›* + +___ + +### setStateRoot + +▸ **setStateRoot**(`stateRoot`: Buffer): *Promise‹void›* + +*Inherited from [StateManager](_state_index_.statemanager.md).[setStateRoot](_state_index_.statemanager.md#setstateroot)* + +*Defined in [state/interface.ts:26](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L26)* + +**Parameters:** + +Name | Type | +------ | ------ | +`stateRoot` | Buffer | + +**Returns:** *Promise‹void›* + +___ + +### touchAccount + +▸ **touchAccount**(`address`: Address): *void* + +*Inherited from [StateManager](_state_index_.statemanager.md).[touchAccount](_state_index_.statemanager.md#touchaccount)* + +*Defined in [state/interface.ts:15](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L15)* + +**Parameters:** + +Name | Type | +------ | ------ | +`address` | Address | + +**Returns:** *void* diff --git a/packages/vm/docs/interfaces/_state_interface_.statemanager.md b/packages/vm/docs/interfaces/_state_interface_.statemanager.md index 0b284f924b..03e7c8e64f 100644 --- a/packages/vm/docs/interfaces/_state_interface_.statemanager.md +++ b/packages/vm/docs/interfaces/_state_interface_.statemanager.md @@ -41,7 +41,7 @@ ▸ **accountExists**(`address`: Address): *Promise‹boolean›* -*Defined in [state/interface.ts:32](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L32)* +*Defined in [state/interface.ts:32](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L32)* **Parameters:** @@ -57,7 +57,7 @@ ___ ▸ **accountIsEmpty**(`address`: Address): *Promise‹boolean›* -*Defined in [state/interface.ts:31](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L31)* +*Defined in [state/interface.ts:31](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L31)* **Parameters:** @@ -73,7 +73,7 @@ ___ ▸ **checkpoint**(): *Promise‹void›* -*Defined in [state/interface.ts:22](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L22)* +*Defined in [state/interface.ts:22](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L22)* **Returns:** *Promise‹void›* @@ -83,7 +83,7 @@ ___ ▸ **cleanupTouchedAccounts**(): *Promise‹void›* -*Defined in [state/interface.ts:33](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L33)* +*Defined in [state/interface.ts:33](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L33)* **Returns:** *Promise‹void›* @@ -93,7 +93,7 @@ ___ ▸ **clearContractStorage**(`address`: Address): *Promise‹void›* -*Defined in [state/interface.ts:21](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L21)* +*Defined in [state/interface.ts:21](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L21)* **Parameters:** @@ -109,7 +109,7 @@ ___ ▸ **clearOriginalStorageCache**(): *void* -*Defined in [state/interface.ts:34](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L34)* +*Defined in [state/interface.ts:34](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L34)* **Returns:** *void* @@ -119,7 +119,7 @@ ___ ▸ **commit**(): *Promise‹void›* -*Defined in [state/interface.ts:23](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L23)* +*Defined in [state/interface.ts:23](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L23)* **Returns:** *Promise‹void›* @@ -129,7 +129,7 @@ ___ ▸ **copy**(): *[StateManager](_state_index_.statemanager.md)* -*Defined in [state/interface.ts:11](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L11)* +*Defined in [state/interface.ts:11](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L11)* **Returns:** *[StateManager](_state_index_.statemanager.md)* @@ -139,7 +139,7 @@ ___ ▸ **deleteAccount**(`address`: Address): *Promise‹void›* -*Defined in [state/interface.ts:14](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L14)* +*Defined in [state/interface.ts:14](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L14)* **Parameters:** @@ -155,7 +155,7 @@ ___ ▸ **dumpStorage**(`address`: Address): *Promise‹[StorageDump](_state_interface_.storagedump.md)›* -*Defined in [state/interface.ts:27](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L27)* +*Defined in [state/interface.ts:27](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L27)* **Parameters:** @@ -171,7 +171,7 @@ ___ ▸ **generateCanonicalGenesis**(): *Promise‹void›* -*Defined in [state/interface.ts:29](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L29)* +*Defined in [state/interface.ts:29](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L29)* **Returns:** *Promise‹void›* @@ -181,7 +181,7 @@ ___ ▸ **generateGenesis**(`initState`: any): *Promise‹void›* -*Defined in [state/interface.ts:30](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L30)* +*Defined in [state/interface.ts:30](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L30)* **Parameters:** @@ -197,7 +197,7 @@ ___ ▸ **getAccount**(`address`: Address): *Promise‹Account›* -*Defined in [state/interface.ts:12](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L12)* +*Defined in [state/interface.ts:12](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L12)* **Parameters:** @@ -213,7 +213,7 @@ ___ ▸ **getContractCode**(`address`: Address): *Promise‹Buffer›* -*Defined in [state/interface.ts:17](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L17)* +*Defined in [state/interface.ts:17](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L17)* **Parameters:** @@ -229,7 +229,7 @@ ___ ▸ **getContractStorage**(`address`: Address, `key`: Buffer): *Promise‹Buffer›* -*Defined in [state/interface.ts:18](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L18)* +*Defined in [state/interface.ts:18](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L18)* **Parameters:** @@ -246,7 +246,7 @@ ___ ▸ **getOriginalContractStorage**(`address`: Address, `key`: Buffer): *Promise‹Buffer›* -*Defined in [state/interface.ts:19](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L19)* +*Defined in [state/interface.ts:19](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L19)* **Parameters:** @@ -263,7 +263,7 @@ ___ ▸ **getStateRoot**(`force?`: undefined | false | true): *Promise‹Buffer›* -*Defined in [state/interface.ts:25](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L25)* +*Defined in [state/interface.ts:25](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L25)* **Parameters:** @@ -279,7 +279,7 @@ ___ ▸ **hasGenesisState**(): *Promise‹boolean›* -*Defined in [state/interface.ts:28](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L28)* +*Defined in [state/interface.ts:28](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L28)* **Returns:** *Promise‹boolean›* @@ -289,7 +289,7 @@ ___ ▸ **putAccount**(`address`: Address, `account`: Account): *Promise‹void›* -*Defined in [state/interface.ts:13](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L13)* +*Defined in [state/interface.ts:13](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L13)* **Parameters:** @@ -306,7 +306,7 @@ ___ ▸ **putContractCode**(`address`: Address, `value`: Buffer): *Promise‹void›* -*Defined in [state/interface.ts:16](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L16)* +*Defined in [state/interface.ts:16](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L16)* **Parameters:** @@ -323,7 +323,7 @@ ___ ▸ **putContractStorage**(`address`: Address, `key`: Buffer, `value`: Buffer): *Promise‹void›* -*Defined in [state/interface.ts:20](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L20)* +*Defined in [state/interface.ts:20](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L20)* **Parameters:** @@ -341,7 +341,7 @@ ___ ▸ **revert**(): *Promise‹void›* -*Defined in [state/interface.ts:24](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L24)* +*Defined in [state/interface.ts:24](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L24)* **Returns:** *Promise‹void›* @@ -351,7 +351,7 @@ ___ ▸ **setStateRoot**(`stateRoot`: Buffer): *Promise‹void›* -*Defined in [state/interface.ts:26](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L26)* +*Defined in [state/interface.ts:26](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L26)* **Parameters:** @@ -367,7 +367,7 @@ ___ ▸ **touchAccount**(`address`: Address): *void* -*Defined in [state/interface.ts:15](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/interface.ts#L15)* +*Defined in [state/interface.ts:15](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/interface.ts#L15)* **Parameters:** diff --git a/packages/vm/docs/interfaces/_state_statemanager_.defaultstatemanageropts.md b/packages/vm/docs/interfaces/_state_statemanager_.defaultstatemanageropts.md index 2098625a93..9fdce22268 100644 --- a/packages/vm/docs/interfaces/_state_statemanager_.defaultstatemanageropts.md +++ b/packages/vm/docs/interfaces/_state_statemanager_.defaultstatemanageropts.md @@ -21,9 +21,9 @@ Options for constructing a [StateManager](_state_index_.statemanager.md). • **common**? : *Common* -*Defined in [state/stateManager.ts:32](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L32)* +*Defined in [state/stateManager.ts:32](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L32)* -Parameters of the chain ([`Common`](https://github.com/ethereumjs/ethereumjs-vm/tree/master/packages/common)) +Parameters of the chain ([`Common`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/common)) ___ @@ -31,6 +31,6 @@ ___ • **trie**? : *Trie* -*Defined in [state/stateManager.ts:36](https://github.com/ethereumjs/ethereumjs-vm/blob/master/packages/vm/lib/state/stateManager.ts#L36)* +*Defined in [state/stateManager.ts:36](https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/vm/lib/state/stateManager.ts#L36)* -An [`merkle-patricia-tree`](https://github.com/ethereumjs/ethereumjs-vm/tree/master/packages/trie) instance +An [`merkle-patricia-tree`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/trie) instance diff --git a/packages/vm/docs/modules/_runblock_.md b/packages/vm/docs/modules/_runblock_.md index dacd6b198e..50e511b5c6 100644 --- a/packages/vm/docs/modules/_runblock_.md +++ b/packages/vm/docs/modules/_runblock_.md @@ -7,6 +7,7 @@ ### Interfaces * [AfterBlockEvent](../interfaces/_runblock_.afterblockevent.md) +* [EIP2930Receipt](../interfaces/_runblock_.eip2930receipt.md) * [PostByzantiumTxReceipt](../interfaces/_runblock_.postbyzantiumtxreceipt.md) * [PreByzantiumTxReceipt](../interfaces/_runblock_.prebyzantiumtxreceipt.md) * [RunBlockOpts](../interfaces/_runblock_.runblockopts.md) diff --git a/packages/vm/docs/modules/_state_interface_.md b/packages/vm/docs/modules/_state_interface_.md index 7c50f46828..f28f47e7d8 100644 --- a/packages/vm/docs/modules/_state_interface_.md +++ b/packages/vm/docs/modules/_state_interface_.md @@ -6,5 +6,6 @@ ### Interfaces +* [EIP2929StateManager](../interfaces/_state_interface_.eip2929statemanager.md) * [StateManager](../interfaces/_state_interface_.statemanager.md) * [StorageDump](../interfaces/_state_interface_.storagedump.md)