From 7ed8892ae1c66486a005764cf84bb1834b48800a Mon Sep 17 00:00:00 2001
From: cgeek <cem.moreau@gmail.com>
Date: Tue, 23 Jan 2024 23:16:21 +0100
Subject: [PATCH] refac(#176): move SmithCertAdded event closer to its storage
 updates + add docs

---
 pallets/smith-members/src/lib.rs | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/pallets/smith-members/src/lib.rs b/pallets/smith-members/src/lib.rs
index 64c45dd32..691e68e99 100644
--- a/pallets/smith-members/src/lib.rs
+++ b/pallets/smith-members/src/lib.rs
@@ -430,6 +430,7 @@ impl<T: Config> Pallet<T> {
     }
 
     fn do_certify_smith(receiver: T::IdtyIndex, issuer: T::IdtyIndex) {
+        // - adds a certification in issuer issued list
         Smiths::<T>::mutate(issuer, |maybe_smith_meta| {
             if let Some(smith_meta) = maybe_smith_meta {
                 smith_meta.issued_certs.push(receiver);
@@ -438,13 +439,19 @@ impl<T: Config> Pallet<T> {
         });
         Smiths::<T>::mutate(receiver, |maybe_smith_meta| {
             if let Some(smith_meta) = maybe_smith_meta {
+                // - adds a certification in receiver received list
                 smith_meta.received_certs.push(issuer);
                 smith_meta.received_certs.sort();
+                Self::deposit_event(Event::<T>::SmithCertAdded { receiver, issuer });
+
+                // - receiving a certification either lead us to Pending or Smith status
                 let previous_status = smith_meta.status.clone();
                 smith_meta.status =
                     if smith_meta.received_certs.len() >= T::MinCertForMembership::get() as usize {
+                        // - if the number of certification received by the receiver is enough, win the Smith status (or keep it)
                         SmithStatus::Smith
                     } else {
+                        // - otherwise we are (still) a pending smith
                         SmithStatus::Pending
                     };
 
-- 
GitLab