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.