29 merkle_check.assert_membership(low_leaf_hash, low_leaf_index, sibling_path, snapshot.root);
32 if (low_leaf_preimage.leaf.class_id !=
class_id) {
33 throw std::runtime_error(
"Class id membership check failed");
41 .prev_snapshot = snapshot,
42 .next_snapshot = snapshot,
43 .low_leaf_preimage = low_leaf_preimage,
44 .low_leaf_hash = low_leaf_hash,
45 .low_leaf_index = low_leaf_index,
57 auto& [low_leaf_preimage, low_leaf_index, low_leaf_sibling_path] = insertion_result.low_leaf_witness_data.at(0);
58 std::span<FF> insertion_sibling_path = insertion_result.insertion_witness_data.at(0).path;
67 merkle_check.assert_membership(low_leaf_hash, low_leaf_index, low_leaf_sibling_path, prev_snapshot.
root);
78 low_leaf_hash, updated_low_leaf_hash, low_leaf_index, low_leaf_sibling_path, prev_snapshot.
root);
96 .new_leaf_hash = new_leaf_hash,
97 .intermediate_root = intermediate_root,
103 .prev_snapshot = prev_snapshot,
104 .next_snapshot = next_snapshot,
105 .low_leaf_preimage = low_leaf_preimage,
106 .low_leaf_hash = low_leaf_hash,
107 .low_leaf_index = low_leaf_index,
109 .append_data = append_data,