Module states

Expand description

State management and tracking. State management and tracking for the EVM.

Modules§

account_status
Account status tracking.
bundle_account
Bundle account representation.
bundle_state
Bundle state management.
cache
Cache state implementation.
cache_account
Cache account representation.
changes
State changeset tracking.
plain_account
Plain account representation.
reverts
State revert tracking.
state
Main state implementation.
state_builder
State builder utilities.
transition_account
Transition account representation.
transition_state
Transition state management.

Structs§

AccountRevert
Assumption is that Revert can return full state from any future state to any past state.
BundleAccount
Account information focused on creating of database changesets and Reverts.
BundleBuilder
This builder is used to help to facilitate the initialization of BundleState struct
BundleState
Bundle state contain only values that got changed
CacheAccount
Cache account contains plain state that gets updated at every transaction when evm output is applied to CacheState.
CacheState
Cache state contains both modified and original values
PlainAccount
Plain account of StateDatabase.
PlainStateReverts
Plain state reverts are used to easily store reverts into database.
PlainStorageChangeset
Plain storage changeset.
PlainStorageRevert
Plain Storage Revert.
State
State of blockchain
StateBuilder
Allows building of State and initializing it with different options.
StateChangeset
accounts/storages/contracts for inclusion into database.
StorageSlot
This type keeps track of the current value of a storage slot.
TransitionAccount
Account Created when EVM state is merged to cache state. And it is sent to Block state.
TransitionState
State of accounts in transition between transaction executions.

Enums§

AccountStatus
AccountStatus represents the various states an account can be in after being loaded from the database.
OriginalValuesKnown
Option for BundleState when converting it to the plain state.
RevertToSlot
So storage can have multiple types:

Type Aliases§

DBBox
Database boxed with a lifetime and Send
StateDBBox
More constrained version of State that uses Boxed database with a lifetime
StorageWithOriginalValues
This storage represent values that are before block changed.