@ethereumjs/statemanager / SimpleStateManager
Defined in: simpleStateManager.ts:27
Simple and dependency-free state manager for basic state access use cases where a merkle-patricia or binary tree backed state manager is too heavy-weight.
This state manager comes with the basic state access logic for accounts, storage and code (put* and get* methods) as well as a simple implementation of checkpointing but lacks methods implementations of state root related logic as well as some other non-core functions.
Functionality provided is sufficient to be used for simple EVM use cases and the state manager is used as default there.
For a more full fledged and MPT-backed state manager implementation
have a look at the @ethereumjs/statemanager package docs.
new SimpleStateManager(
opts?):SimpleStateManager
Defined in: simpleStateManager.ts:39
SimpleStateManager
accountStack:
Map<`0x${string}`,Account|undefined>[] =[]
Defined in: simpleStateManager.ts:28
codeStack:
Map<`0x${string}`,Uint8Array<ArrayBufferLike>>[] =[]
Defined in: simpleStateManager.ts:29
readonlyoptionalcommon?:Common
Defined in: simpleStateManager.ts:37
originalStorageCache:
object
Defined in: simpleStateManager.ts:32
clear():
void
void
get(
address,key):Promise<Uint8Array<ArrayBufferLike>>
Uint8Array
Promise<Uint8Array<ArrayBufferLike>>
StateManagerInterface.originalStorageCache
storageStack:
Map<string,Uint8Array<ArrayBufferLike>>[] =[]
Defined in: simpleStateManager.ts:30
checkpoint():
Promise<void>
Defined in: simpleStateManager.ts:130
Promise<void>
StateManagerInterface.checkpoint
clearCaches():
void
Defined in: simpleStateManager.ts:146
void
StateManagerInterface.clearCaches
clearStorage(
address):Promise<void>
Defined in: simpleStateManager.ts:115
Promise<void>
StateManagerInterface.clearStorage
commit():
Promise<void>
Defined in: simpleStateManager.ts:133
Promise<void>
StateManagerInterface.commit
consumeBAL(
bal,expectedStateRoot?):Promise<void>
Defined in: simpleStateManager.ts:164
Apply an EIP-7928 BAL onto this state. See consumeBAL.
Do not pass expectedStateRoot — this manager does not implement state roots.
BALJSONBlockAccessList
Uint8Array<ArrayBufferLike>
Promise<void>
Experimental (Amsterdam): may change on patch releases.
StateManagerInterface.consumeBAL
deleteAccount(
address):Promise<void>
Defined in: simpleStateManager.ts:78
Promise<void>
StateManagerInterface.deleteAccount
flush():
Promise<void>
Defined in: simpleStateManager.ts:145
Promise<void>
getAccount(
address):Promise<Account|undefined>
Defined in: simpleStateManager.ts:70
Promise<Account | undefined>
StateManagerInterface.getAccount
getCode(
address):Promise<Uint8Array<ArrayBufferLike>>
Defined in: simpleStateManager.ts:86
Promise<Uint8Array<ArrayBufferLike>>
StateManagerInterface.getCode
getCodeSize(
address):Promise<number>
Defined in: simpleStateManager.ts:100
Promise<number>
StateManagerInterface.getCodeSize
getStateRoot():
Promise<Uint8Array<ArrayBufferLike>>
Defined in: simpleStateManager.ts:169
Promise<Uint8Array<ArrayBufferLike>>
StateManagerInterface.getStateRoot
getStorage(
address,key):Promise<Uint8Array<ArrayBufferLike>>
Defined in: simpleStateManager.ts:105
Uint8Array
Promise<Uint8Array<ArrayBufferLike>>
StateManagerInterface.getStorage
hasStateRoot():
Promise<boolean>
Defined in: simpleStateManager.ts:175
Promise<boolean>
StateManagerInterface.hasStateRoot
modifyAccountFields(
address,accountFields):Promise<void>
Defined in: simpleStateManager.ts:82
AccountFields
Promise<void>
StateManagerInterface.modifyAccountFields
putAccount(
address,account?):Promise<void>
Defined in: simpleStateManager.ts:74
Account
Promise<void>
StateManagerInterface.putAccount
putCode(
address,value):Promise<void>
Defined in: simpleStateManager.ts:90
Uint8Array
Promise<void>
StateManagerInterface.putCode
putStorage(
address,key,value):Promise<void>
Defined in: simpleStateManager.ts:111
Uint8Array
Uint8Array
Promise<void>
StateManagerInterface.putStorage
revert():
Promise<void>
Defined in: simpleStateManager.ts:139
Promise<void>
StateManagerInterface.revert
setStateRoot():
Promise<void>
Defined in: simpleStateManager.ts:172
Promise<void>
StateManagerInterface.setStateRoot
shallowCopy():
StateManagerInterface
Defined in: simpleStateManager.ts:148
StateManagerInterface.shallowCopy