zebra_state::service::check::anchors

Function block_fetch_sprout_final_treestates

source
pub(crate) fn block_fetch_sprout_final_treestates(
    finalized_state: &ZebraDb,
    parent_chain: &Arc<Chain>,
    semantically_verified: &SemanticallyVerifiedBlock,
) -> HashMap<Root, Arc<NoteCommitmentTree>>
Expand description

Accepts a ZebraDb, Arc<Chain>, and SemanticallyVerifiedBlock.

Iterates over the transactions in the SemanticallyVerifiedBlock, and fetches the Sprout final treestates from the state.

Returns a HashMap of the Sprout final treestates from the state for sprout_anchors_refer_to_treestates() to check Sprout final and interstitial treestates without accessing the disk.

Sprout anchors may also refer to the interstitial output treestate of any prior JoinSplit within the same transaction; these are created on the fly in sprout_anchors_refer_to_treestates().