diff --git a/pallets/authority-members/src/lib.rs b/pallets/authority-members/src/lib.rs index 587e82aa343c51fbc62bf36d61d3755a68d536f4..cb02e5b92cde3ec6f3d8287f1675429d1d228192 100644 --- a/pallets/authority-members/src/lib.rs +++ b/pallets/authority-members/src/lib.rs @@ -575,18 +575,25 @@ impl<T: Config> pallet_session::SessionManager<T::ValidatorId> for Pallet<T> { return None; } + // -- handle incoming members + // callback when smith is incoming for member_id in members_ids_to_add.iter() { T::OnIncomingMember::on_incoming_member(*member_id); - Self::deposit_event(Event::IncomingAuthorities { - members: members_ids_to_add.clone(), - }); } + // a single event with all authorities + Self::deposit_event(Event::IncomingAuthorities { + members: members_ids_to_add.clone(), + }); + + // -- handle outgoing members + // callback when smith is outgoing for member_id in members_ids_to_del.iter() { T::OnOutgoingMember::on_outgoing_member(*member_id); - Self::deposit_event(Event::OutgoingAuthorities { - members: members_ids_to_del.clone(), - }); } + // a single event with all authorities + Self::deposit_event(Event::OutgoingAuthorities { + members: members_ids_to_del.clone(), + }); // updates the list of OnlineAuthorities and returns the list of their key Some(