# Database

State an EVM reads through.

## Functions

| Name                | Description                         |
| ------------------- | ----------------------------------- |
| [`Database.fromAsync`](/evm/execution/Database/fromAsync) | Marks a source as asynchronous. |
| [`Database.fromMemory`](/evm/execution/Database/fromMemory) | Creates an in-memory database. |

## Errors

| Name                | Description                         |
| ------------------- | ----------------------------------- |
| [`Database.InvalidDesignatorError`](/evm/execution/Database/errors#databaseinvaliddesignatorerror) | Thrown when an account's delegation designator is malformed. |
| [`Database.MissingBlockHashError`](/evm/execution/Database/errors#databasemissingblockhasherror) | Thrown when a `BLOCKHASH` the chain retains was never seeded. |

## Types

| Name                | Description                         |
| ------------------- | ----------------------------------- |
| [`Database.Account`](/evm/execution/Database/types#databaseaccount) | An account, as a database reports it. |
| [`Database.Async`](/evm/execution/Database/types#databaseasync) | State an EVM reads through, asynchronously. |
| [`Database.Database`](/evm/execution/Database/types#databasedatabase) | State an EVM reads through. |
