Skip to main content

compute_range_trie_changesets

Function compute_range_trie_changesets 

Source
pub fn compute_range_trie_changesets<Provider, StateTrieProvider>(
    provider: &Provider,
    state_trie_provider: &StateTrieProvider,
    forward_updates: &[(BlockNumber, Arc<TrieUpdatesSorted>)],
    range: RangeInclusive<BlockNumber>,
    db_tip_block: BlockNumber,
) -> Result<TrieUpdatesSorted, ProviderError>
where Provider: ChangeSetReader + StorageChangeSetReader + BlockNumReader, StateTrieProvider: TrieCursorFactory + HashedCursorFactory,
Expand description

Computes aggregate trie changesets for an inclusive block range.

Returns the value before range.start() of every trie node touched by a block in range, including nodes created and removed within it.

state_trie_provider must expose the complete trie and hashed state at db_tip_block.

forward_updates contains original executed-block trie updates on that same chain, sorted by strictly increasing block number. Consecutive available blocks are reverted together, preserving forward paths omitted by the aggregate calculation. Missing blocks are reverted individually so transient nodes are retained.

ยงErrors

Returns an error if the range exceeds db_tip_block, database access fails, or state root computation fails.