Type Alias revm::db::in_memory_db::InMemoryDB

source ·
pub type InMemoryDB = CacheDB<EmptyDB>;
Expand description

A Database implementation that stores all state changes in memory.

Aliased Type§

struct InMemoryDB {
    pub accounts: HashMap<Address, DbAccount>,
    pub contracts: HashMap<FixedBytes<32>, Bytecode>,
    pub logs: Vec<Log>,
    pub block_hashes: HashMap<Uint<256, 4>, FixedBytes<32>>,
    pub db: EmptyDBTyped<Infallible>,
}

Fields§

§accounts: HashMap<Address, DbAccount>

Account info where None means it is not existing. Not existing state is needed for Pre TANGERINE forks. code is always None, and bytecode can be found in contracts.

§contracts: HashMap<FixedBytes<32>, Bytecode>

Tracks all contracts by their code hash.

§logs: Vec<Log>

All logs that were committed via DatabaseCommit::commit.

§block_hashes: HashMap<Uint<256, 4>, FixedBytes<32>>

All cached block hashes from the DatabaseRef.

§db: EmptyDBTyped<Infallible>

The underlying database (DatabaseRef) that is used to load data.

Note: this is read-only, data is never written to this database.