Skip to main content

verify_range_proof

Function verify_range_proof 

pub fn verify_range_proof<I, V>(
    root: FixedBytes<32>,
    origin: FixedBytes<32>,
    limit: FixedBytes<32>,
    leaves: I,
    proof: &[Bytes],
) -> Result<Option<FixedBytes<32>>, RangeProofError>
where I: IntoIterator<Item = (FixedBytes<32>, V)>, V: Into<Vec<u8>>,
Expand description

Verifies a consecutive leaf range against root, starting at origin.

For nonempty leaves, the last returned leaf is the verified right boundary and limit is ignored. A boundary leaf may therefore exceed limit; callers enforcing a response limit must truncate the verified leaves themselves.

When leaves is empty, limit supplies the right boundary of the authenticated empty interval.

Proofs with more nodes than the two boundary paths can reference are rejected.

Returns a lower bound for the next key, or None if the range exhausts the trie.