From ac4ceede7b4a0effd7c45c1c0bb0af61b7d16d89 Mon Sep 17 00:00:00 2001
From: Hugo Trentesaux <hugo@trentesaux.fr>
Date: Mon, 4 Sep 2023 15:28:10 +0200
Subject: [PATCH] instead of removing the identity, expire it

---
 pallets/duniter-wot/src/lib.rs   | 19 +++++--------------
 pallets/duniter-wot/src/tests.rs |  5 ++---
 2 files changed, 7 insertions(+), 17 deletions(-)

diff --git a/pallets/duniter-wot/src/lib.rs b/pallets/duniter-wot/src/lib.rs
index 50a41c70b..d897b0f3d 100644
--- a/pallets/duniter-wot/src/lib.rs
+++ b/pallets/duniter-wot/src/lib.rs
@@ -365,21 +365,12 @@ impl<T: Config<I>, I: 'static> pallet_certification::traits::OnRemovedCert<IdtyI
         if receiver_received_count < T::MinCertForMembership::get()
             && pallet_membership::Pallet::<T, I>::is_member(&receiver)
         {
-            if T::IsSubWot::get() {
-                // expire receiver membership
-                // it gives him a bit of time to get back enough certs
-                if let Err(e) = <pallet_membership::Pallet<T, I>>::force_expire_membership(receiver)
-                {
-                    sp_std::if_std! {
-                        println!("fail to expire membership: {:?}", e)
-                    }
+            // expire receiver membership
+            // it gives him a bit of time to get back enough certs
+            if let Err(e) = <pallet_membership::Pallet<T, I>>::force_expire_membership(receiver) {
+                sp_std::if_std! {
+                    println!("fail to expire membership: {:?}", e)
                 }
-            } else {
-                // Revoke receiver membership and disable his identity
-                Self::dispath_idty_call(pallet_identity::Call::remove_identity {
-                    idty_index: receiver,
-                    idty_name: None,
-                });
             }
         }
         Weight::zero()
diff --git a/pallets/duniter-wot/src/tests.rs b/pallets/duniter-wot/src/tests.rs
index 63eb85d81..4a5b9f4a1 100644
--- a/pallets/duniter-wot/src/tests.rs
+++ b/pallets/duniter-wot/src/tests.rs
@@ -463,9 +463,8 @@ fn test_certification_expire() {
             },
         ));
         // in consequence, since Alice has only 1/2 normal certification remaining, she looses normal membership
-        System::assert_has_event(RuntimeEvent::Identity(
-            pallet_identity::Event::IdtyRemoved { idty_index: 1 },
+        System::assert_has_event(RuntimeEvent::Membership(
+            pallet_membership::Event::MembershipExpired(1),
         ));
-        // THIS IS NOT WHAT WE WANT !!
     })
 }
-- 
GitLab