Crate database

Expand description

Database implementations.

Modules§

either
Database implementations for either::Either type.
empty_db
Empty database implementation.
in_memory_db
In-memory database implementations.
states
State management and tracking. State management and tracking for the EVM.
try_commit
Try database commit interface.

Structs§

AccountRevert
Assumption is that Revert can return full state from any future state to any past state.
ArcUpgradeError
Error type for implementation of TryDatabaseCommit on Arc.
BenchmarkDB
Custom benchmarking DB that only has account info for the zero address.
BundleAccount
Account information focused on creating of database changesets and Reverts.
BundleState
Bundle state contain only values that got changed
Cache
A cache used in CacheDB. Its kept separate so it can be used independently.
CacheDB
A Database implementation that stores all state changes in memory.
CacheState
Cache state contains both modified and original values
DbAccount
Database account representation.
EmptyDBTyped
An empty database that always returns default values when queried
PlainAccount
Plain account of StateDatabase.
State
State of blockchain
StateBuilder
Allows building of State and initializing it with different options.
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.
WrapDatabaseRef
Wraps a DatabaseRef to provide a Database implementation.

Enums§

AccountState
State of an account in the database.
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:

Constants§

BENCH_CALLER
BENCH_CALLER address
BENCH_CALLER_BALANCE
BENCH_CALLER_BALANCE balance
BENCH_TARGET
BENCH_TARGET address
BENCH_TARGET_BALANCE
BENCH_TARGET_BALANCE balance
EEADDRESS
Address with all 0xee..ee in it. Used for testing.
FFADDRESS
Address with all 0xff..ff in it. Used for testing.

Traits§

DBErrorMarker
Database error marker is needed to implement From conversion for Error type.
Database
EVM database interface.
DatabaseCommit
EVM database commit interface.
DatabaseRef
EVM database interface.
TryDatabaseCommit
EVM database commit interface that can fail.

Type Aliases§

DBBox
Database boxed with a lifetime and Send
EmptyDB
An empty database that always returns default values when queried
InMemoryDB
A Database implementation that stores all state changes in memory.
StateDBBox
More constrained version of State that uses Boxed database with a lifetime
StorageWithOriginalValues
This storage represent values that are before block changed.