Skip to main content

Module bundle_state

Module bundle_state 

Source
Expand description

Block execution changes with the reverts needed to persist and unwind them.

Ported from the revm-database crate of revm (https://github.com/bluealloy/revm), Copyright (c) 2021-2026 draganrakita, licensed under the MIT License (see LICENSES/MIT.txt). The code is kept close to upstream, so upstream style is allowed below.

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
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.
Reverts
Contains reverts of multiple account in multiple transitions (Transitions as a block).
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§

AccountInfoRevert
Depending on previous state of account info this will tell us what to do on revert.
AccountStatus
AccountStatus represents the various states an account can be in after being loaded from the database.
BundleRetention
Bundle retention policy for applying substate to the bundle.
OriginalValuesKnown
Option for BundleState when converting it to the plain state.
RevertToSlot
So storage can have multiple types:

Type Aliases§

PlainStorage
Simple plain storage that does not have previous value. This is used for loading from database, cache and for bundle state.
StorageRevert
Storage reverts
StorageWithOriginalValues
This storage represent values that are before block changed.