pub trait StateProvider:
BlockHashReader
+ AccountReader
+ BytecodeReader
+ StateRootProvider
+ StorageRootProvider
+ StateProofProvider
+ HashedPostStateProvider {
// Required method
fn storage(
&self,
account: Address,
storage_key: FixedBytes<32>,
) -> Result<Option<Uint<256, 4>>, ProviderError>;
// Provided methods
fn account_code(
&self,
addr: &Address,
) -> Result<Option<Bytecode>, ProviderError> { ... }
fn account_balance(
&self,
addr: &Address,
) -> Result<Option<Uint<256, 4>>, ProviderError> { ... }
fn account_nonce(
&self,
addr: &Address,
) -> Result<Option<u64>, ProviderError> { ... }
}Available on crate feature
provider only.Expand description
An abstraction for a type that provides state data.
Required Methods§
Sourcefn storage(
&self,
account: Address,
storage_key: FixedBytes<32>,
) -> Result<Option<Uint<256, 4>>, ProviderError>
fn storage( &self, account: Address, storage_key: FixedBytes<32>, ) -> Result<Option<Uint<256, 4>>, ProviderError>
Get storage of given account.
Provided Methods§
Sourcefn account_code(
&self,
addr: &Address,
) -> Result<Option<Bytecode>, ProviderError>
fn account_code( &self, addr: &Address, ) -> Result<Option<Bytecode>, ProviderError>
Get account code by its address.
Returns None if the account doesn’t exist or account is not a contract
Sourcefn account_balance(
&self,
addr: &Address,
) -> Result<Option<Uint<256, 4>>, ProviderError>
fn account_balance( &self, addr: &Address, ) -> Result<Option<Uint<256, 4>>, ProviderError>
Get account balance by its address.
Returns None if the account doesn’t exist
Sourcefn account_nonce(&self, addr: &Address) -> Result<Option<u64>, ProviderError>
fn account_nonce(&self, addr: &Address) -> Result<Option<u64>, ProviderError>
Get account nonce by its address.
Returns None if the account doesn’t exist
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".