foundry_evm::backend

Type Alias FoundryEvmInMemoryDB

pub type FoundryEvmInMemoryDB = CacheDB<EmptyDBWrapper>;
Expand description

Type alias for an in-memory database.

See EmptyDBWrapper.

Aliased Type§

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

Fields§

§accounts: HashMap<Address, DbAccount, RandomState>

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, RandomState>

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>, RandomState>

All cached block hashes from the [DatabaseRef].

§db: EmptyDBWrapper

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

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

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 144 bytes