@ethereumjs/statemanager / RPCStateManager
Defined in: rpcStateManager.ts:29
StateManagerInterface
new RPCStateManager(
opts
):RPCStateManager
Defined in: rpcStateManager.ts:39
RPCStateManager
readonly
common:Common
Defined in: rpcStateManager.ts:37
originalStorageCache:
OriginalStorageCache
Defined in: rpcStateManager.ts:33
StateManagerInterface.originalStorageCache
checkpoint():
Promise
<void
>
Defined in: rpcStateManager.ts:313
Checkpoints the current state of the StateManager instance.
State changes that follow can then be committed by calling
commit
or reverted
by calling rollback.
Promise
<void
>
StateManagerInterface.checkpoint
clearCaches():
void
Defined in: rpcStateManager.ts:91
Clears the internal cache so all accounts, contract code, and storage slots will initially be retrieved from the provider
void
StateManagerInterface.clearCaches
clearStorage(
address
):Promise
<void
>
Defined in: rpcStateManager.ts:177
Clears all storage entries for the account corresponding to address
.
Address
Address to clear the storage of
Promise
<void
>
StateManagerInterface.clearStorage
commit():
Promise
<void
>
Defined in: rpcStateManager.ts:323
Commits the current change-set to the instance since the last call to checkpoint.
Partial implementation, called from the subclass.
Promise
<void
>
StateManagerInterface.commit
deleteAccount(
address
):Promise
<void
>
Defined in: rpcStateManager.ts:291
Deletes an account from state under the provided address
.
Address
Address of the account which should be deleted
Promise
<void
>
StateManagerInterface.deleteAccount
dumpStorage(
address
):Promise
<StorageDump
>
Defined in: rpcStateManager.ts:188
Dumps the RLP-encoded storage values for an account
specified by address
.
Address
The address of the account
to return storage for
Promise
<StorageDump
>
Object
map.
Keys are the storage keys, values are the storage values as strings.
Both are represented as 0x
prefixed hex strings.StateManagerInterface.dumpStorage
flush():
Promise
<void
>
Defined in: rpcStateManager.ts:338
Promise
<void
>
getAccount(
address
):Promise
<undefined
|Account
>
Defined in: rpcStateManager.ts:203
Gets the account associated with address
or undefined
if account does not exist
Address
Address of the account
to get
Promise
<undefined
| Account
>
StateManagerInterface.getAccount
getAppliedKey(
address
):Uint8Array
Defined in: rpcStateManager.ts:304
Returns the applied key for a given address Used for saving preimages
Uint8Array
The address to return the applied key
Uint8Array
StateManagerInterface.getAppliedKey
getCode(
address
):Promise
<Uint8Array
<ArrayBufferLike
>>
Defined in: rpcStateManager.ts:101
Gets the code corresponding to the provided address
.
Address
Address to get the code
for
Promise
<Uint8Array
<ArrayBufferLike
>>
Uint8Array
if the account has no associated code.StateManagerInterface.getCode
getCodeSize(
address
):Promise
<number
>
Defined in: rpcStateManager.ts:113
Address
Promise
<number
>
StateManagerInterface.getCodeSize
getStateRoot():
Promise
<Uint8Array
<ArrayBuffer
>>
Defined in: rpcStateManager.ts:345
Promise
<Uint8Array
<ArrayBuffer
>>
This method is not used by the RPC State Manager and is a stub required by the State Manager interface
StateManagerInterface.getStateRoot
getStorage(
address
,key
):Promise
<Uint8Array
<ArrayBufferLike
>>
Defined in: rpcStateManager.ts:138
Gets the storage value associated with the provided address
and key
. This method returns
the shortest representation of the stored value.
Address
Address of the account to get the storage for
Uint8Array
Key in the account’s storage to get the value for. Must be 32 bytes long.
Promise
<Uint8Array
<ArrayBufferLike
>>
Uint8Array
is returned.StateManagerInterface.getStorage
hasStateRoot():
never
Defined in: rpcStateManager.ts:357
never
This method is not used by the RPC State Manager and is a stub required by the State Manager interface
StateManagerInterface.hasStateRoot
modifyAccountFields(
address
,accountFields
):Promise
<void
>
Defined in: rpcStateManager.ts:270
Gets the account associated with address
, modifies the given account
fields, then saves the account into state. Account fields can include
nonce
, balance
, storageRoot
, and codeHash
.
Address
Address of the account to modify
Partial
Object containing account fields and values to modify
Promise
<void
>
StateManagerInterface.modifyAccountFields
putAccount(
address
,account
):Promise
<void
>
Defined in: rpcStateManager.ts:246
Saves an account into state under the provided address
.
Address
Address under which to store account
The account to store
undefined |
Account |
Promise
<void
>
StateManagerInterface.putAccount
putCode(
address
,value
):Promise
<void
>
Defined in: rpcStateManager.ts:124
Adds value
to the state trie as code, and sets codeHash
on the account
corresponding to address
to reference this.
Address
Address of the account
to add the code
for
Uint8Array
The value of the code
Promise
<void
>
StateManagerInterface.putCode
putStorage(
address
,key
,value
):Promise
<void
>
Defined in: rpcStateManager.ts:169
Adds value to the cache for the account
corresponding to address
at the provided key
.
Address
Address to set a storage value for
Uint8Array
Key to set the value at. Must be 32 bytes long.
Uint8Array
Value to set at key
for account corresponding to address
.
Cannot be more than 32 bytes. Leading zeros are stripped.
If it is empty or filled with zeros, deletes the value.
Promise
<void
>
StateManagerInterface.putStorage
revert():
Promise
<void
>
Defined in: rpcStateManager.ts:334
Reverts the current change-set to the instance since the last call to checkpoint.
Partial implementation , called from the subclass.
Promise
<void
>
StateManagerInterface.revert
setBlockTag(
blockTag
):void
Defined in: rpcStateManager.ts:81
Sets the new block tag used when querying the provider and clears the internal cache.
the new block tag to use when querying the provider
bigint |
"earliest" |
void
setStateRoot(
_root
):Promise
<void
>
Defined in: rpcStateManager.ts:352
Uint8Array
Promise
<void
>
This method is not used by the RPC State Manager and is a stub required by the State Manager interface
StateManagerInterface.setStateRoot
shallowCopy():
RPCStateManager
Defined in: rpcStateManager.ts:66
Note that the returned statemanager will share the same JSONRPCProvider as the original
RPCStateManager
RPCStateManager
StateManagerInterface.shallowCopy