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§
- Account
Revert - Assumption is that Revert can return full state from any future state to any past state.
- ArcUpgrade
Error - Error type for implementation of
TryDatabaseCommit
onArc
. - BenchmarkDB
- Custom benchmarking DB that only has account info for the zero address.
- Bundle
Account - Account information focused on creating of database changesets and Reverts.
- Bundle
State - 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.
- Cache
State - Cache state contains both modified and original values
- DbAccount
- Database account representation.
- EmptyDB
Typed - An empty database that always returns default values when queried
- Plain
Account - Plain account of StateDatabase.
- State
- State of blockchain
- State
Builder - Allows building of State and initializing it with different options.
- Transition
Account - Account Created when EVM state is merged to cache state. And it is sent to Block state.
- Transition
State - State of accounts in transition between transaction executions.
- Wrap
Database Ref - Wraps a
DatabaseRef
to provide aDatabase
implementation.
Enums§
- Account
State - State of an account in the database.
- Account
Status - AccountStatus represents the various states an account can be in after being loaded from the database.
- Original
Values Known - Option for
BundleState
when converting it to the plain state. - Revert
ToSlot - 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§
- DBError
Marker - Database error marker is needed to implement From conversion for Error type.
- Database
- EVM database interface.
- Database
Commit - EVM database commit interface.
- Database
Ref - EVM database interface.
- TryDatabase
Commit - 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.
- StateDB
Box - More constrained version of State that uses Boxed database with a lifetime
- Storage
With Original Values - This storage represent values that are before block changed.