Trait DatabaseAsyncRef
pub trait DatabaseAsyncRef {
type Error: Send + DBErrorMarker + Error;
// Required methods
fn basic_async_ref(
&self,
address: Address,
) -> impl Future<Output = Result<Option<AccountInfo>, Self::Error>> + Send;
fn code_by_hash_async_ref(
&self,
code_hash: FixedBytes<32>,
) -> impl Future<Output = Result<Bytecode, Self::Error>> + Send;
fn storage_async_ref(
&self,
address: Address,
index: Uint<256, 4>,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send;
fn block_hash_async_ref(
&self,
number: u64,
) -> impl Future<Output = Result<FixedBytes<32>, Self::Error>> + Send;
}
Expand description
The async EVM database interface
Contains the same methods as DatabaseRef, but it returns Future type instead.
Use WrapDatabaseAsync to provide DatabaseRef implementation for a type that only implements this trait.
Required Associated Types§
type Error: Send + DBErrorMarker + Error
type Error: Send + DBErrorMarker + Error
The database error type
Required Methods§
fn basic_async_ref(
&self,
address: Address,
) -> impl Future<Output = Result<Option<AccountInfo>, Self::Error>> + Send
fn basic_async_ref( &self, address: Address, ) -> impl Future<Output = Result<Option<AccountInfo>, Self::Error>> + Send
Gets basic account information.
fn code_by_hash_async_ref(
&self,
code_hash: FixedBytes<32>,
) -> impl Future<Output = Result<Bytecode, Self::Error>> + Send
fn code_by_hash_async_ref( &self, code_hash: FixedBytes<32>, ) -> impl Future<Output = Result<Bytecode, Self::Error>> + Send
Gets account code by its hash.
fn storage_async_ref(
&self,
address: Address,
index: Uint<256, 4>,
) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
fn storage_async_ref( &self, address: Address, index: Uint<256, 4>, ) -> impl Future<Output = Result<Uint<256, 4>, Self::Error>> + Send
Gets storage value of address at index.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.