From f2a695b17d672c3ebafc6b5b38642f3fa3524e02 Mon Sep 17 00:00:00 2001 From: aniampio Date: Fri, 24 Nov 2023 16:28:07 +0000 Subject: [PATCH] Update the aggregate coin signatures --- .../nym_offline_compact_ecash/src/scheme/setup.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/common/nym_offline_compact_ecash/src/scheme/setup.rs b/common/nym_offline_compact_ecash/src/scheme/setup.rs index 2f1a566737..8f153cff6e 100644 --- a/common/nym_offline_compact_ecash/src/scheme/setup.rs +++ b/common/nym_offline_compact_ecash/src/scheme/setup.rs @@ -334,6 +334,13 @@ pub fn aggregate_indices_signatures( let m1: Scalar = Scalar::from_bytes(&constants::TYPE_IDX).unwrap(); let m2: Scalar = Scalar::from_bytes(&constants::TYPE_IDX).unwrap(); + // Verify that all signatures are valid + signatures + .par_iter() + .try_for_each(|(_, vk_auth, partial_signatures)| { + verify_coin_indices_signatures(¶ms, &vk, &vk_auth, &partial_signatures) + })?; + // Pre-allocate vectors let mut aggregated_coin_signatures: Vec = Vec::with_capacity(params.L() as usize); @@ -347,12 +354,6 @@ pub fn aggregate_indices_signatures( concatenated_bytes.extend_from_slice(&l.to_le_bytes()); let h = hash_g1(concatenated_bytes); - signatures - .par_iter() - .try_for_each(|(_, vk_auth, partial_signatures)| { - verify_coin_indices_signatures(¶ms, &vk, &vk_auth, &partial_signatures) - })?; - // Collect the partial signatures for the same coin index let collected_at_l: Vec<_> = signatures .iter()