28 merkle_check.assert_membership(low_leaf_hash, low_leaf_index, sibling_path, snapshot.root);
31 if (low_leaf_preimage.leaf.class_id !=
class_id) {
32 throw std::runtime_error(
"Class id membership check failed");
40 .prev_snapshot = snapshot,
41 .next_snapshot = snapshot,
42 .low_leaf_preimage = low_leaf_preimage,
43 .low_leaf_hash = low_leaf_hash,
44 .low_leaf_index = low_leaf_index,
56 auto& [low_leaf_preimage, low_leaf_index, low_leaf_sibling_path] = insertion_result.low_leaf_witness_data.at(0);
57 std::span<FF> insertion_sibling_path = insertion_result.insertion_witness_data.at(0).path;
66 merkle_check.assert_membership(low_leaf_hash, low_leaf_index, low_leaf_sibling_path, prev_snapshot.
root);
77 low_leaf_hash, updated_low_leaf_hash, low_leaf_index, low_leaf_sibling_path, prev_snapshot.
root);
94 .new_leaf_hash = new_leaf_hash,
95 .intermediate_root = intermediate_root,
101 .prev_snapshot = prev_snapshot,
102 .next_snapshot = next_snapshot,
103 .low_leaf_preimage = low_leaf_preimage,
104 .low_leaf_hash = low_leaf_hash,
105 .low_leaf_index = low_leaf_index,
107 .append_data = append_data,