From c1479a4f5da777ef37dbe56899be06dfc60320f2 Mon Sep 17 00:00:00 2001 From: cgeek <cem.moreau@gmail.com> Date: Sun, 14 Jan 2024 21:44:24 +0100 Subject: [PATCH] review: lost membership is to be handled by `OnMembershipEventHandler` --- Cargo.lock | 1 - pallets/smith-members/Cargo.toml | 2 +- pallets/smith-members/src/impls.rs | 19 ------------------- pallets/smith-members/src/lib.rs | 2 +- runtime/common/src/handlers.rs | 2 ++ runtime/common/src/pallets_config.rs | 2 +- 6 files changed, 5 insertions(+), 23 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2ba755f7b..d4e07f05f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6363,7 +6363,6 @@ dependencies = [ "maplit", "pallet-authority-members", "pallet-balances", - "pallet-identity", "parity-scale-codec", "scale-info", "serde", diff --git a/pallets/smith-members/Cargo.toml b/pallets/smith-members/Cargo.toml index 03321cc92..5ced90e2c 100644 --- a/pallets/smith-members/Cargo.toml +++ b/pallets/smith-members/Cargo.toml @@ -18,7 +18,6 @@ log = { version = "0.4.17", default-features = false } scale-info = { version = "2.1.1", default-features = false, features = ["derive"] } serde = { version = "1.0.101", default-features = false, optional = true } pallet-authority-members = { path = "../authority-members", default-features = false } -pallet-identity = { path = "../identity", default-features = false } frame-support = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.42', default-features = false } frame-system = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.42', default-features = false } pallet-balances = { git = 'https://github.com/duniter/substrate', branch = 'duniter-substrate-v0.9.42', default-features = false } @@ -40,6 +39,7 @@ std = [ 'frame-benchmarking/std', "log/std", "pallet-balances/std", + "pallet-authority-members/std", "scale-info/std", "serde", "sp-runtime/std", diff --git a/pallets/smith-members/src/impls.rs b/pallets/smith-members/src/impls.rs index 12c0b7592..34bbb4773 100644 --- a/pallets/smith-members/src/impls.rs +++ b/pallets/smith-members/src/impls.rs @@ -1,7 +1,5 @@ use crate::{Config, CurrentSession, Pallet}; -use frame_support::Parameter; use pallet_authority_members::SessionIndex; -use pallet_identity::IdtyEvent; use sp_runtime::traits::Convert; impl<T: Config> pallet_authority_members::OnOutgoingMember<T::MemberId> for Pallet<T> { @@ -28,20 +26,3 @@ impl<T: Config> pallet_authority_members::OnNewSession for Pallet<T> { Pallet::<T>::on_exclude_expired_smiths(index); } } - -// implement identity event handler -impl< - IdtyIndex: Copy + Parameter, - T: Config<IdtyIndex = IdtyIndex> + pallet_identity::Config<IdtyIndex = IdtyIndex>, - > pallet_identity::traits::OnIdtyChange<T> for Pallet<T> -{ - fn on_idty_change(idty_id: IdtyIndex, idty_event: &IdtyEvent<T>) { - match idty_event { - // initialize quota on identity creation - IdtyEvent::Created { .. } => {} - IdtyEvent::Removed { .. } => { - Pallet::<T>::on_removed_wot_member(idty_id); - } - } - } -} diff --git a/pallets/smith-members/src/lib.rs b/pallets/smith-members/src/lib.rs index 68c45f944..5d896994a 100644 --- a/pallets/smith-members/src/lib.rs +++ b/pallets/smith-members/src/lib.rs @@ -471,7 +471,7 @@ impl<T: Config> Pallet<T> { } } - fn on_removed_wot_member(idty_index: T::IdtyIndex) { + pub fn on_removed_wot_member(idty_index: T::IdtyIndex) { if Smiths::<T>::get(idty_index).is_some() { Self::_do_exclude_smith(idty_index, SmithRemovalReason::LostMembership); } diff --git a/runtime/common/src/handlers.rs b/runtime/common/src/handlers.rs index cb01cd3c4..c52925272 100644 --- a/runtime/common/src/handlers.rs +++ b/runtime/common/src/handlers.rs @@ -39,6 +39,7 @@ impl< Runtime: frame_system::Config<AccountId = AccountId> + pallet_identity::Config<IdtyData = IdtyData, IdtyIndex = IdtyIndex> + pallet_membership::Config + + pallet_smith_members::Config<IdtyIndex = IdtyIndex> + pallet_universal_dividend::Config, > sp_membership::traits::OnEvent<IdtyIndex> for OnMembershipEventHandler<Inner, Runtime> { @@ -54,6 +55,7 @@ impl< ); } } + pallet_smith_members::Pallet::<Runtime>::on_removed_wot_member(*idty_index); } // when main membership is acquired, it starts getting right to UD sp_membership::Event::MembershipAdded(idty_index) => { diff --git a/runtime/common/src/pallets_config.rs b/runtime/common/src/pallets_config.rs index 6a831be04..f1cfbf299 100644 --- a/runtime/common/src/pallets_config.rs +++ b/runtime/common/src/pallets_config.rs @@ -480,7 +480,7 @@ macro_rules! pallets_config { type IdtyNameValidator = IdtyNameValidatorImpl; type Signer = <Signature as sp_runtime::traits::Verify>::Signer; type Signature = Signature; - type OnIdtyChange = (Wot, SmithMembers, Quota); + type OnIdtyChange = (Wot, Quota); type RuntimeEvent = RuntimeEvent; type WeightInfo = common_runtime::weights::pallet_identity::WeightInfo<Runtime>; } -- GitLab