diff --git a/pallets/authority-members/src/lib.rs b/pallets/authority-members/src/lib.rs index cb02e5b92cde3ec6f3d8287f1675429d1d228192..f4118ee3aed9eb692ef20fecf8cd7dbd22cc3cff 100644 --- a/pallets/authority-members/src/lib.rs +++ b/pallets/authority-members/src/lib.rs @@ -580,20 +580,24 @@ impl<T: Config> pallet_session::SessionManager<T::ValidatorId> for Pallet<T> { for member_id in members_ids_to_add.iter() { T::OnIncomingMember::on_incoming_member(*member_id); } - // a single event with all authorities - Self::deposit_event(Event::IncomingAuthorities { - members: members_ids_to_add.clone(), - }); + // a single event with all authorities if some + if !members_ids_to_add.is_empty() { + 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); } - // a single event with all authorities - Self::deposit_event(Event::OutgoingAuthorities { - members: members_ids_to_del.clone(), - }); + // a single event with all authorities if some + if !members_ids_to_del.is_empty() { + Self::deposit_event(Event::OutgoingAuthorities { + members: members_ids_to_del.clone(), + }); + } // updates the list of OnlineAuthorities and returns the list of their key Some(