pub trait DatabaseHashedPostState: Sized {
// Required method
fn from_reverts(
provider: &(impl ChangeSetReader + StorageChangeSetReader + BlockNumReader + DBProvider),
range: impl RangeBounds<BlockNumber>,
) -> Result<HashedPostStateSorted, ProviderError>;
}Expand description
Extends [HashedPostStateSorted] with operations specific for working with a database
transaction.
Required Methods§
Sourcefn from_reverts(
provider: &(impl ChangeSetReader + StorageChangeSetReader + BlockNumReader + DBProvider),
range: impl RangeBounds<BlockNumber>,
) -> Result<HashedPostStateSorted, ProviderError>
fn from_reverts( provider: &(impl ChangeSetReader + StorageChangeSetReader + BlockNumReader + DBProvider), range: impl RangeBounds<BlockNumber>, ) -> Result<HashedPostStateSorted, ProviderError>
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.
Implementations on Foreign Types§
Source§impl DatabaseHashedPostState for HashedPostStateSorted
impl DatabaseHashedPostState for HashedPostStateSorted
Source§fn from_reverts(
provider: &(impl ChangeSetReader + StorageChangeSetReader + BlockNumReader + DBProvider),
range: impl RangeBounds<BlockNumber>,
) -> Result<Self, ProviderError>
fn from_reverts( provider: &(impl ChangeSetReader + StorageChangeSetReader + BlockNumReader + DBProvider), range: impl RangeBounds<BlockNumber>, ) -> Result<Self, ProviderError>
Builds a sorted hashed post-state from reverts.
Reads MDBX data directly into Vecs, using HashSets only to track seen keys.
This avoids intermediate HashMap allocations since MDBX data is already sorted.
- Reads the first occurrence of each changed account/storage slot in the range.
- Addresses are always keccak256-hashed.
- Storage keys are tagged by the changeset reader and hashed via
StorageSlotKey::to_hashed. - Returns keys already ordered for trie iteration.