Trait DatabaseStorageRoot
pub trait DatabaseStorageRoot<'a, TX> {
// Required methods
fn from_tx(tx: &'a TX, address: Address) -> Self;
fn from_tx_hashed(tx: &'a TX, hashed_address: FixedBytes<32>) -> Self;
fn overlay_root(
tx: &'a TX,
address: Address,
hashed_storage: HashedStorage,
) -> Result<FixedBytes<32>, StorageRootError>;
}
Available on crate features
trie
and trie-db
only.Expand description
Extends StorageRoot
with operations specific for working with a database transaction.
Required Methods§
fn from_tx(tx: &'a TX, address: Address) -> Self
fn from_tx(tx: &'a TX, address: Address) -> Self
Create a new storage root calculator from database transaction and raw address.
fn from_tx_hashed(tx: &'a TX, hashed_address: FixedBytes<32>) -> Self
fn from_tx_hashed(tx: &'a TX, hashed_address: FixedBytes<32>) -> Self
Create a new storage root calculator from database transaction and hashed address.
fn overlay_root(
tx: &'a TX,
address: Address,
hashed_storage: HashedStorage,
) -> Result<FixedBytes<32>, StorageRootError>
fn overlay_root( tx: &'a TX, address: Address, hashed_storage: HashedStorage, ) -> Result<FixedBytes<32>, StorageRootError>
Calculates the storage root for this HashedStorage
and returns it.
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.