From b29275900a69c00a9e641fa40db968facf0de805 Mon Sep 17 00:00:00 2001 From: cgeek <cem.moreau@gmail.com> Date: Tue, 23 Jan 2024 12:48:09 +0100 Subject: [PATCH] fix(#176): avoid emitting SmithMembershipAdded twice --- pallets/smith-members/src/lib.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pallets/smith-members/src/lib.rs b/pallets/smith-members/src/lib.rs index a20e0bd04..85c9417c7 100644 --- a/pallets/smith-members/src/lib.rs +++ b/pallets/smith-members/src/lib.rs @@ -440,6 +440,7 @@ impl<T: Config> Pallet<T> { if let Some(smith_meta) = maybe_smith_meta { smith_meta.received_certs.push(issuer); smith_meta.received_certs.sort(); + let previous_status = smith_meta.status.clone(); smith_meta.status = if smith_meta.received_certs.len() >= T::MinCertForMembership::get() as usize { SmithStatus::Smith @@ -451,7 +452,8 @@ impl<T: Config> Pallet<T> { CurrentSession::<T>::get() + T::SmithInactivityMaxDuration::get(); smith_meta.expires_on = Some(new_expires_on); Self::deposit_event(Event::<T>::SmithCertAdded { receiver, issuer }); - if smith_meta.status == SmithStatus::Smith { + if smith_meta.status == SmithStatus::Smith && previous_status != SmithStatus::Smith + { Self::deposit_event(Event::<T>::SmithMembershipAdded { idty_index: receiver, }); -- GitLab