pub fn compute_block_trie_changesets<Provider>(
provider: &Provider,
block_number: BlockNumber,
) -> Result<TrieUpdatesSorted, ProviderError>where
Provider: DBProvider + ChangeSetReader + StorageChangeSetReader + BlockNumReader + StorageSettingsCache,Expand description
Computes trie changesets for a block.
§Algorithm
For block N:
- Query cumulative
HashedPostStaterevert from the database tip to after N. - Calculate cumulative
TrieUpdatesrevert from the database tip to after N. - Query per-block
HashedPostStaterevert for block N. - Overlay the post-N trie and calculate trie updates to the pre-N state.
§Arguments
provider- Database provider with changeset accessblock_number- Block number to compute changesets for
§Returns
Changesets (old trie node values) for the specified block
§Errors
Returns error if:
- Block number exceeds database tip
- Database access fails
- State root computation fails