From 2744ab5c5c813b8376ce956de9f2cfb321d7535a Mon Sep 17 00:00:00 2001 From: sword_smith Date: Thu, 8 Aug 2024 15:49:17 +0200 Subject: [PATCH] mmr_authentication_struct: Add for empty MMR / no opened leafs --- .../util_types/mmr/mmr_authentication_struct.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/twenty-first/src/util_types/mmr/mmr_authentication_struct.rs b/twenty-first/src/util_types/mmr/mmr_authentication_struct.rs index fd8115a8..2a45aafb 100644 --- a/twenty-first/src/util_types/mmr/mmr_authentication_struct.rs +++ b/twenty-first/src/util_types/mmr/mmr_authentication_struct.rs @@ -418,6 +418,22 @@ mod tests { } } + #[test] + fn auth_struct_on_empty_mmr() { + let empty_mmra = MmrAccumulator::init(vec![], 0); + let authenticated_auth_structs = + AuthStructIntegrityProof::new_from_mmr_membership_proofs(&empty_mmra, vec![]); + assert!(authenticated_auth_structs.is_empty()); + } + + #[test] + fn auth_struct_non_empty_mmr_empty_leaf_list() { + let mmra_10_leafs = MmrAccumulator::new_from_leafs(vec![Digest::default(); 10]); + let authenticated_auth_structs = + AuthStructIntegrityProof::new_from_mmr_membership_proofs(&mmra_10_leafs, vec![]); + assert!(authenticated_auth_structs.is_empty()); + } + #[test] fn auth_struct_from_mmr_mps_test_height_5_9_indices() { let local_tree_height = 5;